OSDN Git Service

drm: rcar-du: Update Gen3 output limitations
authorKieran Bingham <kieran.bingham+renesas@ideasonboard.com>
Fri, 31 Aug 2018 18:12:57 +0000 (19:12 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 21 Nov 2018 08:19:11 +0000 (09:19 +0100)
[ Upstream commit 2a3181d9cfd6d5aa48f8527708d0c32072072cef ]

The R-Car Gen3 DU utilises the VSP1 hardware for memory access. The
limits on the RPF and WPF in this pipeline are 8190x8190.

Update the supported maximum sizes accordingly.

Signed-off-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/gpu/drm/rcar-du/rcar_du_kms.c

index f0bc7cc..fb46df5 100644 (file)
@@ -516,12 +516,22 @@ int rcar_du_modeset_init(struct rcar_du_device *rcdu)
 
        dev->mode_config.min_width = 0;
        dev->mode_config.min_height = 0;
-       dev->mode_config.max_width = 4095;
-       dev->mode_config.max_height = 2047;
        dev->mode_config.normalize_zpos = true;
        dev->mode_config.funcs = &rcar_du_mode_config_funcs;
        dev->mode_config.helper_private = &rcar_du_mode_config_helper;
 
+       if (rcdu->info->gen < 3) {
+               dev->mode_config.max_width = 4095;
+               dev->mode_config.max_height = 2047;
+       } else {
+               /*
+                * The Gen3 DU uses the VSP1 for memory access, and is limited
+                * to frame sizes of 8190x8190.
+                */
+               dev->mode_config.max_width = 8190;
+               dev->mode_config.max_height = 8190;
+       }
+
        rcdu->num_crtcs = hweight8(rcdu->info->channels_mask);
 
        ret = rcar_du_properties_init(rcdu);