[Intel-gfx] [PATCH 1/5] drm/i915: s/TRANSCONF/PCH_TRANSCONF/
Paulo Zanoni
przanoni at gmail.com
Thu May 2 20:12:07 CEST 2013
Hi
2013/5/1 Daniel Vetter <daniel.vetter at ffwll.ch>:
> Every time I read hsw code I get completely confused about this. So
> call it what it is more explicitly.
>
> Also, add an LPT_TRANSCONF for the pch transcoder A and use it in
> lpt-only code, to really unconfuse me.
>
> Signed-off-by: Daniel Vetter <daniel.vetter at ffwll.ch>
> ---
> drivers/gpu/drm/i915/i915_reg.h | 7 ++++---
> drivers/gpu/drm/i915/i915_ums.c | 8 ++++----
> drivers/gpu/drm/i915/intel_display.c | 30 +++++++++++++++---------------
> 3 files changed, 23 insertions(+), 22 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
> index 95ae5cf..d06a571 100644
> --- a/drivers/gpu/drm/i915/i915_reg.h
> +++ b/drivers/gpu/drm/i915/i915_reg.h
> @@ -4058,9 +4058,10 @@
> #define TRANSDPLINK_M2(pipe) _PIPE(pipe, _TRANSA_DP_LINK_M2, _TRANSB_DP_LINK_M2)
> #define TRANSDPLINK_N2(pipe) _PIPE(pipe, _TRANSA_DP_LINK_N2, _TRANSB_DP_LINK_N2)
>
> -#define _TRANSACONF 0xf0008
> -#define _TRANSBCONF 0xf1008
> -#define TRANSCONF(plane) _PIPE(plane, _TRANSACONF, _TRANSBCONF)
> +#define _PCH_TRANSACONF 0xf0008
> +#define _PCH_TRANSBCONF 0xf1008
> +#define PCH_TRANSCONF(plane) _PIPE(plane, _PCH_TRANSACONF, _PCH_TRANSBCONF)
> +#define LPT_TRANSCONF _PCH_TRANSACONF /* lpt has only one transcoder */
Since we're already touching the macros, I need to point that we call
the argument "plane" but use the _PIPE macro, when it's actually a
transcoder :)
Reviewed-by: Paulo Zanoni <paulo.r.zanoni at intel.com>
> #define TRANS_DISABLE (0<<31)
> #define TRANS_ENABLE (1<<31)
> #define TRANS_STATE_MASK (1<<30)
> diff --git a/drivers/gpu/drm/i915/i915_ums.c b/drivers/gpu/drm/i915/i915_ums.c
> index 985a097..75960dd 100644
> --- a/drivers/gpu/drm/i915/i915_ums.c
> +++ b/drivers/gpu/drm/i915/i915_ums.c
> @@ -148,7 +148,7 @@ void i915_save_display_reg(struct drm_device *dev)
> dev_priv->regfile.savePFA_WIN_SZ = I915_READ(_PFA_WIN_SZ);
> dev_priv->regfile.savePFA_WIN_POS = I915_READ(_PFA_WIN_POS);
>
> - dev_priv->regfile.saveTRANSACONF = I915_READ(_TRANSACONF);
> + dev_priv->regfile.saveTRANSACONF = I915_READ(_PCH_TRANSACONF);
> dev_priv->regfile.saveTRANS_HTOTAL_A = I915_READ(_TRANS_HTOTAL_A);
> dev_priv->regfile.saveTRANS_HBLANK_A = I915_READ(_TRANS_HBLANK_A);
> dev_priv->regfile.saveTRANS_HSYNC_A = I915_READ(_TRANS_HSYNC_A);
> @@ -205,7 +205,7 @@ void i915_save_display_reg(struct drm_device *dev)
> dev_priv->regfile.savePFB_WIN_SZ = I915_READ(_PFB_WIN_SZ);
> dev_priv->regfile.savePFB_WIN_POS = I915_READ(_PFB_WIN_POS);
>
> - dev_priv->regfile.saveTRANSBCONF = I915_READ(_TRANSBCONF);
> + dev_priv->regfile.saveTRANSBCONF = I915_READ(_PCH_TRANSBCONF);
> dev_priv->regfile.saveTRANS_HTOTAL_B = I915_READ(_TRANS_HTOTAL_B);
> dev_priv->regfile.saveTRANS_HBLANK_B = I915_READ(_TRANS_HBLANK_B);
> dev_priv->regfile.saveTRANS_HSYNC_B = I915_READ(_TRANS_HSYNC_B);
> @@ -379,7 +379,7 @@ void i915_restore_display_reg(struct drm_device *dev)
> I915_WRITE(_PFA_WIN_SZ, dev_priv->regfile.savePFA_WIN_SZ);
> I915_WRITE(_PFA_WIN_POS, dev_priv->regfile.savePFA_WIN_POS);
>
> - I915_WRITE(_TRANSACONF, dev_priv->regfile.saveTRANSACONF);
> + I915_WRITE(_PCH_TRANSACONF, dev_priv->regfile.saveTRANSACONF);
> I915_WRITE(_TRANS_HTOTAL_A, dev_priv->regfile.saveTRANS_HTOTAL_A);
> I915_WRITE(_TRANS_HBLANK_A, dev_priv->regfile.saveTRANS_HBLANK_A);
> I915_WRITE(_TRANS_HSYNC_A, dev_priv->regfile.saveTRANS_HSYNC_A);
> @@ -448,7 +448,7 @@ void i915_restore_display_reg(struct drm_device *dev)
> I915_WRITE(_PFB_WIN_SZ, dev_priv->regfile.savePFB_WIN_SZ);
> I915_WRITE(_PFB_WIN_POS, dev_priv->regfile.savePFB_WIN_POS);
>
> - I915_WRITE(_TRANSBCONF, dev_priv->regfile.saveTRANSBCONF);
> + I915_WRITE(_PCH_TRANSBCONF, dev_priv->regfile.saveTRANSBCONF);
> I915_WRITE(_TRANS_HTOTAL_B, dev_priv->regfile.saveTRANS_HTOTAL_B);
> I915_WRITE(_TRANS_HBLANK_B, dev_priv->regfile.saveTRANS_HBLANK_B);
> I915_WRITE(_TRANS_HSYNC_B, dev_priv->regfile.saveTRANS_HSYNC_B);
> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> index 2939524..9ee2f9e 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -1206,14 +1206,14 @@ static void assert_pch_refclk_enabled(struct drm_i915_private *dev_priv)
> WARN(!enabled, "PCH refclk assertion failure, should be active but is disabled\n");
> }
>
> -static void assert_transcoder_disabled(struct drm_i915_private *dev_priv,
> - enum pipe pipe)
> +static void assert_pch_transcoder_disabled(struct drm_i915_private *dev_priv,
> + enum pipe pipe)
> {
> int reg;
> u32 val;
> bool enabled;
>
> - reg = TRANSCONF(pipe);
> + reg = PCH_TRANSCONF(pipe);
> val = I915_READ(reg);
> enabled = !!(val & TRANS_ENABLE);
> WARN(enabled,
> @@ -1565,7 +1565,7 @@ static void intel_disable_pch_pll(struct intel_crtc *intel_crtc)
> DRM_DEBUG_KMS("disabling PCH PLL %x\n", pll->pll_reg);
>
> /* Make sure transcoder isn't still depending on us */
> - assert_transcoder_disabled(dev_priv, intel_crtc->pipe);
> + assert_pch_transcoder_disabled(dev_priv, intel_crtc->pipe);
>
> reg = pll->pll_reg;
> val = I915_READ(reg);
> @@ -1605,7 +1605,7 @@ static void ironlake_enable_pch_transcoder(struct drm_i915_private *dev_priv,
> I915_WRITE(reg, val);
> }
>
> - reg = TRANSCONF(pipe);
> + reg = PCH_TRANSCONF(pipe);
> val = I915_READ(reg);
> pipeconf_val = I915_READ(PIPECONF(pipe));
>
> @@ -1659,8 +1659,8 @@ static void lpt_enable_pch_transcoder(struct drm_i915_private *dev_priv,
> else
> val |= TRANS_PROGRESSIVE;
>
> - I915_WRITE(TRANSCONF(TRANSCODER_A), val);
> - if (wait_for(I915_READ(_TRANSACONF) & TRANS_STATE_ENABLE, 100))
> + I915_WRITE(LPT_TRANSCONF, val);
> + if (wait_for(I915_READ(LPT_TRANSCONF) & TRANS_STATE_ENABLE, 100))
> DRM_ERROR("Failed to enable PCH transcoder\n");
> }
>
> @@ -1677,7 +1677,7 @@ static void ironlake_disable_pch_transcoder(struct drm_i915_private *dev_priv,
> /* Ports must be off as well */
> assert_pch_ports_disabled(dev_priv, pipe);
>
> - reg = TRANSCONF(pipe);
> + reg = PCH_TRANSCONF(pipe);
> val = I915_READ(reg);
> val &= ~TRANS_ENABLE;
> I915_WRITE(reg, val);
> @@ -1698,11 +1698,11 @@ static void lpt_disable_pch_transcoder(struct drm_i915_private *dev_priv)
> {
> u32 val;
>
> - val = I915_READ(_TRANSACONF);
> + val = I915_READ(LPT_TRANSCONF);
> val &= ~TRANS_ENABLE;
> - I915_WRITE(_TRANSACONF, val);
> + I915_WRITE(LPT_TRANSCONF, val);
> /* wait for PCH transcoder off, transcoder state */
> - if (wait_for((I915_READ(_TRANSACONF) & TRANS_STATE_ENABLE) == 0, 50))
> + if (wait_for((I915_READ(LPT_TRANSCONF) & TRANS_STATE_ENABLE) == 0, 50))
> DRM_ERROR("Failed to disable PCH transcoder\n");
>
> /* Workaround: clear timing override bit. */
> @@ -3011,7 +3011,7 @@ static void ironlake_pch_enable(struct drm_crtc *crtc)
> int pipe = intel_crtc->pipe;
> u32 reg, temp;
>
> - assert_transcoder_disabled(dev_priv, pipe);
> + assert_pch_transcoder_disabled(dev_priv, pipe);
>
> /* Write the TU size bits before fdi link training, so that error
> * detection works. */
> @@ -3115,7 +3115,7 @@ static void lpt_pch_enable(struct drm_crtc *crtc)
> struct intel_crtc *intel_crtc = to_intel_crtc(crtc);
> enum transcoder cpu_transcoder = intel_crtc->config.cpu_transcoder;
>
> - assert_transcoder_disabled(dev_priv, TRANSCODER_A);
> + assert_pch_transcoder_disabled(dev_priv, TRANSCODER_A);
>
> lpt_program_iclkip(crtc);
>
> @@ -5899,7 +5899,7 @@ static bool ironlake_get_pipe_config(struct intel_crtc *crtc,
> if (!(tmp & PIPECONF_ENABLE))
> return false;
>
> - if (I915_READ(TRANSCONF(crtc->pipe)) & TRANS_ENABLE) {
> + if (I915_READ(PCH_TRANSCONF(crtc->pipe)) & TRANS_ENABLE) {
> pipe_config->has_pch_encoder = true;
>
> tmp = I915_READ(FDI_RX_CTL(crtc->pipe));
> @@ -6048,7 +6048,7 @@ static bool haswell_get_pipe_config(struct intel_crtc *crtc,
> */
> tmp = I915_READ(TRANS_DDI_FUNC_CTL(cpu_transcoder));
> if ((tmp & TRANS_DDI_PORT_MASK) == TRANS_DDI_SELECT_PORT(PORT_E) &&
> - I915_READ(TRANSCONF(PIPE_A)) & TRANS_ENABLE) {
> + I915_READ(LPT_TRANSCONF) & TRANS_ENABLE) {
> pipe_config->has_pch_encoder = true;
>
> tmp = I915_READ(FDI_RX_CTL(PIPE_A));
> --
> 1.8.1.4
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
--
Paulo Zanoni
More information about the Intel-gfx
mailing list