On Mon, 09 Jan 2023 11:42:21 -0800 ira.weiny@xxxxxxxxx wrote: > From: Davidlohr Bueso <dave@xxxxxxxxxxxx> > > Currently the only CXL features targeted for irq support require their > message numbers to be within the first 16 entries. The device may > however support less than 16 entries depending on the support it > provides. > > Attempt to allocate these 16 irq vectors. If the device supports less > then the PCI infrastructure will allocate that number. Upon successful > allocation, users can plug in their respective isr at any point > thereafter. > > CXL device events are signaled via interrupts. Each event log may have > a different interrupt message number. These message numbers are > reported in the Get Event Interrupt Policy mailbox command. > > Add interrupt support for event logs. Interrupts are allocated as > shared interrupts. Therefore, all or some event logs can share the same > message number. > > In addition all logs are queried on any interrupt in order of the most > to least severe based on the status register. > > Finally place all event configuration logic into cxl_event_config(). > Previously the logic was a simple 'read all' on start up. But > interrupts must be configured prior to any reads to ensure no events are > missed. A single event configuration function results in a cleaner over > all implementation. > > Cc: Bjorn Helgaas <helgaas@xxxxxxxxxx> > Cc: Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx> > Co-developed-by: Ira Weiny <ira.weiny@xxxxxxxxx> > Signed-off-by: Ira Weiny <ira.weiny@xxxxxxxxx> > Signed-off-by: Davidlohr Bueso <dave@xxxxxxxxxxxx> > > --- > Changes from V5: > Dan > Addressed missed comments on V4 > https://lore.kernel.org/all/6398dd6ed80fa_b05d1294fc@xxxxxxxxxxxxxxxxxxxxxxxxx.notmuch/ You also added pci_set_master() :) Which means I can now give Reviewed-by: Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx> I only noticed because I couldn't remember why I'd not given a tag to v4. Jonathan