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.
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?
Heiko
Signed-off-by: Jonas Karlman jonas@kwiboo.se
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,