diff options
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3422-drm-amd-display-HUBP-HUBBUB-register-programming-fix.patch')
-rw-r--r-- | meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3422-drm-amd-display-HUBP-HUBBUB-register-programming-fix.patch | 106 |
1 files changed, 106 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3422-drm-amd-display-HUBP-HUBBUB-register-programming-fix.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3422-drm-amd-display-HUBP-HUBBUB-register-programming-fix.patch new file mode 100644 index 00000000..67f74d65 --- /dev/null +++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3422-drm-amd-display-HUBP-HUBBUB-register-programming-fix.patch @@ -0,0 +1,106 @@ +From d40390ff9acce835b28859519b7fd87bb965e8fd Mon Sep 17 00:00:00 2001 +From: Ilya Bakoulin <Ilya.Bakoulin@amd.com> +Date: Mon, 22 Jul 2019 14:12:25 -0400 +Subject: [PATCH 3422/4256] drm/amd/display: HUBP/HUBBUB register programming + fixes + +[Why] +- Need to change interface function signature / add an enum + to reflect the available register field values + +[How] +- Add a new enum and modify existing functions to use it instead + of bool + +Signed-off-by: Ilya Bakoulin <Ilya.Bakoulin@amd.com> +Reviewed-by: Charlene Liu <Charlene.Liu@amd.com> +Acked-by: Leo Li <sunpeng.li@amd.com> +--- + drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hubp.c | 2 +- + drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hubp.h | 2 +- + drivers/gpu/drm/amd/display/dc/dcn20/dcn20_hubp.c | 2 +- + drivers/gpu/drm/amd/display/dc/dcn20/dcn20_hubp.h | 2 +- + drivers/gpu/drm/amd/display/dc/inc/hw/hubp.h | 8 +++++++- + 5 files changed, 11 insertions(+), 5 deletions(-) + +diff --git a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hubp.c b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hubp.c +index 03f5aa10c4c4..001db49e4bb2 100644 +--- a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hubp.c ++++ b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hubp.c +@@ -509,7 +509,7 @@ bool hubp1_program_surface_flip_and_addr( + } + + void hubp1_dcc_control(struct hubp *hubp, bool enable, +- bool independent_64b_blks) ++ enum hubp_ind_block_size independent_64b_blks) + { + uint32_t dcc_en = enable ? 1 : 0; + uint32_t dcc_ind_64b_blk = independent_64b_blks ? 1 : 0; +diff --git a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hubp.h b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hubp.h +index 91116b3d4b48..cb20d10288c0 100644 +--- a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hubp.h ++++ b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hubp.h +@@ -698,7 +698,7 @@ void hubp1_program_tiling( + + void hubp1_dcc_control(struct hubp *hubp, + bool enable, +- bool independent_64b_blks); ++ enum hubp_ind_block_size independent_64b_blks); + + #ifdef CONFIG_DRM_AMD_DC_DCN2_0 + bool hubp1_program_surface_flip_and_addr( +diff --git a/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_hubp.c b/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_hubp.c +index ac01e636ae27..b4b384c7fa9b 100644 +--- a/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_hubp.c ++++ b/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_hubp.c +@@ -397,7 +397,7 @@ void hubp2_program_rotation( + } + + void hubp2_dcc_control(struct hubp *hubp, bool enable, +- bool independent_64b_blks) ++ enum hubp_ind_block_size independent_64b_blks) + { + uint32_t dcc_en = enable ? 1 : 0; + uint32_t dcc_ind_64b_blk = independent_64b_blks ? 1 : 0; +diff --git a/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_hubp.h b/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_hubp.h +index 924699e5f443..c4ed8f1b9424 100644 +--- a/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_hubp.h ++++ b/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_hubp.h +@@ -252,7 +252,7 @@ bool hubp2_program_surface_flip_and_addr( + bool flip_immediate); + + void hubp2_dcc_control(struct hubp *hubp, bool enable, +- bool independent_64b_blks); ++ enum hubp_ind_block_size independent_64b_blks); + + void hubp2_program_size( + struct hubp *hubp, +diff --git a/drivers/gpu/drm/amd/display/dc/inc/hw/hubp.h b/drivers/gpu/drm/amd/display/dc/inc/hw/hubp.h +index 4993f134e747..809b62b51a43 100644 +--- a/drivers/gpu/drm/amd/display/dc/inc/hw/hubp.h ++++ b/drivers/gpu/drm/amd/display/dc/inc/hw/hubp.h +@@ -47,6 +47,11 @@ enum cursor_lines_per_chunk { + CURSOR_LINE_PER_CHUNK_16 + }; + ++enum hubp_ind_block_size { ++ hubp_ind_block_unconstrained = 0, ++ hubp_ind_block_64b, ++}; ++ + struct hubp { + const struct hubp_funcs *funcs; + struct dc_context *ctx; +@@ -74,7 +79,8 @@ struct hubp_funcs { + struct _vcs_dpi_display_ttu_regs_st *ttu_regs); + + void (*dcc_control)(struct hubp *hubp, bool enable, +- bool independent_64b_blks); ++ enum hubp_ind_block_size blk_size); ++ + void (*mem_program_viewport)( + struct hubp *hubp, + const struct rect *viewport, +-- +2.17.1 + |