mirror of
https://github.com/torvalds/linux.git
synced 2026-05-31 10:33:41 +02:00
drm/msm/hdmi: Fix wrong CTRL1 register used in writing info frames
Commit384d2b03d0("drm/msm/hdmi: make use of the drm_connector_hdmi framework") changed the unconditional register writes in few places to updates: read, apply mask, write. The new code reads REG_HDMI_INFOFRAME_CTRL1 register, applies fields/mask for HDMI_INFOFRAME_CTRL0 register and finally writes to HDMI_INFOFRAME_CTRL0. This difference between CTRL1 and CTRL0 looks unintended and may result in wrong data being written to HDMI bridge registers. Cc: <stable@vger.kernel.org> Fixes:384d2b03d0("drm/msm/hdmi: make use of the drm_connector_hdmi framework") Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> Patchwork: https://patchwork.freedesktop.org/patch/711156/ Link: https://lore.kernel.org/r/20260311191620.245394-2-krzysztof.kozlowski@oss.qualcomm.com Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
This commit is contained in:
parent
fdbc6391b4
commit
8c6c93b7db
|
|
@ -80,7 +80,7 @@ static int msm_hdmi_config_avi_infoframe(struct hdmi *hdmi,
|
|||
for (i = 0; i < ARRAY_SIZE(buf); i++)
|
||||
hdmi_write(hdmi, REG_HDMI_AVI_INFO(i), buf[i]);
|
||||
|
||||
val = hdmi_read(hdmi, REG_HDMI_INFOFRAME_CTRL1);
|
||||
val = hdmi_read(hdmi, REG_HDMI_INFOFRAME_CTRL0);
|
||||
val |= HDMI_INFOFRAME_CTRL0_AVI_SEND |
|
||||
HDMI_INFOFRAME_CTRL0_AVI_CONT;
|
||||
hdmi_write(hdmi, REG_HDMI_INFOFRAME_CTRL0, val);
|
||||
|
|
@ -116,7 +116,7 @@ static int msm_hdmi_config_audio_infoframe(struct hdmi *hdmi,
|
|||
buffer[9] << 16 |
|
||||
buffer[10] << 24);
|
||||
|
||||
val = hdmi_read(hdmi, REG_HDMI_INFOFRAME_CTRL1);
|
||||
val = hdmi_read(hdmi, REG_HDMI_INFOFRAME_CTRL0);
|
||||
val |= HDMI_INFOFRAME_CTRL0_AUDIO_INFO_SEND |
|
||||
HDMI_INFOFRAME_CTRL0_AUDIO_INFO_CONT |
|
||||
HDMI_INFOFRAME_CTRL0_AUDIO_INFO_SOURCE |
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user