Message ID | 1364425405-1200-1-git-send-email-daniel.vetter@ffwll.ch (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Thu, Mar 28, 2013 at 12:03:24AM +0100, Daniel Vetter wrote: > Since > > commit bcf9dcc1e6269fac674e41f25d007ff75f76e840 > Author: Chris Wilson <chris@chris-wilson.co.uk> > Date: Sun Jul 15 09:42:38 2012 +0100 > > drm/i915: Workaround hang with BSD and forcewake on SandyBridge > > and > > commit 0cc2764cc4a4bd73df55f8893c871778cf7ddd0f > Author: Ben Widawsky <ben@bwidawsk.net> > Date: Sat Sep 1 22:59:48 2012 -0700 > > drm/i915: use cpu_relax() in wait_for_atomic > > these two macros are essentially the same, so unify them. We keep the > _us version since it's a nice documentation for smaller timeouts. > > Cc: Jack Winter <jbh@alchemy.lu> > Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> > --- > drivers/gpu/drm/i915/intel_drv.h | 15 ++------------- > 1 file changed, 2 insertions(+), 13 deletions(-) > > diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h > index 54bc2ea..c8c1979 100644 > --- a/drivers/gpu/drm/i915/intel_drv.h > +++ b/drivers/gpu/drm/i915/intel_drv.h > @@ -50,21 +50,10 @@ > ret__; \ > }) > > -#define wait_for_atomic_us(COND, US) ({ \ > - unsigned long timeout__ = jiffies + usecs_to_jiffies(US); \ > - int ret__ = 0; \ > - while (!(COND)) { \ > - if (time_after(jiffies, timeout__)) { \ > - ret__ = -ETIMEDOUT; \ > - break; \ > - } \ > - cpu_relax(); \ > - } \ > - ret__; \ > -}) > - > #define wait_for(COND, MS) _wait_for(COND, MS, 1) > #define wait_for_atomic(COND, MS) _wait_for(COND, MS, 0) > +#define wait_for_atomic_us(COND, US) _wait_for((COND), \ > + usecs_to_jiffies((US)), 0) usecs_to_jiffies() is wrong here. DIV_ROUND_UP((US), 1000) maybe, or change _wait_for() to take the timeout in jiffies. > > #define KHz(x) (1000*x) > #define MHz(x) KHz(1000*x) > -- > 1.7.11.7 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/intel-gfx
diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h index 54bc2ea..c8c1979 100644 --- a/drivers/gpu/drm/i915/intel_drv.h +++ b/drivers/gpu/drm/i915/intel_drv.h @@ -50,21 +50,10 @@ ret__; \ }) -#define wait_for_atomic_us(COND, US) ({ \ - unsigned long timeout__ = jiffies + usecs_to_jiffies(US); \ - int ret__ = 0; \ - while (!(COND)) { \ - if (time_after(jiffies, timeout__)) { \ - ret__ = -ETIMEDOUT; \ - break; \ - } \ - cpu_relax(); \ - } \ - ret__; \ -}) - #define wait_for(COND, MS) _wait_for(COND, MS, 1) #define wait_for_atomic(COND, MS) _wait_for(COND, MS, 0) +#define wait_for_atomic_us(COND, US) _wait_for((COND), \ + usecs_to_jiffies((US)), 0) #define KHz(x) (1000*x) #define MHz(x) KHz(1000*x)
Since commit bcf9dcc1e6269fac674e41f25d007ff75f76e840 Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Sun Jul 15 09:42:38 2012 +0100 drm/i915: Workaround hang with BSD and forcewake on SandyBridge and commit 0cc2764cc4a4bd73df55f8893c871778cf7ddd0f Author: Ben Widawsky <ben@bwidawsk.net> Date: Sat Sep 1 22:59:48 2012 -0700 drm/i915: use cpu_relax() in wait_for_atomic these two macros are essentially the same, so unify them. We keep the _us version since it's a nice documentation for smaller timeouts. Cc: Jack Winter <jbh@alchemy.lu> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> --- drivers/gpu/drm/i915/intel_drv.h | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-)