summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/display/intel_display_core.h
diff options
context:
space:
mode:
authorJani Nikula <jani.nikula@intel.com>2022-08-24 16:15:31 +0300
committerJani Nikula <jani.nikula@intel.com>2022-08-29 12:01:53 +0300
commit103472c13f0afedab818a2c6469d78c2fb29ad8c (patch)
tree52d19274972f9081b518f2de5ed4152655430efd /drivers/gpu/drm/i915/display/intel_display_core.h
parent5a04eb5be8e4da3b3574fbd56b6c43fa1f749cdf (diff)
downloadlinux-103472c13f0afedab818a2c6469d78c2fb29ad8c.tar.gz
linux-103472c13f0afedab818a2c6469d78c2fb29ad8c.tar.bz2
linux-103472c13f0afedab818a2c6469d78c2fb29ad8c.zip
drm/i915: move wm_disp funcs to display.funcs
Move display watermark functions under drm_i915_private display sub-struct. Rename struct drm_i915_wm_disp_funcs to intel_wm_funcs while at it. Signed-off-by: Jani Nikula <jani.nikula@intel.com> Reviewed-by: Arun R Murthy <arun.r.murthy@intel.com> Reviewed-by: Lucas De Marchi <lucas.demarchi@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/29d07c82ef7d33a59fc9c8e25ae2d2f900677a4c.1661346845.git.jani.nikula@intel.com
Diffstat (limited to 'drivers/gpu/drm/i915/display/intel_display_core.h')
-rw-r--r--drivers/gpu/drm/i915/display/intel_display_core.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/display/intel_display_core.h b/drivers/gpu/drm/i915/display/intel_display_core.h
index e9481c5ef1a5..b829b304c487 100644
--- a/drivers/gpu/drm/i915/display/intel_display_core.h
+++ b/drivers/gpu/drm/i915/display/intel_display_core.h
@@ -8,6 +8,7 @@
#include <linux/types.h>
+struct drm_i915_private;
struct intel_atomic_state;
struct intel_cdclk_funcs;
struct intel_crtc;
@@ -32,6 +33,23 @@ struct intel_display_funcs {
void (*commit_modeset_enables)(struct intel_atomic_state *state);
};
+/* functions used for watermark calcs for display. */
+struct intel_wm_funcs {
+ /* update_wm is for legacy wm management */
+ void (*update_wm)(struct drm_i915_private *dev_priv);
+ int (*compute_pipe_wm)(struct intel_atomic_state *state,
+ struct intel_crtc *crtc);
+ int (*compute_intermediate_wm)(struct intel_atomic_state *state,
+ struct intel_crtc *crtc);
+ void (*initial_watermarks)(struct intel_atomic_state *state,
+ struct intel_crtc *crtc);
+ void (*atomic_update_watermarks)(struct intel_atomic_state *state,
+ struct intel_crtc *crtc);
+ void (*optimize_watermarks)(struct intel_atomic_state *state,
+ struct intel_crtc *crtc);
+ int (*compute_global_watermarks)(struct intel_atomic_state *state);
+};
+
struct intel_display {
/* Display functions */
struct {
@@ -46,6 +64,9 @@ struct intel_display {
/* irq display functions */
const struct intel_hotplug_funcs *hotplug;
+
+ /* pm display functions */
+ const struct intel_wm_funcs *wm;
} funcs;
};