diff options
author | Jani Nikula <jani.nikula@intel.com> | 2023-02-13 21:59:59 +0200 |
---|---|---|
committer | Jani Nikula <jani.nikula@intel.com> | 2023-02-15 12:00:50 +0200 |
commit | 0e7a16f9ddde61d7d65bae9c7ddda2e4a22cbc12 (patch) | |
tree | 909fd4594df53870ccfb7570754b7ddf64cf5af6 /drivers/gpu/drm/i915/display/intel_wm.h | |
parent | 284c5baa44218ef615ed8f5edcd6cfdedaef6abc (diff) | |
download | linux-0e7a16f9ddde61d7d65bae9c7ddda2e4a22cbc12.tar.gz linux-0e7a16f9ddde61d7d65bae9c7ddda2e4a22cbc12.tar.bz2 linux-0e7a16f9ddde61d7d65bae9c7ddda2e4a22cbc12.zip |
drm/i915/wm: add .get_hw_state to watermark funcs
Get rid of the if ladder in intel_modeset_setup_hw_state() and hide a
number of functions by adding a .get_hw_state() hook to watermark
functions. At least for now, combine the platform specific sanitization
to the hw state readouts on the relevant platforms instead of adding a
separate hook for that.
There's a functional change on PCH split platforms: If i9xx_wm_init()
fails to read plane latency and chooses the nop functions,
ilk_wm_get_hw_state() won't get called for readout. Add the
ilk_init_lp_watermarks() call on that path which now won't be called in
.get_hw_state(), as it looks like the only thing that could make a
difference.
v2:
- Add missing static (kernel test robot)
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/6da32831e40606cc8b90491b83196917f2ce36ab.1676317696.git.jani.nikula@intel.com
Diffstat (limited to 'drivers/gpu/drm/i915/display/intel_wm.h')
-rw-r--r-- | drivers/gpu/drm/i915/display/intel_wm.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/display/intel_wm.h b/drivers/gpu/drm/i915/display/intel_wm.h index 2b62f818099e..dc582967a25e 100644 --- a/drivers/gpu/drm/i915/display/intel_wm.h +++ b/drivers/gpu/drm/i915/display/intel_wm.h @@ -26,6 +26,7 @@ void intel_atomic_update_watermarks(struct intel_atomic_state *state, void intel_optimize_watermarks(struct intel_atomic_state *state, struct intel_crtc *crtc); int intel_compute_global_watermarks(struct intel_atomic_state *state); +void intel_wm_get_hw_state(struct drm_i915_private *i915); bool intel_wm_plane_visible(const struct intel_crtc_state *crtc_state, const struct intel_plane_state *plane_state); void intel_print_wm_latency(struct drm_i915_private *i915, |