Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> On Mon, Oct 27, 2014 at 7:26 AM, Jani Nikula <jani.nikula@xxxxxxxxx> wrote: > Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> > --- > 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 6880f8ac452c..b761ae1a8e1e 100644 > --- a/drivers/gpu/drm/i915/i915_reg.h > +++ b/drivers/gpu/drm/i915/i915_reg.h > @@ -5982,8 +5982,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 > @@ -6086,18 +6086,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 6d0013cd3ed4..7c975cfe9cb5 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 b182b9b80461..6d4fe0e4253e 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; > } > > -- > 2.1.1 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@xxxxxxxxxxxxxxxxxxxxx > http://lists.freedesktop.org/mailman/listinfo/intel-gfx -- Rodrigo Vivi Blog: http://blog.vivi.eng.br _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx