-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
drm/i915: split out stepping info to a new file
gt/intel_workarounds.c is decidedly the wrong place for handling stepping info. Add new intel_step.[ch] for the data, and move the stepping arrays there. No functional changes. v2: Rename stepping->step Reviewed-by: Lucas De Marchi <lucas.demarchi@intel.com> Signed-off-by: Jani Nikula <jani.nikula@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/f69baf82819a8a35815fca25a520de5c38a7e1b5.1616764798.git.jani.nikula@intel.com
- Loading branch information
Jani Nikula
committed
Mar 29, 2021
1 parent
93fe862
commit 7eb186b
Showing
5 changed files
with
74 additions
and
56 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
// SPDX-License-Identifier: MIT | ||
/* | ||
* Copyright © 2020,2021 Intel Corporation | ||
*/ | ||
|
||
#include "i915_drv.h" | ||
#include "intel_step.h" | ||
|
||
/* | ||
* KBL revision ID ordering is bizarre; higher revision ID's map to lower | ||
* steppings in some cases. So rather than test against the revision ID | ||
* directly, let's map that into our own range of increasing ID's that we | ||
* can test against in a regular manner. | ||
*/ | ||
|
||
const struct i915_rev_steppings kbl_revids[] = { | ||
[0] = { .gt_stepping = KBL_REVID_A0, .disp_stepping = KBL_REVID_A0 }, | ||
[1] = { .gt_stepping = KBL_REVID_B0, .disp_stepping = KBL_REVID_B0 }, | ||
[2] = { .gt_stepping = KBL_REVID_C0, .disp_stepping = KBL_REVID_B0 }, | ||
[3] = { .gt_stepping = KBL_REVID_D0, .disp_stepping = KBL_REVID_B0 }, | ||
[4] = { .gt_stepping = KBL_REVID_F0, .disp_stepping = KBL_REVID_C0 }, | ||
[5] = { .gt_stepping = KBL_REVID_C0, .disp_stepping = KBL_REVID_B1 }, | ||
[6] = { .gt_stepping = KBL_REVID_D1, .disp_stepping = KBL_REVID_B1 }, | ||
[7] = { .gt_stepping = KBL_REVID_G0, .disp_stepping = KBL_REVID_C0 }, | ||
}; | ||
|
||
const struct i915_rev_steppings tgl_uy_revid_step_tbl[] = { | ||
[0] = { .gt_stepping = STEP_A0, .disp_stepping = STEP_A0 }, | ||
[1] = { .gt_stepping = STEP_B0, .disp_stepping = STEP_C0 }, | ||
[2] = { .gt_stepping = STEP_B1, .disp_stepping = STEP_C0 }, | ||
[3] = { .gt_stepping = STEP_C0, .disp_stepping = STEP_D0 }, | ||
}; | ||
|
||
/* Same GT stepping between tgl_uy_revids and tgl_revids don't mean the same HW */ | ||
const struct i915_rev_steppings tgl_revid_step_tbl[] = { | ||
[0] = { .gt_stepping = STEP_A0, .disp_stepping = STEP_B0 }, | ||
[1] = { .gt_stepping = STEP_B0, .disp_stepping = STEP_D0 }, | ||
}; | ||
|
||
const struct i915_rev_steppings adls_revid_step_tbl[] = { | ||
[0x0] = { .gt_stepping = STEP_A0, .disp_stepping = STEP_A0 }, | ||
[0x1] = { .gt_stepping = STEP_A0, .disp_stepping = STEP_A2 }, | ||
[0x4] = { .gt_stepping = STEP_B0, .disp_stepping = STEP_B0 }, | ||
[0x8] = { .gt_stepping = STEP_C0, .disp_stepping = STEP_B0 }, | ||
[0xC] = { .gt_stepping = STEP_D0, .disp_stepping = STEP_C0 }, | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
/* SPDX-License-Identifier: MIT */ | ||
/* | ||
* Copyright © 2020,2021 Intel Corporation | ||
*/ | ||
|
||
#ifndef __INTEL_STEP_H__ | ||
#define __INTEL_STEP_H__ | ||
|
||
#include <linux/types.h> | ||
|
||
struct i915_rev_steppings { | ||
u8 gt_stepping; | ||
u8 disp_stepping; | ||
}; | ||
|
||
#define TGL_UY_REVID_STEP_TBL_SIZE 4 | ||
#define TGL_REVID_STEP_TBL_SIZE 2 | ||
#define ADLS_REVID_STEP_TBL_SIZE 13 | ||
|
||
extern const struct i915_rev_steppings kbl_revids[]; | ||
extern const struct i915_rev_steppings tgl_uy_revid_step_tbl[TGL_UY_REVID_STEP_TBL_SIZE]; | ||
extern const struct i915_rev_steppings tgl_revid_step_tbl[TGL_REVID_STEP_TBL_SIZE]; | ||
extern const struct i915_rev_steppings adls_revid_step_tbl[ADLS_REVID_STEP_TBL_SIZE]; | ||
|
||
#endif /* __INTEL_STEP_H__ */ |