func(has_fpga_dbg); \
        func(has_full_ppgtt); \
        func(has_full_48bit_ppgtt); \
-       func(has_gmbus_irq); \
        func(has_gmch_display); \
        func(has_guc); \
        func(has_guc_ct); \
  * even when in MSI mode. This results in spurious interrupt warnings if the
  * legacy irq no. is shared with another device. The kernel then disables that
  * interrupt source and so prevents the other device from working properly.
+ *
+ * Since we don't enable MSI anymore on gen4, we can always use GMBUS/AUX
+ * interrupts.
  */
-#define HAS_AUX_IRQ(dev_priv)   ((dev_priv)->info.gen >= 5)
-#define HAS_GMBUS_IRQ(dev_priv) ((dev_priv)->info.has_gmbus_irq)
+#define HAS_AUX_IRQ(dev_priv)   true
+#define HAS_GMBUS_IRQ(dev_priv) (INTEL_GEN(dev_priv) >= 4)
 
 /* With the 945 and later, Y tiling got adjusted so that it was 32 128-byte
  * rows, which changed the alignment requirements and fence programming.
 
 #define GEN5_FEATURES \
        .gen = 5, .num_pipes = 2, \
        .has_hotplug = 1, \
-       .has_gmbus_irq = 1, \
        .ring_mask = RENDER_RING | BSD_RING, \
        .has_snoop = true, \
        GEN_DEFAULT_PIPEOFFSETS, \
        .has_llc = 1, \
        .has_rc6 = 1, \
        .has_rc6p = 1, \
-       .has_gmbus_irq = 1, \
        .has_aliasing_ppgtt = 1, \
        GEN_DEFAULT_PIPEOFFSETS, \
        CURSOR_OFFSETS
        .has_llc = 1, \
        .has_rc6 = 1, \
        .has_rc6p = 1, \
-       .has_gmbus_irq = 1, \
        .has_aliasing_ppgtt = 1, \
        .has_full_ppgtt = 1, \
        GEN_DEFAULT_PIPEOFFSETS, \
        .has_psr = 1,
        .has_runtime_pm = 1,
        .has_rc6 = 1,
-       .has_gmbus_irq = 1,
        .has_gmch_display = 1,
        .has_hotplug = 1,
        .has_aliasing_ppgtt = 1,
        .has_runtime_pm = 1,
        .has_resource_streamer = 1,
        .has_rc6 = 1,
-       .has_gmbus_irq = 1,
        .has_logical_ring_contexts = 1,
        .has_gmch_display = 1,
        .has_aliasing_ppgtt = 1,
        .has_resource_streamer = 1, \
        .has_rc6 = 1, \
        .has_dp_mst = 1, \
-       .has_gmbus_irq = 1, \
        .has_logical_ring_contexts = 1, \
        .has_guc = 1, \
        .has_aliasing_ppgtt = 1, \