mirror of
https://github.com/torvalds/linux.git
synced 2026-09-22 04:34:03 +02:00
drm/xe/bmg: Update Wa_14022085890
Set GT min frequency to 1200Mhz once driver load is complete. v2: Review comments (Rodrigo) v3: Apply Wa earlier so user_req_min is not clobbered. v4: Apply to all GTs (Lucas) Cc: Matt Roper <matthew.d.roper@intel.com> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com> Signed-off-by: Vinay Belgaumkar <vinay.belgaumkar@intel.com> Reviewed-by: Stuart Summers <stuart.summers@intel.com> Link: https://lore.kernel.org/r/20250612-wa-14022085890-v4-3-94ba5dcc1e30@intel.com Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
This commit is contained in:
parent
6ab42fa03d
commit
bdde16c9ac
|
|
@ -51,6 +51,7 @@
|
||||||
|
|
||||||
#define LNL_MERT_FREQ_CAP 800
|
#define LNL_MERT_FREQ_CAP 800
|
||||||
#define BMG_MERT_FREQ_CAP 2133
|
#define BMG_MERT_FREQ_CAP 2133
|
||||||
|
#define BMG_MIN_FREQ 1200
|
||||||
|
|
||||||
#define SLPC_RESET_TIMEOUT_MS 5 /* roughly 5ms, but no need for precision */
|
#define SLPC_RESET_TIMEOUT_MS 5 /* roughly 5ms, but no need for precision */
|
||||||
#define SLPC_RESET_EXTENDED_TIMEOUT_MS 1000 /* To be used only at pc_start */
|
#define SLPC_RESET_EXTENDED_TIMEOUT_MS 1000 /* To be used only at pc_start */
|
||||||
|
|
@ -817,6 +818,7 @@ void xe_guc_pc_init_early(struct xe_guc_pc *pc)
|
||||||
|
|
||||||
static int pc_adjust_freq_bounds(struct xe_guc_pc *pc)
|
static int pc_adjust_freq_bounds(struct xe_guc_pc *pc)
|
||||||
{
|
{
|
||||||
|
struct xe_tile *tile = gt_to_tile(pc_to_gt(pc));
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
lockdep_assert_held(&pc->freq_lock);
|
lockdep_assert_held(&pc->freq_lock);
|
||||||
|
|
@ -843,6 +845,9 @@ static int pc_adjust_freq_bounds(struct xe_guc_pc *pc)
|
||||||
if (pc_get_min_freq(pc) > pc->rp0_freq)
|
if (pc_get_min_freq(pc) > pc->rp0_freq)
|
||||||
ret = pc_set_min_freq(pc, pc->rp0_freq);
|
ret = pc_set_min_freq(pc, pc->rp0_freq);
|
||||||
|
|
||||||
|
if (XE_WA(tile->primary_gt, 14022085890))
|
||||||
|
ret = pc_set_min_freq(pc, max(BMG_MIN_FREQ, pc_get_min_freq(pc)));
|
||||||
|
|
||||||
out:
|
out:
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -59,3 +59,7 @@ no_media_l3 MEDIA_VERSION(3000)
|
||||||
MEDIA_VERSION_RANGE(1301, 3000)
|
MEDIA_VERSION_RANGE(1301, 3000)
|
||||||
16026508708 GRAPHICS_VERSION_RANGE(1200, 3001)
|
16026508708 GRAPHICS_VERSION_RANGE(1200, 3001)
|
||||||
MEDIA_VERSION_RANGE(1300, 3000)
|
MEDIA_VERSION_RANGE(1300, 3000)
|
||||||
|
|
||||||
|
# SoC workaround - currently applies to all platforms with the following
|
||||||
|
# primary GT GMDID
|
||||||
|
14022085890 GRAPHICS_VERSION(2001)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user