|
@@ -512,12 +512,22 @@ int rcar_du_modeset_init(struct rcar_du_device *rcdu)
|
|
|
|
|
|
dev->mode_config.min_width = 0;
|
|
dev->mode_config.min_width = 0;
|
|
dev->mode_config.min_height = 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.normalize_zpos = true;
|
|
dev->mode_config.funcs = &rcar_du_mode_config_funcs;
|
|
dev->mode_config.funcs = &rcar_du_mode_config_funcs;
|
|
dev->mode_config.helper_private = &rcar_du_mode_config_helper;
|
|
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);
|
|
rcdu->num_crtcs = hweight8(rcdu->info->channels_mask);
|
|
|
|
|
|
ret = rcar_du_properties_init(rcdu);
|
|
ret = rcar_du_properties_init(rcdu);
|