diff mbox

[9/9] drm/i915: PSR HSW: update after enabling sprite.

Message ID 1402593406-17869-9-git-send-email-rodrigo.vivi@intel.com (mailing list archive)
State New, archived
Headers show

Commit Message

Rodrigo Vivi June 12, 2014, 5:16 p.m. UTC
On the current structure HSW doesn't support PSR with sprites enabled
but sprites can be enabled after PSR was enabled what would cause
user to miss screen updates.

v2: move it to update_plane.

Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Vijay Purushothaman <vijay.a.purushothaman@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
---
 drivers/gpu/drm/i915/intel_sprite.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

Daniel Vetter June 13, 2014, 8:01 a.m. UTC | #1
On Thu, Jun 12, 2014 at 10:16:46AM -0700, Rodrigo Vivi wrote:
> On the current structure HSW doesn't support PSR with sprites enabled
> but sprites can be enabled after PSR was enabled what would cause
> user to miss screen updates.
> 
> v2: move it to update_plane.
> 
> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Reviewed-by: Vijay Purushothaman <vijay.a.purushothaman@intel.com>
> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>

Merged the other patches, too (except patch 4). I need to chat with you
about locking ;-)
-Daniel

> ---
>  drivers/gpu/drm/i915/intel_sprite.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/gpu/drm/i915/intel_sprite.c b/drivers/gpu/drm/i915/intel_sprite.c
> index 1b66ddc..404335d 100644
> --- a/drivers/gpu/drm/i915/intel_sprite.c
> +++ b/drivers/gpu/drm/i915/intel_sprite.c
> @@ -1051,6 +1051,8 @@ intel_update_plane(struct drm_plane *plane, struct drm_crtc *crtc,
>  		mutex_unlock(&dev->struct_mutex);
>  	}
>  
> +	intel_edp_psr_update(dev);
> +
>  	return 0;
>  }
>  
> -- 
> 1.9.3
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
Jani Nikula June 13, 2014, 12:02 p.m. UTC | #2
On Fri, 13 Jun 2014, Daniel Vetter <daniel@ffwll.ch> wrote:
> On Thu, Jun 12, 2014 at 10:16:46AM -0700, Rodrigo Vivi wrote:
>> On the current structure HSW doesn't support PSR with sprites enabled
>> but sprites can be enabled after PSR was enabled what would cause
>> user to miss screen updates.
>> 
>> v2: move it to update_plane.
>> 
>> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
>> Reviewed-by: Vijay Purushothaman <vijay.a.purushothaman@intel.com>
>> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
>
> Merged the other patches, too (except patch 4). I need to chat with you
> about locking ;-)

Patch 8 depends on patch 4.


  CC      drivers/gpu/drm/i915/i915_debugfs.o
drivers/gpu/drm/i915/i915_debugfs.c: In function ‘i915_edp_psr_status’:
drivers/gpu/drm/i915/i915_debugfs.c:1976:52: error: ‘struct i915_psr’ has no member named ‘enabled’
  seq_printf(m, "Enabled: %s\n", yesno(dev_priv->psr.enabled));
                                                    ^
drivers/gpu/drm/i915/i915_debugfs.c:1977:51: error: ‘struct i915_psr’ has no member named ‘active’
  seq_printf(m, "Active: %s\n", yesno(dev_priv->psr.active));
                                                   ^
drivers/gpu/drm/i915/i915_debugfs.c: In function ‘pipe_crc_set_source’:
drivers/gpu/drm/i915/i915_debugfs.c:2935:3: warning: passing argument 1 of ‘mutex_lock’ from incompatible pointer type [enabled by default]
   mutex_lock(&crtc->base.mutex);
   ^
In file included from include/linux/seq_file.h:7:0,
                 from drivers/gpu/drm/i915/i915_debugfs.c:29:
include/linux/mutex.h:158:13: note: expected ‘struct mutex *’ but argument is of type ‘struct drm_modeset_lock *’
 extern void mutex_lock(struct mutex *lock);
             ^
drivers/gpu/drm/i915/i915_debugfs.c:2938:3: warning: passing argument 1 of ‘mutex_unlock’ from incompatible pointer type [enabled by default]
   mutex_unlock(&crtc->base.mutex);
   ^
In file included from include/linux/seq_file.h:7:0,
                 from drivers/gpu/drm/i915/i915_debugfs.c:29:
include/linux/mutex.h:175:13: note: expected ‘struct mutex *’ but argument is of type ‘struct drm_modeset_lock *’
 extern void mutex_unlock(struct mutex *lock);
             ^
make[4]: *** [drivers/gpu/drm/i915/i915_debugfs.o] Error 1
make[3]: *** [drivers/gpu/drm/i915] Error 2
make[2]: *** [drivers/gpu/drm] Error 2
make[1]: *** [drivers/gpu] Error 2
make[1]: *** Waiting for unfinished jobs....
make: *** [drivers] Error 2




