]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
drm/xe/xe_drm_ras: Add support for XE DRM RAS
authorRiana Tauro <riana.tauro@intel.com>
Wed, 4 Mar 2026 07:44:09 +0000 (13:14 +0530)
committerRodrigo Vivi <rodrigo.vivi@intel.com>
Fri, 6 Mar 2026 00:38:55 +0000 (19:38 -0500)
commitb40db12b542f503b5ec689d18d473299d49eeb60
treed46a94b2129d7925709fc51c6cc06231c75ed858
parentc36218dc49f5e9ef9e3074670fdae7ac3a7e794f
drm/xe/xe_drm_ras: Add support for XE DRM RAS

Allocate correctable, uncorrectable nodes for every xe device. Each node
contains error component, counters and respective query counter functions.

Add basic functionality to create and register drm nodes.

Below operations can be performed using Generic netlink DRM RAS interface:

1) List Nodes:

    $ sudo ynl --family drm_ras --dump list-nodes
    [{'device-name': '0000:03:00.0',
      'node-id': 0,
      'node-name': 'correctable-errors',
      'node-type': 'error-counter'},
     {'device-name': '0000:03:00.0',
      'node-id': 1,
      'node-name': 'uncorrectable-errors',
      'node-type': 'error-counter'}]

2) Get Error counters:

    $ sudo ynl --family drm_ras --dump get-error-counter --json '{"node-id":0}'
    [{'error-id': 1, 'error-name': 'core-compute', 'error-value': 0},
    {'error-id': 2, 'error-name': 'soc-internal', 'error-value': 0}]

3) Get specific Error counter:

    $ sudo ynl --family drm_ras --do get-error-counter --json '{"node-id":0, "error-id":1}'
    {'error-id': 1, 'error-name': 'core-compute', 'error-value': 0}

Signed-off-by: Riana Tauro <riana.tauro@intel.com>
Reviewed-by: Raag Jadav <raag.jadav@intel.com>
Link: https://patch.msgid.link/20260304074412.464435-9-riana.tauro@intel.com
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
drivers/gpu/drm/xe/Makefile
drivers/gpu/drm/xe/xe_device_types.h
drivers/gpu/drm/xe/xe_drm_ras.c [new file with mode: 0644]
drivers/gpu/drm/xe/xe_drm_ras.h [new file with mode: 0644]
drivers/gpu/drm/xe/xe_drm_ras_types.h [new file with mode: 0644]
include/uapi/drm/xe_drm.h