[PATCH] drm/amd/display: add missing reg defs for DCN3x HUBBUB

Rodrigo Siqueira Jordao Rodrigo.Siqueira at amd.com
Thu Jun 16 21:10:45 UTC 2022



On 2022-06-16 17:08, Aurabindo Pillai wrote:
> [Why&How]
> The omitted register definition caused call traces like:
> 
> [    3.811215] WARNING: CPU: 7 PID: 794 at drivers/gpu/drm/amd/amdgpu/../display/dc/dc_helper.c:120 set_reg_field_values.constprop.0+0xc7/0xe0 [amdgpu]
> [    3.811406] Modules linked in: amdgpu(+) drm_ttm_helper ttm iommu_v2 gpu_sched drm_kms_helper cfbfillrect syscopyarea cfbimgblt sysfillrect sysimgblt fb_sys_fops cfbcopyarea drm i2c_piix4 drm_panel_orientation_quirks
> [    3.811419] CPU: 7 PID: 794 Comm: systemd-udevd Not tainted 5.16.0-kfd+ #132
> [    3.811422] Hardware name: System manufacturer System Product Name/ROG STRIX B450-F GAMING, BIOS 3003 12/09/2019
> [    3.811425] RIP: 0010:set_reg_field_values.constprop.0+0xc7/0xe0 [amdgpu]
> [    3.811615] Code: 08 49 89 51 08 8b 08 48 8d 42 08 49 89 41 08 44 8b 02 48 8d 50 08 0f b6 c9 49 89 51 08 8b 00 45 85 c0 75 b3 0f 0b eb af 5d c3 <0f> 0b e9 48 ff ff ff 49 8b 51 08 eb d0 49 8b 41 08 eb d5 66 0f 1f
> [    3.811619] RSP: 0018:ffffb8c1c04cf640 EFLAGS: 00010246
> [    3.811621] RAX: 0000000000000000 RBX: ffff96f2100d8800 RCX: 0000000000000000
> [    3.811623] RDX: 0000000000000000 RSI: 0000000000000001 RDI: ffffb8c1c04cf650
> [    3.811625] RBP: ffffb8c1c04cf640 R08: 000000000000047f R09: ffffb8c1c04cf658
> [    3.811627] R10: ffff96f5161ff000 R11: ffff96f5161ff000 R12: ffff96f204afb9c0
> [    3.811629] R13: 0000000000000000 R14: ffff96f202b94c00 R15: ffffb8c1c04cf718
> [    3.811631] FS:  00007fe07c2e2880(0000) GS:ffff96f5059c0000(0000) knlGS:0000000000000000
> [    3.811634] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> [    3.811636] CR2: 0000559634ab57b8 CR3: 0000000120674000 CR4: 00000000003506e0
> [    3.811637] Call Trace:
> [    3.811640]  <TASK>
> [    3.811642]  generic_reg_update_ex+0x69/0x200 [amdgpu]
> [    3.811831]  ? _printk+0x58/0x6f
> [    3.811836]  dcn32_init_crb+0x18f/0x1b0 [amdgpu]
> [    3.812031]  dcn32_init_hw+0x379/0x6a0 [amdgpu]
> [    3.812223]  dc_hardware_init+0xba/0x100 [amdgpu]
> [    3.812415]  amdgpu_dm_init.isra.0.cold+0x166/0x1867 [amdgpu]
> [    3.812616]  ? dev_vprintk_emit+0x139/0x15d
> [    3.812621]  ? dev_printk_emit+0x4e/0x65
> [    3.812624]  dm_hw_init+0x12/0x30 [amdgpu]
> [    3.812820]  amdgpu_device_init.cold+0x130d/0x178c [amdgpu]
> [    3.813017]  ? pci_read_config_word+0x25/0x40
> [    3.813021]  amdgpu_driver_load_kms+0x1a/0x130 [amdgpu]
> [    3.813178]  amdgpu_pci_probe+0x130/0x330 [amdgpu]
> 
> Fixes: 7ea50d53 ("drm/amd: add register headers for DCN32/321")
> Signed-off-by: Aurabindo Pillai <aurabindo.pillai at amd.com>
> ---
>   drivers/gpu/drm/amd/display/dc/dcn32/dcn32_hubbub.h          | 2 ++
>   drivers/gpu/drm/amd/include/asic_reg/dcn/dcn_3_2_0_offset.h  | 2 ++
>   drivers/gpu/drm/amd/include/asic_reg/dcn/dcn_3_2_0_sh_mask.h | 3 +++
>   drivers/gpu/drm/amd/include/asic_reg/dcn/dcn_3_2_1_offset.h  | 2 ++
>   drivers/gpu/drm/amd/include/asic_reg/dcn/dcn_3_2_1_sh_mask.h | 4 ++++
>   5 files changed, 13 insertions(+)
> 
> diff --git a/drivers/gpu/drm/amd/display/dc/dcn32/dcn32_hubbub.h b/drivers/gpu/drm/amd/display/dc/dcn32/dcn32_hubbub.h
> index 8d3ea8ee5b3b..3bae6e558971 100644
> --- a/drivers/gpu/drm/amd/display/dc/dcn32/dcn32_hubbub.h
> +++ b/drivers/gpu/drm/amd/display/dc/dcn32/dcn32_hubbub.h
> @@ -65,6 +65,7 @@
>   	SR(DCHUBBUB_DET3_CTRL),\
>   	SR(DCHUBBUB_COMPBUF_CTRL),\
>   	SR(COMPBUF_RESERVED_SPACE),\
> +	SR(DCHUBBUB_DEBUG_CTRL_0),\
>   	SR(DCHUBBUB_ARB_USR_RETRAINING_CNTL),\
>   	SR(DCHUBBUB_ARB_USR_RETRAINING_WATERMARK_A),\
>   	SR(DCHUBBUB_ARB_USR_RETRAINING_WATERMARK_B),\
> @@ -118,6 +119,7 @@
>   	HUBBUB_SF(DCHUBBUB_ARB_REFCYC_PER_TRIP_TO_MEMORY_B, DCHUBBUB_ARB_REFCYC_PER_TRIP_TO_MEMORY_B, mask_sh), \
>   	HUBBUB_SF(DCHUBBUB_ARB_REFCYC_PER_TRIP_TO_MEMORY_C, DCHUBBUB_ARB_REFCYC_PER_TRIP_TO_MEMORY_C, mask_sh), \
>   	HUBBUB_SF(DCHUBBUB_ARB_REFCYC_PER_TRIP_TO_MEMORY_D, DCHUBBUB_ARB_REFCYC_PER_TRIP_TO_MEMORY_D, mask_sh),\
> +	HUBBUB_SF(DCHUBBUB_DEBUG_CTRL_0, DET_DEPTH, mask_sh),\
>   	HUBBUB_SF(DCHUBBUB_DET0_CTRL, DET0_SIZE, mask_sh),\
>   	HUBBUB_SF(DCHUBBUB_DET0_CTRL, DET0_SIZE_CURRENT, mask_sh),\
>   	HUBBUB_SF(DCHUBBUB_DET1_CTRL, DET1_SIZE, mask_sh),\
> diff --git a/drivers/gpu/drm/amd/include/asic_reg/dcn/dcn_3_2_0_offset.h b/drivers/gpu/drm/amd/include/asic_reg/dcn/dcn_3_2_0_offset.h
> index 6f84ea5c006f..14c29ce4c7b3 100644
> --- a/drivers/gpu/drm/amd/include/asic_reg/dcn/dcn_3_2_0_offset.h
> +++ b/drivers/gpu/drm/amd/include/asic_reg/dcn/dcn_3_2_0_offset.h
> @@ -1807,6 +1807,8 @@
>   #define regDCHUBBUB_DET2_CTRL_BASE_IDX                                                                  2
>   #define regDCHUBBUB_DET3_CTRL                                                                           0x04be
>   #define regDCHUBBUB_DET3_CTRL_BASE_IDX                                                                  2
> +#define regDCHUBBUB_DEBUG_CTRL_0                                                                        0x04c5
> +#define regDCHUBBUB_DEBUG_CTRL_0_BASE_IDX                                                               2
>   #define regDCHUBBUB_MEM_PWR_MODE_CTRL                                                                   0x04c0
>   #define regDCHUBBUB_MEM_PWR_MODE_CTRL_BASE_IDX                                                          2
>   #define regCOMPBUF_MEM_PWR_CTRL_1                                                                       0x04c1
> diff --git a/drivers/gpu/drm/amd/include/asic_reg/dcn/dcn_3_2_0_sh_mask.h b/drivers/gpu/drm/amd/include/asic_reg/dcn/dcn_3_2_0_sh_mask.h
> index d42f91560bb9..0691e328d0f0 100644
> --- a/drivers/gpu/drm/amd/include/asic_reg/dcn/dcn_3_2_0_sh_mask.h
> +++ b/drivers/gpu/drm/amd/include/asic_reg/dcn/dcn_3_2_0_sh_mask.h
> @@ -6348,6 +6348,9 @@
>   #define COMPBUF_RESERVED_SPACE__COMPBUF_RESERVED_SPACE_64B_MASK                                               0x00000FFFL
>   #define COMPBUF_RESERVED_SPACE__COMPBUF_RESERVED_SPACE_ZS_MASK                                                0x0FFF0000L
>   
> +//DCHUBBUB_DEBUG_CTRL_0
> +#define DCHUBBUB_DEBUG_CTRL_0__DET_DEPTH__SHIFT                                                               0x10
> +#define DCHUBBUB_DEBUG_CTRL_0__DET_DEPTH_MASK                                                                 0x07FF0000L
>   
>   // addressBlock: dcn_dc_dchubbubl_hubbub_vmrq_if_dispdec
>   //DCN_VM_CONTEXT0_CNTL
> diff --git a/drivers/gpu/drm/amd/include/asic_reg/dcn/dcn_3_2_1_offset.h b/drivers/gpu/drm/amd/include/asic_reg/dcn/dcn_3_2_1_offset.h
> index e40a924c02ce..3bd8792fd7b3 100644
> --- a/drivers/gpu/drm/amd/include/asic_reg/dcn/dcn_3_2_1_offset.h
> +++ b/drivers/gpu/drm/amd/include/asic_reg/dcn/dcn_3_2_1_offset.h
> @@ -1817,6 +1817,8 @@
>   #define regDCHUBBUB_MEM_PWR_STATUS_BASE_IDX                                                             2
>   #define regCOMPBUF_RESERVED_SPACE                                                                       0x04c4
>   #define regCOMPBUF_RESERVED_SPACE_BASE_IDX                                                              2
> +#define regDCHUBBUB_DEBUG_CTRL_0                                                                        0x04c5
> +#define regDCHUBBUB_DEBUG_CTRL_0_BASE_IDX                                                               2
>   
>   
>   // addressBlock: dce_dc_dchubbubl_hubbub_vmrq_if_dispdec
> diff --git a/drivers/gpu/drm/amd/include/asic_reg/dcn/dcn_3_2_1_sh_mask.h b/drivers/gpu/drm/amd/include/asic_reg/dcn/dcn_3_2_1_sh_mask.h
> index 23faa628cd59..e82dffc2b9b0 100644
> --- a/drivers/gpu/drm/amd/include/asic_reg/dcn/dcn_3_2_1_sh_mask.h
> +++ b/drivers/gpu/drm/amd/include/asic_reg/dcn/dcn_3_2_1_sh_mask.h
> @@ -6350,6 +6350,10 @@
>   #define COMPBUF_RESERVED_SPACE__COMPBUF_RESERVED_SPACE_64B_MASK                                               0x00000FFFL
>   #define COMPBUF_RESERVED_SPACE__COMPBUF_RESERVED_SPACE_ZS_MASK                                                0x0FFF0000L
>   
> +//DCHUBBUB_DEBUG_CTRL_0
> +#define DCHUBBUB_DEBUG_CTRL_0__DET_DEPTH__SHIFT                                                               0x10
> +#define DCHUBBUB_DEBUG_CTRL_0__DET_DEPTH_MASK                                                                 0x07FF0000L
> +
>   
>   // addressBlock: dce_dc_dchubbubl_hubbub_vmrq_if_dispdec
>   //DCN_VM_CONTEXT0_CNTL

Reviewed-by: Rodrigo Siqueira <Rodrigo.Siqueira at amd.com>


More information about the amd-gfx mailing list