[v4,0/9] Add Array BIST test support to IFS

Message ID 20230322003359.213046-1-jithu.joseph@intel.com
Headers
Series Add Array BIST test support to IFS |

Message

Jithu Joseph March 22, 2023, 12:33 a.m. UTC
  Changes in v4
 - Hans de Goede
     - Separate patch 1/9 (Separate ifs_pkg_auth) from reorganize
        driver data patch
     - Rework patch 2/9 (Reorganize driver data) to define const
       ifs_test_caps struct and associate its pointer to miscdevice
       and to remove dynamic allocation for ifs_data as was done in v3
     - Move load check from run_test_store to do_core_test()
     - Expand ABI doc to qualify which devices support which attribrutes
       and the device instance to test mapping

V3 submission:
Link: https://lore.kernel.org/lkml/20230301015942.462799-1-jithu.joseph@intel.com/

Changes in v3
 - GregKH 
    -  Separating read-only fields from rw fields in
       struct ifs_device (patch 1/8)
    -  Remove the subdirectory intel_ifs/<n> for devicenode (patch 2/8)
    -  Replaced an enum with #define (patch 4/8)
 - Dave Hansen
    - Remove tracing patch
    - ifs_array_test_core() (patch 6/8)
        - fix an initialization bug
        - other suggested changes
    - Use basic types in ifs_array for first two fields. (kept
      the union to avoid type castings)

v2 submission:
Link: https://lore.kernel.org/lkml/20230214234426.344960-1-jithu.joseph@intel.com/

Changes in v2
 - remove duplicate initializations from ifs_array_test_core()
   (Dave Hansen, patch 4/7)
 - remove bit parsing from tracing fast path to tracing 
   output (Steven Rostedt, patch 5/7)
 - move "ATTRIBUTE_GROUPS(plat_ifs_array)" to core.c and remove
   exporting function ifs_get_array_groups() (Greg KH, patch 3/7)
 - Generalized doc and ABI doc (Greg KH, patches 6/7 and 7/7)

v1 submission:
Link: https://lore.kernel.org/lkml/20230131234302.3997223-1-jithu.joseph@intel.com/

Array BIST is a new type of core test introduced under the Intel Infield
Scan (IFS) suite of tests.

Emerald Rapids (EMR) is the first CPU to support Array BIST.
Array BIST performs tests on some portions of the core logic such as
caches and register files. These are different portions of the silicon
compared to the parts tested by Scan at Field (SAF).

Unlike SAF, Array BIST doesn't require any test content to be loaded.

Jithu Joseph (9):
  platform/x86/intel/ifs: Separate ifs_pkg_auth from ifs_data
  platform/x86/intel/ifs: Reorganize driver data
  platform/x86/intel/ifs: IFS cleanup
  x86/include/asm/msr-index.h: Add IFS Array test bits
  platform/x86/intel/ifs: Introduce Array Scan test to IFS
  platform/x86/intel/ifs: Sysfs interface for Array BIST
  platform/x86/intel/ifs: Implement Array BIST test
  platform/x86/intel/ifs: Update IFS doc
  Documentation/ABI: Update IFS ABI doc

 arch/x86/include/asm/msr-index.h              |  2 +
 drivers/platform/x86/intel/ifs/ifs.h          | 68 ++++++++++----
 drivers/platform/x86/intel/ifs/core.c         | 81 +++++++++++-----
 drivers/platform/x86/intel/ifs/load.c         |  9 +-
 drivers/platform/x86/intel/ifs/runtest.c      | 94 ++++++++++++++++++-
 drivers/platform/x86/intel/ifs/sysfs.c        | 21 ++---
 .../ABI/testing/sysfs-platform-intel-ifs      | 17 +++-
 7 files changed, 229 insertions(+), 63 deletions(-)


base-commit: e8d018dd0257f744ca50a729e3d042cf2ec9da65
  

Comments

Hans de Goede March 27, 2023, 1:10 p.m. UTC | #1
Hi,

