• Damien Lespiau's avatar
    drm/i915: Use a macro to express the range of valid gens for reg_read · af76ae44
    Damien Lespiau authored
    The reg_read whitelist has a gen bitmask to code the gens we're allowing
    the register to be read on. Until now, it was a literal, but we can be
    a bit more expressive.
    
    To ease the review, a small test program:
    
      $ cat bit-range.c
      #include <stdio.h>
      #include <stdint.h>
    
      #define U32_C(x)		x ## U
      #define GENMASK(h, l)		(((U32_C(1) << ((h) - (l) + 1)) - 1) << (l))
      #define GEN_RANGE(l, h)	GENMASK(h, l)
    
      int main(int argc, char **argv)
      {
    	printf("0x%08x\n", GEN_RANGE(1, 1));
    	printf("0x%08x\n", GEN_RANGE(1, 2));
    	printf("0x%08x\n", GEN_RANGE(4, 4));
    	printf("0x%08x\n", GEN_RANGE(4, 5));
    	printf("0x%08x\n", GEN_RANGE(1, 31));
    	printf("0x%08x\n", GEN_RANGE(4, 8));
    
    	return 0;
      }
      $ ./bit-range
      0x00000002
      0x00000006
      0x00000010
      0x00000030
      0xfffffffe
      0x000001f0
    Signed-off-by: default avatarDamien Lespiau <damien.lespiau@intel.com>
    Reviewed-by: default avatarJani Nikula <jani.nikula@intel.com>
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    af76ae44
intel_uncore.c 30.3 KB