Signed-off-by: Jani Nikula <jani.nik...@intel.com>
---
 drivers/gpu/drm/i915/i915_reg.h    | 20 ++++++--------------
 drivers/gpu/drm/i915/intel_audio.c | 22 ++++++++++------------
 drivers/gpu/drm/i915/intel_ddi.c   |  2 +-
 3 files changed, 17 insertions(+), 27 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index b914e7932a76..04790c0f52ed 100644
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h
@@ -5977,8 +5977,8 @@ enum punit_power_well {
 #define   IBX_ELD_ADDRESS_MASK         (0x1f << 5)
 #define   IBX_ELD_ACK                  (1 << 4)
 #define IBX_AUD_CNTL_ST2               0xE20C0
-#define   IBX_ELD_VALIDB               (1 << 0)
-#define   IBX_CP_READYB                        (1 << 1)
+#define   IBX_CP_READY(port)           ((1 << 1) << (((port) - 1) * 4))
+#define   IBX_ELD_VALID(port)          ((1 << 0) << (((port) - 1) * 4))
 
 #define _CPT_HDMIW_HDMIEDID_A          0xE5050
 #define _CPT_HDMIW_HDMIEDID_B          0xE5150
@@ -6081,18 +6081,10 @@ enum punit_power_well {
 
 #define HSW_AUD_PIPE_CONV_CFG          0x6507c
 #define HSW_AUD_PIN_ELD_CP_VLD         0x650c0
-#define   AUDIO_INACTIVE_C             (1<<11)
-#define   AUDIO_INACTIVE_B             (1<<7)
-#define   AUDIO_INACTIVE_A             (1<<3)
-#define   AUDIO_OUTPUT_ENABLE_A                (1<<2)
-#define   AUDIO_OUTPUT_ENABLE_B                (1<<6)
-#define   AUDIO_OUTPUT_ENABLE_C                (1<<10)
-#define   AUDIO_ELD_VALID_A            (1<<0)
-#define   AUDIO_ELD_VALID_B            (1<<4)
-#define   AUDIO_ELD_VALID_C            (1<<8)
-#define   AUDIO_CP_READY_A             (1<<1)
-#define   AUDIO_CP_READY_B             (1<<5)
-#define   AUDIO_CP_READY_C             (1<<9)
+#define   AUDIO_INACTIVE(trans)                ((1 << 3) << ((trans) * 4))
+#define   AUDIO_OUTPUT_ENABLE(trans)   ((1 << 2) << ((trans) * 4))
+#define   AUDIO_CP_READY(trans)                ((1 << 1) << ((trans) * 4))
+#define   AUDIO_ELD_VALID(trans)       ((1 << 0) << ((trans) * 4))
 
 /* HSW Power Wells */
 #define HSW_PWR_WELL_BIOS                      0x45400 /* CTL1 */
diff --git a/drivers/gpu/drm/i915/intel_audio.c 
b/drivers/gpu/drm/i915/intel_audio.c
index 03caa8e9bf25..58de48ff3585 100644
--- a/drivers/gpu/drm/i915/intel_audio.c
+++ b/drivers/gpu/drm/i915/intel_audio.c
@@ -172,7 +172,7 @@ static void hsw_audio_codec_disable(struct intel_encoder 
*encoder)
 
        /* Invalidate ELD */
        tmp = I915_READ(HSW_AUD_PIN_ELD_CP_VLD);
-       tmp &= ~(AUDIO_ELD_VALID_A << (pipe * 4));
+       tmp &= ~AUDIO_ELD_VALID(pipe);
        I915_WRITE(HSW_AUD_PIN_ELD_CP_VLD, tmp);
 }
 
@@ -192,8 +192,8 @@ static void hsw_audio_codec_enable(struct drm_connector 
*connector,
 
        /* Enable audio presence detect, invalidate ELD */
        tmp = I915_READ(HSW_AUD_PIN_ELD_CP_VLD);
-       tmp |= AUDIO_OUTPUT_ENABLE_A << (pipe * 4);
-       tmp &= ~(AUDIO_ELD_VALID_A << (pipe * 4));
+       tmp |= AUDIO_OUTPUT_ENABLE(pipe);
+       tmp &= ~AUDIO_ELD_VALID(pipe);
        I915_WRITE(HSW_AUD_PIN_ELD_CP_VLD, tmp);
 
        intel_wait_for_vblank(dev_priv->dev, pipe);
@@ -210,7 +210,7 @@ static void hsw_audio_codec_enable(struct drm_connector 
*connector,
 
        /* ELD valid */
        tmp = I915_READ(HSW_AUD_PIN_ELD_CP_VLD);
-       tmp |= AUDIO_ELD_VALID_A << (pipe * 4);
+       tmp |= AUDIO_ELD_VALID(pipe);
        I915_WRITE(HSW_AUD_PIN_ELD_CP_VLD, tmp);
 
        /* Enable timestamps */
@@ -262,11 +262,10 @@ static void ilk_audio_codec_disable(struct intel_encoder 
*encoder)
        I915_WRITE(aud_config, tmp);
 
        if (WARN_ON(!port)) {
-               eldv = IBX_ELD_VALIDB;
-               eldv |= IBX_ELD_VALIDB << 4;
-               eldv |= IBX_ELD_VALIDB << 8;
+               eldv = IBX_ELD_VALID(PORT_B) | IBX_ELD_VALID(PORT_C) |
+                       IBX_ELD_VALID(PORT_D);
        } else {
-               eldv = IBX_ELD_VALIDB << ((port - 1) * 4);
+               eldv = IBX_ELD_VALID(port);
        }
 
        /* Invalidate ELD */
@@ -317,11 +316,10 @@ static void ilk_audio_codec_enable(struct drm_connector 
*connector,
        }
 
        if (WARN_ON(!port)) {
-               eldv = IBX_ELD_VALIDB;
-               eldv |= IBX_ELD_VALIDB << 4;
-               eldv |= IBX_ELD_VALIDB << 8;
+               eldv = IBX_ELD_VALID(PORT_B) | IBX_ELD_VALID(PORT_C) |
+                       IBX_ELD_VALID(PORT_D);
        } else {
-               eldv = IBX_ELD_VALIDB << ((port - 1) * 4);
+               eldv = IBX_ELD_VALID(port);
        }
 
        /* Invalidate ELD */
diff --git a/drivers/gpu/drm/i915/intel_ddi.c b/drivers/gpu/drm/i915/intel_ddi.c
index ba3dccc055d4..e2a0ee3f9994 100644
--- a/drivers/gpu/drm/i915/intel_ddi.c
+++ b/drivers/gpu/drm/i915/intel_ddi.c
@@ -1504,7 +1504,7 @@ void intel_ddi_get_config(struct intel_encoder *encoder,
 
        if (intel_display_power_is_enabled(dev_priv, POWER_DOMAIN_AUDIO)) {
                temp = I915_READ(HSW_AUD_PIN_ELD_CP_VLD);
-               if (temp & (AUDIO_OUTPUT_ENABLE_A << (intel_crtc->pipe * 4)))
+               if (temp & AUDIO_OUTPUT_ENABLE(intel_crtc->pipe))
                        pipe_config->has_audio = true;
        }
 
-- 
1.9.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to