On 3/22/23 01:33, Jithu Joseph wrote:
> Changes in v4
>  - Hans de Goede
>      - Separate patch 1/9 (Separate ifs_pkg_auth) from reorganize
>         driver data patch
>      - Rework patch 2/9 (Reorganize driver data) to define const
>        ifs_test_caps struct and associate its pointer to miscdevice
>        and to remove dynamic allocation for ifs_data as was done in v3
>      - Move load check from run_test_store to do_core_test()
>      - Expand ABI doc to qualify which devices support which attribrutes
>        and the device instance to test mapping
> 
> V3 submission:
> Link: https://lore.kernel.org/lkml/20230301015942.462799-1-jithu.joseph@intel.com/
> 
> Changes in v3
>  - GregKH 
>     -  Separating read-only fields from rw fields in
>        struct ifs_device (patch 1/8)
>     -  Remove the subdirectory intel_ifs/<n> for devicenode (patch 2/8)
>     -  Replaced an enum with #define (patch 4/8)
>  - Dave Hansen
>     - Remove tracing patch
>     - ifs_array_test_core() (patch 6/8)
>         - fix an initialization bug
>         - other suggested changes
>     - Use basic types in ifs_array for first two fields. (kept
>       the union to avoid type castings)
> 
> v2 submission:
> Link: https://lore.kernel.org/lkml/20230214234426.344960-1-jithu.joseph@intel.com/
> 
> Changes in v2
>  - remove duplicate initializations from ifs_array_test_core()
>    (Dave Hansen, patch 4/7)
>  - remove bit parsing from tracing fast path to tracing 
>    output (Steven Rostedt, patch 5/7)
>  - move "ATTRIBUTE_GROUPS(plat_ifs_array)" to core.c and remove
>    exporting function ifs_get_array_groups() (Greg KH, patch 3/7)
>  - Generalized doc and ABI doc (Greg KH, patches 6/7 and 7/7)
> 
> v1 submission:
> Link: https://lore.kernel.org/lkml/20230131234302.3997223-1-jithu.joseph@intel.com/
> 
> Array BIST is a new type of core test introduced under the Intel Infield
> Scan (IFS) suite of tests.
> 
> Emerald Rapids (EMR) is the first CPU to support Array BIST.
> Array BIST performs tests on some portions of the core logic such as
> caches and register files. These are different portions of the silicon
> compared to the parts tested by Scan at Field (SAF).
> 
> Unlike SAF, Array BIST doesn't require any test content to be loaded.

Thank you for your patch-series, I've applied the series to my
review-hans branch:
https://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86.git/log/?h=review-hans

Note it will show up in my review-hans branch once I've pushed my
local branch there, which might take a while.

Once I've run some tests on this branch the patches there will be
added to the platform-drivers-x86/for-next branch and eventually
will be included in the pdx86 pull-request to Linus for the next
merge-window.

Regards,

Hans




> 
> Jithu Joseph (9):
>   platform/x86/intel/ifs: Separate ifs_pkg_auth from ifs_data
>   platform/x86/intel/ifs: Reorganize driver data
>   platform/x86/intel/ifs: IFS cleanup
>   x86/include/asm/msr-index.h: Add IFS Array test bits
>   platform/x86/intel/ifs: Introduce Array Scan test to IFS
>   platform/x86/intel/ifs: Sysfs interface for Array BIST
>   platform/x86/intel/ifs: Implement Array BIST test
>   platform/x86/intel/ifs: Update IFS doc
>   Documentation/ABI: Update IFS ABI doc
> 
>  arch/x86/include/asm/msr-index.h              |  2 +
>  drivers/platform/x86/intel/ifs/ifs.h          | 68 ++++++++++----
>  drivers/platform/x86/intel/ifs/core.c         | 81 +++++++++++-----
>  drivers/platform/x86/intel/ifs/load.c         |  9 +-
>  drivers/platform/x86/intel/ifs/runtest.c      | 94 ++++++++++++++++++-
>  drivers/platform/x86/intel/ifs/sysfs.c        | 21 ++---
>  .../ABI/testing/sysfs-platform-intel-ifs      | 17 +++-
>  7 files changed, 229 insertions(+), 63 deletions(-)
> 
> 
> base-commit: e8d018dd0257f744ca50a729e3d042cf2ec9da65
  
Pengfei Xu April 7, 2023, 1:49 a.m. UTC | #2
Hi Jithu and Hans,

