[AMD Official Use Only - Internal Distribution Only] >-----Original Message----- >From: Michel Dänzer <michel@xxxxxxxxxxx> >Sent: Wednesday, January 6, 2021 11:25 PM >To: Deng, Emily <Emily.Deng@xxxxxxx>; Alex Deucher ><alexdeucher@xxxxxxxxx> >Cc: amd-gfx list <amd-gfx@xxxxxxxxxxxxxxxxxxxxx> >Subject: Re: [PATCH 3/3] drm/amdgpu:Limit the resolution for virtual_display > >On 2021-01-06 11:40 a.m., Deng, Emily wrote: >>> From: Alex Deucher <alexdeucher@xxxxxxxxx> On Tue, Jan 5, 2021 at >>> 3:37 AM Emily.Deng <Emily.Deng@xxxxxxx> 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@xxxxxxx> >>>> --- >>>> 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 >> Yes, it is intended, for num_crtc bigger then 4, don't support resolution >bigger then 2560, because of the max supported width is 16384 for xcb >protocol. > >There's no such limitation with Wayland. I'd recommend against artificially >imposing limits from X11 to the kernel. > > >(As a side note, the X11 protocol limit should actually be 32768; the >16384 limit exposed in the RANDR extension comes from the kernel driver, >specifically drmModeGetResources's max_width/height) It is our test and debug result, that the follow variable only have 16bit. Will limit the resolution to 16384. glamor_pixmap_from_fd(ScreenPtr screen, int fd, CARD16 width, CARD16 height, CARD16 stride, CARD8 depth, CARD8 bpp) > > >-- >Earthling Michel Dänzer | >https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fredha >t.com%2F&data=04%7C01%7CEmily.Deng%40amd.com%7Ca822927192 >e54d50539c08d8b2574439%7C3dd8961fe4884e608e11a82d994e183d%7C0% >7C0%7C637455435178758996%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4 >wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&a >mp;sdata=5u7%2Bz2q52PTyPEg9LWcLGVGLERYupc%2B5nKJiIHZTTKw%3D&a >mp;reserved=0 >Libre software enthusiast | Mesa and X developer _______________________________________________ amd-gfx mailing list amd-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/amd-gfx