diff options
Diffstat (limited to 'meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/0488-drm-amd-display-Add-function-to-get-PSR-state.patch')
-rw-r--r-- | meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/0488-drm-amd-display-Add-function-to-get-PSR-state.patch | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/0488-drm-amd-display-Add-function-to-get-PSR-state.patch b/meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/0488-drm-amd-display-Add-function-to-get-PSR-state.patch new file mode 100644 index 00000000..348a5441 --- /dev/null +++ b/meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/0488-drm-amd-display-Add-function-to-get-PSR-state.patch @@ -0,0 +1,88 @@ +From 02d65d11da2f6c9cdcd9002bc70bd9bc51a8d503 Mon Sep 17 00:00:00 2001 +From: Amy Zhang <Amy.Zhang@amd.com> +Date: Tue, 30 May 2017 16:16:57 -0400 +Subject: [PATCH 0488/4131] drm/amd/display: Add function to get PSR state + +Signed-off-by: Amy Zhang <Amy.Zhang@amd.com> +Reviewed-by: Tony Cheng <Tony.Cheng@amd.com> +Acked-by: Harry Wentland <Harry.Wentland@amd.com> +Signed-off-by: Alex Deucher <alexander.deucher@amd.com> +--- + drivers/gpu/drm/amd/display/dc/core/dc_link.c | 13 +++++++++++++ + drivers/gpu/drm/amd/display/dc/dc.h | 2 ++ + drivers/gpu/drm/amd/display/dc/dce/dce_dmcu.c | 2 ++ + drivers/gpu/drm/amd/display/dc/inc/hw/dmcu.h | 1 + + 4 files changed, 18 insertions(+) + +diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_link.c b/drivers/gpu/drm/amd/display/dc/core/dc_link.c +index 79f3947..318aaa7 100644 +--- a/drivers/gpu/drm/amd/display/dc/core/dc_link.c ++++ b/drivers/gpu/drm/amd/display/dc/core/dc_link.c +@@ -1444,6 +1444,19 @@ bool dc_link_set_psr_enable(const struct dc_link *dc_link, bool enable) + return true; + } + ++bool dc_link_get_psr_state(const struct dc_link *dc_link, uint32_t *psr_state) ++{ ++ struct core_link *link = DC_LINK_TO_CORE(dc_link); ++ struct dc_context *ctx = link->ctx; ++ struct core_dc *core_dc = DC_TO_CORE(ctx->dc); ++ struct dmcu *dmcu = core_dc->res_pool->dmcu; ++ ++ if (dmcu != NULL && link->psr_enabled) ++ dmcu->funcs->get_psr_state(dmcu, psr_state); ++ ++ return true; ++} ++ + bool dc_link_setup_psr(const struct dc_link *dc_link, + const struct dc_stream *stream, struct psr_config *psr_config) + { +diff --git a/drivers/gpu/drm/amd/display/dc/dc.h b/drivers/gpu/drm/amd/display/dc/dc.h +index ce052d1..328bfcb 100644 +--- a/drivers/gpu/drm/amd/display/dc/dc.h ++++ b/drivers/gpu/drm/amd/display/dc/dc.h +@@ -702,6 +702,8 @@ bool dc_link_set_abm_disable(const struct dc_link *dc_link); + + bool dc_link_set_psr_enable(const struct dc_link *dc_link, bool enable); + ++bool dc_link_get_psr_state(const struct dc_link *dc_link, uint32_t *psr_state); ++ + bool dc_link_setup_psr(const struct dc_link *dc_link, + const struct dc_stream *stream, struct psr_config *psr_config); + +diff --git a/drivers/gpu/drm/amd/display/dc/dce/dce_dmcu.c b/drivers/gpu/drm/amd/display/dc/dce/dce_dmcu.c +index c58328c..03b51e2 100644 +--- a/drivers/gpu/drm/amd/display/dc/dce/dce_dmcu.c ++++ b/drivers/gpu/drm/amd/display/dc/dce/dce_dmcu.c +@@ -470,6 +470,7 @@ static const struct dmcu_funcs dce_funcs = { + .load_iram = dce_dmcu_load_iram, + .set_psr_enable = dce_dmcu_set_psr_enable, + .setup_psr = dce_dmcu_setup_psr, ++ .get_psr_state = dce_get_dmcu_psr_state + }; + + #if defined(CONFIG_DRM_AMD_DC_DCN1_0) +@@ -477,6 +478,7 @@ static const struct dmcu_funcs dcn10_funcs = { + .load_iram = dcn10_dmcu_load_iram, + .set_psr_enable = dcn10_dmcu_set_psr_enable, + .setup_psr = dcn10_dmcu_setup_psr, ++ .get_psr_state = dcn10_get_dmcu_psr_state + }; + #endif + +diff --git a/drivers/gpu/drm/amd/display/dc/inc/hw/dmcu.h b/drivers/gpu/drm/amd/display/dc/inc/hw/dmcu.h +index 656cfdc..dff0bab 100644 +--- a/drivers/gpu/drm/amd/display/dc/inc/hw/dmcu.h ++++ b/drivers/gpu/drm/amd/display/dc/inc/hw/dmcu.h +@@ -41,6 +41,7 @@ struct dmcu_funcs { + void (*setup_psr)(struct dmcu *dmcu, + struct core_link *link, + struct psr_context *psr_context); ++ void (*get_psr_state)(struct dmcu *dmcu, uint32_t *psr_state); + }; + + #endif +-- +2.7.4 + |