linux/drivers/gpu/drm/i915
Damien Lespiau af76ae447d drm/i915: Use a macro to express the range of valid gens for reg_read
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: Damien Lespiau <damien.lespiau@intel.com>
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-04-01 22:58:23 +02:00
..
Kconfig i915, fbdev: Fix Kconfig typo 2013-11-21 21:59:02 +01:00
Makefile Merge remote-tracking branch 'airlied/drm-next' into drm-intel-next 2014-03-18 09:43:56 +01:00
dvo.h drm/i915: Remove unused mode_fixup() vfunc of struct intel_dvo_dev_ops 2013-09-05 21:39:59 +02:00
dvo_ch7xxx.c
dvo_ch7017.c
dvo_ivch.c
dvo_ns2501.c drm/i915: drop __FUNCTION__ as argument to DRM_DEBUG_KMS 2014-04-01 22:58:20 +02:00
dvo_sil164.c
dvo_tfp410.c
i915_cmd_parser.c drm/i915: Add OACONTROL to the command parser register whitelist. 2014-04-01 22:58:16 +02:00
i915_debugfs.c drm/i915: Match debugfs interface name to new RPS naming 2014-04-01 22:58:22 +02:00
i915_dma.c drm/i915: Add a CMD_PARSER_VERSION getparam 2014-04-01 22:58:15 +02:00
i915_drv.c drm/i915: prefer struct drm_i915_private to drm_i915_private_t 2014-03-31 15:34:21 +02:00
i915_drv.h drm/i915: Hide the per forcewake-engine register ranges 2014-04-01 22:58:21 +02:00
i915_gem.c drm/i915/gem: prefer struct drm_i915_private to drm_i915_private_t 2014-03-31 15:32:38 +02:00
i915_gem_context.c drm/i915: Per-process stats work better when evaluated per-process 2014-03-20 15:09:21 +01:00
i915_gem_debug.c drm/i915: prefer struct drm_i915_private to drm_i915_private_t 2014-03-31 15:34:21 +02:00
i915_gem_dmabuf.c drm/i915: Pin pages whilst allocating for dma-buf vmap() 2013-11-29 15:51:20 +01:00
i915_gem_evict.c drm/i915: prefer struct drm_i915_private to drm_i915_private_t 2014-03-31 15:34:21 +02:00
i915_gem_execbuffer.c drm/i915: prefer struct drm_i915_private to drm_i915_private_t 2014-03-31 15:34:21 +02:00
i915_gem_gtt.c drm/i915: Allow full PPGTT with param override 2014-04-01 22:58:07 +02:00
i915_gem_gtt.h drm/i915: Split out GTT specific header file 2014-04-01 22:58:07 +02:00
i915_gem_stolen.c drm/i915: restrict vt-d stolen memory workaround to pre-gen8 2014-03-31 10:45:34 +02:00
i915_gem_tiling.c drm/i915: prefer struct drm_i915_private to drm_i915_private_t 2014-03-31 15:34:21 +02:00
i915_gpu_error.c drm/i915: prefer struct drm_i915_private to drm_i915_private_t 2014-03-31 15:34:21 +02:00
i915_ioc32.c
i915_irq.c drm/i915: make semaphore signaller detection more robust 2014-04-01 22:58:06 +02:00
i915_params.c drm/i915: Enable command parsing by default 2014-04-01 22:58:15 +02:00
i915_reg.h drm/i915: Add OACONTROL to the command parser register whitelist. 2014-04-01 22:58:16 +02:00
i915_suspend.c drm/i915: Kill most of the FBC register save/restore 2014-01-25 21:17:03 +01:00
i915_sysfs.c drm/i915: remove rps local variables 2014-03-20 14:46:07 +01:00
i915_trace.h drm/i915: Do not dereference pointers from ring buffer in evict event 2014-03-19 08:17:29 +01:00
i915_trace_points.c
i915_ums.c drm/i915: Only restore backlight combination mode reg for ums 2014-01-24 17:22:45 +01:00
intel_acpi.c Merge branch 'acpi-dsm' 2014-01-12 23:45:52 +01:00
intel_bios.c drm/i915: Update VBT data structures to have MIPI block enhancements 2014-03-05 21:30:12 +01:00
intel_bios.h drm/i915: Update VBT data structures to have MIPI block enhancements 2014-03-05 21:30:12 +01:00
intel_crt.c drm/i915: Allow HDMI+VGA cloning 2014-03-10 21:48:08 +01:00
intel_ddi.c drm/i915: fix WARNs when reading DDI state while suspended 2014-04-01 22:53:45 +02:00
intel_display.c drm/i915: Don't store the max cursor width/height in the crtc 2014-04-01 22:58:19 +02:00
intel_dp.c drm/i915: vlv: get power domain for eDP vdd 2014-04-01 22:58:18 +02:00
intel_drv.h drm/i915: Don't store the max cursor width/height in the crtc 2014-04-01 22:58:19 +02:00
intel_dsi.c drm/i915: Make encoder cloning more flexible 2014-03-10 21:33:26 +01:00
intel_dsi.h drm/i915: Parametrize the dphy and other spec specific parameters 2013-12-11 23:52:20 +01:00
intel_dsi_cmd.c drm/i915/dsi: s/size_t/int/ 2013-09-04 17:34:51 +02:00
intel_dsi_cmd.h drm/i915/dsi: s/size_t/int/ 2013-09-04 17:34:51 +02:00
intel_dsi_pll.c drm/i915: Try harder to get best m, n, p values with minimal error 2013-12-11 23:52:18 +01:00
intel_dvo.c drm/i915: Make encoder cloning more flexible 2014-03-10 21:33:26 +01:00
intel_fbdev.c drm/i915: remove early fb allocation dependency on CONFIG_FB v2 2014-03-08 11:31:58 +01:00
intel_hdmi.c Linux 3.14-rc7 2014-03-18 19:12:31 +10:00
intel_i2c.c drm/i915: Disable dp aux irq on g4x 2014-02-07 16:40:07 +01:00
intel_lvds.c drm/i915: add locking to fixed panel edid probing 2014-03-28 18:25:18 +01:00
intel_modes.c
intel_opregion.c Merge tag 'drm-intel-fixes-2014-02-06' of ssh://git.freedesktop.org/git/drm-intel into drm-next 2014-02-11 12:57:27 +10:00
intel_overlay.c drm/i915/overlay: prefer struct drm_i915_private to drm_i915_private_t 2014-03-31 15:33:02 +02:00
intel_panel.c Linux 3.14-rc7 2014-03-18 19:12:31 +10:00
intel_pm.c drm/i915: vlv: cache current CD clock rate 2014-04-01 22:58:18 +02:00
intel_ringbuffer.c drm/i915: Rename GFX_TLB_INVALIDATE_ALWAYS 2014-04-01 22:58:04 +02:00
intel_ringbuffer.h drm/i915: Broadwell expands ACTHD to 64bit 2014-03-28 18:33:14 +01:00
intel_sdvo.c drm/i915/sdvo: fix questionable return value check 2014-03-21 16:13:14 +01:00
intel_sdvo_regs.h drm/i915: use __packed instead of __attribute__((packed)) 2013-12-03 18:19:49 +01:00
intel_sideband.c drm/i915: Use FLISDSI interface for band gap reset 2013-12-11 23:52:17 +01:00
intel_sprite.c drm/i915: Shuffle sprite register writes into a tighter group 2014-01-24 17:22:53 +01:00
intel_tv.c drm/i915/tv: fix gen4 composite s-video tv-out 2014-03-28 18:33:16 +01:00
intel_uncore.c drm/i915: Use a macro to express the range of valid gens for reg_read 2014-04-01 22:58:23 +02:00