[PATCH v4 12/15] drm/i915/pps: use display->platform.<platform> instead of IS_<PLATFORM>()
Rodrigo Vivi
rodrigo.vivi at intel.com
Tue Oct 22 17:43:50 UTC 2024
On Mon, Oct 21, 2024 at 04:54:13PM +0300, Jani Nikula wrote:
> Switch to using the new display->platform.<platform> members for
> platform identification in display code.
>
> Signed-off-by: Jani Nikula <jani.nikula at intel.com>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi at intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_pps.c | 47 ++++++++++--------------
> 1 file changed, 20 insertions(+), 27 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_pps.c b/drivers/gpu/drm/i915/display/intel_pps.c
> index ffeee9daa568..4bb7461e4616 100644
> --- a/drivers/gpu/drm/i915/display/intel_pps.c
> +++ b/drivers/gpu/drm/i915/display/intel_pps.c
> @@ -29,10 +29,9 @@ static void pps_init_registers(struct intel_dp *intel_dp, bool force_disable_vdd
> static const char *pps_name(struct intel_dp *intel_dp)
> {
> struct intel_display *display = to_intel_display(intel_dp);
> - struct drm_i915_private *i915 = to_i915(display->drm);
> struct intel_pps *pps = &intel_dp->pps;
>
> - if (IS_VALLEYVIEW(i915) || IS_CHERRYVIEW(i915)) {
> + if (display->platform.valleyview || display->platform.cherryview) {
> switch (pps->vlv_pps_pipe) {
> case INVALID_PIPE:
> /*
> @@ -122,7 +121,7 @@ vlv_power_sequencer_kick(struct intel_dp *intel_dp)
> DP |= DP_PORT_WIDTH(1);
> DP |= DP_LINK_TRAIN_PAT_1;
>
> - if (IS_CHERRYVIEW(dev_priv))
> + if (display->platform.cherryview)
> DP |= DP_PIPE_SEL_CHV(pipe);
> else
> DP |= DP_PIPE_SEL(pipe);
> @@ -134,7 +133,7 @@ vlv_power_sequencer_kick(struct intel_dp *intel_dp)
> * So enable temporarily it if it's not already enabled.
> */
> if (!pll_enabled) {
> - release_cl_override = IS_CHERRYVIEW(dev_priv) &&
> + release_cl_override = display->platform.cherryview &&
> !chv_phy_powergate_ch(dev_priv, phy, ch, true);
>
> if (vlv_force_pll_on(dev_priv, pipe, vlv_get_dpll(dev_priv))) {
> @@ -356,10 +355,10 @@ static int intel_num_pps(struct intel_display *display)
> {
> struct drm_i915_private *i915 = to_i915(display->drm);
>
> - if (IS_VALLEYVIEW(i915) || IS_CHERRYVIEW(i915))
> + if (display->platform.valleyview || display->platform.cherryview)
> return 2;
>
> - if (IS_GEMINILAKE(i915) || IS_BROXTON(i915))
> + if (display->platform.geminilake || display->platform.broxton)
> return 2;
>
> if (INTEL_PCH_TYPE(i915) >= PCH_MTL)
> @@ -406,11 +405,10 @@ pps_initial_setup(struct intel_dp *intel_dp)
> struct intel_display *display = to_intel_display(intel_dp);
> struct intel_encoder *encoder = &dp_to_dig_port(intel_dp)->base;
> struct intel_connector *connector = intel_dp->attached_connector;
> - struct drm_i915_private *i915 = to_i915(encoder->base.dev);
>
> lockdep_assert_held(&display->pps.mutex);
>
> - if (IS_VALLEYVIEW(i915) || IS_CHERRYVIEW(i915)) {
> + if (display->platform.valleyview || display->platform.cherryview) {
> vlv_initial_power_sequencer_setup(intel_dp);
> return true;
> }
> @@ -509,9 +507,9 @@ static void intel_pps_get_registers(struct intel_dp *intel_dp,
>
> memset(regs, 0, sizeof(*regs));
>
> - if (IS_VALLEYVIEW(dev_priv) || IS_CHERRYVIEW(dev_priv))
> + if (display->platform.valleyview || display->platform.cherryview)
> pps_idx = vlv_power_sequencer_pipe(intel_dp);
> - else if (IS_GEMINILAKE(dev_priv) || IS_BROXTON(dev_priv))
> + else if (display->platform.geminilake || display->platform.broxton)
> pps_idx = bxt_power_sequencer_idx(intel_dp);
> else
> pps_idx = intel_dp->pps.pps_idx;
> @@ -522,7 +520,7 @@ static void intel_pps_get_registers(struct intel_dp *intel_dp,
> regs->pp_off = PP_OFF_DELAYS(display, pps_idx);
>
> /* Cycle delay moved from PP_DIVISOR to PP_CONTROL */
> - if (IS_GEMINILAKE(dev_priv) || IS_BROXTON(dev_priv) ||
> + if (display->platform.geminilake || display->platform.broxton ||
> INTEL_PCH_TYPE(dev_priv) >= PCH_CNP)
> regs->pp_div = INVALID_MMIO_REG;
> else
> @@ -552,11 +550,10 @@ _pp_stat_reg(struct intel_dp *intel_dp)
> static bool edp_have_panel_power(struct intel_dp *intel_dp)
> {
> struct intel_display *display = to_intel_display(intel_dp);
> - struct drm_i915_private *dev_priv = to_i915(display->drm);
>
> lockdep_assert_held(&display->pps.mutex);
>
> - if ((IS_VALLEYVIEW(dev_priv) || IS_CHERRYVIEW(dev_priv)) &&
> + if ((display->platform.valleyview || display->platform.cherryview) &&
> intel_dp->pps.vlv_pps_pipe == INVALID_PIPE)
> return false;
>
> @@ -566,11 +563,10 @@ static bool edp_have_panel_power(struct intel_dp *intel_dp)
> static bool edp_have_panel_vdd(struct intel_dp *intel_dp)
> {
> struct intel_display *display = to_intel_display(intel_dp);
> - struct drm_i915_private *dev_priv = to_i915(display->drm);
>
> lockdep_assert_held(&display->pps.mutex);
>
> - if ((IS_VALLEYVIEW(dev_priv) || IS_CHERRYVIEW(dev_priv)) &&
> + if ((display->platform.valleyview || display->platform.cherryview) &&
> intel_dp->pps.vlv_pps_pipe == INVALID_PIPE)
> return false;
>
> @@ -953,7 +949,6 @@ void intel_pps_vdd_off_unlocked(struct intel_dp *intel_dp, bool sync)
> void intel_pps_on_unlocked(struct intel_dp *intel_dp)
> {
> struct intel_display *display = to_intel_display(intel_dp);
> - struct drm_i915_private *dev_priv = to_i915(display->drm);
> u32 pp;
> i915_reg_t pp_ctrl_reg;
>
> @@ -978,7 +973,7 @@ void intel_pps_on_unlocked(struct intel_dp *intel_dp)
>
> pp_ctrl_reg = _pp_ctrl_reg(intel_dp);
> pp = ilk_get_pp_control(intel_dp);
> - if (IS_IRONLAKE(dev_priv)) {
> + if (display->platform.ironlake) {
> /* ILK workaround: disable reset around power sequence */
> pp &= ~PANEL_POWER_RESET;
> intel_de_write(display, pp_ctrl_reg, pp);
> @@ -994,7 +989,7 @@ void intel_pps_on_unlocked(struct intel_dp *intel_dp)
> 0, PCH_DPLSUNIT_CLOCK_GATE_DISABLE);
>
> pp |= PANEL_POWER_ON;
> - if (!IS_IRONLAKE(dev_priv))
> + if (!display->platform.ironlake)
> pp |= PANEL_POWER_RESET;
>
> intel_de_write(display, pp_ctrl_reg, pp);
> @@ -1007,7 +1002,7 @@ void intel_pps_on_unlocked(struct intel_dp *intel_dp)
> intel_de_rmw(display, SOUTH_DSPCLK_GATE_D,
> PCH_DPLSUNIT_CLOCK_GATE_DISABLE, 0);
>
> - if (IS_IRONLAKE(dev_priv)) {
> + if (display->platform.ironlake) {
> pp |= PANEL_POWER_RESET; /* restore panel reset bit */
> intel_de_write(display, pp_ctrl_reg, pp);
> intel_de_posting_read(display, pp_ctrl_reg);
> @@ -1627,7 +1622,7 @@ static void pps_init_registers(struct intel_dp *intel_dp, bool force_disable_vdd
>
> /* Haswell doesn't have any port selection bits for the panel
> * power sequencer any more. */
> - if (IS_VALLEYVIEW(dev_priv) || IS_CHERRYVIEW(dev_priv)) {
> + if (display->platform.valleyview || display->platform.cherryview) {
> port_sel = PANEL_PORT_SELECT_VLV(port);
> } else if (HAS_PCH_IBX(dev_priv) || HAS_PCH_CPT(dev_priv)) {
> switch (port) {
> @@ -1674,7 +1669,6 @@ static void pps_init_registers(struct intel_dp *intel_dp, bool force_disable_vdd
> void intel_pps_encoder_reset(struct intel_dp *intel_dp)
> {
> struct intel_display *display = to_intel_display(intel_dp);
> - struct drm_i915_private *i915 = to_i915(display->drm);
> intel_wakeref_t wakeref;
>
> if (!intel_dp_is_edp(intel_dp))
> @@ -1685,7 +1679,7 @@ void intel_pps_encoder_reset(struct intel_dp *intel_dp)
> * Reinit the power sequencer also on the resume path, in case
> * BIOS did something nasty with it.
> */
> - if (IS_VALLEYVIEW(i915) || IS_CHERRYVIEW(i915))
> + if (display->platform.valleyview || display->platform.cherryview)
> vlv_initial_power_sequencer_setup(intel_dp);
>
> pps_init_delays(intel_dp);
> @@ -1721,11 +1715,10 @@ bool intel_pps_init(struct intel_dp *intel_dp)
> static void pps_init_late(struct intel_dp *intel_dp)
> {
> struct intel_display *display = to_intel_display(intel_dp);
> - struct drm_i915_private *i915 = to_i915(display->drm);
> struct intel_encoder *encoder = &dp_to_dig_port(intel_dp)->base;
> struct intel_connector *connector = intel_dp->attached_connector;
>
> - if (IS_VALLEYVIEW(i915) || IS_CHERRYVIEW(i915))
> + if (display->platform.valleyview || display->platform.cherryview)
> return;
>
> if (intel_num_pps(display) < 2)
> @@ -1783,9 +1776,9 @@ void intel_pps_setup(struct intel_display *display)
> {
> struct drm_i915_private *i915 = to_i915(display->drm);
>
> - if (HAS_PCH_SPLIT(i915) || IS_GEMINILAKE(i915) || IS_BROXTON(i915))
> + if (HAS_PCH_SPLIT(i915) || display->platform.geminilake || display->platform.broxton)
> display->pps.mmio_base = PCH_PPS_BASE;
> - else if (IS_VALLEYVIEW(i915) || IS_CHERRYVIEW(i915))
> + else if (display->platform.valleyview || display->platform.cherryview)
> display->pps.mmio_base = VLV_PPS_BASE;
> else
> display->pps.mmio_base = PPS_BASE;
> @@ -1857,7 +1850,7 @@ void assert_pps_unlocked(struct intel_display *display, enum pipe pipe)
> MISSING_CASE(port_sel);
> break;
> }
> - } else if (IS_VALLEYVIEW(dev_priv) || IS_CHERRYVIEW(dev_priv)) {
> + } else if (display->platform.valleyview || display->platform.cherryview) {
> /* presumably write lock depends on pipe, not port select */
> pp_reg = PP_CONTROL(display, pipe);
> panel_pipe = pipe;
> --
> 2.39.5
>
More information about the Intel-gfx
mailing list