[Intel-gfx] [PATCH] drm/i915/hsw: add missing disabled EUs registers reads
Joonas Lahtinen
joonas.lahtinen at linux.intel.com
Wed Feb 21 18:50:29 UTC 2018
Quoting Lionel Landwerlin (2018-02-16 17:31:01)
> +static void haswell_sseu_info_init(struct drm_i915_private *dev_priv)
> +{
> + struct intel_device_info *info = mkwrite_device_info(dev_priv);
> + struct sseu_dev_info *sseu = &info->sseu;
> + u32 fuse1;
> +
> + /*
> + * There isn't a register to tell us how many slices/subslices. We
> + * work off the PCI-ids here.
> + */
> + switch (info->gt) {
> + case 1:
> + sseu->slice_mask = BIT(0);
> + sseu->subslice_mask = BIT(0);
> + break;
> + case 2:
> + sseu->slice_mask = BIT(0);
> + sseu->subslice_mask = BIT(0) | BIT(1);
> + break;
> + case 3:
> + sseu->slice_mask = BIT(0) | BIT(1);
> + sseu->subslice_mask = BIT(0) | BIT(1);
> + break;
> + default:
> + GEM_BUG_ON(true);
MISSING_CASE() and maybe return GT1 values in the default case? So how
about:
default:
MISSING_CASE(info->gt);
case 1:
...
> + break;
> + }
> +
> + fuse1 = I915_READ(HSW_PAVP_FUSE1);
> + switch ((fuse1 & HSW_F1_EU_DIS_MASK) >> HSW_F1_EU_DIS_SHIFT) {
> + case HSW_F1_EU_DIS_MASK_10EUS:
> + sseu->eu_per_subslice = 10;
> + break;
> + case HSW_F1_EU_DIS_MASK_8EUS:
> + sseu->eu_per_subslice = 8;
> + break;
> + case HSW_F1_EU_DIS_MASK_6EUS:
> + sseu->eu_per_subslice = 6;
> + break;
> + default:
> + GEM_BUG_ON(true);
> + break;
Ditto.
With at least s/GEM_BUG_ON(true)/MISSING_CASE(val)/, this is:
Reviewed-by: Joonas Lahtinen <joonas.lahtinen at linux.intel.com>
Regards, Joonas
More information about the Intel-gfx
mailing list