mirror of
https://github.com/torvalds/linux.git
synced 2026-06-03 12:03:54 +02:00
drm/xe: Move Wa 1607983814 to oob
needs_wa_1607983814() predates wa_oob, so it was not being printed in /sys/kernel/debug/dri/0/*/workarounds. Port it to OOB rules. This makes the WA show up in debugfs. For TGL: OOB Workarounds 1607983814 22012773006 1409600907 Eventually the RTP infra may add support for writing registers in a loop, which would allow to keep track of the registers as well. But for now, just listing it as OOB workaround is already an improvement. Reviewed-by: Matt Roper <matthew.d.roper@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20241029193258.749882-1-lucas.demarchi@intel.com Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
This commit is contained in:
parent
2aff81e039
commit
8262db9eff
|
|
@ -231,11 +231,6 @@ static size_t guc_ads_size(struct xe_guc_ads *ads)
|
|||
guc_ads_private_data_size(ads);
|
||||
}
|
||||
|
||||
static bool needs_wa_1607983814(struct xe_device *xe)
|
||||
{
|
||||
return GRAPHICS_VERx100(xe) < 1250;
|
||||
}
|
||||
|
||||
static size_t calculate_regset_size(struct xe_gt *gt)
|
||||
{
|
||||
struct xe_reg_sr_entry *sr_entry;
|
||||
|
|
@ -250,7 +245,7 @@ static size_t calculate_regset_size(struct xe_gt *gt)
|
|||
|
||||
count += ADS_REGSET_EXTRA_MAX * XE_NUM_HW_ENGINES;
|
||||
|
||||
if (needs_wa_1607983814(gt_to_xe(gt)))
|
||||
if (XE_WA(gt, 1607983814))
|
||||
count += LNCFCMOCS_REG_COUNT;
|
||||
|
||||
return count * sizeof(struct guc_mmio_reg);
|
||||
|
|
@ -709,7 +704,6 @@ static unsigned int guc_mmio_regset_write(struct xe_guc_ads *ads,
|
|||
struct iosys_map *regset_map,
|
||||
struct xe_hw_engine *hwe)
|
||||
{
|
||||
struct xe_device *xe = ads_to_xe(ads);
|
||||
struct xe_hw_engine *hwe_rcs_reset_domain =
|
||||
xe_gt_any_hw_engine_by_reset_domain(hwe->gt, XE_ENGINE_CLASS_RENDER);
|
||||
struct xe_reg_sr_entry *entry;
|
||||
|
|
@ -740,8 +734,7 @@ static unsigned int guc_mmio_regset_write(struct xe_guc_ads *ads,
|
|||
guc_mmio_regset_write_one(ads, regset_map, e->reg, count++);
|
||||
}
|
||||
|
||||
/* Wa_1607983814 */
|
||||
if (needs_wa_1607983814(xe) && hwe->class == XE_ENGINE_CLASS_RENDER) {
|
||||
if (XE_WA(hwe->gt, 1607983814) && hwe->class == XE_ENGINE_CLASS_RENDER) {
|
||||
for (i = 0; i < LNCFCMOCS_REG_COUNT; i++) {
|
||||
guc_mmio_regset_write_one(ads, regset_map,
|
||||
XELP_LNCFCMOCS(i), count++);
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
1607983814 GRAPHICS_VERSION_RANGE(1200, 1210)
|
||||
22012773006 GRAPHICS_VERSION_RANGE(1200, 1250)
|
||||
14014475959 GRAPHICS_VERSION_RANGE(1270, 1271), GRAPHICS_STEP(A0, B0)
|
||||
PLATFORM(DG2)
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user