mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-08 14:02:37 -04:00
drm/i915/xe3lpd: Increase resolution for plane to support 6k
DISPLAY_VER >= 30 onwards CRTC can now support 6k resolution. Increase pipe and plane max width and height to reflect this increase in resolution. --v2 -Take care of the subsampling scenario sooner rather than later [Matt] --v3 -Take care of the joined pipe limits too [Ankit/Matt] --v4 -Leave the joiner limits check here as is and handle them later [Ville] Signed-off-by: Arun R Murthy <arun.r.murthy@intel.com> Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com> Reviewed-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20241028074333.182041-2-suraj.kandpal@intel.com
This commit is contained in:
@@ -8450,7 +8450,10 @@ intel_mode_valid_max_plane_size(struct drm_i915_private *dev_priv,
|
||||
* plane so let's not advertize modes that are
|
||||
* too big for that.
|
||||
*/
|
||||
if (DISPLAY_VER(dev_priv) >= 11) {
|
||||
if (DISPLAY_VER(dev_priv) >= 30) {
|
||||
plane_width_max = 6144 * num_joined_pipes;
|
||||
plane_height_max = 4800;
|
||||
} else if (DISPLAY_VER(dev_priv) >= 11) {
|
||||
plane_width_max = 5120 * num_joined_pipes;
|
||||
plane_height_max = 4320;
|
||||
} else {
|
||||
|
||||
@@ -431,6 +431,16 @@ static int icl_plane_min_width(const struct drm_framebuffer *fb,
|
||||
}
|
||||
}
|
||||
|
||||
static int xe3_plane_max_width(const struct drm_framebuffer *fb,
|
||||
int color_plane,
|
||||
unsigned int rotation)
|
||||
{
|
||||
if (intel_format_info_is_yuv_semiplanar(fb->format, fb->modifier))
|
||||
return 4096;
|
||||
else
|
||||
return 6144;
|
||||
}
|
||||
|
||||
static int icl_hdr_plane_max_width(const struct drm_framebuffer *fb,
|
||||
int color_plane,
|
||||
unsigned int rotation)
|
||||
@@ -2573,7 +2583,11 @@ skl_universal_plane_create(struct drm_i915_private *dev_priv,
|
||||
|
||||
intel_fbc_add_plane(skl_plane_fbc(dev_priv, pipe, plane_id), plane);
|
||||
|
||||
if (DISPLAY_VER(dev_priv) >= 11) {
|
||||
if (DISPLAY_VER(dev_priv) >= 30) {
|
||||
plane->max_width = xe3_plane_max_width;
|
||||
plane->max_height = icl_plane_max_height;
|
||||
plane->min_cdclk = icl_plane_min_cdclk;
|
||||
} else if (DISPLAY_VER(dev_priv) >= 11) {
|
||||
plane->min_width = icl_plane_min_width;
|
||||
if (icl_is_hdr_plane(dev_priv, plane_id))
|
||||
plane->max_width = icl_hdr_plane_max_width;
|
||||
|
||||
Reference in New Issue
Block a user