Commit 8a37cd4d authored by Jani Nikula's avatar Jani Nikula

drm/i915/pps: convert intel_pps.[ch] to struct intel_display

Going forward, struct intel_display shall replace struct
drm_i915_private as the main display device data pointer type. Convert
intel_pps.[ch] to struct intel_display.

Some stragglers are left behind where needed.
Reviewed-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: default avatarJani Nikula <jani.nikula@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/bea51b0d9e4546ba21d0d4eb01ca1097fda095ab.1725012870.git.jani.nikula@intel.com
parent 631ef2e6
...@@ -7793,7 +7793,7 @@ void intel_setup_outputs(struct drm_i915_private *dev_priv) ...@@ -7793,7 +7793,7 @@ void intel_setup_outputs(struct drm_i915_private *dev_priv)
struct intel_encoder *encoder; struct intel_encoder *encoder;
bool dpd_is_edp = false; bool dpd_is_edp = false;
intel_pps_unlock_regs_wa(dev_priv); intel_pps_unlock_regs_wa(display);
if (!HAS_DISPLAY(dev_priv)) if (!HAS_DISPLAY(dev_priv))
return; return;
......
...@@ -428,7 +428,7 @@ int intel_display_driver_probe_nogem(struct drm_i915_private *i915) ...@@ -428,7 +428,7 @@ int intel_display_driver_probe_nogem(struct drm_i915_private *i915)
intel_panel_sanitize_ssc(i915); intel_panel_sanitize_ssc(i915);
intel_pps_setup(i915); intel_pps_setup(display);
intel_gmbus_setup(i915); intel_gmbus_setup(i915);
......
...@@ -861,6 +861,8 @@ void skl_enable_dc6(struct drm_i915_private *dev_priv) ...@@ -861,6 +861,8 @@ void skl_enable_dc6(struct drm_i915_private *dev_priv)
void bxt_enable_dc9(struct drm_i915_private *dev_priv) void bxt_enable_dc9(struct drm_i915_private *dev_priv)
{ {
struct intel_display *display = &dev_priv->display;
assert_can_enable_dc9(dev_priv); assert_can_enable_dc9(dev_priv);
drm_dbg_kms(&dev_priv->drm, "Enabling DC9\n"); drm_dbg_kms(&dev_priv->drm, "Enabling DC9\n");
...@@ -870,19 +872,21 @@ void bxt_enable_dc9(struct drm_i915_private *dev_priv) ...@@ -870,19 +872,21 @@ void bxt_enable_dc9(struct drm_i915_private *dev_priv)
* because PPS registers are always on. * because PPS registers are always on.
*/ */
if (!HAS_PCH_SPLIT(dev_priv)) if (!HAS_PCH_SPLIT(dev_priv))
intel_pps_reset_all(dev_priv); intel_pps_reset_all(display);
gen9_set_dc_state(dev_priv, DC_STATE_EN_DC9); gen9_set_dc_state(dev_priv, DC_STATE_EN_DC9);
} }
void bxt_disable_dc9(struct drm_i915_private *dev_priv) void bxt_disable_dc9(struct drm_i915_private *dev_priv)
{ {
struct intel_display *display = &dev_priv->display;
assert_can_disable_dc9(dev_priv); assert_can_disable_dc9(dev_priv);
drm_dbg_kms(&dev_priv->drm, "Disabling DC9\n"); drm_dbg_kms(&dev_priv->drm, "Disabling DC9\n");
gen9_set_dc_state(dev_priv, DC_STATE_DISABLE); gen9_set_dc_state(dev_priv, DC_STATE_DISABLE);
intel_pps_unlock_regs_wa(dev_priv); intel_pps_unlock_regs_wa(display);
} }
static void hsw_power_well_sync_hw(struct drm_i915_private *dev_priv, static void hsw_power_well_sync_hw(struct drm_i915_private *dev_priv,
...@@ -1184,6 +1188,7 @@ static void vlv_init_display_clock_gating(struct drm_i915_private *dev_priv) ...@@ -1184,6 +1188,7 @@ static void vlv_init_display_clock_gating(struct drm_i915_private *dev_priv)
static void vlv_display_power_well_init(struct drm_i915_private *dev_priv) static void vlv_display_power_well_init(struct drm_i915_private *dev_priv)
{ {
struct intel_display *display = &dev_priv->display;
struct intel_encoder *encoder; struct intel_encoder *encoder;
enum pipe pipe; enum pipe pipe;
...@@ -1229,11 +1234,13 @@ static void vlv_display_power_well_init(struct drm_i915_private *dev_priv) ...@@ -1229,11 +1234,13 @@ static void vlv_display_power_well_init(struct drm_i915_private *dev_priv)
intel_vga_redisable_power_on(dev_priv); intel_vga_redisable_power_on(dev_priv);
intel_pps_unlock_regs_wa(dev_priv); intel_pps_unlock_regs_wa(display);
} }
static void vlv_display_power_well_deinit(struct drm_i915_private *dev_priv) static void vlv_display_power_well_deinit(struct drm_i915_private *dev_priv)
{ {
struct intel_display *display = &dev_priv->display;
spin_lock_irq(&dev_priv->irq_lock); spin_lock_irq(&dev_priv->irq_lock);
valleyview_disable_display_irqs(dev_priv); valleyview_disable_display_irqs(dev_priv);
spin_unlock_irq(&dev_priv->irq_lock); spin_unlock_irq(&dev_priv->irq_lock);
...@@ -1241,7 +1248,7 @@ static void vlv_display_power_well_deinit(struct drm_i915_private *dev_priv) ...@@ -1241,7 +1248,7 @@ static void vlv_display_power_well_deinit(struct drm_i915_private *dev_priv)
/* make sure we're done processing display irqs */ /* make sure we're done processing display irqs */
intel_synchronize_irq(dev_priv); intel_synchronize_irq(dev_priv);
intel_pps_reset_all(dev_priv); intel_pps_reset_all(display);
/* Prevent us from re-enabling polling on accident in late suspend */ /* Prevent us from re-enabling polling on accident in late suspend */
if (!dev_priv->drm.dev->power.is_suspended) if (!dev_priv->drm.dev->power.is_suspended)
......
...@@ -83,7 +83,8 @@ void intel_display_reset_prepare(struct drm_i915_private *dev_priv) ...@@ -83,7 +83,8 @@ void intel_display_reset_prepare(struct drm_i915_private *dev_priv)
void intel_display_reset_finish(struct drm_i915_private *i915) void intel_display_reset_finish(struct drm_i915_private *i915)
{ {
struct drm_modeset_acquire_ctx *ctx = &i915->display.restore.reset_ctx; struct intel_display *display = &i915->display;
struct drm_modeset_acquire_ctx *ctx = &display->restore.reset_ctx;
struct drm_atomic_state *state; struct drm_atomic_state *state;
int ret; int ret;
...@@ -94,7 +95,7 @@ void intel_display_reset_finish(struct drm_i915_private *i915) ...@@ -94,7 +95,7 @@ void intel_display_reset_finish(struct drm_i915_private *i915)
if (!test_bit(I915_RESET_MODESET, &to_gt(i915)->reset.flags)) if (!test_bit(I915_RESET_MODESET, &to_gt(i915)->reset.flags))
return; return;
state = fetch_and_zero(&i915->display.restore.modeset_state); state = fetch_and_zero(&display->restore.modeset_state);
if (!state) if (!state)
goto unlock; goto unlock;
...@@ -112,7 +113,7 @@ void intel_display_reset_finish(struct drm_i915_private *i915) ...@@ -112,7 +113,7 @@ void intel_display_reset_finish(struct drm_i915_private *i915)
* The display has been reset as well, * The display has been reset as well,
* so need a full re-initialization. * so need a full re-initialization.
*/ */
intel_pps_unlock_regs_wa(i915); intel_pps_unlock_regs_wa(display);
intel_display_driver_init_hw(i915); intel_display_driver_init_hw(i915);
intel_clock_gating_init(i915); intel_clock_gating_init(i915);
intel_hpd_init(i915); intel_hpd_init(i915);
......
...@@ -1823,6 +1823,7 @@ static bool i9xx_has_pps(struct drm_i915_private *dev_priv) ...@@ -1823,6 +1823,7 @@ static bool i9xx_has_pps(struct drm_i915_private *dev_priv)
void i9xx_enable_pll(const struct intel_crtc_state *crtc_state) void i9xx_enable_pll(const struct intel_crtc_state *crtc_state)
{ {
struct intel_display *display = to_intel_display(crtc_state);
struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc); struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
struct drm_i915_private *dev_priv = to_i915(crtc->base.dev); struct drm_i915_private *dev_priv = to_i915(crtc->base.dev);
const struct i9xx_dpll_hw_state *hw_state = &crtc_state->dpll_hw_state.i9xx; const struct i9xx_dpll_hw_state *hw_state = &crtc_state->dpll_hw_state.i9xx;
...@@ -1833,7 +1834,7 @@ void i9xx_enable_pll(const struct intel_crtc_state *crtc_state) ...@@ -1833,7 +1834,7 @@ void i9xx_enable_pll(const struct intel_crtc_state *crtc_state)
/* PLL is protected by panel, make sure we can write it */ /* PLL is protected by panel, make sure we can write it */
if (i9xx_has_pps(dev_priv)) if (i9xx_has_pps(dev_priv))
assert_pps_unlocked(dev_priv, pipe); assert_pps_unlocked(display, pipe);
intel_de_write(dev_priv, FP0(pipe), hw_state->fp0); intel_de_write(dev_priv, FP0(pipe), hw_state->fp0);
intel_de_write(dev_priv, FP1(pipe), hw_state->fp1); intel_de_write(dev_priv, FP1(pipe), hw_state->fp1);
...@@ -2004,6 +2005,7 @@ static void _vlv_enable_pll(const struct intel_crtc_state *crtc_state) ...@@ -2004,6 +2005,7 @@ static void _vlv_enable_pll(const struct intel_crtc_state *crtc_state)
void vlv_enable_pll(const struct intel_crtc_state *crtc_state) void vlv_enable_pll(const struct intel_crtc_state *crtc_state)
{ {
struct intel_display *display = to_intel_display(crtc_state);
struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc); struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
struct drm_i915_private *dev_priv = to_i915(crtc->base.dev); struct drm_i915_private *dev_priv = to_i915(crtc->base.dev);
const struct i9xx_dpll_hw_state *hw_state = &crtc_state->dpll_hw_state.i9xx; const struct i9xx_dpll_hw_state *hw_state = &crtc_state->dpll_hw_state.i9xx;
...@@ -2012,7 +2014,7 @@ void vlv_enable_pll(const struct intel_crtc_state *crtc_state) ...@@ -2012,7 +2014,7 @@ void vlv_enable_pll(const struct intel_crtc_state *crtc_state)
assert_transcoder_disabled(dev_priv, crtc_state->cpu_transcoder); assert_transcoder_disabled(dev_priv, crtc_state->cpu_transcoder);
/* PLL is protected by panel, make sure we can write it */ /* PLL is protected by panel, make sure we can write it */
assert_pps_unlocked(dev_priv, pipe); assert_pps_unlocked(display, pipe);
/* Enable Refclk */ /* Enable Refclk */
intel_de_write(dev_priv, DPLL(dev_priv, pipe), intel_de_write(dev_priv, DPLL(dev_priv, pipe),
...@@ -2150,6 +2152,7 @@ static void _chv_enable_pll(const struct intel_crtc_state *crtc_state) ...@@ -2150,6 +2152,7 @@ static void _chv_enable_pll(const struct intel_crtc_state *crtc_state)
void chv_enable_pll(const struct intel_crtc_state *crtc_state) void chv_enable_pll(const struct intel_crtc_state *crtc_state)
{ {
struct intel_display *display = to_intel_display(crtc_state);
struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc); struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
struct drm_i915_private *dev_priv = to_i915(crtc->base.dev); struct drm_i915_private *dev_priv = to_i915(crtc->base.dev);
const struct i9xx_dpll_hw_state *hw_state = &crtc_state->dpll_hw_state.i9xx; const struct i9xx_dpll_hw_state *hw_state = &crtc_state->dpll_hw_state.i9xx;
...@@ -2158,7 +2161,7 @@ void chv_enable_pll(const struct intel_crtc_state *crtc_state) ...@@ -2158,7 +2161,7 @@ void chv_enable_pll(const struct intel_crtc_state *crtc_state)
assert_transcoder_disabled(dev_priv, crtc_state->cpu_transcoder); assert_transcoder_disabled(dev_priv, crtc_state->cpu_transcoder);
/* PLL is protected by panel, make sure we can write it */ /* PLL is protected by panel, make sure we can write it */
assert_pps_unlocked(dev_priv, pipe); assert_pps_unlocked(display, pipe);
/* Enable Refclk and SSC */ /* Enable Refclk and SSC */
intel_de_write(dev_priv, DPLL(dev_priv, pipe), intel_de_write(dev_priv, DPLL(dev_priv, pipe),
......
...@@ -358,6 +358,7 @@ void ilk_pch_pre_enable(struct intel_atomic_state *state, ...@@ -358,6 +358,7 @@ void ilk_pch_pre_enable(struct intel_atomic_state *state,
void ilk_pch_enable(struct intel_atomic_state *state, void ilk_pch_enable(struct intel_atomic_state *state,
struct intel_crtc *crtc) struct intel_crtc *crtc)
{ {
struct intel_display *display = to_intel_display(state);
struct drm_i915_private *dev_priv = to_i915(crtc->base.dev); struct drm_i915_private *dev_priv = to_i915(crtc->base.dev);
const struct intel_crtc_state *crtc_state = const struct intel_crtc_state *crtc_state =
intel_atomic_get_new_crtc_state(state, crtc); intel_atomic_get_new_crtc_state(state, crtc);
...@@ -399,7 +400,7 @@ void ilk_pch_enable(struct intel_atomic_state *state, ...@@ -399,7 +400,7 @@ void ilk_pch_enable(struct intel_atomic_state *state,
intel_enable_shared_dpll(crtc_state); intel_enable_shared_dpll(crtc_state);
/* set transcoder timing, panel must allow it */ /* set transcoder timing, panel must allow it */
assert_pps_unlocked(dev_priv, pipe); assert_pps_unlocked(display, pipe);
if (intel_crtc_has_dp_encoder(crtc_state)) { if (intel_crtc_has_dp_encoder(crtc_state)) {
intel_pch_transcoder_set_m1_n1(crtc, &crtc_state->dp_m_n); intel_pch_transcoder_set_m1_n1(crtc, &crtc_state->dp_m_n);
intel_pch_transcoder_set_m2_n2(crtc, &crtc_state->dp_m2_n2); intel_pch_transcoder_set_m2_n2(crtc, &crtc_state->dp_m2_n2);
......
This diff is collapsed.
...@@ -11,9 +11,9 @@ ...@@ -11,9 +11,9 @@
#include "intel_wakeref.h" #include "intel_wakeref.h"
enum pipe; enum pipe;
struct drm_i915_private;
struct intel_connector; struct intel_connector;
struct intel_crtc_state; struct intel_crtc_state;
struct intel_display;
struct intel_dp; struct intel_dp;
struct intel_encoder; struct intel_encoder;
...@@ -43,16 +43,16 @@ void intel_pps_wait_power_cycle(struct intel_dp *intel_dp); ...@@ -43,16 +43,16 @@ void intel_pps_wait_power_cycle(struct intel_dp *intel_dp);
bool intel_pps_init(struct intel_dp *intel_dp); bool intel_pps_init(struct intel_dp *intel_dp);
void intel_pps_init_late(struct intel_dp *intel_dp); void intel_pps_init_late(struct intel_dp *intel_dp);
void intel_pps_encoder_reset(struct intel_dp *intel_dp); void intel_pps_encoder_reset(struct intel_dp *intel_dp);
void intel_pps_reset_all(struct drm_i915_private *i915); void intel_pps_reset_all(struct intel_display *display);
void vlv_pps_init(struct intel_encoder *encoder, void vlv_pps_init(struct intel_encoder *encoder,
const struct intel_crtc_state *crtc_state); const struct intel_crtc_state *crtc_state);
void intel_pps_unlock_regs_wa(struct drm_i915_private *i915); void intel_pps_unlock_regs_wa(struct intel_display *display);
void intel_pps_setup(struct drm_i915_private *i915); void intel_pps_setup(struct intel_display *display);
void intel_pps_connector_debugfs_add(struct intel_connector *connector); void intel_pps_connector_debugfs_add(struct intel_connector *connector);
void assert_pps_unlocked(struct drm_i915_private *i915, enum pipe pipe); void assert_pps_unlocked(struct intel_display *display, enum pipe pipe);
#endif /* __INTEL_PPS_H__ */ #endif /* __INTEL_PPS_H__ */
...@@ -1167,7 +1167,7 @@ static int i915_drm_resume(struct drm_device *dev) ...@@ -1167,7 +1167,7 @@ static int i915_drm_resume(struct drm_device *dev)
intel_dmc_resume(dev_priv); intel_dmc_resume(dev_priv);
i915_restore_display(dev_priv); i915_restore_display(dev_priv);
intel_pps_unlock_regs_wa(dev_priv); intel_pps_unlock_regs_wa(display);
intel_init_pch_refclk(dev_priv); intel_init_pch_refclk(dev_priv);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment