Commit f567947b authored by Lucas De Marchi's avatar Lucas De Marchi

drm/i915/gt: Move wal_get_fw_for_rmw()

Move helper function to get all the forcewakes required by the wa list
to the top, so it can be re-used by other functions.
Signed-off-by: default avatarLucas De Marchi <lucas.demarchi@intel.com>
Reviewed-by: default avatarKenneth Graunke <kenneth@whitecape.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20230630203509.1635216-2-lucas.demarchi@intel.com
parent 36dd2a6e
...@@ -123,6 +123,22 @@ static void wa_init_finish(struct i915_wa_list *wal) ...@@ -123,6 +123,22 @@ static void wa_init_finish(struct i915_wa_list *wal)
wal->wa_count, wal->name, wal->engine_name); wal->wa_count, wal->name, wal->engine_name);
} }
static enum forcewake_domains
wal_get_fw_for_rmw(struct intel_uncore *uncore, const struct i915_wa_list *wal)
{
enum forcewake_domains fw = 0;
struct i915_wa *wa;
unsigned int i;
for (i = 0, wa = wal->list; i < wal->count; i++, wa++)
fw |= intel_uncore_forcewake_for_reg(uncore,
wa->reg,
FW_REG_READ |
FW_REG_WRITE);
return fw;
}
static void _wa_add(struct i915_wa_list *wal, const struct i915_wa *wa) static void _wa_add(struct i915_wa_list *wal, const struct i915_wa *wa)
{ {
unsigned int addr = i915_mmio_reg_offset(wa->reg); unsigned int addr = i915_mmio_reg_offset(wa->reg);
...@@ -1859,22 +1875,6 @@ void intel_gt_init_workarounds(struct intel_gt *gt) ...@@ -1859,22 +1875,6 @@ void intel_gt_init_workarounds(struct intel_gt *gt)
wa_init_finish(wal); wa_init_finish(wal);
} }
static enum forcewake_domains
wal_get_fw_for_rmw(struct intel_uncore *uncore, const struct i915_wa_list *wal)
{
enum forcewake_domains fw = 0;
struct i915_wa *wa;
unsigned int i;
for (i = 0, wa = wal->list; i < wal->count; i++, wa++)
fw |= intel_uncore_forcewake_for_reg(uncore,
wa->reg,
FW_REG_READ |
FW_REG_WRITE);
return fw;
}
static bool static bool
wa_verify(struct intel_gt *gt, const struct i915_wa *wa, u32 cur, wa_verify(struct intel_gt *gt, const struct i915_wa *wa, u32 cur,
const char *name, const char *from) const char *name, const char *from)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment