mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-09 18:42:14 -04:00
drm/amd/display: Make unbounded req update separate from dlg/ttu
[Description] - Updates to unbounded requesting should not be conditional on updates to dlg / ttu, as this could prevent unbounded requesting from being updated if dlg / ttu does not change Reviewed-by: Jun Lei <jun.lei@amd.com> Acked-by: Aurabindo Pillai <aurabindo.pillai@amd.com> Signed-off-by: Alvin Lee <alvin.lee2@amd.com> Tested-by: Daniel Wheeler <daniel.wheeler@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
@@ -1361,6 +1361,7 @@ static void dcn20_detect_pipe_changes(struct pipe_ctx *old_pipe, struct pipe_ctx
|
||||
new_pipe->update_flags.bits.dppclk = 1;
|
||||
new_pipe->update_flags.bits.hubp_interdependent = 1;
|
||||
new_pipe->update_flags.bits.hubp_rq_dlg_ttu = 1;
|
||||
new_pipe->update_flags.bits.unbounded_req = 1;
|
||||
new_pipe->update_flags.bits.gamut_remap = 1;
|
||||
new_pipe->update_flags.bits.scaler = 1;
|
||||
new_pipe->update_flags.bits.viewport = 1;
|
||||
@@ -1504,6 +1505,9 @@ static void dcn20_detect_pipe_changes(struct pipe_ctx *old_pipe, struct pipe_ctx
|
||||
memcmp(&old_pipe->rq_regs, &new_pipe->rq_regs, sizeof(old_pipe->rq_regs)))
|
||||
new_pipe->update_flags.bits.hubp_rq_dlg_ttu = 1;
|
||||
}
|
||||
|
||||
if (old_pipe->unbounded_req != new_pipe->unbounded_req)
|
||||
new_pipe->update_flags.bits.unbounded_req = 1;
|
||||
}
|
||||
|
||||
static void dcn20_update_dchubp_dpp(
|
||||
@@ -1537,10 +1541,11 @@ static void dcn20_update_dchubp_dpp(
|
||||
&pipe_ctx->ttu_regs,
|
||||
&pipe_ctx->rq_regs,
|
||||
&pipe_ctx->pipe_dlg_param);
|
||||
|
||||
if (hubp->funcs->set_unbounded_requesting)
|
||||
hubp->funcs->set_unbounded_requesting(hubp, pipe_ctx->unbounded_req);
|
||||
}
|
||||
|
||||
if (pipe_ctx->update_flags.bits.unbounded_req && hubp->funcs->set_unbounded_requesting)
|
||||
hubp->funcs->set_unbounded_requesting(hubp, pipe_ctx->unbounded_req);
|
||||
|
||||
if (pipe_ctx->update_flags.bits.hubp_interdependent)
|
||||
hubp->funcs->hubp_setup_interdependent(
|
||||
hubp,
|
||||
|
||||
@@ -374,6 +374,7 @@ union pipe_update_flags {
|
||||
uint32_t viewport : 1;
|
||||
uint32_t plane_changed : 1;
|
||||
uint32_t det_size : 1;
|
||||
uint32_t unbounded_req : 1;
|
||||
} bits;
|
||||
uint32_t raw;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user