diff options
author | Nicholas Kazlauskas <nicholas.kazlauskas@amd.com> | 2021-05-19 11:28:27 -0400 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2021-06-04 16:39:18 -0400 |
commit | ba5a5371812e1f177414d30a9ce9691017cf30b6 (patch) | |
tree | 7d0e9dad5d09a12072a84fd847bf7ed19028d88a /drivers/gpu/drm/amd/display/dc/dcn20/dcn20_hubbub.h | |
parent | 110d3968fe9508142cb76b530d141209efa169a8 (diff) | |
download | linux-stable-ba5a5371812e1f177414d30a9ce9691017cf30b6.tar.gz linux-stable-ba5a5371812e1f177414d30a9ce9691017cf30b6.tar.bz2 linux-stable-ba5a5371812e1f177414d30a9ce9691017cf30b6.zip |
drm/amd/display: Add DCN3.1 DCHHUB
Adds DCN3.1 DCHHUB programming and modifies DCN20/DCN30 shared
hardware sequencer helpers to use these hooks.
HW Blocks:
+--------++------+ +----------+
|DCHUBBUB|| HUBP | <-- | MMHUBBUB |
+--------++------+ +----------+
| ^
v |
+--------+ +--------+
| DPP | <---------> | DWB |
+--------+ +--------+
| ^
v |
+--------+ |
| MPC | |
+--------+ |
| |
v |
+-------+ |
| OPP | |
+-------+ |
| |
v |
+--------+ /
| OPTC | --------------
+--------+
|
v
+--------+ +--------+
| DIO | | DCCG |
+--------+ +--------+
No changes to MMHUBBUB or DWB programming, added to diagram for clarity.
Acked-by: Huang Rui <ray.huang@amd.com>
Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/display/dc/dcn20/dcn20_hubbub.h')
-rw-r--r-- | drivers/gpu/drm/amd/display/dc/dcn20/dcn20_hubbub.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_hubbub.h b/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_hubbub.h index c478213ba7ad..a4fc70fa0957 100644 --- a/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_hubbub.h +++ b/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_hubbub.h @@ -83,6 +83,15 @@ struct dcn20_hubbub { int num_vmid; struct dcn20_vmid vmid[16]; unsigned int detile_buf_size; +#if defined(CONFIG_DRM_AMD_DC_DCN3_1) + unsigned int crb_size_segs; + unsigned int compbuf_size_segments; + unsigned int pixel_chunk_size; + unsigned int det0_size; + unsigned int det1_size; + unsigned int det2_size; + unsigned int det3_size; +#endif }; void hubbub2_construct(struct dcn20_hubbub *hubbub, |