> -Daniel
>
>> ---
>>  drivers/gpu/drm/i915/intel_sprite.c | 2 ++
>>  1 file changed, 2 insertions(+)
>> 
>> diff --git a/drivers/gpu/drm/i915/intel_sprite.c b/drivers/gpu/drm/i915/intel_sprite.c
>> index 1b66ddc..404335d 100644
>> --- a/drivers/gpu/drm/i915/intel_sprite.c
>> +++ b/drivers/gpu/drm/i915/intel_sprite.c
>> @@ -1051,6 +1051,8 @@ intel_update_plane(struct drm_plane *plane, struct drm_crtc *crtc,
>>  		mutex_unlock(&dev->struct_mutex);
>>  	}
>>  
>> +	intel_edp_psr_update(dev);
>> +
>>  	return 0;
>>  }
>>  
>> -- 
>> 1.9.3
>> 
>> _______________________________________________
>> Intel-gfx mailing list
>> Intel-gfx@lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
>
> -- 
> Daniel Vetter
> Software Engineer, Intel Corporation
> +41 (0) 79 365 57 48 - http://blog.ffwll.ch
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
Daniel Vetter June 13, 2014, 1:49 p.m. UTC | #3
On Fri, Jun 13, 2014 at 03:02:21PM +0300, Jani Nikula wrote:
> On Fri, 13 Jun 2014, Daniel Vetter <daniel@ffwll.ch> wrote:
> > On Thu, Jun 12, 2014 at 10:16:46AM -0700, Rodrigo Vivi wrote:
> >> On the current structure HSW doesn't support PSR with sprites enabled
> >> but sprites can be enabled after PSR was enabled what would cause
> >> user to miss screen updates.
> >> 
> >> v2: move it to update_plane.
> >> 
> >> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
> >> Reviewed-by: Vijay Purushothaman <vijay.a.purushothaman@intel.com>
> >> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
> >
> > Merged the other patches, too (except patch 4). I need to chat with you
> > about locking ;-)
> 
> Patch 8 depends on patch 4.

Patch 8 dropped again.

/me hides under a really big rock
-Daniel

> 
> 
>   CC      drivers/gpu/drm/i915/i915_debugfs.o
> drivers/gpu/drm/i915/i915_debugfs.c: In function ‘i915_edp_psr_status’:
> drivers/gpu/drm/i915/i915_debugfs.c:1976:52: error: ‘struct i915_psr’ has no member named ‘enabled’
>   seq_printf(m, "Enabled: %s\n", yesno(dev_priv->psr.enabled));
>                                                     ^
> drivers/gpu/drm/i915/i915_debugfs.c:1977:51: error: ‘struct i915_psr’ has no member named ‘active’
>   seq_printf(m, "Active: %s\n", yesno(dev_priv->psr.active));
>                                                    ^
> drivers/gpu/drm/i915/i915_debugfs.c: In function ‘pipe_crc_set_source’:
> drivers/gpu/drm/i915/i915_debugfs.c:2935:3: warning: passing argument 1 of ‘mutex_lock’ from incompatible pointer type [enabled by default]
>    mutex_lock(&crtc->base.mutex);
>    ^
> In file included from include/linux/seq_file.h:7:0,
>                  from drivers/gpu/drm/i915/i915_debugfs.c:29:
> include/linux/mutex.h:158:13: note: expected ‘struct mutex *’ but argument is of type ‘struct drm_modeset_lock *’
>  extern void mutex_lock(struct mutex *lock);
>              ^
> drivers/gpu/drm/i915/i915_debugfs.c:2938:3: warning: passing argument 1 of ‘mutex_unlock’ from incompatible pointer type [enabled by default]
>    mutex_unlock(&crtc->base.mutex);
>    ^
> In file included from include/linux/seq_file.h:7:0,
>                  from drivers/gpu/drm/i915/i915_debugfs.c:29:
> include/linux/mutex.h:175:13: note: expected ‘struct mutex *’ but argument is of type ‘struct drm_modeset_lock *’
>  extern void mutex_unlock(struct mutex *lock);
>              ^
> make[4]: *** [drivers/gpu/drm/i915/i915_debugfs.o] Error 1
> make[3]: *** [drivers/gpu/drm/i915] Error 2
> make[2]: *** [drivers/gpu/drm] Error 2
> make[1]: *** [drivers/gpu] Error 2
> make[1]: *** Waiting for unfinished jobs....
> make: *** [drivers] Error 2
> 
> 
> 
> 
> > -Daniel
> >
> >> ---
> >>  drivers/gpu/drm/i915/intel_sprite.c | 2 ++
> >>  1 file changed, 2 insertions(+)
> >> 
> >> diff --git a/drivers/gpu/drm/i915/intel_sprite.c b/drivers/gpu/drm/i915/intel_sprite.c
> >> index 1b66ddc..404335d 100644
> >> --- a/drivers/gpu/drm/i915/intel_sprite.c
> >> +++ b/drivers/gpu/drm/i915/intel_sprite.c
> >> @@ -1051,6 +1051,8 @@ intel_update_plane(struct drm_plane *plane, struct drm_crtc *crtc,
> >>  		mutex_unlock(&dev->struct_mutex);
> >>  	}
> >>  
> >> +	intel_edp_psr_update(dev);
> >> +
> >>  	return 0;
> >>  }
> >>  
> >> -- 
> >> 1.9.3
> >> 
> >> _______________________________________________
> >> Intel-gfx mailing list
> >> Intel-gfx@lists.freedesktop.org
> >> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
> >
> > -- 
> > Daniel Vetter
> > Software Engineer, Intel Corporation
> > +41 (0) 79 365 57 48 - http://blog.ffwll.ch
> > _______________________________________________
> > Intel-gfx mailing list
> > Intel-gfx@lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/intel-gfx
> 
> -- 
> Jani Nikula, Intel Open Source Technology Center
diff mbox

Patch

diff --git a/drivers/gpu/drm/i915/intel_sprite.c b/drivers/gpu/drm/i915/intel_sprite.c
index 1b66ddc..404335d 100644
--- a/drivers/gpu/drm/i915/intel_sprite.c
+++ b/drivers/gpu/drm/i915/intel_sprite.c
@@ -1051,6 +1051,8 @@  intel_update_plane(struct drm_plane *plane, struct drm_crtc *crtc,
 		mutex_unlock(&dev->struct_mutex);
 	}
 
+	intel_edp_psr_update(dev);
+
 	return 0;
 }