ahci: Add a generic 'controller2' RAID id
authorDan Williams <dan.j.williams@intel.com>
Thu, 21 Apr 2022 03:27:26 +0000 (20:27 -0700)
committerDamien Le Moal <damien.lemoal@opensource.wdc.com>
Thu, 21 Apr 2022 23:38:03 +0000 (08:38 +0900)
commit5716fb0d403e4edaca5de76b548081f0da1c5c6a
tree6aed5f6beb539ae8f06bfe4f8331e8bb5b14fe96
parent8feecea4de7ee1bd9712947bb85d495b1d1e438d
ahci: Add a generic 'controller2' RAID id

Intel server platforms that support 'RAID', i.e. have platform firmware
support for software-RAID metadata + features that the kernel also
understands, maintain the same device-ids for RAID from generation to
generation. This is in contrast to client platforms that have tended to
roll new device-ids every platform generation. However, even though
server platform keep the ids there are still unique device-ids per
controller instance. To date there have only been 2 controllers on these
platforms, but platforms code named Emmitsburg add a third controller.

Add the device-id for this third controller and collect it with the
other generic server RAID ids.

As mentioned here [1], the pain of continuing add new and different
device-ids for RAID mode to this file [2] has been heard. Ideally this
device-id would not matter and the class code would remain
PCI_CLASS_STORAGE_SATA_AHCI regardless of the RAID mode, but other
operating systems depend on the class code *not* being AHCI when the
device is in RAID mode. That said, going forward there is little reason
for new server RAID ids to be added as they can simply reuse one of the
existing ids even for a new controller. Server software RAID features
continue to be supported on Linux. Client software RAID features
continue to be not supported and the recommendation there remains to set
the device to AHCI mode in platform firmware.

Link: https://lore.kernel.org/all/8e61fb0104422e8d70701e2ddc7b1ca53f009797.camel@intel.com
Link: https://lore.kernel.org/all/20201119165022.GA3582@infradead.org/
Cc: Damien Le Moal <damien.lemoal@opensource.wdc.com>
Cc: Christoph Hellwig <hch@lst.de>
Cc: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Damien Le Moal <damien.lemoal@opensource.wdc.com>
drivers/ata/ahci.c