On 2020-01-06 22:18, Heiko Stübner wrote: > Hi Jonas, > > Am Montag, 6. Januar 2020, 21:48:25 CET schrieb Jonas Karlman: >> Using a destination width that is more then 3840 pixels >> is not supported in scl_vop_cal_scl_fac(). >> >> Work around this limitation by filtering all modes with >> a width above 3840 pixels. > could you try to send the whole series to people? I only get this patch6 > of a series of 15 and that is way confusing not knowing what you want > to actually achieve. Very strange, you are the recipient of all patches, and they where delivered to patchworks at [1] and [2], I also have a copy of this series at [3]. This is part of a series for adding support for more HDMI modes on the RK3228/RK3328. Also preparation for adding bus format negotiation for YUV420 and 10-bit output mode, early bus format work is located at [4]. [1] https://patchwork.kernel.org/cover/11320061/ [2] https://patchwork.freedesktop.org/series/71675/ [3] https://github.com/Kwiboo/linux-rockchip/commits/next-20200106-inno-hdmi-phy [4] https://github.com/Kwiboo/linux-rockchip/commits/next-20200106-bus-format > > Hence I can also just point to rk3229, rk3328, rk3368 and rk3399 that > report a max output of 4096x2160 , which would be larger than that > 3840 value? Currently the scaling code in rockchip drm driver is limiting the use of large framebuffers at [5]. This scaling limitation made it impossible for me to use any 4096x mode that my TV supports. if (dst_w > 3840) { DRM_DEV_ERROR(vop->dev, "Maximum dst width (3840) exceeded\n"); [5] https://github.com/torvalds/linux/blob/master/drivers/gpu/drm/rockchip/rockchip_drm_vop.c#L329-L332 Regards, Jonas > > > Heiko > > >> Signed-off-by: Jonas Karlman <jonas@xxxxxxxxx> >> --- >> drivers/gpu/drm/rockchip/rockchip_drm_vop.c | 10 ++++++++++ >> 1 file changed, 10 insertions(+) >> >> diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c >> index d04b3492bdac..f181897cbfad 100644 >> --- a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c >> +++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c >> @@ -1036,6 +1036,15 @@ static void vop_crtc_disable_vblank(struct drm_crtc *crtc) >> spin_unlock_irqrestore(&vop->irq_lock, flags); >> } >> >> +enum drm_mode_status vop_crtc_mode_valid(struct drm_crtc *crtc, >> + const struct drm_display_mode *mode) >> +{ >> + if (mode->hdisplay > 3840) >> + return MODE_BAD_HVALUE; >> + >> + return MODE_OK; >> +} >> + >> static bool vop_crtc_mode_fixup(struct drm_crtc *crtc, >> const struct drm_display_mode *mode, >> struct drm_display_mode *adjusted_mode) >> @@ -1377,6 +1386,7 @@ static void vop_crtc_atomic_flush(struct drm_crtc *crtc, >> } >> >> static const struct drm_crtc_helper_funcs vop_crtc_helper_funcs = { >> + .mode_valid = vop_crtc_mode_valid, >> .mode_fixup = vop_crtc_mode_fixup, >> .atomic_check = vop_crtc_atomic_check, >> .atomic_begin = vop_crtc_atomic_begin, >> _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel