Re: [PATCH v2] AHCI: Add generic MSI-X interrupt support to SATA PCI driver

From: Robert Richter
Date: Wed May 13 2015 - 14:07:34 EST


On 13.05.15 13:46:40, Tejun Heo wrote:
> Hello, Robert.
>
> On Wed, May 13, 2015 at 07:28:28PM +0200, Robert Richter wrote:
> > > > This looks not very useful to do. Since irq is used only a single
> > > > time, there is no reason to store it in the host's data structure. It
> > >
> > > Doesn't really matter tho.
> >
> > Since ahci_host_activate() is EXPORT_SYMBOL_GPL I really have concerns
> > changing the i/f. But I will send you a patch for this.
>
> It doesn't matter. Please go ahead and change it.

Ok, np.

> > > Let's start with why we're doing this in the first place.
> >
> > Right, the sata controller is connected to a pci ecam controller, both
> > are on an SoC together with the processor. There are no external pci
> > ports for the connection of external devices. Since all pci devices on
> > the chip support msi-x, the controller is only capable to handle this
> > and not INTx nor MSI. So for enabling of the sata hc we need msix
> > support.
>
> I see. If you can get hold of an ahci controller which actually can
> do multi-irq msix, it'd be the best. If not, let's make it super
> clear that this is a special case and use it as the last resort (which
> also clers up the warning issue).

This sounds good.

The device actually supports multi-irq msix, a single mode interrupt +
additional interrupts for error or hotplug handling. But I don't have
hardware for a per-port msix host controller.

So I will move msix after msi then and mark it as a special case if
msi is not supported. I don't want to move it after intx since this is
the fallback if nothing else works, there is no explicit check for
intx, I even don't know if that is possible at all.

Thanks,

-Robert
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/