gpu: nvgpu: handle chip specific erratas

Currently, there are few chip specific erratas present in nvgpu code.
For better traceability of the erratas and corresponding fixes,
introduce flags to indicate existing erratas on a chip. These flags
decide if a corresponding solution is applied to the chip(s).

This patch introduces below functions to handle errata flags:
- nvgpu_init_errata_flags
- nvgpu_set_errata
- nvgpu_is_errata_present
- nvgpu_print_errata_flags
- nvgpu_free_errata_flags

nvgpu_print_errata_flags: print below details of erratas present in chip
1. errata flag name
2. chip where the errata was first discovered
3. short description of the errata

Flags corresponding to erratas present in a chip are set during chip hal
init sequence.

JIRA NVGPU-6510

Change-Id: Id5a8fb627222ac0a585aba071af052950f4de965
Signed-off-by: Vedashree Vidwans <vvidwans@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvgpu/+/2498095
Reviewed-by: Seema Khowala <seemaj@nvidia.com>
Reviewed-by: Vaibhav Kachore <vkachore@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
GVS: Gerrit_Virtual_Submit
This commit is contained in:
Vedashree Vidwans
2021-04-13 21:55:47 -07:00
committed by mobile promotions
parent 6222ebeaea
commit aba26fa082
28 changed files with 410 additions and 38 deletions

View File

@@ -500,6 +500,7 @@ nvgpu_gr_suspend
nvgpu_gr_sw_ready
nvgpu_has_syncpoints
nvgpu_init_enabled_flags
nvgpu_init_errata_flags
nvgpu_init_hal
nvgpu_init_ltc_support
nvgpu_init_mm_support
@@ -510,6 +511,7 @@ nvgpu_iommuable
nvgpu_free_inst_block
nvgpu_inst_block_ptr
nvgpu_is_enabled
nvgpu_is_errata_present
nvgpu_kcalloc_impl
nvgpu_kfree_impl
nvgpu_kmalloc_impl
@@ -703,6 +705,7 @@ nvgpu_tsg_unbind_channel_check_hw_state
nvgpu_tsg_unbind_channel_check_ctx_reload
nvgpu_set_bit
nvgpu_set_enabled
nvgpu_set_errata
nvgpu_set_power_state
nvgpu_set_pte
nvgpu_sgt_alignment

View File

@@ -515,6 +515,7 @@ nvgpu_gr_suspend
nvgpu_gr_sw_ready
nvgpu_has_syncpoints
nvgpu_init_enabled_flags
nvgpu_init_errata_flags
nvgpu_init_fb_support
nvgpu_init_hal
nvgpu_init_ltc_support
@@ -526,6 +527,7 @@ nvgpu_iommuable
nvgpu_free_inst_block
nvgpu_inst_block_ptr
nvgpu_is_enabled
nvgpu_is_errata_present
nvgpu_kcalloc_impl
nvgpu_kfree_impl
nvgpu_kmalloc_impl
@@ -719,6 +721,7 @@ nvgpu_tsg_unbind_channel_check_hw_state
nvgpu_tsg_unbind_channel_check_ctx_reload
nvgpu_set_bit
nvgpu_set_enabled
nvgpu_set_errata
nvgpu_set_power_state
nvgpu_set_pte
nvgpu_sgt_alignment