Dan Williams d684a90d38 ahci: per-port msix support
Some AHCI controllers support per-port MSI-X vectors.  At the same time
the Linux AHCI driver needs to support one-off architectures that
implement a single MSI-X vector for all ports.  The heuristic for
enabling AHCI ports becomes, in order of preference:

1/ per-port multi-MSI-X

2/ per-port multi-MSI

3/ single MSI

4/ single MSI-X

5/ legacy INTX

This all depends on AHCI implementations with potentially broken MSI-X
requesting less vectors than the number of ports.  If this assumption is
violated we will need to start explicitly white-listing AHCI-MSIX
implementations.

Reported-by: Ricardo Neri <ricardo.neri@intel.com>
[ricardo: fix struct msix_entry handling]
Reported-by: kernel test robot <ying.huang@linux.intel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
2015-11-16 11:29:10 -05:00
..
2015-11-16 11:29:10 -05:00
2015-11-16 11:29:10 -05:00
2015-11-16 11:29:10 -05:00
2015-11-13 20:35:54 -08:00
2015-03-27 11:59:22 -04:00
2014-03-11 08:30:53 -04:00
2015-09-10 17:02:04 -04:00
2015-03-02 12:08:43 -05:00
2008-01-23 05:24:15 -05:00
2015-04-16 13:53:32 -05:00