mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-05 16:54:27 +00:00
drm/amd/display: Create and Destroy PSR resources for DCN302
We need these to support PSR on DCN302 Signed-off-by: Joshua Aberback <joshua.aberback@amd.com> Signed-off-by: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com> Acked-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
71338cb4a7
commit
65e05ca7c4
1 changed files with 13 additions and 0 deletions
|
@ -53,6 +53,7 @@
|
|||
#include "dce/dce_i2c_hw.h"
|
||||
#include "dce/dce_panel_cntl.h"
|
||||
#include "dce/dmub_abm.h"
|
||||
#include "dce/dmub_psr.h"
|
||||
|
||||
#include "hw_sequencer_private.h"
|
||||
#include "reg_helper.h"
|
||||
|
@ -238,6 +239,7 @@ static const struct dc_debug_options debug_defaults_diags = {
|
|||
.dwb_fi_phase = -1, // -1 = disable
|
||||
.dmub_command_table = true,
|
||||
.enable_tri_buf = true,
|
||||
.disable_psr = true,
|
||||
};
|
||||
|
||||
enum dcn302_clk_src_array_id {
|
||||
|
@ -1213,6 +1215,9 @@ static void dcn302_resource_destruct(struct resource_pool *pool)
|
|||
dce_abm_destroy(&pool->multiple_abms[i]);
|
||||
}
|
||||
|
||||
if (pool->psr != NULL)
|
||||
dmub_psr_destroy(&pool->psr);
|
||||
|
||||
if (pool->dccg != NULL)
|
||||
dcn_dccg_destroy(&pool->dccg);
|
||||
}
|
||||
|
@ -1467,6 +1472,14 @@ static bool dcn302_resource_construct(
|
|||
}
|
||||
pool->timing_generator_count = i;
|
||||
|
||||
/* PSR */
|
||||
pool->psr = dmub_psr_create(ctx);
|
||||
if (pool->psr == NULL) {
|
||||
dm_error("DC: failed to create psr!\n");
|
||||
BREAK_TO_DEBUGGER();
|
||||
goto create_fail;
|
||||
}
|
||||
|
||||
/* ABMs */
|
||||
for (i = 0; i < pool->res_cap->num_timing_generator; i++) {
|
||||
pool->multiple_abms[i] = dmub_abm_create(ctx, &abm_regs[i], &abm_shift, &abm_mask);
|
||||
|
|
Loading…
Add table
Reference in a new issue