Re: [PATCH 08/10] drm/i915/bxt: Use revid->stepping tables

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxx>
> ---
>  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@xxxxxxxxxxxxxxxxxxxxx
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Matt Roper
Graphics Software Engineer
VTT-OSGC Platform Enablement
Intel Corporation
(916) 356-2795
_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/intel-gfx



[Index of Archives]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux