All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kinga Tanska <kinga.tanska@linux.intel.com>
To: "Oldřich Jedlička" <oldium.pro@gmail.com>
Cc: linux-raid@vger.kernel.org
Subject: Re: [PATCH 1/1] mdadm: enable Intel Alderlake RST VMD configuration
Date: Thu, 18 Aug 2022 16:12:02 +0200	[thread overview]
Message-ID: <20220818161202.0000034f@intel.linux.com> (raw)
In-Reply-To: <CALdrqORp1vTu+c8C9Pydn_ftGuSL_6QH1hhKe=Gd7Vo4AdrNKQ@mail.gmail.com>

On Fri, 5 Aug 2022 14:50:36 +0200
Oldřich Jedlička <oldium.pro@gmail.com> wrote:

> pá 5. 8. 2022 v 13:56 odesílatel Kinga Tanska
> <kinga.tanska@linux.intel.com> napsal:
> >
> > On Fri,  5 Aug 2022 12:05:45 +0200
> > Oldřich Jedlička <oldium.pro@gmail.com> 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@gmail.com>
> > > ---
> > >  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

  parent reply	other threads:[~2022-08-18 14:12 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-08-05 10:05 [PATCH 0/1] enable Intel Alderlake RST VMD configuration Oldřich Jedlička
2022-08-05 10:05 ` [PATCH 1/1] mdadm: " Oldřich Jedlička
2022-08-05 11:56   ` Kinga Tanska
2022-08-05 12:50     ` Oldřich Jedlička
2022-08-11 10:18       ` Mariusz Tkaczyk
2022-08-11 19:38         ` Oldřich Jedlička
2022-08-16 11:43           ` Mariusz Tkaczyk
2022-08-18 14:12       ` Kinga Tanska [this message]
2022-08-18 14:53         ` Oldřich Jedlička
2022-08-18 15:21           ` Oldřich Jedlička
2022-08-23 14:03             ` Kinga Tanska
2022-08-25 18:57               ` Oldřich Jedlička

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220818161202.0000034f@intel.linux.com \
    --to=kinga.tanska@linux.intel.com \
    --cc=linux-raid@vger.kernel.org \
    --cc=oldium.pro@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.