aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3419-drm-amd-display-Remove-duplicate-interface-for-progr.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3419-drm-amd-display-Remove-duplicate-interface-for-progr.patch')
-rw-r--r--meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3419-drm-amd-display-Remove-duplicate-interface-for-progr.patch371
1 files changed, 371 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3419-drm-amd-display-Remove-duplicate-interface-for-progr.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3419-drm-amd-display-Remove-duplicate-interface-for-progr.patch
new file mode 100644
index 00000000..40efbe58
--- /dev/null
+++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3419-drm-amd-display-Remove-duplicate-interface-for-progr.patch
@@ -0,0 +1,371 @@
+From c1b9fbe9b19ccfc47c880dac1ac65757584a8fa5 Mon Sep 17 00:00:00 2001
+From: Julian Parkin <julian.parkin@amd.com>
+Date: Mon, 15 Jul 2019 12:16:01 -0400
+Subject: [PATCH 3419/4256] drm/amd/display: Remove duplicate interface for
+ programming FB
+
+[Why]
+There are currently two interfaces for exactly the same thing:
+hupb_update_dchub in hupb and update_dchub in hubbub. The hubbub
+version is currently unused past dcn10, largely because the call
+from the dcn10 hardware sequencer does not call through the
+interface, so the hupb interface was used instead. This is
+confusing because of the duplicate code, the unused functions,
+and the fact that more that one block currently owns this set
+of registers.
+
+[How]
+Remove the hubp interface entirely, as well as the register
+declarations that are not longer needed because of this. Change
+the call site to always call the hubbub version through the
+interface. Fix the update_dchub function in dcn20_hubbub.c to
+program the correct registers for dcn20.
+
+Signed-off-by: Julian Parkin <julian.parkin@amd.com>
+Reviewed-by: Aric Cyr <Aric.Cyr@amd.com>
+Acked-by: Leo Li <sunpeng.li@amd.com>
+---
+ .../gpu/drm/amd/display/dc/dcn10/dcn10_hubp.h | 24 ------
+ .../amd/display/dc/dcn10/dcn10_hw_sequencer.c | 10 +--
+ .../drm/amd/display/dc/dcn20/dcn20_hubbub.c | 81 +++++++++++--------
+ .../gpu/drm/amd/display/dc/dcn20/dcn20_hubp.c | 76 -----------------
+ .../gpu/drm/amd/display/dc/dcn20/dcn20_hubp.h | 16 ----
+ drivers/gpu/drm/amd/display/dc/inc/hw/hubp.h | 3 -
+ 6 files changed, 50 insertions(+), 160 deletions(-)
+
+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 344e446e337d..91116b3d4b48 100644
+--- a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hubp.h
++++ b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hubp.h
+@@ -125,8 +125,6 @@
+ SRI(DCN_VM_SYSTEM_APERTURE_LOW_ADDR_LSB, HUBPREQ, id),\
+ SRI(DCN_VM_SYSTEM_APERTURE_HIGH_ADDR_MSB, HUBPREQ, id),\
+ SRI(DCN_VM_SYSTEM_APERTURE_HIGH_ADDR_LSB, HUBPREQ, id),\
+- SR(DCHUBBUB_SDPIF_FB_BASE),\
+- SR(DCHUBBUB_SDPIF_FB_OFFSET),\
+ SRI(CURSOR_SETTINS, HUBPREQ, id), \
+ SRI(CURSOR_SURFACE_ADDRESS_HIGH, CURSOR, id), \
+ SRI(CURSOR_SURFACE_ADDRESS, CURSOR, id), \
+@@ -226,14 +224,6 @@
+ uint32_t DCN_VM_SYSTEM_APERTURE_HIGH_ADDR_LSB; \
+ uint32_t DCN_VM_SYSTEM_APERTURE_LOW_ADDR; \
+ uint32_t DCN_VM_SYSTEM_APERTURE_HIGH_ADDR; \
+- uint32_t DCHUBBUB_SDPIF_FB_BASE; \
+- uint32_t DCHUBBUB_SDPIF_FB_OFFSET; \
+- uint32_t DCN_VM_FB_LOCATION_TOP; \
+- uint32_t DCN_VM_FB_LOCATION_BASE; \
+- uint32_t DCN_VM_FB_OFFSET; \
+- uint32_t DCN_VM_AGP_BASE; \
+- uint32_t DCN_VM_AGP_BOT; \
+- uint32_t DCN_VM_AGP_TOP; \
+ uint32_t CURSOR_SETTINS; \
+ uint32_t CURSOR_SETTINGS; \
+ uint32_t CURSOR_SURFACE_ADDRESS_HIGH; \
+@@ -417,8 +407,6 @@
+ HUBP_SF(HUBPREQ0_DCN_VM_SYSTEM_APERTURE_LOW_ADDR_LSB, MC_VM_SYSTEM_APERTURE_LOW_ADDR_LSB, mask_sh),\
+ HUBP_SF(HUBPREQ0_DCN_VM_SYSTEM_APERTURE_HIGH_ADDR_MSB, MC_VM_SYSTEM_APERTURE_HIGH_ADDR_MSB, mask_sh),\
+ HUBP_SF(HUBPREQ0_DCN_VM_SYSTEM_APERTURE_HIGH_ADDR_LSB, MC_VM_SYSTEM_APERTURE_HIGH_ADDR_LSB, mask_sh),\
+- HUBP_SF(DCHUBBUB_SDPIF_FB_BASE, SDPIF_FB_BASE, mask_sh),\
+- HUBP_SF(DCHUBBUB_SDPIF_FB_OFFSET, SDPIF_FB_OFFSET, mask_sh),\
+ HUBP_SF(HUBPREQ0_DCN_VM_SYSTEM_APERTURE_DEFAULT_ADDR_MSB, MC_VM_SYSTEM_APERTURE_DEFAULT_SYSTEM, mask_sh),\
+ HUBP_SF(HUBPREQ0_DCN_VM_SYSTEM_APERTURE_DEFAULT_ADDR_MSB, MC_VM_SYSTEM_APERTURE_DEFAULT_ADDR_MSB, mask_sh),\
+ HUBP_SF(HUBPREQ0_DCN_VM_SYSTEM_APERTURE_DEFAULT_ADDR_LSB, MC_VM_SYSTEM_APERTURE_DEFAULT_ADDR_LSB, mask_sh),\
+@@ -593,18 +581,6 @@
+ type MC_VM_SYSTEM_APERTURE_HIGH_ADDR_LSB;\
+ type MC_VM_SYSTEM_APERTURE_LOW_ADDR;\
+ type MC_VM_SYSTEM_APERTURE_HIGH_ADDR;\
+- type SDPIF_FB_TOP;\
+- type SDPIF_FB_BASE;\
+- type SDPIF_FB_OFFSET;\
+- type SDPIF_AGP_BASE;\
+- type SDPIF_AGP_BOT;\
+- type SDPIF_AGP_TOP;\
+- type FB_TOP;\
+- type FB_BASE;\
+- type FB_OFFSET;\
+- type AGP_BASE;\
+- type AGP_BOT;\
+- type AGP_TOP;\
+ type DCN_VM_SYSTEM_APERTURE_DEFAULT_SYSTEM;\
+ type DCN_VM_SYSTEM_APERTURE_DEFAULT_ADDR_MSB;\
+ type DCN_VM_SYSTEM_APERTURE_DEFAULT_ADDR_LSB;\
+diff --git a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c
+index 86f874bddd84..8fd2d51477ea 100644
+--- a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c
++++ b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c
+@@ -2856,14 +2856,10 @@ static void dcn10_update_pending_status(struct pipe_ctx *pipe_ctx)
+
+ static void dcn10_update_dchub(struct dce_hwseq *hws, struct dchub_init_data *dh_data)
+ {
+- if (hws->ctx->dc->res_pool->hubbub != NULL) {
+- struct hubp *hubp = hws->ctx->dc->res_pool->hubps[0];
++ struct hubbub *hubbub = hws->ctx->dc->res_pool->hubbub;
+
+- if (hubp->funcs->hubp_update_dchub)
+- hubp->funcs->hubp_update_dchub(hubp, dh_data);
+- else
+- hubbub1_update_dchub(hws->ctx->dc->res_pool->hubbub, dh_data);
+- }
++ /* In DCN, this programming sequence is owned by the hubbub */
++ hubbub->funcs->update_dchub(hubbub, dh_data);
+ }
+
+ static void dcn10_set_cursor_position(struct pipe_ctx *pipe_ctx)
+diff --git a/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_hubbub.c b/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_hubbub.c
+index cd101bbd8163..f13e039f8ef4 100644
+--- a/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_hubbub.c
++++ b/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_hubbub.c
+@@ -398,54 +398,67 @@ void hubbub2_update_dchub(struct hubbub *hubbub,
+ {
+ struct dcn20_hubbub *hubbub1 = TO_DCN20_HUBBUB(hubbub);
+
+- if (REG(DCHUBBUB_SDPIF_FB_TOP) == 0) {
+- ASSERT(false);
+- /*should not come here*/
++ if (REG(DCN_VM_FB_LOCATION_TOP) == 0)
+ return;
+- }
+- /* TODO: port code from dal2 */
++
+ switch (dh_data->fb_mode) {
+ case FRAME_BUFFER_MODE_ZFB_ONLY:
+ /*For ZFB case need to put DCHUB FB BASE and TOP upside down to indicate ZFB mode*/
+- REG_UPDATE(DCHUBBUB_SDPIF_FB_TOP,
+- SDPIF_FB_TOP, 0);
+-
+- REG_UPDATE(DCHUBBUB_SDPIF_FB_BASE,
+- SDPIF_FB_BASE, 0x0FFFF);
+-
+- REG_UPDATE(DCHUBBUB_SDPIF_AGP_BASE,
+- SDPIF_AGP_BASE, dh_data->zfb_phys_addr_base >> 22);
+-
+- REG_UPDATE(DCHUBBUB_SDPIF_AGP_BOT,
+- SDPIF_AGP_BOT, dh_data->zfb_mc_base_addr >> 22);
+-
+- REG_UPDATE(DCHUBBUB_SDPIF_AGP_TOP,
+- SDPIF_AGP_TOP, (dh_data->zfb_mc_base_addr +
+- dh_data->zfb_size_in_byte - 1) >> 22);
++ REG_UPDATE(DCN_VM_FB_LOCATION_TOP,
++ FB_TOP, 0);
++
++ REG_UPDATE(DCN_VM_FB_LOCATION_BASE,
++ FB_BASE, 0xFFFFFF);
++
++ /*This field defines the 24 MSBs, bits [47:24] of the 48 bit AGP Base*/
++ REG_UPDATE(DCN_VM_AGP_BASE,
++ AGP_BASE, dh_data->zfb_phys_addr_base >> 24);
++
++ /*This field defines the bottom range of the AGP aperture and represents the 24*/
++ /*MSBs, bits [47:24] of the 48 address bits*/
++ REG_UPDATE(DCN_VM_AGP_BOT,
++ AGP_BOT, dh_data->zfb_mc_base_addr >> 24);
++
++ /*This field defines the top range of the AGP aperture and represents the 24*/
++ /*MSBs, bits [47:24] of the 48 address bits*/
++ REG_UPDATE(DCN_VM_AGP_TOP,
++ AGP_TOP, (dh_data->zfb_mc_base_addr +
++ dh_data->zfb_size_in_byte - 1) >> 24);
+ break;
+ case FRAME_BUFFER_MODE_MIXED_ZFB_AND_LOCAL:
+ /*Should not touch FB LOCATION (done by VBIOS on AsicInit table)*/
+
+- REG_UPDATE(DCHUBBUB_SDPIF_AGP_BASE,
+- SDPIF_AGP_BASE, dh_data->zfb_phys_addr_base >> 22);
++ /*This field defines the 24 MSBs, bits [47:24] of the 48 bit AGP Base*/
++ REG_UPDATE(DCN_VM_AGP_BASE,
++ AGP_BASE, dh_data->zfb_phys_addr_base >> 24);
+
+- REG_UPDATE(DCHUBBUB_SDPIF_AGP_BOT,
+- SDPIF_AGP_BOT, dh_data->zfb_mc_base_addr >> 22);
++ /*This field defines the bottom range of the AGP aperture and represents the 24*/
++ /*MSBs, bits [47:24] of the 48 address bits*/
++ REG_UPDATE(DCN_VM_AGP_BOT,
++ AGP_BOT, dh_data->zfb_mc_base_addr >> 24);
+
+- REG_UPDATE(DCHUBBUB_SDPIF_AGP_TOP,
+- SDPIF_AGP_TOP, (dh_data->zfb_mc_base_addr +
+- dh_data->zfb_size_in_byte - 1) >> 22);
++ /*This field defines the top range of the AGP aperture and represents the 24*/
++ /*MSBs, bits [47:24] of the 48 address bits*/
++ REG_UPDATE(DCN_VM_AGP_TOP,
++ AGP_TOP, (dh_data->zfb_mc_base_addr +
++ dh_data->zfb_size_in_byte - 1) >> 24);
+ break;
+ case FRAME_BUFFER_MODE_LOCAL_ONLY:
+- /*Should not touch FB LOCATION (done by VBIOS on AsicInit table)*/
+- REG_UPDATE(DCHUBBUB_SDPIF_AGP_BASE,
+- SDPIF_AGP_BASE, 0);
++ /*Should not touch FB LOCATION (should be done by VBIOS)*/
++
++ /*This field defines the 24 MSBs, bits [47:24] of the 48 bit AGP Base*/
++ REG_UPDATE(DCN_VM_AGP_BASE,
++ AGP_BASE, 0);
+
+- REG_UPDATE(DCHUBBUB_SDPIF_AGP_BOT,
+- SDPIF_AGP_BOT, 0X03FFFF);
++ /*This field defines the bottom range of the AGP aperture and represents the 24*/
++ /*MSBs, bits [47:24] of the 48 address bits*/
++ REG_UPDATE(DCN_VM_AGP_BOT,
++ AGP_BOT, 0xFFFFFF);
+
+- REG_UPDATE(DCHUBBUB_SDPIF_AGP_TOP,
+- SDPIF_AGP_TOP, 0);
++ /*This field defines the top range of the AGP aperture and represents the 24*/
++ /*MSBs, bits [47:24] of the 48 address bits*/
++ REG_UPDATE(DCN_VM_AGP_TOP,
++ AGP_TOP, 0);
+ break;
+ default:
+ break;
+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 487de87b03eb..ac01e636ae27 100644
+--- a/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_hubp.c
++++ b/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_hubp.c
+@@ -40,81 +40,6 @@
+ #define FN(reg_name, field_name) \
+ hubp2->hubp_shift->field_name, hubp2->hubp_mask->field_name
+
+-void hubp2_update_dchub(
+- struct hubp *hubp,
+- struct dchub_init_data *dh_data)
+-{
+- struct dcn20_hubp *hubp2 = TO_DCN20_HUBP(hubp);
+- if (REG(DCN_VM_FB_LOCATION_TOP) == 0)
+- return;
+-
+- switch (dh_data->fb_mode) {
+- case FRAME_BUFFER_MODE_ZFB_ONLY:
+- /*For ZFB case need to put DCHUB FB BASE and TOP upside down to indicate ZFB mode*/
+- REG_UPDATE(DCN_VM_FB_LOCATION_TOP,
+- FB_TOP, 0);
+-
+- REG_UPDATE(DCN_VM_FB_LOCATION_BASE,
+- FB_BASE, 0xFFFFFF);
+-
+- /*This field defines the 24 MSBs, bits [47:24] of the 48 bit AGP Base*/
+- REG_UPDATE(DCN_VM_AGP_BASE,
+- AGP_BASE, dh_data->zfb_phys_addr_base >> 24);
+-
+- /*This field defines the bottom range of the AGP aperture and represents the 24*/
+- /*MSBs, bits [47:24] of the 48 address bits*/
+- REG_UPDATE(DCN_VM_AGP_BOT,
+- AGP_BOT, dh_data->zfb_mc_base_addr >> 24);
+-
+- /*This field defines the top range of the AGP aperture and represents the 24*/
+- /*MSBs, bits [47:24] of the 48 address bits*/
+- REG_UPDATE(DCN_VM_AGP_TOP,
+- AGP_TOP, (dh_data->zfb_mc_base_addr +
+- dh_data->zfb_size_in_byte - 1) >> 24);
+- break;
+- case FRAME_BUFFER_MODE_MIXED_ZFB_AND_LOCAL:
+- /*Should not touch FB LOCATION (done by VBIOS on AsicInit table)*/
+-
+- /*This field defines the 24 MSBs, bits [47:24] of the 48 bit AGP Base*/
+- REG_UPDATE(DCN_VM_AGP_BASE,
+- AGP_BASE, dh_data->zfb_phys_addr_base >> 24);
+-
+- /*This field defines the bottom range of the AGP aperture and represents the 24*/
+- /*MSBs, bits [47:24] of the 48 address bits*/
+- REG_UPDATE(DCN_VM_AGP_BOT,
+- AGP_BOT, dh_data->zfb_mc_base_addr >> 24);
+-
+- /*This field defines the top range of the AGP aperture and represents the 24*/
+- /*MSBs, bits [47:24] of the 48 address bits*/
+- REG_UPDATE(DCN_VM_AGP_TOP,
+- AGP_TOP, (dh_data->zfb_mc_base_addr +
+- dh_data->zfb_size_in_byte - 1) >> 24);
+- break;
+- case FRAME_BUFFER_MODE_LOCAL_ONLY:
+- /*Should not touch FB LOCATION (should be done by VBIOS)*/
+-
+- /*This field defines the 24 MSBs, bits [47:24] of the 48 bit AGP Base*/
+- REG_UPDATE(DCN_VM_AGP_BASE,
+- AGP_BASE, 0);
+-
+- /*This field defines the bottom range of the AGP aperture and represents the 24*/
+- /*MSBs, bits [47:24] of the 48 address bits*/
+- REG_UPDATE(DCN_VM_AGP_BOT,
+- AGP_BOT, 0xFFFFFF);
+-
+- /*This field defines the top range of the AGP aperture and represents the 24*/
+- /*MSBs, bits [47:24] of the 48 address bits*/
+- REG_UPDATE(DCN_VM_AGP_TOP,
+- AGP_TOP, 0);
+- break;
+- default:
+- break;
+- }
+-
+- dh_data->dchub_initialzied = true;
+- dh_data->dchub_info_valid = false;
+-}
+-
+ void hubp2_set_vm_system_aperture_settings(struct hubp *hubp,
+ struct vm_system_aperture_param *apt)
+ {
+@@ -1321,7 +1246,6 @@ static struct hubp_funcs dcn20_hubp_funcs = {
+ .hubp_set_vm_system_aperture_settings = hubp2_set_vm_system_aperture_settings,
+ .set_blank = hubp2_set_blank,
+ .dcc_control = hubp2_dcc_control,
+- .hubp_update_dchub = hubp2_update_dchub,
+ .mem_program_viewport = min_set_viewport,
+ .set_cursor_attributes = hubp2_cursor_set_attributes,
+ .set_cursor_position = hubp2_cursor_set_position,
+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 1c53af4811e8..924699e5f443 100644
+--- a/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_hubp.h
++++ b/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_hubp.h
+@@ -38,12 +38,6 @@
+ SRI(PREFETCH_SETTINGS_C, HUBPREQ, id),\
+ SRI(DCN_VM_SYSTEM_APERTURE_LOW_ADDR, HUBPREQ, id),\
+ SRI(DCN_VM_SYSTEM_APERTURE_HIGH_ADDR, HUBPREQ, id),\
+- SR(DCN_VM_FB_LOCATION_TOP),\
+- SR(DCN_VM_FB_LOCATION_BASE),\
+- SR(DCN_VM_FB_OFFSET),\
+- SR(DCN_VM_AGP_BASE),\
+- SR(DCN_VM_AGP_BOT),\
+- SR(DCN_VM_AGP_TOP),\
+ SRI(CURSOR_SETTINGS, HUBPREQ, id), \
+ SRI(CURSOR_SURFACE_ADDRESS_HIGH, CURSOR0_, id), \
+ SRI(CURSOR_SURFACE_ADDRESS, CURSOR0_, id), \
+@@ -82,12 +76,6 @@
+ HUBP_SF(HUBPREQ0_PREFETCH_SETTINGS_C, VRATIO_PREFETCH_C, mask_sh),\
+ HUBP_SF(HUBPREQ0_DCN_VM_SYSTEM_APERTURE_LOW_ADDR, MC_VM_SYSTEM_APERTURE_LOW_ADDR, mask_sh),\
+ HUBP_SF(HUBPREQ0_DCN_VM_SYSTEM_APERTURE_HIGH_ADDR, MC_VM_SYSTEM_APERTURE_HIGH_ADDR, mask_sh),\
+- HUBP_SF(DCN_VM_FB_LOCATION_TOP, FB_TOP, mask_sh),\
+- HUBP_SF(DCN_VM_FB_LOCATION_BASE, FB_BASE, mask_sh),\
+- HUBP_SF(DCN_VM_FB_OFFSET, FB_OFFSET, mask_sh),\
+- HUBP_SF(DCN_VM_AGP_BASE, AGP_BASE, mask_sh),\
+- HUBP_SF(DCN_VM_AGP_BOT, AGP_BOT, mask_sh),\
+- HUBP_SF(DCN_VM_AGP_TOP, AGP_TOP, mask_sh),\
+ HUBP_SF(HUBPREQ0_CURSOR_SETTINGS, CURSOR0_DST_Y_OFFSET, mask_sh), \
+ HUBP_SF(HUBPREQ0_CURSOR_SETTINGS, CURSOR0_CHUNK_HDL_ADJUST, mask_sh), \
+ HUBP_SF(CURSOR0_0_CURSOR_SURFACE_ADDRESS_HIGH, CURSOR_SURFACE_ADDRESS_HIGH, mask_sh), \
+@@ -222,10 +210,6 @@ void hubp2_setup_interdependent(
+ void hubp2_vready_at_or_After_vsync(struct hubp *hubp,
+ struct _vcs_dpi_display_pipe_dest_params_st *pipe_dest);
+
+-void hubp2_update_dchub(
+- struct hubp *hubp,
+- struct dchub_init_data *dh_data);
+-
+ void hubp2_cursor_set_attributes(
+ struct hubp *hubp,
+ const struct dc_cursor_attributes *attr);
+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 61cd4f8752c3..4993f134e747 100644
+--- a/drivers/gpu/drm/amd/display/dc/inc/hw/hubp.h
++++ b/drivers/gpu/drm/amd/display/dc/inc/hw/hubp.h
+@@ -111,9 +111,6 @@ struct hubp_funcs {
+
+ bool (*hubp_is_flip_pending)(struct hubp *hubp);
+
+- void (*hubp_update_dchub)(struct hubp *hubp,
+- struct dchub_init_data *dh_data);
+-
+ void (*set_blank)(struct hubp *hubp, bool blank);
+ void (*set_hubp_blank_en)(struct hubp *hubp, bool blank);
+
+--
+2.17.1
+