diff options
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3900-drm-amdgpu-ras-fix-and-update-the-documentation-for-.patch')
-rw-r--r-- | meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3900-drm-amdgpu-ras-fix-and-update-the-documentation-for-.patch | 150 |
1 files changed, 150 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3900-drm-amdgpu-ras-fix-and-update-the-documentation-for-.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3900-drm-amdgpu-ras-fix-and-update-the-documentation-for-.patch new file mode 100644 index 00000000..160d09d2 --- /dev/null +++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3900-drm-amdgpu-ras-fix-and-update-the-documentation-for-.patch @@ -0,0 +1,150 @@ +From f3174d9652f9f5a198677a5cc789506612461803 Mon Sep 17 00:00:00 2001 +From: Alex Deucher <alexander.deucher@amd.com> +Date: Thu, 19 Sep 2019 15:09:56 -0500 +Subject: [PATCH 3900/4256] drm/amdgpu/ras: fix and update the documentation + for RAS +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Add new sections to amdgpu.rst, fix up formatting issues, +add additional documentation to each section. + +Acked-by: Christian König <christian.koenig@amd.com> +Signed-off-by: Alex Deucher <alexander.deucher@amd.com> +--- + Documentation/gpu/amdgpu.rst | 24 ++++++++++- + drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c | 53 +++++++++++++++++++++---- + 2 files changed, 68 insertions(+), 9 deletions(-) + +diff --git a/Documentation/gpu/amdgpu.rst b/Documentation/gpu/amdgpu.rst +index 80db5d89cd49..5b9eaf23558e 100644 +--- a/Documentation/gpu/amdgpu.rst ++++ b/Documentation/gpu/amdgpu.rst +@@ -79,12 +79,32 @@ AMDGPU XGMI Support + .. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c + :internal: + +-AMDGPU RAS debugfs control interface +-==================================== ++AMDGPU RAS Support ++================== ++ ++RAS debugfs/sysfs Control and Error Injection Interfaces ++-------------------------------------------------------- + + .. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c + :doc: AMDGPU RAS debugfs control interface + ++RAS Error Count sysfs Interface ++------------------------------- ++ ++.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c ++ :doc: AMDGPU RAS sysfs Error Count Interface ++ ++RAS EEPROM debugfs Interface ++---------------------------- ++ ++.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c ++ :doc: AMDGPU RAS debugfs EEPROM table reset interface ++ ++RAS VRAM Bad Pages sysfs Interface ++---------------------------------- ++ ++.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c ++ :doc: AMDGPU RAS sysfs gpu_vram_bad_pages Interface + + .. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c + :internal: +diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c +index f5aea49f2ab3..48541adb12fb 100644 +--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c ++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c +@@ -314,7 +314,18 @@ static ssize_t amdgpu_ras_debugfs_ctrl_write(struct file *f, const char __user * + /** + * DOC: AMDGPU RAS debugfs EEPROM table reset interface + * +- * Usage: echo 1 > ../ras/ras_eeprom_reset will reset EEPROM table to 0 entries. ++ * Some boards contain an EEPROM which is used to persistently store a list of ++ * bad pages containing ECC errors detected in vram. This interface provides ++ * a way to reset the EEPROM, e.g., after testing error injection. ++ * ++ * Usage: ++ * ++ * .. code-block:: bash ++ * ++ * echo 1 > ../ras/ras_eeprom_reset ++ * ++ * will reset EEPROM table to 0 entries. ++ * + */ + static ssize_t amdgpu_ras_debugfs_eeprom_write(struct file *f, const char __user *buf, + size_t size, loff_t *pos) +@@ -341,6 +352,27 @@ static const struct file_operations amdgpu_ras_debugfs_eeprom_ops = { + .llseek = default_llseek + }; + ++/** ++ * DOC: AMDGPU RAS sysfs Error Count Interface ++ * ++ * It allows user to read the error count for each IP block on the gpu through ++ * /sys/class/drm/card[0/1/2...]/device/ras/[gfx/sdma/...]_err_count ++ * ++ * It outputs the multiple lines which report the uncorrected (ue) and corrected ++ * (ce) error counts. ++ * ++ * The format of one line is below, ++ * ++ * [ce|ue]: count ++ * ++ * Example: ++ * ++ * .. code-block:: bash ++ * ++ * ue: 0 ++ * ce: 1 ++ * ++ */ + static ssize_t amdgpu_ras_sysfs_read(struct device *dev, + struct device_attribute *attr, char *buf) + { +@@ -785,8 +817,8 @@ static char *amdgpu_ras_badpage_flags_str(unsigned int flags) + }; + } + +-/* +- * DOC: ras sysfs gpu_vram_bad_pages interface ++/** ++ * DOC: AMDGPU RAS sysfs gpu_vram_bad_pages Interface + * + * It allows user to read the bad pages of vram on the gpu through + * /sys/class/drm/card[0/1/2...]/device/ras/gpu_vram_bad_pages +@@ -798,14 +830,21 @@ static char *amdgpu_ras_badpage_flags_str(unsigned int flags) + * + * gpu pfn and gpu page size are printed in hex format. + * flags can be one of below character, ++ * + * R: reserved, this gpu page is reserved and not able to use. ++ * + * P: pending for reserve, this gpu page is marked as bad, will be reserved +- * in next window of page_reserve. ++ * in next window of page_reserve. ++ * + * F: unable to reserve. this gpu page can't be reserved due to some reasons. + * +- * examples: +- * 0x00000001 : 0x00001000 : R +- * 0x00000002 : 0x00001000 : P ++ * Examples: ++ * ++ * .. code-block:: bash ++ * ++ * 0x00000001 : 0x00001000 : R ++ * 0x00000002 : 0x00001000 : P ++ * + */ + + static ssize_t amdgpu_ras_sysfs_badpages_read(struct file *f, +-- +2.17.1 + |