On 2023-03-27 at 21:10:45 +0800, Hans de Goede wrote:
> Hi,
> 
> On 3/22/23 01:33, Jithu Joseph wrote:
> > Changes in v4
> >  - Hans de Goede
> >      - Separate patch 1/9 (Separate ifs_pkg_auth) from reorganize
> >         driver data patch
> >      - Rework patch 2/9 (Reorganize driver data) to define const
> >        ifs_test_caps struct and associate its pointer to miscdevice
> >        and to remove dynamic allocation for ifs_data as was done in v3
> >      - Move load check from run_test_store to do_core_test()
> >      - Expand ABI doc to qualify which devices support which attribrutes
> >        and the device instance to test mapping
> > 
> > V3 submission:
> > Link: https://lore.kernel.org/lkml/20230301015942.462799-1-jithu.joseph@intel.com/
> > 
> > Changes in v3
> >  - GregKH 
> >     -  Separating read-only fields from rw fields in
> >        struct ifs_device (patch 1/8)
> >     -  Remove the subdirectory intel_ifs/<n> for devicenode (patch 2/8)
> >     -  Replaced an enum with #define (patch 4/8)
> >  - Dave Hansen
> >     - Remove tracing patch
> >     - ifs_array_test_core() (patch 6/8)
> >         - fix an initialization bug
> >         - other suggested changes
> >     - Use basic types in ifs_array for first two fields. (kept
> >       the union to avoid type castings)
> > 
> > v2 submission:
> > Link: https://lore.kernel.org/lkml/20230214234426.344960-1-jithu.joseph@intel.com/
> > 
> > Changes in v2
> >  - remove duplicate initializations from ifs_array_test_core()
> >    (Dave Hansen, patch 4/7)
> >  - remove bit parsing from tracing fast path to tracing 
> >    output (Steven Rostedt, patch 5/7)
> >  - move "ATTRIBUTE_GROUPS(plat_ifs_array)" to core.c and remove
> >    exporting function ifs_get_array_groups() (Greg KH, patch 3/7)
> >  - Generalized doc and ABI doc (Greg KH, patches 6/7 and 7/7)
> > 
> > v1 submission:
> > Link: https://lore.kernel.org/lkml/20230131234302.3997223-1-jithu.joseph@intel.com/
> > 
> > Array BIST is a new type of core test introduced under the Intel Infield
> > Scan (IFS) suite of tests.
> > 
> > Emerald Rapids (EMR) is the first CPU to support Array BIST.
> > Array BIST performs tests on some portions of the core logic such as
> > caches and register files. These are different portions of the silicon
> > compared to the parts tested by Scan at Field (SAF).
> > 
> > Unlike SAF, Array BIST doesn't require any test content to be loaded.
> 
> Thank you for your patch-series, I've applied the series to my
> review-hans branch:
> https://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86.git/log/?h=review-hans
> 
> Note it will show up in my review-hans branch once I've pushed my
> local branch there, which might take a while.
> 
> Once I've run some tests on this branch the patches there will be
> added to the platform-drivers-x86/for-next branch and eventually
> will be included in the pdx86 pull-request to Linus for the next
> merge-window.
> 
> Regards,
> 
> Hans
> 
  I have tested the IFS Array BIST function on EMR and Array BIST function
  was passed.

Tested-by: Pengfei Xu <pengfei.xu@intel.com>

Thanks!
BR.
-Pengfei

> 
> 
> 
> > 
> > Jithu Joseph (9):
> >   platform/x86/intel/ifs: Separate ifs_pkg_auth from ifs_data
> >   platform/x86/intel/ifs: Reorganize driver data
> >   platform/x86/intel/ifs: IFS cleanup
> >   x86/include/asm/msr-index.h: Add IFS Array test bits
> >   platform/x86/intel/ifs: Introduce Array Scan test to IFS
> >   platform/x86/intel/ifs: Sysfs interface for Array BIST
> >   platform/x86/intel/ifs: Implement Array BIST test
> >   platform/x86/intel/ifs: Update IFS doc
> >   Documentation/ABI: Update IFS ABI doc
> > 
> >  arch/x86/include/asm/msr-index.h              |  2 +
> >  drivers/platform/x86/intel/ifs/ifs.h          | 68 ++++++++++----
> >  drivers/platform/x86/intel/ifs/core.c         | 81 +++++++++++-----
> >  drivers/platform/x86/intel/ifs/load.c         |  9 +-
> >  drivers/platform/x86/intel/ifs/runtest.c      | 94 ++++++++++++++++++-
> >  drivers/platform/x86/intel/ifs/sysfs.c        | 21 ++---
> >  .../ABI/testing/sysfs-platform-intel-ifs      | 17 +++-
> >  7 files changed, 229 insertions(+), 63 deletions(-)
> > 
> > 
> > base-commit: e8d018dd0257f744ca50a729e3d042cf2ec9da65
>