Moving all GPU features to the platform definition allows for
        - standard place when adding new features from new platform
        - possible to see supported features when dumping struct
          definitions
Signed-off-by: Carlos Santa <carlos.santa@intel.com>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
        func(has_logical_ring_contexts) sep \
        func(has_l3_dpf) sep \
        func(has_gmch_display) sep \
+       func(has_guc) sep \
        func(has_pipe_cxsr) sep \
        func(has_hotplug) sep \
        func(cursor_needs_physical) sep \
  * command submission once loaded. But these are logically independent
  * properties, so we have separate macros to test them.
  */
-#define HAS_GUC(dev)           (IS_GEN9(dev))
+#define HAS_GUC(dev)           (INTEL_INFO(dev)->has_guc)
 #define HAS_GUC_UCODE(dev)     (HAS_GUC(dev))
 #define HAS_GUC_SCHED(dev)     (HAS_GUC(dev))
 
 
        .is_skylake = 1,
        .gen = 9,
        .has_csr = 1,
+       .has_guc = 1,
 };
 
 static const struct intel_device_info intel_skylake_gt3_info = {
        .is_skylake = 1,
        .gen = 9,
        .has_csr = 1,
+       .has_guc = 1,
        .ring_mask = RENDER_RING | BSD_RING | BLT_RING | VEBOX_RING | BSD2_RING,
 };
 
        .has_gmbus_irq = 1,
        .has_hw_contexts = 1,
        .has_logical_ring_contexts = 1,
+       .has_guc = 1,
        GEN_DEFAULT_PIPEOFFSETS,
        IVB_CURSOR_OFFSETS,
        BDW_COLORS,
        .is_kabylake = 1,
        .gen = 9,
        .has_csr = 1,
+       .has_guc = 1,
 };
 
 static const struct intel_device_info intel_kabylake_gt3_info = {
        .is_kabylake = 1,
        .gen = 9,
        .has_csr = 1,
+       .has_guc = 1,
        .ring_mask = RENDER_RING | BSD_RING | BLT_RING | VEBOX_RING | BSD2_RING,
 };