mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-10 20:02:10 -04:00
drm/amd/display: Expose few dchubbub functions
[why] Expose few dchubbun functions in dcn31 and dcn32 to leverage. Reviewed-by: Dmytro Laktyushkin <Dmytro.Laktyushkin@amd.com> Acked-by: Wayne Lin <wayne.lin@amd.com> Signed-off-by: Charlene Liu <Charlene.Liu@amd.com> Tested-by: Daniel Wheeler <daniel.wheeler@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
committed by
Alex Deucher
parent
fb579c4229
commit
0c41021cb8
@@ -876,7 +876,7 @@ static bool hubbub31_get_dcc_compression_cap(struct hubbub *hubbub,
|
||||
return true;
|
||||
}
|
||||
|
||||
static int hubbub31_init_dchub_sys_ctx(struct hubbub *hubbub,
|
||||
int hubbub31_init_dchub_sys_ctx(struct hubbub *hubbub,
|
||||
struct dcn_hubbub_phys_addr_config *pa_config)
|
||||
{
|
||||
struct dcn20_hubbub *hubbub2 = TO_DCN20_HUBBUB(hubbub);
|
||||
|
||||
@@ -122,6 +122,8 @@
|
||||
HUBBUB_SF(DCN_VM_FAULT_STATUS, DCN_VM_ERROR_PIPE, mask_sh), \
|
||||
HUBBUB_SF(DCN_VM_FAULT_STATUS, DCN_VM_ERROR_INTERRUPT_STATUS, mask_sh)
|
||||
|
||||
int hubbub31_init_dchub_sys_ctx(struct hubbub *hubbub,
|
||||
struct dcn_hubbub_phys_addr_config *pa_config);
|
||||
|
||||
void hubbub31_construct(struct dcn20_hubbub *hubbub3,
|
||||
struct dc_context *ctx,
|
||||
|
||||
@@ -68,7 +68,7 @@ static void dcn32_init_crb(struct hubbub *hubbub)
|
||||
REG_UPDATE(DCHUBBUB_DEBUG_CTRL_0, DET_DEPTH, 0x47F);
|
||||
}
|
||||
|
||||
static void dcn32_program_det_size(struct hubbub *hubbub, int hubp_inst, unsigned int det_buffer_size_in_kbyte)
|
||||
void dcn32_program_det_size(struct hubbub *hubbub, int hubp_inst, unsigned int det_buffer_size_in_kbyte)
|
||||
{
|
||||
struct dcn20_hubbub *hubbub2 = TO_DCN20_HUBBUB(hubbub);
|
||||
|
||||
@@ -140,7 +140,7 @@ static uint32_t convert_and_clamp(
|
||||
return ret_val;
|
||||
}
|
||||
|
||||
static bool hubbub32_program_urgent_watermarks(
|
||||
bool hubbub32_program_urgent_watermarks(
|
||||
struct hubbub *hubbub,
|
||||
struct dcn_watermark_set *watermarks,
|
||||
unsigned int refclk_mhz,
|
||||
@@ -330,7 +330,7 @@ static bool hubbub32_program_urgent_watermarks(
|
||||
return wm_pending;
|
||||
}
|
||||
|
||||
static bool hubbub32_program_stutter_watermarks(
|
||||
bool hubbub32_program_stutter_watermarks(
|
||||
struct hubbub *hubbub,
|
||||
struct dcn_watermark_set *watermarks,
|
||||
unsigned int refclk_mhz,
|
||||
@@ -476,7 +476,7 @@ static bool hubbub32_program_stutter_watermarks(
|
||||
}
|
||||
|
||||
|
||||
static bool hubbub32_program_pstate_watermarks(
|
||||
bool hubbub32_program_pstate_watermarks(
|
||||
struct hubbub *hubbub,
|
||||
struct dcn_watermark_set *watermarks,
|
||||
unsigned int refclk_mhz,
|
||||
@@ -629,7 +629,7 @@ static bool hubbub32_program_pstate_watermarks(
|
||||
}
|
||||
|
||||
|
||||
static bool hubbub32_program_usr_watermarks(
|
||||
bool hubbub32_program_usr_watermarks(
|
||||
struct hubbub *hubbub,
|
||||
struct dcn_watermark_set *watermarks,
|
||||
unsigned int refclk_mhz,
|
||||
@@ -709,7 +709,7 @@ static bool hubbub32_program_usr_watermarks(
|
||||
return wm_pending;
|
||||
}
|
||||
|
||||
static void hubbub32_force_usr_retraining_allow(struct hubbub *hubbub, bool allow)
|
||||
void hubbub32_force_usr_retraining_allow(struct hubbub *hubbub, bool allow)
|
||||
{
|
||||
struct dcn20_hubbub *hubbub2 = TO_DCN20_HUBBUB(hubbub);
|
||||
|
||||
@@ -909,7 +909,7 @@ static void hubbub32_wm_read_state(struct hubbub *hubbub,
|
||||
DCHUBBUB_ARB_FCLK_PSTATE_CHANGE_WATERMARK_D, &s->fclk_pstate_change);
|
||||
}
|
||||
|
||||
static void hubbub32_force_wm_propagate_to_pipes(struct hubbub *hubbub)
|
||||
void hubbub32_force_wm_propagate_to_pipes(struct hubbub *hubbub)
|
||||
{
|
||||
struct dcn20_hubbub *hubbub2 = TO_DCN20_HUBBUB(hubbub);
|
||||
uint32_t refclk_mhz = hubbub->ctx->dc->res_pool->ref_clocks.dchub_ref_clock_inKhz / 1000;
|
||||
|
||||
@@ -161,6 +161,35 @@
|
||||
HUBBUB_SF(DCN_VM_FAULT_STATUS, DCN_VM_ERROR_PIPE, mask_sh), \
|
||||
HUBBUB_SF(DCN_VM_FAULT_STATUS, DCN_VM_ERROR_INTERRUPT_STATUS, mask_sh)
|
||||
|
||||
bool hubbub32_program_urgent_watermarks(
|
||||
struct hubbub *hubbub,
|
||||
struct dcn_watermark_set *watermarks,
|
||||
unsigned int refclk_mhz,
|
||||
bool safe_to_lower);
|
||||
|
||||
bool hubbub32_program_stutter_watermarks(
|
||||
struct hubbub *hubbub,
|
||||
struct dcn_watermark_set *watermarks,
|
||||
unsigned int refclk_mhz,
|
||||
bool safe_to_lower);
|
||||
|
||||
bool hubbub32_program_pstate_watermarks(
|
||||
struct hubbub *hubbub,
|
||||
struct dcn_watermark_set *watermarks,
|
||||
unsigned int refclk_mhz,
|
||||
bool safe_to_lower);
|
||||
|
||||
bool hubbub32_program_usr_watermarks(
|
||||
struct hubbub *hubbub,
|
||||
struct dcn_watermark_set *watermarks,
|
||||
unsigned int refclk_mhz,
|
||||
bool safe_to_lower);
|
||||
|
||||
void hubbub32_force_usr_retraining_allow(struct hubbub *hubbub, bool allow);
|
||||
|
||||
void hubbub32_force_wm_propagate_to_pipes(struct hubbub *hubbub);
|
||||
|
||||
void dcn32_program_det_size(struct hubbub *hubbub, int hubp_inst, unsigned int det_buffer_size_in_kbyte);
|
||||
|
||||
void hubbub32_construct(struct dcn20_hubbub *hubbub2,
|
||||
struct dc_context *ctx,
|
||||
|
||||
Reference in New Issue
Block a user