* [PATCH] drm/i915: Only wait one vblank when disabling crc if the pipe is on
@ 2014-06-06 6:22 Daniel Vetter
2014-06-06 8:57 ` Ville Syrjälä
2014-06-06 17:18 ` Damien Lespiau
0 siblings, 2 replies; 6+ messages in thread
From: Daniel Vetter @ 2014-06-06 6:22 UTC (permalink / raw)
To: Intel Graphics Development; +Cc: Daniel Vetter
Otherwise we incur an unsightly WARNING. The mutex locking is a bit
overkill, but it curbs races and eventially we might grow a locking
check in the vblank wait code to make sure the right crtc lock is
held.
This is fallout from
commit 9393707190194eb8b42e412b444a03331db6862f
Author: Jesse Barnes <jbarnes@virtuousgeek.org>
AuthorDate: Fri Apr 4 16:12:09 2014 -0700
drm/i915: warn when a vblank wait times out
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=79612
Tested-by: Guo Jinxian <jinxianx.guo@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
drivers/gpu/drm/i915/i915_debugfs.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
index 601caa88c092..cf94e9640627 100644
--- a/drivers/gpu/drm/i915/i915_debugfs.c
+++ b/drivers/gpu/drm/i915/i915_debugfs.c
@@ -2927,11 +2927,16 @@ static int pipe_crc_set_source(struct drm_device *dev, enum pipe pipe,
/* real source -> none transition */
if (source == INTEL_PIPE_CRC_SOURCE_NONE) {
struct intel_pipe_crc_entry *entries;
+ struct intel_crtc *crtc =
+ crtc = to_intel_crtc(dev_priv->pipe_to_crtc_mapping[pipe]);
DRM_DEBUG_DRIVER("stopping CRCs for pipe %c\n",
pipe_name(pipe));
- intel_wait_for_vblank(dev, pipe);
+ mutex_lock(&crtc->base.mutex);
+ if (crtc->active)
+ intel_wait_for_vblank(dev, pipe);
+ mutex_unlock(&crtc->base.mutex);
spin_lock_irq(&pipe_crc->lock);
entries = pipe_crc->entries;
--
2.0.0
^ permalink raw reply related [flat|nested] 6+ messages in thread* Re: [PATCH] drm/i915: Only wait one vblank when disabling crc if the pipe is on
2014-06-06 6:22 [PATCH] drm/i915: Only wait one vblank when disabling crc if the pipe is on Daniel Vetter
@ 2014-06-06 8:57 ` Ville Syrjälä
2014-06-06 9:36 ` Daniel Vetter
2014-06-06 17:18 ` Damien Lespiau
1 sibling, 1 reply; 6+ messages in thread
From: Ville Syrjälä @ 2014-06-06 8:57 UTC (permalink / raw)
To: Daniel Vetter; +Cc: Intel Graphics Development
On Fri, Jun 06, 2014 at 08:22:08AM +0200, Daniel Vetter wrote:
> Otherwise we incur an unsightly WARNING. The mutex locking is a bit
> overkill, but it curbs races and eventially we might grow a locking
> check in the vblank wait code to make sure the right crtc lock is
> held.
>
> This is fallout from
>
> commit 9393707190194eb8b42e412b444a03331db6862f
> Author: Jesse Barnes <jbarnes@virtuousgeek.org>
> AuthorDate: Fri Apr 4 16:12:09 2014 -0700
>
> drm/i915: warn when a vblank wait times out
>
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=79612
> Tested-by: Guo Jinxian <jinxianx.guo@intel.com>
> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
> ---
> drivers/gpu/drm/i915/i915_debugfs.c | 7 ++++++-
> 1 file changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
> index 601caa88c092..cf94e9640627 100644
> --- a/drivers/gpu/drm/i915/i915_debugfs.c
> +++ b/drivers/gpu/drm/i915/i915_debugfs.c
> @@ -2927,11 +2927,16 @@ static int pipe_crc_set_source(struct drm_device *dev, enum pipe pipe,
> /* real source -> none transition */
> if (source == INTEL_PIPE_CRC_SOURCE_NONE) {
> struct intel_pipe_crc_entry *entries;
> + struct intel_crtc *crtc =
> + crtc = to_intel_crtc(dev_priv->pipe_to_crtc_mapping[pipe]);
^^^^^^
What's that?
Otherwise:
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> DRM_DEBUG_DRIVER("stopping CRCs for pipe %c\n",
> pipe_name(pipe));
>
> - intel_wait_for_vblank(dev, pipe);
> + mutex_lock(&crtc->base.mutex);
> + if (crtc->active)
> + intel_wait_for_vblank(dev, pipe);
> + mutex_unlock(&crtc->base.mutex);
>
> spin_lock_irq(&pipe_crc->lock);
> entries = pipe_crc->entries;
> --
> 2.0.0
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
--
Ville Syrjälä
Intel OTC
^ permalink raw reply [flat|nested] 6+ messages in thread* Re: [PATCH] drm/i915: Only wait one vblank when disabling crc if the pipe is on
2014-06-06 8:57 ` Ville Syrjälä
@ 2014-06-06 9:36 ` Daniel Vetter
0 siblings, 0 replies; 6+ messages in thread
From: Daniel Vetter @ 2014-06-06 9:36 UTC (permalink / raw)
To: Ville Syrjälä; +Cc: Daniel Vetter, Intel Graphics Development
On Fri, Jun 06, 2014 at 11:57:10AM +0300, Ville Syrjälä wrote:
> On Fri, Jun 06, 2014 at 08:22:08AM +0200, Daniel Vetter wrote:
> > Otherwise we incur an unsightly WARNING. The mutex locking is a bit
> > overkill, but it curbs races and eventially we might grow a locking
> > check in the vblank wait code to make sure the right crtc lock is
> > held.
> >
> > This is fallout from
> >
> > commit 9393707190194eb8b42e412b444a03331db6862f
> > Author: Jesse Barnes <jbarnes@virtuousgeek.org>
> > AuthorDate: Fri Apr 4 16:12:09 2014 -0700
> >
> > drm/i915: warn when a vblank wait times out
> >
> > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=79612
> > Tested-by: Guo Jinxian <jinxianx.guo@intel.com>
> > Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
>
>
> > ---
> > drivers/gpu/drm/i915/i915_debugfs.c | 7 ++++++-
> > 1 file changed, 6 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
> > index 601caa88c092..cf94e9640627 100644
> > --- a/drivers/gpu/drm/i915/i915_debugfs.c
> > +++ b/drivers/gpu/drm/i915/i915_debugfs.c
> > @@ -2927,11 +2927,16 @@ static int pipe_crc_set_source(struct drm_device *dev, enum pipe pipe,
> > /* real source -> none transition */
> > if (source == INTEL_PIPE_CRC_SOURCE_NONE) {
> > struct intel_pipe_crc_entry *entries;
> > + struct intel_crtc *crtc =
> > + crtc = to_intel_crtc(dev_priv->pipe_to_crtc_mapping[pipe]);
> ^^^^^^
>
> What's that?
Oops. Luckily patch still worked, C rules are bendy enough ;-)
>
> Otherwise:
> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Thanks,
-Daniel
>
> >
> > DRM_DEBUG_DRIVER("stopping CRCs for pipe %c\n",
> > pipe_name(pipe));
> >
> > - intel_wait_for_vblank(dev, pipe);
> > + mutex_lock(&crtc->base.mutex);
> > + if (crtc->active)
> > + intel_wait_for_vblank(dev, pipe);
> > + mutex_unlock(&crtc->base.mutex);
> >
> > spin_lock_irq(&pipe_crc->lock);
> > entries = pipe_crc->entries;
> > --
> > 2.0.0
> >
> > _______________________________________________
> > Intel-gfx mailing list
> > Intel-gfx@lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/intel-gfx
>
> --
> Ville Syrjälä
> Intel OTC
--
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] drm/i915: Only wait one vblank when disabling crc if the pipe is on
2014-06-06 6:22 [PATCH] drm/i915: Only wait one vblank when disabling crc if the pipe is on Daniel Vetter
2014-06-06 8:57 ` Ville Syrjälä
@ 2014-06-06 17:18 ` Damien Lespiau
2014-06-06 17:40 ` Daniel Vetter
1 sibling, 1 reply; 6+ messages in thread
From: Damien Lespiau @ 2014-06-06 17:18 UTC (permalink / raw)
To: Daniel Vetter; +Cc: Intel Graphics Development
On Fri, Jun 06, 2014 at 08:22:08AM +0200, Daniel Vetter wrote:
> + mutex_lock(&crtc->base.mutex);
> + if (crtc->active)
> + intel_wait_for_vblank(dev, pipe);
> + mutex_unlock(&crtc->base.mutex);
drivers/gpu/drm/i915/i915_debugfs.c: In function ‘pipe_crc_set_source’:
drivers/gpu/drm/i915/i915_debugfs.c:2932: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);
^
--
Damien
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 6+ messages in thread* Re: [PATCH] drm/i915: Only wait one vblank when disabling crc if the pipe is on
2014-06-06 17:18 ` Damien Lespiau
@ 2014-06-06 17:40 ` Daniel Vetter
2014-06-13 12:08 ` Jani Nikula
0 siblings, 1 reply; 6+ messages in thread
From: Daniel Vetter @ 2014-06-06 17:40 UTC (permalink / raw)
To: Damien Lespiau; +Cc: Daniel Vetter, Intel Graphics Development
On Fri, Jun 06, 2014 at 06:18:01PM +0100, Damien Lespiau wrote:
> On Fri, Jun 06, 2014 at 08:22:08AM +0200, Daniel Vetter wrote:
> > + mutex_lock(&crtc->base.mutex);
> > + if (crtc->active)
> > + intel_wait_for_vblank(dev, pipe);
> > + mutex_unlock(&crtc->base.mutex);
>
> drivers/gpu/drm/i915/i915_debugfs.c: In function ‘pipe_crc_set_source’:
> drivers/gpu/drm/i915/i915_debugfs.c:2932: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);
Oh dang, rebase fail. Thanks for helping the blind, will fix asap.
-Daniel
> ^
>
> --
> Damien
--
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
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] drm/i915: Only wait one vblank when disabling crc if the pipe is on
2014-06-06 17:40 ` Daniel Vetter
@ 2014-06-13 12:08 ` Jani Nikula
0 siblings, 0 replies; 6+ messages in thread
From: Jani Nikula @ 2014-06-13 12:08 UTC (permalink / raw)
To: Daniel Vetter, Damien Lespiau; +Cc: Daniel Vetter, Intel Graphics Development
On Fri, 06 Jun 2014, Daniel Vetter <daniel@ffwll.ch> wrote:
> On Fri, Jun 06, 2014 at 06:18:01PM +0100, Damien Lespiau wrote:
>> On Fri, Jun 06, 2014 at 08:22:08AM +0200, Daniel Vetter wrote:
>> > + mutex_lock(&crtc->base.mutex);
>> > + if (crtc->active)
>> > + intel_wait_for_vblank(dev, pipe);
>> > + mutex_unlock(&crtc->base.mutex);
>>
>> drivers/gpu/drm/i915/i915_debugfs.c: In function ‘pipe_crc_set_source’:
>> drivers/gpu/drm/i915/i915_debugfs.c:2932: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);
>
> Oh dang, rebase fail. Thanks for helping the blind, will fix asap.
drivers/gpu/drm/i915/i915_debugfs.c: In function ‘pipe_crc_set_source’:
drivers/gpu/drm/i915/i915_debugfs.c:2932: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:2935: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);
^
33b1879a1038d87d82cd4de82ebedd95ee88e529 is the first bad commit
commit 33b1879a1038d87d82cd4de82ebedd95ee88e529
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
Date: Fri Jun 6 08:22:08 2014 +0200
drm/i915: Only wait one vblank when disabling crc if the pipe is on
Otherwise we incur an unsightly WARNING. The mutex locking is a bit
overkill, but it curbs races and eventially we might grow a locking
check in the vblank wait code to make sure the right crtc lock is
held.
This is fallout from
commit 9393707190194eb8b42e412b444a03331db6862f
Author: Jesse Barnes <jbarnes@virtuousgeek.org>
AuthorDate: Fri Apr 4 16:12:09 2014 -0700
drm/i915: warn when a vblank wait times out
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=79612
Tested-by: Guo Jinxian <jinxianx.guo@intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
:040000 040000 ec8ee719363b4eb6f1d90950605694bbe1bb2cf3 b3d5f21458cc6ba201e73a5effb003edadb644f5 M drivers
BR,
Jani.
--
Jani Nikula, Intel Open Source Technology Center
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2014-06-13 12:08 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-06-06 6:22 [PATCH] drm/i915: Only wait one vblank when disabling crc if the pipe is on Daniel Vetter
2014-06-06 8:57 ` Ville Syrjälä
2014-06-06 9:36 ` Daniel Vetter
2014-06-06 17:18 ` Damien Lespiau
2014-06-06 17:40 ` Daniel Vetter
2014-06-13 12:08 ` Jani Nikula
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox