Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/i915/cdclk: abstract intel_cdclk_logical()

Add intel_cdclk_logical() helper to avoid looking at struct
intel_cdclk_state internals outside of intel_cdclk.c.

Reviewed-by: Imre Deak <imre.deak@intel.com>
Link: https://lore.kernel.org/r/e965667550e82307341d6abbeedc67b93cae9fc6.1750847509.git.jani.nikula@intel.com
Signed-off-by: Jani Nikula <jani.nikula@intel.com>

+11 -4
+1 -1
drivers/gpu/drm/i915/display/hsw_ips.c
··· 265 265 return PTR_ERR(cdclk_state); 266 266 267 267 /* pixel rate mustn't exceed 95% of cdclk with IPS on BDW */ 268 - if (crtc_state->pixel_rate > cdclk_state->logical.cdclk * 95 / 100) 268 + if (crtc_state->pixel_rate > intel_cdclk_logical(cdclk_state) * 95 / 100) 269 269 return 0; 270 270 } 271 271
+5
drivers/gpu/drm/i915/display/intel_cdclk.c
··· 3834 3834 "Unknown platform. Assuming i830\n")) 3835 3835 display->funcs.cdclk = &i830_cdclk_funcs; 3836 3836 } 3837 + 3838 + int intel_cdclk_logical(const struct intel_cdclk_state *cdclk_state) 3839 + { 3840 + return cdclk_state->logical.cdclk; 3841 + }
+2
drivers/gpu/drm/i915/display/intel_cdclk.h
··· 97 97 int intel_cdclk_init(struct intel_display *display); 98 98 void intel_cdclk_debugfs_register(struct intel_display *display); 99 99 100 + int intel_cdclk_logical(const struct intel_cdclk_state *cdclk_state); 101 + 100 102 #endif /* __INTEL_CDCLK_H__ */
+1 -1
drivers/gpu/drm/i915/display/intel_display.c
··· 4168 4168 return 0; 4169 4169 4170 4170 linetime_wm = DIV_ROUND_CLOSEST(pipe_mode->crtc_htotal * 1000 * 8, 4171 - cdclk_state->logical.cdclk); 4171 + intel_cdclk_logical(cdclk_state)); 4172 4172 4173 4173 return min(linetime_wm, 0x1ff); 4174 4174 }
+1 -1
drivers/gpu/drm/i915/display/intel_fbc.c
··· 1576 1576 if (IS_ERR(cdclk_state)) 1577 1577 return PTR_ERR(cdclk_state); 1578 1578 1579 - if (crtc_state->pixel_rate >= cdclk_state->logical.cdclk * 95 / 100) { 1579 + if (crtc_state->pixel_rate >= intel_cdclk_logical(cdclk_state) * 95 / 100) { 1580 1580 plane_state->no_fbc_reason = "pixel rate too high"; 1581 1581 return 0; 1582 1582 }
+1 -1
drivers/gpu/drm/i915/display/skl_watermark.c
··· 2178 2178 } 2179 2179 2180 2180 return min(1, DIV_ROUND_UP(crtc_state->pixel_rate, 2181 - 2 * cdclk_state->logical.cdclk)); 2181 + 2 * intel_cdclk_logical(cdclk_state))); 2182 2182 } 2183 2183 2184 2184 static int