drm: bridge/dw_hdmi: add audio sample channel status setting
authorYakir Yang <ykk@rock-chips.com>
Wed, 11 Sep 2019 08:26:46 +0000 (16:26 +0800)
committerNeil Armstrong <narmstrong@baylibre.com>
Fri, 13 Sep 2019 08:43:51 +0000 (10:43 +0200)
commit3250cdf938dce5447cf4f895bb3ec3b929a95e09
tree0152d047929dc1715c0e3254fe6526b2e7767d50
parentde2358050ab8225117d3252de52f85e260b5dad5
drm: bridge/dw_hdmi: add audio sample channel status setting

When transmitting IEC60985 linear PCM audio, we configure the
Aduio Sample Channel Status information in the IEC60958 frame.
The status bit is already available in iec.status of hdmi_codec_params.

This fix the issue that audio does not come out on some monitors
(e.g. LG 22CV241)

Note that these registers are only for interfaces:
I2S audio interface, General Purpose Audio (GPA), or AHB audio DMA
(AHBAUDDMA).
For S/PDIF interface this information comes from the stream.

Currently this function dw_hdmi_set_channel_status is only called
from dw-hdmi-i2s-audio in I2S setup.

Signed-off-by: Yakir Yang <ykk@rock-chips.com>
Signed-off-by: Cheng-Yi Chiang <cychiang@chromium.org>
Reviewed-by: Jonas Karlman <jonas@kwiboo.se>
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190911082646.134347-1-cychiang@chromium.org
drivers/gpu/drm/bridge/synopsys/dw-hdmi-i2s-audio.c
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
drivers/gpu/drm/bridge/synopsys/dw-hdmi.h
include/drm/bridge/dw_hdmi.h