Message ID | 20210708231821.9163-9-anusha.srivatsa@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Get stepping info from RUNTIME_INFO->step | expand |
On Thu, Jul 08, 2021 at 04:18:19PM -0700, Anusha Srivatsa wrote: > Switch BXT to use a revid->stepping table as we're trying to do on all > platforms going forward. > > Signed-off-by: Anusha Srivatsa <anusha.srivatsa@intel.com> > --- > drivers/gpu/drm/i915/intel_step.c | 12 ++++++++++++ > 1 file changed, 12 insertions(+) > > diff --git a/drivers/gpu/drm/i915/intel_step.c b/drivers/gpu/drm/i915/intel_step.c > index c4ce02d22828..99c0d3df001b 100644 > --- a/drivers/gpu/drm/i915/intel_step.c > +++ b/drivers/gpu/drm/i915/intel_step.c > @@ -31,6 +31,15 @@ static const struct intel_step_info skl_revid_step_tbl[] = { > [0xA] = { .gt_step = STEP_I1, .display_step = STEP_I1 }, > }; > > +static const struct intel_step_info bxt_revids[] = { > + [0] = { .gt_step = STEP_A0 }, > + [1] = { .gt_step = STEP_A1 }, > + [2] = { .gt_step = STEP_A2 }, > + [6] = { .gt_step = STEP_B0 }, > + [7] = { .gt_step = STEP_B1 }, > + [8] = { .gt_step = STEP_B2 }, I realize the mistake originates from the #define's that you're replacing with these tables, but the values in this table aren't the correct GT/display steppings, but rather the SoC stepping; that's the wrong thing for us to be matching on for workarounds, DMC versions, etc. You want to use column #4 of the bspec table, not column #2. Also we need to update this to use the proper revisions from the bspec; most of the ones you have here were temporary placeholders before the platform was released and the actual revisions that showed up in real hardware are higher than any of your table entries. If we take into account the right-most column of the bspec we'd actually want: static const struct intel_step_info bxt_revids[] = { [0xA] = { .gt_step = STEP_C0 }, [0xB] = { .gt_step = STEP_C0 }, [0xC] = { .gt_step = STEP_D0 }, [0xD] = { .gt_step = STEP_E0 }, }; Matt > +}; > + > static const struct intel_step_info kbl_revid_step_tbl[] = { > [0] = { .gt_step = STEP_A0, .display_step = STEP_A0 }, > [1] = { .gt_step = STEP_B0, .display_step = STEP_B0 }, > @@ -129,6 +138,9 @@ void intel_step_init(struct drm_i915_private *i915) > } else if (IS_KABYLAKE(i915)) { > revids = kbl_revid_step_tbl; > size = ARRAY_SIZE(kbl_revid_step_tbl); > + } else if (IS_BROXTON(i915)) { > + revids = bxt_revids; > + size = ARRAY_SIZE(bxt_revids); > } else if (IS_SKYLAKE(i915)) { > revids = skl_revid_step_tbl; > size = ARRAY_SIZE(skl_revid_step_tbl); > -- > 2.32.0 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/intel-gfx
diff --git a/drivers/gpu/drm/i915/intel_step.c b/drivers/gpu/drm/i915/intel_step.c index c4ce02d22828..99c0d3df001b 100644 --- a/drivers/gpu/drm/i915/intel_step.c +++ b/drivers/gpu/drm/i915/intel_step.c @@ -31,6 +31,15 @@ static const struct intel_step_info skl_revid_step_tbl[] = { [0xA] = { .gt_step = STEP_I1, .display_step = STEP_I1 }, }; +static const struct intel_step_info bxt_revids[] = { + [0] = { .gt_step = STEP_A0 }, + [1] = { .gt_step = STEP_A1 }, + [2] = { .gt_step = STEP_A2 }, + [6] = { .gt_step = STEP_B0 }, + [7] = { .gt_step = STEP_B1 }, + [8] = { .gt_step = STEP_B2 }, +}; + static const struct intel_step_info kbl_revid_step_tbl[] = { [0] = { .gt_step = STEP_A0, .display_step = STEP_A0 }, [1] = { .gt_step = STEP_B0, .display_step = STEP_B0 }, @@ -129,6 +138,9 @@ void intel_step_init(struct drm_i915_private *i915) } else if (IS_KABYLAKE(i915)) { revids = kbl_revid_step_tbl; size = ARRAY_SIZE(kbl_revid_step_tbl); + } else if (IS_BROXTON(i915)) { + revids = bxt_revids; + size = ARRAY_SIZE(bxt_revids); } else if (IS_SKYLAKE(i915)) { revids = skl_revid_step_tbl; size = ARRAY_SIZE(skl_revid_step_tbl);
Switch BXT to use a revid->stepping table as we're trying to do on all platforms going forward. Signed-off-by: Anusha Srivatsa <anusha.srivatsa@intel.com> --- drivers/gpu/drm/i915/intel_step.c | 12 ++++++++++++ 1 file changed, 12 insertions(+)