From: Matt Roper <matthew.d.roper@intel.com>
To: Lucas De Marchi <lucas.demarchi@intel.com>
Cc: dri-devel@lists.freedesktop.org,
Daniel Vetter <daniel.vetter@ffwll.ch>,
intel-gfx@lists.freedesktop.org
Subject: Re: [Intel-gfx] [PATCH 06/30] drm/i915/display: remove explicit CNL handling from intel_combo_phy.c
Date: Sat, 24 Jul 2021 11:17:02 -0700 [thread overview]
Message-ID: <20210724181702.GN1556418@mdroper-desk1.amr.corp.intel.com> (raw)
In-Reply-To: <20210724001114.249295-7-lucas.demarchi@intel.com>
On Fri, Jul 23, 2021 at 05:10:50PM -0700, Lucas De Marchi wrote:
> The only real platform with DISPLAY_VER == 10 is GLK, that doesn't have
> combo phys. We don't need to handle CNL explicitly in
> intel_combo_phy.c.
>
> Remove code and rename functions/macros accordingly to use ICL prefix.
>
> Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
Reviewed-by: Matt Roper <matthew.d.roper@intel.com>
> ---
> .../gpu/drm/i915/display/intel_combo_phy.c | 106 ++++--------------
> 1 file changed, 20 insertions(+), 86 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_combo_phy.c b/drivers/gpu/drm/i915/display/intel_combo_phy.c
> index 487c54cd5982..bacdf8a16bcb 100644
> --- a/drivers/gpu/drm/i915/display/intel_combo_phy.c
> +++ b/drivers/gpu/drm/i915/display/intel_combo_phy.c
> @@ -23,9 +23,9 @@ enum {
> PROCMON_1_05V_DOT_1,
> };
>
> -static const struct cnl_procmon {
> +static const struct icl_procmon {
> u32 dw1, dw9, dw10;
> -} cnl_procmon_values[] = {
> +} icl_procmon_values[] = {
> [PROCMON_0_85V_DOT_0] =
> { .dw1 = 0x00000000, .dw9 = 0x62AB67BB, .dw10 = 0x51914F96, },
> [PROCMON_0_95V_DOT_0] =
> @@ -38,15 +38,10 @@ static const struct cnl_procmon {
> { .dw1 = 0x00440000, .dw9 = 0x9A00AB25, .dw10 = 0x8AE38FF1, },
> };
>
> -/*
> - * CNL has just one set of registers, while gen11 has a set for each combo PHY.
> - * The CNL registers are equivalent to the gen11 PHY A registers, that's why we
> - * call the ICL macros even though the function has CNL on its name.
> - */
> -static const struct cnl_procmon *
> -cnl_get_procmon_ref_values(struct drm_i915_private *dev_priv, enum phy phy)
> +static const struct icl_procmon *
> +icl_get_procmon_ref_values(struct drm_i915_private *dev_priv, enum phy phy)
> {
> - const struct cnl_procmon *procmon;
> + const struct icl_procmon *procmon;
> u32 val;
>
> val = intel_de_read(dev_priv, ICL_PORT_COMP_DW3(phy));
> @@ -55,32 +50,32 @@ cnl_get_procmon_ref_values(struct drm_i915_private *dev_priv, enum phy phy)
> MISSING_CASE(val);
> fallthrough;
> case VOLTAGE_INFO_0_85V | PROCESS_INFO_DOT_0:
> - procmon = &cnl_procmon_values[PROCMON_0_85V_DOT_0];
> + procmon = &icl_procmon_values[PROCMON_0_85V_DOT_0];
> break;
> case VOLTAGE_INFO_0_95V | PROCESS_INFO_DOT_0:
> - procmon = &cnl_procmon_values[PROCMON_0_95V_DOT_0];
> + procmon = &icl_procmon_values[PROCMON_0_95V_DOT_0];
> break;
> case VOLTAGE_INFO_0_95V | PROCESS_INFO_DOT_1:
> - procmon = &cnl_procmon_values[PROCMON_0_95V_DOT_1];
> + procmon = &icl_procmon_values[PROCMON_0_95V_DOT_1];
> break;
> case VOLTAGE_INFO_1_05V | PROCESS_INFO_DOT_0:
> - procmon = &cnl_procmon_values[PROCMON_1_05V_DOT_0];
> + procmon = &icl_procmon_values[PROCMON_1_05V_DOT_0];
> break;
> case VOLTAGE_INFO_1_05V | PROCESS_INFO_DOT_1:
> - procmon = &cnl_procmon_values[PROCMON_1_05V_DOT_1];
> + procmon = &icl_procmon_values[PROCMON_1_05V_DOT_1];
> break;
> }
>
> return procmon;
> }
>
> -static void cnl_set_procmon_ref_values(struct drm_i915_private *dev_priv,
> +static void icl_set_procmon_ref_values(struct drm_i915_private *dev_priv,
> enum phy phy)
> {
> - const struct cnl_procmon *procmon;
> + const struct icl_procmon *procmon;
> u32 val;
>
> - procmon = cnl_get_procmon_ref_values(dev_priv, phy);
> + procmon = icl_get_procmon_ref_values(dev_priv, phy);
>
> val = intel_de_read(dev_priv, ICL_PORT_COMP_DW1(phy));
> val &= ~((0xff << 16) | 0xff);
> @@ -109,13 +104,13 @@ static bool check_phy_reg(struct drm_i915_private *dev_priv,
> return true;
> }
>
> -static bool cnl_verify_procmon_ref_values(struct drm_i915_private *dev_priv,
> +static bool icl_verify_procmon_ref_values(struct drm_i915_private *dev_priv,
> enum phy phy)
> {
> - const struct cnl_procmon *procmon;
> + const struct icl_procmon *procmon;
> bool ret;
>
> - procmon = cnl_get_procmon_ref_values(dev_priv, phy);
> + procmon = icl_get_procmon_ref_values(dev_priv, phy);
>
> ret = check_phy_reg(dev_priv, phy, ICL_PORT_COMP_DW1(phy),
> (0xff << 16) | 0xff, procmon->dw1);
> @@ -127,61 +122,6 @@ static bool cnl_verify_procmon_ref_values(struct drm_i915_private *dev_priv,
> return ret;
> }
>
> -static bool cnl_combo_phy_enabled(struct drm_i915_private *dev_priv)
> -{
> - return !(intel_de_read(dev_priv, CHICKEN_MISC_2) & CNL_COMP_PWR_DOWN) &&
> - (intel_de_read(dev_priv, CNL_PORT_COMP_DW0) & COMP_INIT);
> -}
> -
> -static bool cnl_combo_phy_verify_state(struct drm_i915_private *dev_priv)
> -{
> - enum phy phy = PHY_A;
> - bool ret;
> -
> - if (!cnl_combo_phy_enabled(dev_priv))
> - return false;
> -
> - ret = cnl_verify_procmon_ref_values(dev_priv, phy);
> -
> - ret &= check_phy_reg(dev_priv, phy, CNL_PORT_CL1CM_DW5,
> - CL_POWER_DOWN_ENABLE, CL_POWER_DOWN_ENABLE);
> -
> - return ret;
> -}
> -
> -static void cnl_combo_phys_init(struct drm_i915_private *dev_priv)
> -{
> - u32 val;
> -
> - val = intel_de_read(dev_priv, CHICKEN_MISC_2);
> - val &= ~CNL_COMP_PWR_DOWN;
> - intel_de_write(dev_priv, CHICKEN_MISC_2, val);
> -
> - /* Dummy PORT_A to get the correct CNL register from the ICL macro */
> - cnl_set_procmon_ref_values(dev_priv, PHY_A);
> -
> - val = intel_de_read(dev_priv, CNL_PORT_COMP_DW0);
> - val |= COMP_INIT;
> - intel_de_write(dev_priv, CNL_PORT_COMP_DW0, val);
> -
> - val = intel_de_read(dev_priv, CNL_PORT_CL1CM_DW5);
> - val |= CL_POWER_DOWN_ENABLE;
> - intel_de_write(dev_priv, CNL_PORT_CL1CM_DW5, val);
> -}
> -
> -static void cnl_combo_phys_uninit(struct drm_i915_private *dev_priv)
> -{
> - u32 val;
> -
> - if (!cnl_combo_phy_verify_state(dev_priv))
> - drm_warn(&dev_priv->drm,
> - "Combo PHY HW state changed unexpectedly.\n");
> -
> - val = intel_de_read(dev_priv, CHICKEN_MISC_2);
> - val |= CNL_COMP_PWR_DOWN;
> - intel_de_write(dev_priv, CHICKEN_MISC_2, val);
> -}
> -
> static bool has_phy_misc(struct drm_i915_private *i915, enum phy phy)
> {
> /*
> @@ -291,7 +231,7 @@ static bool icl_combo_phy_verify_state(struct drm_i915_private *dev_priv,
> DCC_MODE_SELECT_CONTINUOSLY);
> }
>
> - ret &= cnl_verify_procmon_ref_values(dev_priv, phy);
> + ret &= icl_verify_procmon_ref_values(dev_priv, phy);
>
> if (phy_is_master(dev_priv, phy)) {
> ret &= check_phy_reg(dev_priv, phy, ICL_PORT_COMP_DW8(phy),
> @@ -415,7 +355,7 @@ static void icl_combo_phys_init(struct drm_i915_private *dev_priv)
> intel_de_write(dev_priv, ICL_PORT_PCS_DW1_GRP(phy), val);
> }
>
> - cnl_set_procmon_ref_values(dev_priv, phy);
> + icl_set_procmon_ref_values(dev_priv, phy);
>
> if (phy_is_master(dev_priv, phy)) {
> val = intel_de_read(dev_priv, ICL_PORT_COMP_DW8(phy));
> @@ -474,16 +414,10 @@ static void icl_combo_phys_uninit(struct drm_i915_private *dev_priv)
>
> void intel_combo_phy_init(struct drm_i915_private *i915)
> {
> - if (DISPLAY_VER(i915) >= 11)
> - icl_combo_phys_init(i915);
> - else if (IS_CANNONLAKE(i915))
> - cnl_combo_phys_init(i915);
> + icl_combo_phys_init(i915);
> }
>
> void intel_combo_phy_uninit(struct drm_i915_private *i915)
> {
> - if (DISPLAY_VER(i915) >= 11)
> - icl_combo_phys_uninit(i915);
> - else if (IS_CANNONLAKE(i915))
> - cnl_combo_phys_uninit(i915);
> + icl_combo_phys_uninit(i915);
> }
> --
> 2.31.1
>
--
Matt Roper
Graphics Software Engineer
VTT-OSGC Platform Enablement
Intel Corporation
(916) 356-2795
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
next prev parent reply other threads:[~2021-07-24 18:51 UTC|newest]
Thread overview: 75+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-07-24 0:10 [Intel-gfx] [PATCH 00/30] Remove CNL support Lucas De Marchi
2021-07-24 0:10 ` [Intel-gfx] [PATCH 01/30] drm/i915: fix not reading DSC disable fuse in GLK Lucas De Marchi
2021-07-24 18:03 ` Matt Roper
2021-07-24 0:10 ` [Intel-gfx] [PATCH 02/30] drm/i915/display: split DISPLAY_VER 9 and 10 in intel_setup_outputs() Lucas De Marchi
2021-07-24 17:41 ` Christoph Hellwig
2021-07-25 5:02 ` Lucas De Marchi
2021-07-26 10:20 ` Rodrigo Vivi
2021-07-26 14:01 ` Lucas De Marchi
2021-07-24 0:10 ` [Intel-gfx] [PATCH 03/30] drm/i915/display: remove PORT_F workaround for CNL Lucas De Marchi
2021-07-24 18:05 ` Matt Roper
2021-07-24 0:10 ` [Intel-gfx] [PATCH 04/30] drm/i915/display: remove explicit CNL handling from intel_cdclk.c Lucas De Marchi
2021-07-24 18:12 ` Matt Roper
2021-07-27 6:12 ` Lucas De Marchi
2021-07-24 0:10 ` [Intel-gfx] [PATCH 05/30] drm/i915/display: remove explicit CNL handling from intel_color.c Lucas De Marchi
2021-07-24 18:14 ` Matt Roper
2021-07-24 0:10 ` [Intel-gfx] [PATCH 06/30] drm/i915/display: remove explicit CNL handling from intel_combo_phy.c Lucas De Marchi
2021-07-24 18:17 ` Matt Roper [this message]
2021-07-24 0:10 ` [Intel-gfx] [PATCH 07/30] drm/i915/display: remove explicit CNL handling from intel_crtc.c Lucas De Marchi
2021-07-24 18:17 ` Matt Roper
2021-07-24 0:10 ` [Intel-gfx] [PATCH 08/30] drm/i915/display: remove explicit CNL handling from intel_ddi.c Lucas De Marchi
2021-07-26 11:00 ` Rodrigo Vivi
2021-07-24 0:10 ` [Intel-gfx] [PATCH 09/30] drm/i915/display: remove explicit CNL handling from intel_display_debugfs.c Lucas De Marchi
2021-07-26 11:06 ` Rodrigo Vivi
2021-07-24 0:10 ` [Intel-gfx] [PATCH 10/30] drm/i915/display: remove explicit CNL handling from intel_dmc.c Lucas De Marchi
2021-07-26 11:06 ` Rodrigo Vivi
2021-07-26 23:21 ` Matt Roper
2021-07-24 0:10 ` [Intel-gfx] [PATCH 11/30] drm/i915/display: remove explicit CNL handling from intel_dp.c Lucas De Marchi
2021-07-26 10:41 ` Rodrigo Vivi
2021-07-24 0:10 ` [Intel-gfx] [PATCH 12/30] drm/i915/display: remove explicit CNL handling from intel_dpll_mgr.c Lucas De Marchi
2021-07-26 10:35 ` Rodrigo Vivi
2021-07-24 0:10 ` [Intel-gfx] [PATCH 13/30] drm/i915/display: remove explicit CNL handling from intel_vdsc.c Lucas De Marchi
2021-07-26 11:05 ` Rodrigo Vivi
2021-07-24 0:10 ` [Intel-gfx] [PATCH 14/30] drm/i915/display: remove explicit CNL handling from skl_universal_plane.c Lucas De Marchi
2021-07-26 10:22 ` Rodrigo Vivi
2021-07-24 0:10 ` [Intel-gfx] [PATCH 15/30] drm/i915/display: remove explicit CNL handling from intel_display_power.c Lucas De Marchi
2021-07-26 10:28 ` Rodrigo Vivi
2021-07-24 0:11 ` [Intel-gfx] [PATCH 16/30] drm/i915/display: remove CNL ddi buf translation tables Lucas De Marchi
2021-07-26 10:56 ` Rodrigo Vivi
2021-07-24 0:11 ` [Intel-gfx] [PATCH 17/30] drm/i915/display: rename CNL references in skl_scaler.c Lucas De Marchi
2021-07-26 10:11 ` Rodrigo Vivi
2021-07-24 0:11 ` [Intel-gfx] [PATCH 18/30] drm/i915: remove explicit CNL handling from i915_irq.c Lucas De Marchi
2021-07-26 10:59 ` Rodrigo Vivi
2021-07-26 15:06 ` Lucas De Marchi
2021-07-24 0:11 ` [Intel-gfx] [PATCH 19/30] drm/i915: remove explicit CNL handling from intel_pm.c Lucas De Marchi
2021-07-26 11:08 ` Rodrigo Vivi
2021-07-24 0:11 ` [Intel-gfx] [PATCH 20/30] drm/i915: remove explicit CNL handling from intel_mocs.c Lucas De Marchi
2021-07-26 10:21 ` Rodrigo Vivi
2021-07-24 0:11 ` [Intel-gfx] [PATCH 21/30] drm/i915: remove explicit CNL handling from intel_pch.c Lucas De Marchi
2021-07-26 10:14 ` Rodrigo Vivi
2021-07-24 0:11 ` [Intel-gfx] [PATCH 22/30] drm/i915: remove explicit CNL handling from intel_wopcm.c Lucas De Marchi
2021-07-26 10:57 ` Rodrigo Vivi
2021-07-24 0:11 ` [Intel-gfx] [PATCH 23/30] drm/i915/gt: remove explicit CNL handling from intel_sseu.c Lucas De Marchi
2021-07-26 23:21 ` Matt Roper
2021-07-24 0:11 ` [Intel-gfx] [PATCH 24/30] drm/i915: rename CNL references in intel_dram.c Lucas De Marchi
2021-07-26 10:22 ` Rodrigo Vivi
2021-07-24 0:11 ` [Intel-gfx] [PATCH 25/30] drm/i915/gt: rename CNL references in intel_engine.h Lucas De Marchi
2021-07-26 10:38 ` Rodrigo Vivi
2021-07-24 0:11 ` [Intel-gfx] [PATCH 26/30] drm/i915: finish removal of CNL Lucas De Marchi
2021-07-26 10:21 ` Rodrigo Vivi
2021-07-24 0:11 ` [Intel-gfx] [PATCH 27/30] drm/i915: remove GRAPHICS_VER == 10 Lucas De Marchi
2021-07-26 10:08 ` Rodrigo Vivi
2021-07-24 0:11 ` [Intel-gfx] [PATCH 28/30] drm/i915: rename/remove CNL registers Lucas De Marchi
2021-07-26 10:06 ` Rodrigo Vivi
2021-07-24 0:11 ` [Intel-gfx] [PATCH 29/30] drm/i915: replace random CNL comments Lucas De Marchi
2021-07-26 10:09 ` Rodrigo Vivi
2021-07-24 0:11 ` [Intel-gfx] [PATCH 30/30] drm/i915: switch num_scalers/num_sprites to consider DISPLAY_VER Lucas De Marchi
2021-07-26 10:13 ` Rodrigo Vivi
2021-07-27 6:59 ` Lucas De Marchi
2021-07-24 0:40 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for Remove CNL support Patchwork
2021-07-24 0:41 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork
2021-07-24 1:10 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2021-07-24 2:05 ` [Intel-gfx] [PATCH 00/30] " Jason Ekstrand
2021-07-24 12:37 ` [Intel-gfx] ✗ Fi.CI.IGT: failure for " Patchwork
2021-07-26 11:07 ` Rodrigo Vivi
2021-07-26 13:59 ` Lucas De Marchi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210724181702.GN1556418@mdroper-desk1.amr.corp.intel.com \
--to=matthew.d.roper@intel.com \
--cc=daniel.vetter@ffwll.ch \
--cc=dri-devel@lists.freedesktop.org \
--cc=intel-gfx@lists.freedesktop.org \
--cc=lucas.demarchi@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).