diff mbox

[7/7] drm/i915: add i9xx pfit pipe asserts

Message ID 1365690550-5716-7-git-send-email-daniel.vetter@ffwll.ch (mailing list archive)
State New, archived
Headers show

Commit Message

Daniel Vetter April 11, 2013, 2:29 p.m. UTC
We can only enable the pfit if the pipe. Ensure that this is obied
with a neat assert.

Also check whether the pfit is off before enabling it - if not we've
lost track of things somewhere since the pfit is only ever used by the
lvds output.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/i915/intel_lvds.c |    3 +++
 1 file changed, 3 insertions(+)

Comments

Ville Syrjala April 11, 2013, 4:37 p.m. UTC | #1
On Thu, Apr 11, 2013 at 04:29:10PM +0200, Daniel Vetter wrote:
> We can only enable the pfit if the pipe. Ensure that this is obied
                                         ^

"is disabled" or something?

> with a neat assert.
> 
> Also check whether the pfit is off before enabling it - if not we've
> lost track of things somewhere since the pfit is only ever used by the
> lvds output.
> 
> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
> ---
>  drivers/gpu/drm/i915/intel_lvds.c |    3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/drivers/gpu/drm/i915/intel_lvds.c b/drivers/gpu/drm/i915/intel_lvds.c
> index ca2d903..1ff981f 100644
> --- a/drivers/gpu/drm/i915/intel_lvds.c
> +++ b/drivers/gpu/drm/i915/intel_lvds.c
> @@ -159,6 +159,9 @@ static void intel_pre_enable_lvds(struct intel_encoder *encoder)
>  	if (HAS_PCH_SPLIT(dev) || !enc->pfit_control)
>  		return;
>  
> +	WARN_ON(I915_READ(PFIT_CONTROL) & PFIT_ENABLE);
> +	assert_pipe_disabled(dev_priv, to_intel_crtc(encoder->base.crtc)->pipe);
> +
>  	/*
>  	 * Enable automatic panel scaling so that non-native modes
>  	 * fill the screen.  The panel fitter should only be
> -- 
> 1.7.10.4
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
Daniel Vetter April 11, 2013, 4:38 p.m. UTC | #2
On Thu, Apr 11, 2013 at 6:37 PM, Ville Syrjälä
<ville.syrjala@linux.intel.com> wrote:
> On Thu, Apr 11, 2013 at 04:29:10PM +0200, Daniel Vetter wrote:
>> We can only enable the pfit if the pipe. Ensure that this is obied
>                                          ^
>
> "is disabled" or something?

Indeed.
--
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch
Jani Nikula April 12, 2013, 5:47 a.m. UTC | #3
On Thu, 11 Apr 2013, Ville Syrjälä <ville.syrjala@linux.intel.com> wrote:
> On Thu, Apr 11, 2013 at 04:29:10PM +0200, Daniel Vetter wrote:
>> We can only enable the pfit if the pipe. Ensure that this is obied
                                                                ^^^^^
"obeyed" or something?

Jani.

>                                          ^
>
> "is disabled" or something?
>
>> with a neat assert.
>> 
>> Also check whether the pfit is off before enabling it - if not we've
>> lost track of things somewhere since the pfit is only ever used by the
>> lvds output.
>> 
>> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
>> ---
>>  drivers/gpu/drm/i915/intel_lvds.c |    3 +++
>>  1 file changed, 3 insertions(+)
>> 
>> diff --git a/drivers/gpu/drm/i915/intel_lvds.c b/drivers/gpu/drm/i915/intel_lvds.c
>> index ca2d903..1ff981f 100644
>> --- a/drivers/gpu/drm/i915/intel_lvds.c
>> +++ b/drivers/gpu/drm/i915/intel_lvds.c
>> @@ -159,6 +159,9 @@ static void intel_pre_enable_lvds(struct intel_encoder *encoder)
>>  	if (HAS_PCH_SPLIT(dev) || !enc->pfit_control)
>>  		return;
>>  
>> +	WARN_ON(I915_READ(PFIT_CONTROL) & PFIT_ENABLE);
>> +	assert_pipe_disabled(dev_priv, to_intel_crtc(encoder->base.crtc)->pipe);
>> +
>>  	/*
>>  	 * Enable automatic panel scaling so that non-native modes
>>  	 * fill the screen.  The panel fitter should only be
>> -- 
>> 1.7.10.4
>> 
>> _______________________________________________
>> Intel-gfx mailing list
>> Intel-gfx@lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
>
> -- 
> Ville Syrjälä
> Intel OTC
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
Chris Wilson April 12, 2013, 2:02 p.m. UTC | #4
On Thu, Apr 11, 2013 at 04:29:10PM +0200, Daniel Vetter wrote:
> We can only enable the pfit if the pipe. Ensure that this is obied
> with a neat assert.
> 
> Also check whether the pfit is off before enabling it - if not we've
> lost track of things somewhere since the pfit is only ever used by the
> lvds output.
> 
> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>

Ignoring the pedants picking over the changelog,
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
-Chris
Daniel Vetter April 15, 2013, 8:17 a.m. UTC | #5
On Fri, Apr 12, 2013 at 03:02:32PM +0100, Chris Wilson wrote:
> On Thu, Apr 11, 2013 at 04:29:10PM +0200, Daniel Vetter wrote:
> > We can only enable the pfit if the pipe. Ensure that this is obied
> > with a neat assert.
> > 
> > Also check whether the pfit is off before enabling it - if not we've
> > lost track of things somewhere since the pfit is only ever used by the
> > lvds output.
> > 
> > Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
> 
> Ignoring the pedants picking over the changelog,
> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>

Slurped in all the patches, thanks for reviewing them. Due to lack of disk
space not yet pushed out though.
-Daniel
diff mbox

Patch

diff --git a/drivers/gpu/drm/i915/intel_lvds.c b/drivers/gpu/drm/i915/intel_lvds.c
index ca2d903..1ff981f 100644
--- a/drivers/gpu/drm/i915/intel_lvds.c
+++ b/drivers/gpu/drm/i915/intel_lvds.c
@@ -159,6 +159,9 @@  static void intel_pre_enable_lvds(struct intel_encoder *encoder)
 	if (HAS_PCH_SPLIT(dev) || !enc->pfit_control)
 		return;
 
+	WARN_ON(I915_READ(PFIT_CONTROL) & PFIT_ENABLE);
+	assert_pipe_disabled(dev_priv, to_intel_crtc(encoder->base.crtc)->pipe);
+
 	/*
 	 * Enable automatic panel scaling so that non-native modes
 	 * fill the screen.  The panel fitter should only be