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-10 15:00:03 -08:00
2015-11-12 15:26:39 -08:00
2015-11-10 10:05:17 -08:00
2015-11-06 14:22:15 -08:00
2015-11-11 10:21:34 -08:00
2015-11-10 15:00:03 -08:00
2015-11-06 14:22:15 -08:00
2015-11-10 15:00:03 -08:00
2015-11-05 13:15:12 -08:00
2015-11-13 20:35:54 -08:00
2015-11-05 13:15:12 -08:00
2015-10-29 09:02:16 +09:00
2015-11-10 15:00:03 -08:00
2015-11-12 07:06:18 -05:00
2015-11-06 14:22:15 -08:00
2015-11-05 13:15:12 -08:00
2015-11-08 16:24:43 -05:00
2015-11-10 16:32:11 -08:00
2015-11-04 14:47:13 -08:00
2015-11-13 21:53:18 -08:00
2015-11-06 10:23:50 -08:00
2015-11-11 09:16:10 -08:00
2015-11-05 13:15:12 -08:00
2015-11-10 10:01:21 -08:00
2015-11-13 20:35:54 -08:00
2015-11-10 15:00:03 -08:00
2015-11-04 22:15:15 -08:00
2015-11-13 20:35:54 -08:00
2015-11-06 14:22:15 -08:00
2015-11-13 20:35:54 -08:00
2015-11-04 21:50:37 -08:00
2015-11-13 17:05:32 -08:00
2015-11-10 10:00:09 -08:00
2015-11-04 22:15:15 -08:00
2015-11-04 22:15:15 -08:00
2015-11-04 22:15:15 -08:00