[Intel-gfx] [PATCH] drm/i915: use hrtimer in wait for vblank

Chris Wilson chris at chris-wilson.co.uk
Mon Mar 24 09:51:34 CET 2014


On Mon, Mar 24, 2014 at 01:43:38PM +0530, Arun R Murthy wrote:
> In wait for vblank use usleep_range, which will use hrtimers instead of
> msleep. Using msleep(1~20) there are more chances of sleeping for 20ms.
> Using usleep_range uses hrtimers and hence are precise, worst case will
> trigger an interrupt at the higher/max timeout.
> 
> Signed-off-by: Arun R Murthy <arun.r.murthy at intel.com>
> ---
>  drivers/gpu/drm/i915/intel_drv.h |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
> index 44067bc..079280a 100644
> --- a/drivers/gpu/drm/i915/intel_drv.h
> +++ b/drivers/gpu/drm/i915/intel_drv.h
> @@ -52,7 +52,7 @@
>  			break;						\
>  		}							\
>  		if (W && drm_can_sleep())  {				\
> -			msleep(W);					\
> +			usleep_range(W * 1000, W * 2 * 1000);		\
>  		} else {						\
>  			cpu_relax();					\
>  		}							\

Ok. But W is still just a random value we picked for being the mininum
legal value for msleep(). So just usleep_range(500, 2000) or somesuch
will be fine. We can rename W to CAN_SLEEP it that helps.
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre



More information about the Intel-gfx mailing list