mirror of
https://github.com/Fishwaldo/build.git
synced 2025-03-27 17:21:34 +00:00
1: update meson 4K support patches: 2, HDMI i2s improvement patches: 3, update vdec patches: 4, update meson audio patches: 5, add meson crypto engine driver 6, remove disabled patches: 7 remove unknown patch or no need 8, remove merged patches: 9, remove unknown patches from khadas should be covered by patches set 2 10, rename patches for better grouping 11, update kernel config accordingly Signed-off-by: Zhang Ning <832666+zhangn1985@users.noreply.github.com>
58 lines
2.1 KiB
Diff
58 lines
2.1 KiB
Diff
From 82367607f5142c602a63b66ca6fd18bc6753b462 Mon Sep 17 00:00:00 2001
|
|
From: Jerome Brunet <jbrunet@baylibre.com>
|
|
Date: Mon, 5 Aug 2019 15:41:00 +0200
|
|
Subject: [PATCH 6/8] drm/bridge: dw-hdmi-i2s: reset audio fifo before applying
|
|
new params
|
|
|
|
When changing the audio hw params, reset the audio fifo to make sure
|
|
any old remaining data is flushed.
|
|
|
|
The databook mentions that such reset should be followed by a reset of
|
|
the i2s block to make sure the samples stay aligned
|
|
|
|
Cc: Jonas Karlman <jonas@kwiboo.se>
|
|
Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
|
|
---
|
|
drivers/gpu/drm/bridge/synopsys/dw-hdmi-i2s-audio.c | 6 ++++--
|
|
drivers/gpu/drm/bridge/synopsys/dw-hdmi.h | 1 +
|
|
2 files changed, 5 insertions(+), 2 deletions(-)
|
|
|
|
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 0864dee8d180..41bee0099578 100644
|
|
--- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi-i2s-audio.c
|
|
+++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi-i2s-audio.c
|
|
@@ -49,6 +49,10 @@ static int dw_hdmi_i2s_hw_params(struct device *dev, void *data,
|
|
return -EINVAL;
|
|
}
|
|
|
|
+ /* Reset the FIFOs before applying new params */
|
|
+ hdmi_write(audio, HDMI_AUD_CONF0_SW_RESET, HDMI_AUD_CONF0);
|
|
+ hdmi_write(audio, (u8)~HDMI_MC_SWRSTZ_I2SSWRST_REQ, HDMI_MC_SWRSTZ);
|
|
+
|
|
inputclkfs = HDMI_AUD_INPUTCLKFS_64FS;
|
|
conf0 = HDMI_AUD_CONF0_I2S_ALL_ENABLE;
|
|
|
|
@@ -102,8 +106,6 @@ static void dw_hdmi_i2s_audio_shutdown(struct device *dev, void *data)
|
|
struct dw_hdmi *hdmi = audio->hdmi;
|
|
|
|
dw_hdmi_audio_disable(hdmi);
|
|
-
|
|
- hdmi_write(audio, HDMI_AUD_CONF0_SW_RESET, HDMI_AUD_CONF0);
|
|
}
|
|
|
|
static int dw_hdmi_i2s_get_dai_id(struct snd_soc_component *component,
|
|
diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.h b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.h
|
|
index 091d7c28aa17..a272fa393ae6 100644
|
|
--- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.h
|
|
+++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.h
|
|
@@ -940,6 +940,7 @@ enum {
|
|
HDMI_MC_CLKDIS_PIXELCLK_DISABLE = 0x1,
|
|
|
|
/* MC_SWRSTZ field values */
|
|
+ HDMI_MC_SWRSTZ_I2SSWRST_REQ = 0x08,
|
|
HDMI_MC_SWRSTZ_TMDSSWRST_REQ = 0x02,
|
|
|
|
/* MC_FLOWCTRL field values */
|
|
--
|
|
2.20.1
|
|
|