On Fri, 5 Aug 2022 14:50:36 +0200 Oldřich Jedlička <oldium.pro@xxxxxxxxx> wrote: > pá 5. 8. 2022 v 13:56 odesílatel Kinga Tanska > <kinga.tanska@xxxxxxxxxxxxxxx> napsal: > > > > On Fri, 5 Aug 2022 12:05:45 +0200 > > Oldřich Jedlička <oldium.pro@xxxxxxxxx> wrote: > > > > > Alderlake changed UEFI variable name to 'RstVmdV' also and for VMD > > > devices, so check the updated name for VMD devices like it is > > > done in the SATA case. > > > > > > Signed-off-by: Oldřich Jedlička <oldium.pro@xxxxxxxxx> > > > --- > > > platform-intel.c | 19 ++++++++++++------- > > > 1 file changed, 12 insertions(+), 7 deletions(-) > > > > > > diff --git a/platform-intel.c b/platform-intel.c > > > index a4d55a3..2f8e6af 100644 > > > --- a/platform-intel.c > > > +++ b/platform-intel.c > > > @@ -512,8 +512,8 @@ static const struct imsm_orom > > > *find_imsm_hba_orom(struct sys_dev *hba) #define AHCI_PROP > > > "RstSataV" #define AHCI_SSATA_PROP "RstsSatV" > > > #define AHCI_TSATA_PROP "RsttSatV" > > > -#define AHCI_RST_PROP "RstVmdV" > > > -#define VMD_PROP "RstUefiV" > > > +#define RST_VMD_PROP "RstVmdV" > > > +#define RST_UEFI_PROP "RstUefiV" > > > > > > #define VENDOR_GUID \ > > > EFI_GUID(0x193dfefa, 0xa445, 0x4302, 0x99, 0xd8, 0xef, 0x3a, > > > 0xad, 0x1a, 0x04, 0xc6) @@ -607,7 +607,8 @@ const struct imsm_orom > > > *find_imsm_efi(struct sys_dev *hba) struct orom_entry *ret; > > > static const char * const sata_efivars[] = {AHCI_PROP, > > > AHCI_SSATA_PROP, AHCI_TSATA_PROP, > > > - AHCI_RST_PROP}; > > > + RST_VMD_PROP}; > > > + static const char * const vmd_efivars[] = {RST_UEFI_PROP, > > > RST_VMD_PROP}; unsigned long i; > > > > > > if (check_env("IMSM_TEST_AHCI_EFI") || > > > check_env("IMSM_TEST_SCU_EFI")) @@ -640,10 +641,14 @@ const struct > > > imsm_orom *find_imsm_efi(struct sys_dev *hba) > > > break; > > > case SYS_DEV_VMD: > > > - if (!read_efi_variable(&orom, sizeof(orom), > > > VMD_PROP, > > > - VENDOR_GUID)) > > > - break; > > > - return NULL; > > > + for (i = 0; i < ARRAY_SIZE(vmd_efivars); i++) { > > > + if (!read_efi_variable(&orom, sizeof(orom), > > > + vmd_efivars[i], > > > VENDOR_GUID)) > > > + break; > > > + } > > > + if (i == ARRAY_SIZE(vmd_efivars)) > > > + return NULL; > > > + break; > > > default: > > > return NULL; > > > } > > > > Hi, > > > > please have a look at the following mail: > > https://marc.info/?l=linux-raid&m=165969352101643&w=2 > > Sorry for double-posting, I received rejection emails regarding HTML > content. Gmail switched to HTML. > > Hi, the described issue applies specifically in the SYS_DEV_SATA (SATA > configuration) case, so it should not apply to SYS_DEV_VMD (VMD > configuration) one. > > For me, the platform output looks reasonable (I have RAID 0 active): > > #> sudo mdadm --detail-platform > Platform : Intel(R) Rapid Storage Technology > Version : 19.0.7.5579 > RAID Levels : raid0 raid1 raid10 raid5 > Chunk Sizes : 4k 8k 16k 32k 64k 128k > 2TB volumes : supported > 2TB disks : supported > Max Disks : 32 > Max Volumes : 2 per array, 4 per controller > 3rd party NVMe : supported > I/O Controller : /sys/devices/pci0000:00/0000:00:0e.0 (VMD) > NVMe under VMD : /dev/nvme0n1 (S6P1NS0T318266R) > NVMe under VMD : /dev/nvme1n1 (S6P1NS0T318223V) > > Without the patch the platform isn't even recognized. Common to both > changes is the usage of the new UEFI variable 'RstVmdV', not the > changes to the controller. > > Regards, > Oldrich. > > > > > Regards, > > Kinga Tanska Hello, I've done test to check if your patch doesn't change way of recognizing controllers. I've got two SATA controllers - first one with AHCI mode and the other one with RAID MODE enabled. Command "mdadm --detail-platform" should display info only about controller with RAID MODE: mdadm: imsm capabilities not found for controller: /sys/devices/pci0000:00/0000:00:17.0 (type SATA) Platform : Intel(R) Rapid Storage Technology enterprise Version : 5.3.0.1052 RAID Levels : raid0 raid1 raid10 raid5 Chunk Sizes : 4k 8k 16k 32k 64k 128k 2TB volumes : supported 2TB disks : supported Max Disks : 8 Max Volumes : 2 per array, 8 per controller I/O Controller : /sys/devices/pci0000:00/0000:00:11.5 (SATA) Port4 : - non-disk device (TEAC DV-W28S-B) - Port0 : - no device attached - Port1 : - no device attached - Port2 : - no device attached - Port3 : - no device attached - Port5 : - no device attached - Platform : Intel(R) Rapid Storage Technology enterprise Version : 5.3.0.1052 RAID Levels : raid0 raid1 raid10 raid5 Chunk Sizes : 4k 8k 16k 32k 64k 128k 2TB volumes : supported 2TB disks : supported Max Disks : 24 Max Volumes : 2 per array, 24 per controller 3rd party NVMe : supported I/O Controller : /sys/devices/pci0000:17/0000:17:05.5 (VMD) I/O Controller : /sys/devices/pci0000:d7/0000:d7:05.5 (VMD) NVMe under VMD : /dev/nvme3n1 (PHLJ915000201P0FGN) NVMe under VMD : /dev/nvme2n1 (PHLJ915003201P0FGN) I/O Controller : /sys/devices/pci0000:85/0000:85:05.5 (VMD) I/O Controller : /sys/devices/pci0000:ae/0000:ae:05.5 (VMD) I/O Controller : /sys/devices/pci0000:5d/0000:5d:05.5 (VMD) NVMe under VMD : /dev/nvme0n1 (PHFT536600GT400GGN) NVMe under VMD : /dev/nvme1n1 (CVFT523100122P0KGN) But with your patch this command returns info about all controllers which is not correct: Platform : Intel(R) Rapid Storage Technology enterprise Version : 5.3.0.1052 RAID Levels : raid0 raid1 raid10 raid5 Chunk Sizes : 4k 8k 16k 32k 64k 128k 2TB volumes : supported 2TB disks : supported Max Disks : 8 Max Volumes : 2 per array, 8 per controller I/O Controller : /sys/devices/pci0000:00/0000:00:17.0 (SATA) Port2 : /dev/sdd (WDEBMLJ2) Port3 : /dev/sde (BTPR2300034W120LGN) Port0 : /dev/sdb (CVTS5396007S240JGN) Port1 : /dev/sdc (ZDE0XM9Z) Port4 : - no device attached - Port5 : - no device attached - Port6 : - no device attached - Port7 : - no device attached - Platform : Intel(R) Rapid Storage Technology enterprise Version : 5.3.0.1052 RAID Levels : raid0 raid1 raid10 raid5 Chunk Sizes : 4k 8k 16k 32k 64k 128k 2TB volumes : supported 2TB disks : supported Max Disks : 8 Max Volumes : 2 per array, 8 per controller I/O Controller : /sys/devices/pci0000:00/0000:00:11.5 (SATA) Port4 : - non-disk device (TEAC DV-W28S-B) - Port0 : - no device attached - Port1 : - no device attached - Port2 : - no device attached - Port3 : - no device attached - Port5 : - no device attached - Platform : Intel(R) Rapid Storage Technology enterprise Version : 5.3.0.1052 RAID Levels : raid0 raid1 raid10 raid5 Chunk Sizes : 4k 8k 16k 32k 64k 128k 2TB volumes : supported 2TB disks : supported Max Disks : 24 Max Volumes : 2 per array, 24 per controller 3rd party NVMe : supported I/O Controller : /sys/devices/pci0000:17/0000:17:05.5 (VMD) I/O Controller : /sys/devices/pci0000:d7/0000:d7:05.5 (VMD) NVMe under VMD : /dev/nvme3n1 (PHLJ915000201P0FGN) NVMe under VMD : /dev/nvme2n1 (PHLJ915003201P0FGN) I/O Controller : /sys/devices/pci0000:85/0000:85:05.5 (VMD) I/O Controller : /sys/devices/pci0000:ae/0000:ae:05.5 (VMD) I/O Controller : /sys/devices/pci0000:5d/0000:5d:05.5 (VMD) NVMe under VMD : /dev/nvme0n1 (PHFT536600GT400GGN) NVMe under VMD : /dev/nvme1n1 (CVFT523100122P0KGN) Please analyze it. Regards, Kinga Tanska