diff options
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/2063-drm-amd-display-Use-current-connector-state-if-NULL-.patch')
-rw-r--r-- | meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/2063-drm-amd-display-Use-current-connector-state-if-NULL-.patch | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/2063-drm-amd-display-Use-current-connector-state-if-NULL-.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/2063-drm-amd-display-Use-current-connector-state-if-NULL-.patch new file mode 100644 index 00000000..a8eb461d --- /dev/null +++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/2063-drm-amd-display-Use-current-connector-state-if-NULL-.patch @@ -0,0 +1,61 @@ +From 8e3c6723535b60b45bfd599077c1532d950fb7c1 Mon Sep 17 00:00:00 2001 +From: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com> +Date: Wed, 5 Jun 2019 12:33:59 -0400 +Subject: [PATCH 2063/2940] drm/amd/display: Use current connector state if + NULL when checking bpc + +[Why] +The old logic for checking which output depth to use relied on using +the current connector state rather than the new proposed state. This +was a problem when performing atomic commits since we weren't verifying +it against the incoming max_requested_bpc. + +But switching this to only use the new state and not the current state +breaks filtering modes - it'll always assume that the maximum bpc +supported by the display is in use, which will cause certain modes +like 1440p@144Hz to be filtered even when using 8bpc. + +[How] +Still use the connector->state if we aren't passed an explicit state. +This will respect the max_bpc the user currently has when filtering +modes. + +Also remember to reset the default max_requested_bpc to 8 whenever +connector reset is called to retain old behavior when using the new +property. + +Change-Id: I35464fe1ace6f115a963fe36796415e328bf2f28 +Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=110845 +Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com> +Acked-by: Alex Deucher <alexander.deucher@amd.com> +Reviewed-by: Harry Wentland <harry.wentland@amd.com> +Signed-off-by: Chaudhary Amit Kumar <Chaudharyamit.Kumar@amd.com> +--- + drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +index ad2eb220ff90..9f07b3b65980 100644 +--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c ++++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +@@ -3058,6 +3058,8 @@ convert_color_depth_from_display_info(const struct drm_connector *connector, + struct dm_connector_state *dm_conn_state = + to_dm_connector_state(connector->state); + uint32_t bpc = connector->display_info.bpc; ++ if (!state) ++ state = connector->state; + + if (state) { + bpc = state->max_bpc; +@@ -3849,7 +3851,7 @@ void amdgpu_dm_connector_funcs_reset(struct drm_connector *connector) + state->underscan_enable = false; + state->underscan_hborder = 0; + state->underscan_vborder = 0; +- state->max_bpc = 8; ++ state->base.max_requested_bpc = 8; + + __drm_atomic_helper_connector_reset(connector, &state->base); + } +-- +2.17.1 + |