[PATCH 3/3] drm/amdgpu:Limit the resolution for virtual_display
Alex Deucher
alexdeucher at gmail.com
Tue Jan 5 17:23:29 UTC 2021
On Tue, Jan 5, 2021 at 3:37 AM Emily.Deng <Emily.Deng at amd.com> wrote:
>
> Limit the resolution not bigger than 16384, which means
> dev->mode_info.num_crtc * common_modes[i].w not bigger than 16384.
>
> Signed-off-by: Emily.Deng <Emily.Deng at amd.com>
> ---
> drivers/gpu/drm/amd/amdgpu/dce_virtual.c | 7 +++++--
> 1 file changed, 5 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/dce_virtual.c b/drivers/gpu/drm/amd/amdgpu/dce_virtual.c
> index 2b16c8faca34..c23d37b02fd7 100644
> --- a/drivers/gpu/drm/amd/amdgpu/dce_virtual.c
> +++ b/drivers/gpu/drm/amd/amdgpu/dce_virtual.c
> @@ -319,6 +319,7 @@ dce_virtual_encoder(struct drm_connector *connector)
> static int dce_virtual_get_modes(struct drm_connector *connector)
> {
> struct drm_device *dev = connector->dev;
> + struct amdgpu_device *adev = dev->dev_private;
> struct drm_display_mode *mode = NULL;
> unsigned i;
> static const struct mode_size {
> @@ -350,8 +351,10 @@ static int dce_virtual_get_modes(struct drm_connector *connector)
> };
>
> for (i = 0; i < ARRAY_SIZE(common_modes); i++) {
> - mode = drm_cvt_mode(dev, common_modes[i].w, common_modes[i].h, 60, false, false, false);
> - drm_mode_probed_add(connector, mode);
> + if (adev->mode_info.num_crtc <= 4 || common_modes[i].w <= 2560) {
You are also limiting the number of crtcs here. Intended? Won't this
break 5 or 6 crtc configs?
Alex
> + mode = drm_cvt_mode(dev, common_modes[i].w, common_modes[i].h, 60, false, false, false);
> + drm_mode_probed_add(connector, mode);
> + }
> }
>
> return 0;
> --
> 2.25.1
>
> _______________________________________________
> amd-gfx mailing list
> amd-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx
More information about the amd-gfx
mailing list