Home
last modified time | relevance | path

Searched refs:veventq (Results 1 – 4 of 4) sorted by relevance

/linux/drivers/iommu/iommufd/
H A Deventq.c225 struct iommufd_veventq *veventq = eventq_to_veventq(eventq); in iommufd_veventq_abort() local
226 struct iommufd_viommu *viommu = veventq->viommu; in iommufd_veventq_abort()
233 if (cur != &veventq->lost_events_header) in iommufd_veventq_abort()
238 list_del(&veventq->node); in iommufd_veventq_abort()
243 struct iommufd_veventq *veventq = eventq_to_veventq( in iommufd_veventq_destroy() local
246 down_write(&veventq->viommu->veventqs_rwsem); in iommufd_veventq_destroy()
248 up_write(&veventq->viommu->veventqs_rwsem); in iommufd_veventq_destroy()
252 iommufd_veventq_deliver_fetch(struct iommufd_veventq *veventq) in iommufd_veventq_deliver_fetch() argument
254 struct iommufd_eventq *eventq = &veventq->common; in iommufd_veventq_deliver_fetch()
264 if (next == &veventq->lost_events_header) { in iommufd_veventq_deliver_fetch()
[all …]
H A Ddriver.c137 struct iommufd_veventq *veventq; in iommufd_viommu_report_event() local
146 veventq = iommufd_viommu_find_veventq(viommu, type); in iommufd_viommu_report_event()
147 if (!veventq) { in iommufd_viommu_report_event()
152 spin_lock(&veventq->common.lock); in iommufd_viommu_report_event()
153 if (veventq->num_events == veventq->depth) { in iommufd_viommu_report_event()
154 vevent = &veventq->lost_events_header; in iommufd_viommu_report_event()
161 vevent = &veventq->lost_events_header; in iommufd_viommu_report_event()
166 veventq->num_events++; in iommufd_viommu_report_event()
169 iommufd_vevent_handler(veventq, vevent); in iommufd_viommu_report_event()
170 spin_unlock(&veventq->common.lock); in iommufd_viommu_report_event()
H A Diommufd_private.h650 static inline void iommufd_vevent_handler(struct iommufd_veventq *veventq, in iommufd_vevent_handler() argument
653 struct iommufd_eventq *eventq = &veventq->common; in iommufd_vevent_handler()
661 if (list_is_last(&veventq->lost_events_header.node, &eventq->deliver)) in iommufd_vevent_handler()
662 list_del(&veventq->lost_events_header.node); in iommufd_vevent_handler()
664 vevent->header.sequence = veventq->sequence; in iommufd_vevent_handler()
665 veventq->sequence = (veventq->sequence + 1) & INT_MAX; in iommufd_vevent_handler()
682 struct iommufd_veventq *veventq, *next; in iommufd_viommu_find_veventq() local
686 list_for_each_entry_safe(veventq, next, &viommu->veventqs, node) { in iommufd_viommu_find_veventq()
687 if (veventq->type == type) in iommufd_viommu_find_veventq()
688 return veventq; in iommufd_viommu_find_veventq()
H A Dmain.c432 struct iommu_veventq_alloc veventq; member