#define IS_ELKHARTLAKE(dev_priv)       IS_PLATFORM(dev_priv, INTEL_ELKHARTLAKE)
 #define IS_TIGERLAKE(dev_priv) IS_PLATFORM(dev_priv, INTEL_TIGERLAKE)
 #define IS_ROCKETLAKE(dev_priv)        IS_PLATFORM(dev_priv, INTEL_ROCKETLAKE)
+#define IS_DG1(dev_priv)        IS_PLATFORM(dev_priv, INTEL_DG1)
 #define IS_HSW_EARLY_SDV(dev_priv) (IS_HASWELL(dev_priv) && \
                                    (INTEL_DEVID(dev_priv) & 0xFF00) == 0x0C00)
 #define IS_BDW_ULT(dev_priv) \
 #define IS_RKL_REVID(p, since, until) \
        (IS_ROCKETLAKE(p) && IS_REVID(p, since, until))
 
+#define DG1_REVID_A0           0x0
+#define DG1_REVID_B0           0x1
+
+#define IS_DG1_REVID(p, since, until) \
+       (IS_DG1(p) && IS_REVID(p, since, until))
+
 #define IS_LP(dev_priv)        (INTEL_INFO(dev_priv)->is_lp)
 #define IS_GEN9_LP(dev_priv)   (IS_GEN(dev_priv, 9) && IS_LP(dev_priv))
 #define IS_GEN9_BC(dev_priv)   (IS_GEN(dev_priv, 9) && !IS_LP(dev_priv))
 
 
 #define GEN12_DGFX_FEATURES \
        GEN12_FEATURES, \
+       .memory_regions = REGION_SMEM | REGION_LMEM, \
+       .has_master_unit_irq = 1, \
        .is_dgfx = 1
 
+static const struct intel_device_info dg1_info __maybe_unused = {
+       GEN12_DGFX_FEATURES,
+       PLATFORM(INTEL_DG1),
+       .pipe_mask = BIT(PIPE_A) | BIT(PIPE_B) | BIT(PIPE_C) | BIT(PIPE_D),
+       .require_force_probe = 1,
+       .platform_engine_mask =
+               BIT(RCS0) | BIT(BCS0) | BIT(VECS0) |
+               BIT(VCS0) | BIT(VCS2),
+};
+
 #undef GEN
 #undef PLATFORM