Re: [PATCH v4 8/8] drm/i915: Bump gen7+ fb size limits to 16kx16k

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Op 09-05-2019 om 14:21 schreef Ville Syrjala:
> From: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx>
>
> With gtt remapping in place we can use arbitrarily large
> framebuffers. Let's bump the limits to 16kx16k on gen7+.
> The limit was chosen to match the maximum 2D surface size
> of the 3D engine.
>
> With the remapping we could easily go higher than that for the
> display engine. However the modesetting ddx will blindly assume
> it can handle whatever is reported via kms. The oversized
> buffer dimensions are not caught by glamor nor Mesa until
> finally an assert will trip when genxml attempts to pack the
> SURFACE_STATE. So we pick a safe limit to avoid the X server
> from crashing (or potentially misbehaving if the genxml asserts
> are compiled out).
>
> Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx>
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=110187
> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx>
> ---
>  drivers/gpu/drm/i915/intel_display.c | 18 ++++++++++++------
>  1 file changed, 12 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> index a2e4ef938d53..a495fd2dcaa3 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -15783,16 +15783,22 @@ int intel_modeset_init(struct drm_device *dev)
>  		}
>  	}
>  
> -	/* maximum framebuffer dimensions */
> -	if (IS_GEN(dev_priv, 2)) {
> -		dev->mode_config.max_width = 2048;
> -		dev->mode_config.max_height = 2048;
> +	/*
> +	 * Maximum framebuffer dimensions, chosen to match
> +	 * the maximum render engine surface size on gen4+.
> +	 */
> +	if (INTEL_GEN(dev_priv) >= 7) {
> +		dev->mode_config.max_width = 16384;
> +		dev->mode_config.max_height = 16384;
> +	} else if (INTEL_GEN(dev_priv) >= 4) {
> +		dev->mode_config.max_width = 8192;
> +		dev->mode_config.max_height = 8192;
>  	} else if (IS_GEN(dev_priv, 3)) {
>  		dev->mode_config.max_width = 4096;
>  		dev->mode_config.max_height = 4096;
>  	} else {
> -		dev->mode_config.max_width = 8192;
> -		dev->mode_config.max_height = 8192;
> +		dev->mode_config.max_width = 2048;
> +		dev->mode_config.max_height = 2048;
>  	}
>  
>  	if (IS_I845G(dev_priv) || IS_I865G(dev_priv)) {

Should be good enough, lets not go too crazy. :)

For whole series:

Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx>

_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/intel-gfx




[Index of Archives]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux