[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190618224738.GC30488@ranerica-svr.sc.intel.com>
Date: Tue, 18 Jun 2019 15:47:38 -0700
From: Ricardo Neri <ricardo.neri-calderon@...ux.intel.com>
To: Thomas Gleixner <tglx@...utronix.de>
Cc: Ingo Molnar <mingo@...nel.org>, Borislav Petkov <bp@...e.de>,
Ashok Raj <ashok.raj@...el.com>,
Joerg Roedel <joro@...tes.org>,
Andi Kleen <andi.kleen@...el.com>,
Peter Zijlstra <peterz@...radead.org>,
Suravee Suthikulpanit <Suravee.Suthikulpanit@....com>,
Stephane Eranian <eranian@...gle.com>,
"Ravi V. Shankar" <ravi.v.shankar@...el.com>,
Randy Dunlap <rdunlap@...radead.org>, x86@...nel.org,
linux-kernel@...r.kernel.org, iommu@...ts.linux-foundation.org,
Ricardo Neri <ricardo.neri@...el.com>,
Tony Luck <tony.luck@...el.com>,
Jacob Pan <jacob.jun.pan@...el.com>,
Juergen Gross <jgross@...e.com>,
Bjorn Helgaas <bhelgaas@...gle.com>,
Wincy Van <fanwenyi0529@...il.com>,
Kate Stewart <kstewart@...uxfoundation.org>,
Philippe Ombredanne <pombredanne@...b.com>,
"Eric W. Biederman" <ebiederm@...ssion.com>,
Baoquan He <bhe@...hat.com>,
Jan Kiszka <jan.kiszka@...mens.com>,
Lu Baolu <baolu.lu@...ux.intel.com>
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
Powered by blists - more mailing lists