class MsiInterruptDispatcher

Defined at line 29 of file ../../zircon/kernel/object/include/object/msi_interrupt_dispatcher.h

The common interface for all MSI related interrupt handling. This encompasses MSI and MSI-X.

Public Methods

zx_status_t Create (fbl::RefPtr<MsiAllocation> alloc, uint32_t msi_id, const fbl::RefPtr<VmObject> & vmo, zx_off_t cap_offset, uint32_t options, zx_rights_t * out_rights, KernelHandle<InterruptDispatcher> * out_interrupt, RegisterIntFn )

Creates an a derived MsiInterruptDispatcher determined by the flags passed in

Defined at line 36 of file ../../zircon/kernel/object/msi_interrupt_dispatcher.cc

uint32_t msi_id ()

Defined at line 39 of file ../../zircon/kernel/object/include/object/msi_interrupt_dispatcher.h

uint32_t vector ()

Defined at line 40 of file ../../zircon/kernel/object/include/object/msi_interrupt_dispatcher.h

void DeactivateInterrupt ()

Defined at line 43 of file ../../zircon/kernel/object/include/object/msi_interrupt_dispatcher.h

void ~MsiInterruptDispatcher ()

Defined at line 174 of file ../../zircon/kernel/object/msi_interrupt_dispatcher.cc

void UnregisterInterruptHandler ()

Defined at line 199 of file ../../zircon/kernel/object/msi_interrupt_dispatcher.cc

zx_status_t RegisterInterruptHandler ()

Defined at line 191 of file ../../zircon/kernel/object/msi_interrupt_dispatcher.cc

void GetDiagnostics (WakeVector::Diagnostics & diagnostics_out)

This override of WakeVector::GetDiagnostics is marked final to prevent further overrides.

Because this method cannot be overridden further, it is safe for this class to initialize /

destroy InterruptDispatcher::wake_event_ in the constructor / destructor. See lib/wake-vector.h

for more details.

Defined at line 185 of file ../../zircon/kernel/object/msi_interrupt_dispatcher.cc

Protected Methods

const fbl::RefPtr<VmMapping> & mapping ()

Defined at line 55 of file ../../zircon/kernel/object/include/object/msi_interrupt_dispatcher.h

const fbl::RefPtr<MsiAllocation> & allocation ()

Defined at line 56 of file ../../zircon/kernel/object/include/object/msi_interrupt_dispatcher.h

void MsiInterruptDispatcher (fbl::RefPtr<MsiAllocation> alloc, fbl::RefPtr<VmMapping> mapping, uint32_t base_irq_id, uint32_t msi_id, RegisterIntFn )

Defined at line 160 of file ../../zircon/kernel/object/msi_interrupt_dispatcher.cc