[Intel-gfx] [PATCH 1/3] drm/i915: Make IS_GENx macros work on a mask

Chris Wilson chris at chris-wilson.co.uk
Fri May 6 14:43:39 UTC 2016


On Fri, May 06, 2016 at 03:36:26PM +0100, Tvrtko Ursulin wrote:
> 
> On 06/05/16 15:28, Chris Wilson wrote:
> >On Fri, May 06, 2016 at 02:43:49PM +0100, Tvrtko Ursulin wrote:
> >>From: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
> >>
> >>If instead of numerical comparison me make these test a
> >>bitmask, we enable the compiler to optimize all instances
> >>of IS_GENx || IS_GENy.
> >>
> >>Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
> >>---
> >>  drivers/gpu/drm/i915/i915_dma.c |  3 +++
> >>  drivers/gpu/drm/i915/i915_drv.h | 17 +++++++++--------
> >>  2 files changed, 12 insertions(+), 8 deletions(-)
> >>
> >>diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
> >>index ad7abe517700..01163da51b1d 100644
> >>--- a/drivers/gpu/drm/i915/i915_dma.c
> >>+++ b/drivers/gpu/drm/i915/i915_dma.c
> >>@@ -1071,6 +1071,9 @@ static int i915_driver_init_early(struct drm_i915_private *dev_priv,
> >>  	memcpy(device_info, info, sizeof(dev_priv->info));
> >>  	device_info->device_id = dev->pdev->device;
> >>
> >>+	BUG_ON(device_info->gen > sizeof(device_info->gen_mask) * 8);
> >
> >Should be gen >= num_bits
> >BITS_PER_BYTE
> 
> Hm yes, or..
> 
> >>+	device_info->gen_mask = 1 << device_info->gen;
> >
> >device_info->gen_mask = BIT(device_info->gen) for consistency;
> 
> .. maybe better BIT(device_info->gen - 1) ? There is no Gen0 presumably?

i740 would be gen0
i810 is gen1 (which is an on-chipset version of i740 really)

One day we may achieve a goal a completely unified driver if Daniel
hasn't lost his i810 yet.
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre


More information about the Intel-gfx mailing list