diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi-i2s-audio.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi-i2s-audio.c index f1f62d8c1d16..a9f03a23653f 100644 --- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi-i2s-audio.c +++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi-i2s-audio.c @@ -207,7 +207,12 @@ static void dw_hdmi_i2s_audio_shutdown(struct device *dev, void *data) dw_hdmi_audio_disable(hdmi); - hdmi_write(audio, HDMI_AUD_CONF0_SW_RESET, HDMI_AUD_CONF0); + hdmi_update_bits(audio, + HDMI_AUD_CONF0_SW_RESET | + (HDMI_AUD_CONF0_I2S_ALL_ENABLE ^ + HDMI_AUD_CONF0_I2S_SELECT_MASK), + HDMI_AUD_CONF0_SW_RESET, + HDMI_AUD_CONF0); } static struct hdmi_codec_ops dw_hdmi_i2s_ops = {