summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorhongao <hongao@uniontech.com>2021-11-11 11:32:07 +0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2021-11-26 11:36:24 +0100
commitb5a4fddb5b58aa637c7393dd2d8be00ca30f08de (patch)
treecf75ede4b8d165c73b992f0ead9638f22b6ee95c
parent1c21a9b5e2679abd13015f9dc27473bfed4d4a15 (diff)
downloadlinux-stable-b5a4fddb5b58aa637c7393dd2d8be00ca30f08de.tar.gz
linux-stable-b5a4fddb5b58aa637c7393dd2d8be00ca30f08de.tar.bz2
linux-stable-b5a4fddb5b58aa637c7393dd2d8be00ca30f08de.zip
drm/amdgpu: fix set scaling mode Full/Full aspect/Center not works on vga and dvi connectors
commit bf552083916a7f8800477b5986940d1c9a31b953 upstream. amdgpu_connector_vga_get_modes missed function amdgpu_get_native_mode which assign amdgpu_encoder->native_mode with *preferred_mode result in amdgpu_encoder->native_mode.clock always be 0. That will cause amdgpu_connector_set_property returned early on: if ((rmx_type != DRM_MODE_SCALE_NONE) && (amdgpu_encoder->native_mode.clock == 0)) when we try to set scaling mode Full/Full aspect/Center. Add the missing function to amdgpu_connector_vga_get_mode can fix this. It also works on dvi connectors because amdgpu_connector_dvi_helper_funcs.get_mode use the same method. Signed-off-by: hongao <hongao@uniontech.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Cc: stable@vger.kernel.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c
index c15286858f0b..e1be3fd4d7a4 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c
@@ -828,6 +828,7 @@ static int amdgpu_connector_vga_get_modes(struct drm_connector *connector)
amdgpu_connector_get_edid(connector);
ret = amdgpu_connector_ddc_get_modes(connector);
+ amdgpu_get_native_mode(connector);
return ret;
}