mirror of
https://github.com/torvalds/linux.git
synced 2026-05-25 23:52:08 +02:00
drm/amd/display: Add missing dcn42 hubbub function pointers
This aligning commit combines: - fix dcn42 det programming) - fix missing dcn42 pointers - fix SDPIF_Request_Rate_Limit programming value V2: Add back dchvm_init for DCN42 Reviewed-by: Alex Hung <alex.hung@amd.com> Reviewed-by: Leo Chen <leo.chen@amd.com> Signed-off-by: Roman Li <roman.li@amd.com> Signed-off-by: Chuanyu Tseng <Chuanyu.Tseng@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
b6c0783ff2
commit
c446748aa3
|
|
@ -6,6 +6,7 @@
|
|||
#include "dcn31/dcn31_hubbub.h"
|
||||
#include "dcn32/dcn32_hubbub.h"
|
||||
#include "dcn35/dcn35_hubbub.h"
|
||||
#include "dcn401/dcn401_hubbub.h"
|
||||
#include "dcn42/dcn42_hubbub.h"
|
||||
#include "dm_services.h"
|
||||
#include "reg_helper.h"
|
||||
|
|
@ -494,6 +495,14 @@ static bool hubbub42_program_watermarks(
|
|||
return wm_pending;
|
||||
}
|
||||
|
||||
static void hubbub42_set_request_limit(struct hubbub *hubbub, int memory_channel_count, int words_per_channel)
|
||||
{
|
||||
struct dcn20_hubbub *hubbub2 = TO_DCN20_HUBBUB(hubbub);
|
||||
uint32_t request_limit = 96; //MAX(12 * memory_channel_count, 96);
|
||||
|
||||
REG_UPDATE(SDPIF_REQUEST_RATE_LIMIT, SDPIF_REQUEST_RATE_LIMIT, request_limit);
|
||||
}
|
||||
|
||||
static const struct hubbub_funcs hubbub42_funcs = {
|
||||
.update_dchub = hubbub2_update_dchub,
|
||||
.init_dchub_sys_ctx = hubbub31_init_dchub_sys_ctx,
|
||||
|
|
@ -509,13 +518,16 @@ static const struct hubbub_funcs hubbub42_funcs = {
|
|||
.force_wm_propagate_to_pipes = hubbub32_force_wm_propagate_to_pipes,
|
||||
.force_pstate_change_control = hubbub3_force_pstate_change_control,
|
||||
.init_watermarks = hubbub35_init_watermarks,
|
||||
.program_det_size = dcn32_program_det_size,
|
||||
.program_compbuf_size = dcn35_program_compbuf_size,
|
||||
.init_crb = dcn35_init_crb,
|
||||
.init_crb = dcn401_init_crb,
|
||||
.dchvm_init = dcn35_dchvm_init,
|
||||
.hubbub_read_state = hubbub2_read_state,
|
||||
.force_usr_retraining_allow = hubbub32_force_usr_retraining_allow,
|
||||
.dchubbub_init = hubbub35_init,
|
||||
.dchvm_init = dcn35_dchvm_init,
|
||||
.set_request_limit = hubbub42_set_request_limit,
|
||||
.program_det_segments = dcn401_program_det_segments,
|
||||
.program_compbuf_segments = dcn401_program_compbuf_segments,
|
||||
.wait_for_det_update = dcn401_wait_for_det_update,
|
||||
.program_arbiter = dcn401_program_arbiter,
|
||||
.hubbub_read_reg_state = hubbub3_read_reg_state
|
||||
};
|
||||
|
||||
void hubbub42_construct(struct dcn20_hubbub *hubbub2,
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user