Messages in this thread | | | Date | Tue, 18 Jun 2019 15:47:38 -0700 | From | Ricardo Neri <> | Subject | Re: [RFC PATCH v4 18/21] x86/apic: Add a parameter for the APIC delivery mode |
| |
On Sun, Jun 16, 2019 at 11:55:03AM +0200, Thomas Gleixner wrote: > On Thu, 23 May 2019, Ricardo Neri wrote: > > > > struct irq_cfg { > > - unsigned int dest_apicid; > > - unsigned int vector; > > + unsigned int dest_apicid; > > + unsigned int vector; > > + enum ioapic_irq_destination_types delivery_mode; > > And how is this related to IOAPIC?
In my view, IOAPICs can also be programmed with a delivery mode. Mode values are the same for MSI interrupts.
> I know this enum exists already, but in > connection with MSI this does not make any sense at all.
Is the issue here the name of the enumeration?
> > > + > > + /* > > + * Initialize the delivery mode of this irq to match the > > + * default delivery mode of the APIC. This is useful for > > + * children irq domains which want to take the delivery > > + * mode from the individual irq configuration rather > > + * than from the APIC. > > + */ > > + apicd->hw_irq_cfg.delivery_mode = apic->irq_delivery_mode; > > And here it's initialized from apic->irq_delivery_mode, which is an > u32. Intuitive and consistent - NOT!
Yes, this is wrong. Then should the member in the structure above be an u32 instead of enum ioapic_irq_destination_types?
Thanks and BR, Ricardo
| |