mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-05 21:44:23 -04:00
drm/i915: Add function to call a power well's sync_hw() hook
Add a function to call a power well's sync_hw() hook, instead of open-coding the same, as a step towards making the low-level power well internals (i915_power_well_ops/desc structs) hidden. The cached-enable state should be always up-to-date, so update it whenever sync_hw() is called. No functional change. Suggested-by: Jani Nikula <jani.nikula@intel.com> Cc: Jani Nikula <jani.nikula@intel.com> Signed-off-by: Imre Deak <imre.deak@intel.com> Reviewed-by: Jouni Högander <jouni.hogander@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20220222165137.1004194-7-imre.deak@intel.com
This commit is contained in:
@@ -5016,11 +5016,8 @@ static void intel_power_domains_sync_hw(struct drm_i915_private *dev_priv)
|
||||
struct i915_power_well *power_well;
|
||||
|
||||
mutex_lock(&power_domains->lock);
|
||||
for_each_power_well(dev_priv, power_well) {
|
||||
power_well->desc->ops->sync_hw(dev_priv, power_well);
|
||||
power_well->hw_enabled =
|
||||
power_well->desc->ops->is_enabled(dev_priv, power_well);
|
||||
}
|
||||
for_each_power_well(dev_priv, power_well)
|
||||
intel_power_well_sync_hw(dev_priv, power_well);
|
||||
mutex_unlock(&power_domains->lock);
|
||||
}
|
||||
|
||||
|
||||
@@ -22,6 +22,14 @@ void intel_power_well_disable(struct drm_i915_private *i915,
|
||||
power_well->desc->ops->disable(i915, power_well);
|
||||
}
|
||||
|
||||
void intel_power_well_sync_hw(struct drm_i915_private *i915,
|
||||
struct i915_power_well *power_well)
|
||||
{
|
||||
power_well->desc->ops->sync_hw(i915, power_well);
|
||||
power_well->hw_enabled =
|
||||
power_well->desc->ops->is_enabled(i915, power_well);
|
||||
}
|
||||
|
||||
void intel_power_well_get(struct drm_i915_private *i915,
|
||||
struct i915_power_well *power_well)
|
||||
{
|
||||
|
||||
@@ -107,6 +107,8 @@ void intel_power_well_enable(struct drm_i915_private *i915,
|
||||
struct i915_power_well *power_well);
|
||||
void intel_power_well_disable(struct drm_i915_private *i915,
|
||||
struct i915_power_well *power_well);
|
||||
void intel_power_well_sync_hw(struct drm_i915_private *i915,
|
||||
struct i915_power_well *power_well);
|
||||
void intel_power_well_get(struct drm_i915_private *i915,
|
||||
struct i915_power_well *power_well);
|
||||
void intel_power_well_put(struct drm_i915_private *i915,
|
||||
|
||||
Reference in New Issue
Block a user