All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Life is hard, and then you die" <ronald@innovation.ch>
To: Imre Deak <imre.deak@intel.com>
Cc: intel-gfx@lists.freedesktop.org,
	"Ville Syrjälä" <ville.syrjala@linux.intel.com>,
	"Mika Westerberg" <mika.westerberg@linux.intel.com>,
	"Hans de Goede" <hdegoede@redhat.com>,
	stable@vger.kernel.org
Subject: Re: [PATCH] drm/i915/gen9+: Fix initial readout for Y tiled framebuffers
Date: Wed, 17 Oct 2018 02:02:28 -0700	[thread overview]
Message-ID: <20181017090228.GA25641@innovation.ch> (raw)
In-Reply-To: <20181016160011.28347-1-imre.deak@intel.com>


On Tue, Oct 16, 2018 at 07:00:11PM +0300, Imre Deak wrote:
> If BIOS configured a Y tiled FB we failed to set up the backing object
> tiling accordingly, leading to a lack of GT fence installed and a
> garbled console.
> 
> The problem was bisected to
> commit 011f22eb545a ("drm/i915: Do NOT skip the first 4k of stolen memory for pre-allocated buffers v2")
> but it just revealed a pre-existing issue.
> 
> Kudos to Ville who suspected a missing fence looking at the corruption
> on the screen.
> 
> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Cc: Mika Westerberg <mika.westerberg@linux.intel.com>
> Cc: Hans de Goede <hdegoede@redhat.com>
> Cc: ronald@innovation.ch
> Cc: <stable@vger.kernel.org>
> Reported-by: Mika Westerberg <mika.westerberg@linux.intel.com>
> Reported-by: ronald@innovation.ch
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=108264
> Fixes: bc8d7dffacb1 ("drm/i915/skl: Provide a Skylake version of get_plane_config()")
> Signed-off-by: Imre Deak <imre.deak@intel.com>

I can confirm it fixes the issue for MBP13,3 (Skylake) on kernels
4.18.14, 4.19.0-rc8, and drm-tip.


  Cheers,

  Ronald


> ---
>  drivers/gpu/drm/i915/intel_display.c | 25 +++++++++++++++++++++++--
>  1 file changed, 23 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> index a2e729fa8d64..3d34b98c4634 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -2674,6 +2674,17 @@ intel_alloc_initial_plane_obj(struct intel_crtc *crtc,
>  	if (size_aligned * 2 > dev_priv->stolen_usable_size)
>  		return false;
>  
> +	switch (fb->modifier) {
> +	case DRM_FORMAT_MOD_LINEAR:
> +	case I915_FORMAT_MOD_X_TILED:
> +	case I915_FORMAT_MOD_Y_TILED:
> +		break;
> +	default:
> +		DRM_DEBUG_DRIVER("Unsupported modifier for initial FB: 0x%llx\n",
> +				 fb->modifier);
> +		return false;
> +	}
> +
>  	mutex_lock(&dev->struct_mutex);
>  	obj = i915_gem_object_create_stolen_for_preallocated(dev_priv,
>  							     base_aligned,
> @@ -2683,8 +2694,17 @@ intel_alloc_initial_plane_obj(struct intel_crtc *crtc,
>  	if (!obj)
>  		return false;
>  
> -	if (plane_config->tiling == I915_TILING_X)
> -		obj->tiling_and_stride = fb->pitches[0] | I915_TILING_X;
> +	switch (plane_config->tiling) {
> +	case I915_TILING_NONE:
> +		break;
> +	case I915_TILING_X:
> +	case I915_TILING_Y:
> +		obj->tiling_and_stride = fb->pitches[0] | plane_config->tiling;
> +		break;
> +	default:
> +		MISSING_CASE(plane_config->tiling);
> +		return false;
> +	}
>  
>  	mode_cmd.pixel_format = fb->format->format;
>  	mode_cmd.width = fb->width;
> @@ -8827,6 +8847,7 @@ skylake_get_initial_plane_config(struct intel_crtc *crtc,
>  		fb->modifier = I915_FORMAT_MOD_X_TILED;
>  		break;
>  	case PLANE_CTL_TILED_Y:
> +		plane_config->tiling = I915_TILING_Y;
>  		if (val & PLANE_CTL_RENDER_DECOMPRESSION_ENABLE)
>  			fb->modifier = I915_FORMAT_MOD_Y_TILED_CCS;
>  		else
> -- 
> 2.13.2
> 

WARNING: multiple messages have this Message-ID (diff)
From: "Life is hard, and then you die" <ronald@innovation.ch>
To: Imre Deak <imre.deak@intel.com>
Cc: intel-gfx@lists.freedesktop.org,
	"Ville Syrjälä" <ville.syrjala@linux.intel.com>,
	"Mika Westerberg" <mika.westerberg@linux.intel.com>,
	"Hans de Goede" <hdegoede@redhat.com>,
	stable@vger.kernel.org
Subject: Re: [PATCH] drm/i915/gen9+: Fix initial readout for Y tiled framebuffers
Date: Wed, 17 Oct 2018 02:02:28 -0700	[thread overview]
Message-ID: <20181017090228.GA25641@innovation.ch> (raw)
In-Reply-To: <20181016160011.28347-1-imre.deak@intel.com>


On Tue, Oct 16, 2018 at 07:00:11PM +0300, Imre Deak wrote:
> If BIOS configured a Y tiled FB we failed to set up the backing object
> tiling accordingly, leading to a lack of GT fence installed and a
> garbled console.
> 
> The problem was bisected to
> commit 011f22eb545a ("drm/i915: Do NOT skip the first 4k of stolen memory for pre-allocated buffers v2")
> but it just revealed a pre-existing issue.
> 
> Kudos to Ville who suspected a missing fence looking at the corruption
> on the screen.
> 
> Cc: Ville Syrj�l� <ville.syrjala@linux.intel.com>
> Cc: Mika Westerberg <mika.westerberg@linux.intel.com>
> Cc: Hans de Goede <hdegoede@redhat.com>
> Cc: ronald@innovation.ch
> Cc: <stable@vger.kernel.org>
> Reported-by: Mika Westerberg <mika.westerberg@linux.intel.com>
> Reported-by: ronald@innovation.ch
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=108264
> Fixes: bc8d7dffacb1 ("drm/i915/skl: Provide a Skylake version of get_plane_config()")
> Signed-off-by: Imre Deak <imre.deak@intel.com>

I can confirm it fixes the issue for MBP13,3 (Skylake) on kernels
4.18.14, 4.19.0-rc8, and drm-tip.


  Cheers,

  Ronald


> ---
>  drivers/gpu/drm/i915/intel_display.c | 25 +++++++++++++++++++++++--
>  1 file changed, 23 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> index a2e729fa8d64..3d34b98c4634 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -2674,6 +2674,17 @@ intel_alloc_initial_plane_obj(struct intel_crtc *crtc,
>  	if (size_aligned * 2 > dev_priv->stolen_usable_size)
>  		return false;
>  
> +	switch (fb->modifier) {
> +	case DRM_FORMAT_MOD_LINEAR:
> +	case I915_FORMAT_MOD_X_TILED:
> +	case I915_FORMAT_MOD_Y_TILED:
> +		break;
> +	default:
> +		DRM_DEBUG_DRIVER("Unsupported modifier for initial FB: 0x%llx\n",
> +				 fb->modifier);
> +		return false;
> +	}
> +
>  	mutex_lock(&dev->struct_mutex);
>  	obj = i915_gem_object_create_stolen_for_preallocated(dev_priv,
>  							     base_aligned,
> @@ -2683,8 +2694,17 @@ intel_alloc_initial_plane_obj(struct intel_crtc *crtc,
>  	if (!obj)
>  		return false;
>  
> -	if (plane_config->tiling == I915_TILING_X)
> -		obj->tiling_and_stride = fb->pitches[0] | I915_TILING_X;
> +	switch (plane_config->tiling) {
> +	case I915_TILING_NONE:
> +		break;
> +	case I915_TILING_X:
> +	case I915_TILING_Y:
> +		obj->tiling_and_stride = fb->pitches[0] | plane_config->tiling;
> +		break;
> +	default:
> +		MISSING_CASE(plane_config->tiling);
> +		return false;
> +	}
>  
>  	mode_cmd.pixel_format = fb->format->format;
>  	mode_cmd.width = fb->width;
> @@ -8827,6 +8847,7 @@ skylake_get_initial_plane_config(struct intel_crtc *crtc,
>  		fb->modifier = I915_FORMAT_MOD_X_TILED;
>  		break;
>  	case PLANE_CTL_TILED_Y:
> +		plane_config->tiling = I915_TILING_Y;
>  		if (val & PLANE_CTL_RENDER_DECOMPRESSION_ENABLE)
>  			fb->modifier = I915_FORMAT_MOD_Y_TILED_CCS;
>  		else
> -- 
> 2.13.2
> 

  parent reply	other threads:[~2018-10-17  9:02 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-10-16 16:00 [PATCH] drm/i915/gen9+: Fix initial readout for Y tiled framebuffers Imre Deak
2018-10-16 17:16 ` ✗ Fi.CI.CHECKPATCH: warning for " Patchwork
2018-10-16 17:34 ` ✓ Fi.CI.BAT: success " Patchwork
2018-10-16 17:56 ` [PATCH] " Ville Syrjälä
2018-10-16 17:56   ` Ville Syrjälä
2018-10-16 21:26 ` ✓ Fi.CI.IGT: success for " Patchwork
2018-10-17 10:50   ` Imre Deak
2018-10-17  9:02 ` Life is hard, and then you die [this message]
2018-10-17  9:02   ` [PATCH] " Life is hard, and then you die

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20181017090228.GA25641@innovation.ch \
    --to=ronald@innovation.ch \
    --cc=hdegoede@redhat.com \
    --cc=imre.deak@intel.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=mika.westerberg@linux.intel.com \
    --cc=stable@vger.kernel.org \
    --cc=ville.syrjala@linux.intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.