BUILD_BUG_ON(sizeof(guc->params) != GUC_CTL_MAX_DWORDS * sizeof(u32));
        BUILD_BUG_ON(GUC_CTL_MAX_DWORDS + 2 != SOFT_SCRATCH_COUNT);
 
+       params[GUC_CTL_LOG_PARAMS] = guc_ctl_log_params_flags(guc);
+       params[GUC_CTL_FEATURE] = 0;
+       params[GUC_CTL_DEBUG] = guc_ctl_debug_flags(guc);
+       params[GUC_CTL_ADS] = guc_ctl_ads_flags(guc);
+       params[GUC_CTL_WA] = 0;
+       params[GUC_CTL_DEVID] = guc_ctl_devid(guc);
+
+       for (i = 0; i < GUC_CTL_MAX_DWORDS; i++)
+               drm_dbg(&xe->drm, "GuC param[%2d] = 0x%08x\n", i, params[i]);
+}
+
+static void guc_init_params_post_hwconfig(struct xe_guc *guc)
+{
+       struct xe_device *xe = guc_to_xe(guc);
+       u32 *params = guc->params;
+       int i;
+
+       BUILD_BUG_ON(sizeof(guc->params) != GUC_CTL_MAX_DWORDS * sizeof(u32));
+       BUILD_BUG_ON(GUC_CTL_MAX_DWORDS + 2 != SOFT_SCRATCH_COUNT);
+
        params[GUC_CTL_LOG_PARAMS] = guc_ctl_log_params_flags(guc);
        params[GUC_CTL_FEATURE] = guc_ctl_feature_flags(guc);
        params[GUC_CTL_DEBUG] = guc_ctl_debug_flags(guc);
  */
 int xe_guc_init_post_hwconfig(struct xe_guc *guc)
 {
+       guc_init_params_post_hwconfig(guc);
+
        return xe_guc_ads_init_post_hwconfig(&guc->ads);
 }