#define RUNTIME_INFO(dev_priv) (&(dev_priv)->__runtime)
 #define DRIVER_CAPS(dev_priv)  (&(dev_priv)->caps)
 
-#define INTEL_GEN(dev_priv)    (INTEL_INFO(dev_priv)->gen)
 #define INTEL_DEVID(dev_priv)  (RUNTIME_INFO(dev_priv)->device_id)
 
+/*
+ * Deprecated: this will be replaced by individual IP checks:
+ * GRAPHICS_VER(), MEDIA_VER() and DISPLAY_VER()
+ */
+#define INTEL_GEN(dev_priv)            (INTEL_INFO(dev_priv)->gen)
+
+#define GRAPHICS_VER(i915)             (INTEL_INFO(i915)->graphics_ver)
+#define IS_GRAPHICS_VER(i915, from, until) \
+       (GRAPHICS_VER(i915) >= (from) && GRAPHICS_VER(i915) <= (until))
+
+#define MEDIA_VER(i915)                        (INTEL_INFO(i915)->media_ver)
+#define IS_MEDIA_VER(i915, from, until) \
+       (MEDIA_VER(i915) >= (from) && MEDIA_VER(i915) <= (until))
+
 #define DISPLAY_VER(i915)      (INTEL_INFO(i915)->display.ver)
 #define IS_DISPLAY_VER(i915, from, until) \
        (DISPLAY_VER(i915) >= (from) && DISPLAY_VER(i915) <= (until))
 
 #include "i915_selftest.h"
 
 #define PLATFORM(x) .platform = (x)
-#define GEN(x) .gen = (x), .gen_mask = BIT((x) - 1), .display.ver = (x)
+#define GEN(x) \
+       .gen_mask = BIT((x) - 1), \
+       .gen = (x), \
+       .graphics_ver = (x), \
+       .media_ver = (x), \
+       .display.ver = (x)
 
 #define I845_PIPE_OFFSETS \
        .pipe_offsets = { \