aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sound/soc/codecs/omap-hdmi-codec.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/sound/soc/codecs/omap-hdmi-codec.c b/sound/soc/codecs/omap-hdmi-codec.c
index cf9edd2..c46a5f5 100644
--- a/sound/soc/codecs/omap-hdmi-codec.c
+++ b/sound/soc/codecs/omap-hdmi-codec.c
@@ -82,6 +82,10 @@ static int hdmi_audio_set_configuration(struct hdmi_codec_data *priv)
int err, n, cts, channel_alloc;
enum hdmi_core_audio_sample_freq sample_freq;
u32 pclk = omapdss_hdmi_get_pixel_clock();
+ struct omap_chip_id audio_must_use_mclk;
+
+ audio_must_use_mclk.oc = CHIP_IS_OMAP4430ES2_3 | CHIP_IS_OMAP446X |
+ CHIP_IS_OMAP447X;
switch (priv->params.format) {
case SNDRV_PCM_FORMAT_S16_LE:
@@ -169,7 +173,7 @@ static int hdmi_audio_set_configuration(struct hdmi_codec_data *priv)
if (dss_has_feature(FEAT_HDMI_CTS_SWMODE)) {
core_cfg->aud_par_busclk = 0;
core_cfg->cts_mode = HDMI_AUDIO_CTS_MODE_SW;
- core_cfg->use_mclk = (cpu_is_omap446x() || cpu_is_omap447x());
+ core_cfg->use_mclk = omap_chip_is(audio_must_use_mclk);
} else {
core_cfg->aud_par_busclk = (((128 * 31) - 1) << 8);
core_cfg->cts_mode = HDMI_AUDIO_CTS_MODE_HW;