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-29 16:18:09 +0300
committerJani Nikula <jani.nikula@intel.com>2022-08-31 14:21:08 +0300
commitf0acaf9d6912240cf1a27f0f75d04cf149086da9 (patch)
tree9b5846d9a594c685f9329a262c46998de1f48c5b /drivers/gpu/drm/i915/display/intel_display_core.h
parenteb11eabc5f26f876c514bb294dfdb0484bad28a6 (diff)
downloadlinux-f0acaf9d6912240cf1a27f0f75d04cf149086da9.tar.gz
linux-f0acaf9d6912240cf1a27f0f75d04cf149086da9.tar.bz2
linux-f0acaf9d6912240cf1a27f0f75d04cf149086da9.zip
drm/i915: move and group max_bw and bw_obj under display.bw
Move display bandwidth related members under drm_i915_private display sub-struct. v2: Rebase Signed-off-by: Jani Nikula <jani.nikula@intel.com> Reviewed-by: Lucas De Marchi <lucas.demarchi@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/c8b9e2fdc5c226ffb71759a20e561c832a774ba5.1661779055.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 4a184eac57c3..0ea479b6c0c9 100644
--- a/drivers/gpu/drm/i915/display/intel_display_core.h
+++ b/drivers/gpu/drm/i915/display/intel_display_core.h
@@ -14,6 +14,7 @@
#include "intel_display.h"
#include "intel_dmc.h"
#include "intel_dpll_mgr.h"
+#include "intel_global_state.h"
#include "intel_gmbus.h"
#include "intel_pm_types.h"
@@ -34,6 +35,12 @@ struct intel_hotplug_funcs;
struct intel_initial_plane_config;
struct intel_overlay;
+/* Amount of SAGV/QGV points, BSpec precisely defines this */
+#define I915_NUM_QGV_POINTS 8
+
+/* Amount of PSF GV points, BSpec precisely defines this */
+#define I915_NUM_PSF_GV_POINTS 3
+
struct intel_display_funcs {
/*
* Returns the active state of the crtc, and if the crtc is active,
@@ -209,6 +216,20 @@ struct intel_display {
/* Grouping using anonymous structs. Keep sorted. */
struct {
+ struct intel_global_obj obj;
+
+ struct intel_bw_info {
+ /* for each QGV point */
+ unsigned int deratedbw[I915_NUM_QGV_POINTS];
+ /* for each PSF GV point */
+ unsigned int psf_bw[I915_NUM_PSF_GV_POINTS];
+ u8 num_qgv_points;
+ u8 num_psf_gv_points;
+ u8 num_planes;
+ } max[6];
+ } bw;
+
+ struct {
/* list of fbdev register on this device */
struct intel_fbdev *fbdev;
struct work_struct suspend_work;