* [PATCH v5 0/5] Add HDMI jack support on RK3288
@ 2019-07-17 8:33 Cheng-Yi Chiang
2019-07-17 8:33 ` [PATCH v5 1/5] ASoC: hdmi-codec: Add an op to set callback function for plug event Cheng-Yi Chiang
` (5 more replies)
0 siblings, 6 replies; 13+ messages in thread
From: Cheng-Yi Chiang @ 2019-07-17 8:33 UTC (permalink / raw)
To: linux-kernel
Cc: alsa-devel, dianders, Heiko Stuebner, linux-rockchip,
David Airlie, dri-devel, Takashi Iwai, Liam Girdwood, tzungbi,
Jaroslav Kysela, Hans Verkuil, Andrzej Hajda, Russell King,
Mark Brown, Laurent Pinchart, Daniel Vetter, dgreid,
linux-arm-kernel, Cheng-Yi Chiang
This patch series supports HDMI jack reporting on RK3288, which uses
DRM dw-hdmi driver and hdmi-codec codec driver.
The previous discussion about reporting jack status using hdmi-notifier
and drm_audio_component is at
https://lore.kernel.org/patchwork/patch/1083027/
The new approach is to use a callback mechanism that is
specific to hdmi-codec.
Changes from v4 to v5:
- synopsys/Kconfig: Remove the incorrect dependency change in v4.
- rockchip/Kconfig: Add dependency of hdmi-codec when it is really need
for jack support.
Cheng-Yi Chiang (5):
ASoC: hdmi-codec: Add an op to set callback function for plug event
drm: bridge: dw-hdmi: Report connector status using callback
drm: dw-hdmi-i2s: Use fixed id for codec device
ASoC: rockchip_max98090: Add dai_link for HDMI
ASoC: rockchip_max98090: Add HDMI jack support
.../drm/bridge/synopsys/dw-hdmi-i2s-audio.c | 13 +-
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 41 ++++++-
include/drm/bridge/dw_hdmi.h | 4 +
include/sound/hdmi-codec.h | 17 +++
sound/soc/codecs/hdmi-codec.c | 46 +++++++
sound/soc/rockchip/Kconfig | 3 +-
sound/soc/rockchip/rk3288_hdmi_analog.c | 3 +-
sound/soc/rockchip/rockchip_max98090.c | 116 ++++++++++++++----
8 files changed, 216 insertions(+), 27 deletions(-)
--
2.22.0.510.g264f2c817a-goog
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH v5 1/5] ASoC: hdmi-codec: Add an op to set callback function for plug event
2019-07-17 8:33 [PATCH v5 0/5] Add HDMI jack support on RK3288 Cheng-Yi Chiang
@ 2019-07-17 8:33 ` Cheng-Yi Chiang
2019-07-17 8:33 ` [PATCH v5 2/5] drm: bridge: dw-hdmi: Report connector status using callback Cheng-Yi Chiang
` (4 subsequent siblings)
5 siblings, 0 replies; 13+ messages in thread
From: Cheng-Yi Chiang @ 2019-07-17 8:33 UTC (permalink / raw)
To: linux-kernel
Cc: alsa-devel, dianders, Heiko Stuebner, linux-rockchip,
David Airlie, dri-devel, Takashi Iwai, Liam Girdwood, tzungbi,
Jaroslav Kysela, Hans Verkuil, Andrzej Hajda, Russell King,
Mark Brown, Laurent Pinchart, Daniel Vetter, dgreid,
linux-arm-kernel, Cheng-Yi Chiang
Add an op in hdmi_codec_ops so codec driver can register callback
function to handle plug event.
Driver in DRM can use this callback function to report connector status.
Signed-off-by: Cheng-Yi Chiang <cychiang@chromium.org>
---
include/sound/hdmi-codec.h | 17 +++++++++++++
sound/soc/codecs/hdmi-codec.c | 46 +++++++++++++++++++++++++++++++++++
2 files changed, 63 insertions(+)
diff --git a/include/sound/hdmi-codec.h b/include/sound/hdmi-codec.h
index 7fea496f1f34..83b17682e01c 100644
--- a/include/sound/hdmi-codec.h
+++ b/include/sound/hdmi-codec.h
@@ -47,6 +47,9 @@ struct hdmi_codec_params {
int channels;
};
+typedef void (*hdmi_codec_plugged_cb)(struct device *dev,
+ bool plugged);
+
struct hdmi_codec_pdata;
struct hdmi_codec_ops {
/*
@@ -88,6 +91,14 @@ struct hdmi_codec_ops {
*/
int (*get_dai_id)(struct snd_soc_component *comment,
struct device_node *endpoint);
+
+ /*
+ * Hook callback function to handle connector plug event.
+ * Optional
+ */
+ int (*hook_plugged_cb)(struct device *dev, void *data,
+ hdmi_codec_plugged_cb fn,
+ struct device *codec_dev);
};
/* HDMI codec initalization data */
@@ -99,6 +110,12 @@ struct hdmi_codec_pdata {
void *data;
};
+struct snd_soc_component;
+struct snd_soc_jack;
+
+int hdmi_codec_set_jack_detect(struct snd_soc_component *component,
+ struct snd_soc_jack *jack);
+
#define HDMI_CODEC_DRV_NAME "hdmi-audio-codec"
#endif /* __HDMI_CODEC_H__ */
diff --git a/sound/soc/codecs/hdmi-codec.c b/sound/soc/codecs/hdmi-codec.c
index 0bf1c8cad108..b5fd8f08726e 100644
--- a/sound/soc/codecs/hdmi-codec.c
+++ b/sound/soc/codecs/hdmi-codec.c
@@ -7,6 +7,7 @@
#include <linux/module.h>
#include <linux/string.h>
#include <sound/core.h>
+#include <sound/jack.h>
#include <sound/pcm.h>
#include <sound/pcm_params.h>
#include <sound/soc.h>
@@ -274,6 +275,8 @@ struct hdmi_codec_priv {
struct snd_pcm_chmap *chmap_info;
unsigned int chmap_idx;
struct mutex lock;
+ struct snd_soc_jack *jack;
+ unsigned int jack_status;
};
static const struct snd_soc_dapm_widget hdmi_widgets[] = {
@@ -663,6 +666,49 @@ static int hdmi_dai_probe(struct snd_soc_dai *dai)
return 0;
}
+static void hdmi_codec_jack_report(struct hdmi_codec_priv *hcp,
+ unsigned int jack_status)
+{
+ if (hcp->jack && jack_status != hcp->jack_status) {
+ snd_soc_jack_report(hcp->jack, jack_status, SND_JACK_LINEOUT);
+ hcp->jack_status = jack_status;
+ }
+}
+
+static void plugged_cb(struct device *dev, bool plugged)
+{
+ struct hdmi_codec_priv *hcp = dev_get_drvdata(dev);
+
+ if (plugged)
+ hdmi_codec_jack_report(hcp, SND_JACK_LINEOUT);
+ else
+ hdmi_codec_jack_report(hcp, 0);
+}
+
+/**
+ * hdmi_codec_set_jack_detect - register HDMI plugged callback
+ * @component: the hdmi-codec instance
+ * @jack: ASoC jack to report (dis)connection events on
+ */
+int hdmi_codec_set_jack_detect(struct snd_soc_component *component,
+ struct snd_soc_jack *jack)
+{
+ struct hdmi_codec_priv *hcp = snd_soc_component_get_drvdata(component);
+ int ret = -EOPNOTSUPP;
+
+ if (hcp->hcd.ops->hook_plugged_cb) {
+ hcp->jack = jack;
+ ret = hcp->hcd.ops->hook_plugged_cb(component->dev->parent,
+ hcp->hcd.data,
+ plugged_cb,
+ component->dev);
+ if (ret)
+ hcp->jack = NULL;
+ }
+ return ret;
+}
+EXPORT_SYMBOL_GPL(hdmi_codec_set_jack_detect);
+
static int hdmi_dai_spdif_probe(struct snd_soc_dai *dai)
{
struct hdmi_codec_daifmt *cf = dai->playback_dma_data;
--
2.22.0.510.g264f2c817a-goog
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH v5 2/5] drm: bridge: dw-hdmi: Report connector status using callback
2019-07-17 8:33 [PATCH v5 0/5] Add HDMI jack support on RK3288 Cheng-Yi Chiang
2019-07-17 8:33 ` [PATCH v5 1/5] ASoC: hdmi-codec: Add an op to set callback function for plug event Cheng-Yi Chiang
@ 2019-07-17 8:33 ` Cheng-Yi Chiang
2019-07-17 8:33 ` [PATCH v5 3/5] drm: dw-hdmi-i2s: Use fixed id for codec device Cheng-Yi Chiang
` (3 subsequent siblings)
5 siblings, 0 replies; 13+ messages in thread
From: Cheng-Yi Chiang @ 2019-07-17 8:33 UTC (permalink / raw)
To: linux-kernel
Cc: alsa-devel, dianders, Heiko Stuebner, linux-rockchip,
David Airlie, dri-devel, Takashi Iwai, Liam Girdwood, tzungbi,
Jaroslav Kysela, Hans Verkuil, Andrzej Hajda, Russell King,
Mark Brown, Laurent Pinchart, Daniel Vetter, dgreid,
linux-arm-kernel, Cheng-Yi Chiang
Allow codec driver register callback function for plug event.
The callback registration flow:
dw-hdmi <--- hw-hdmi-i2s-audio <--- hdmi-codec
dw-hdmi-i2s-audio implements hook_plugged_cb op
so codec driver can register the callback.
dw-hdmi exports a function dw_hdmi_set_plugged_cb so platform device
can register the callback.
When connector plug/unplug event happens, report this event using the
callback.
Make sure that audio and drm are using the single source of truth for
connector status.
Signed-off-by: Cheng-Yi Chiang <cychiang@chromium.org>
---
.../drm/bridge/synopsys/dw-hdmi-i2s-audio.c | 11 +++++
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 41 ++++++++++++++++++-
include/drm/bridge/dw_hdmi.h | 4 ++
3 files changed, 55 insertions(+), 1 deletion(-)
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 5cbb71a866d5..ca56783fae47 100644
--- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi-i2s-audio.c
+++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi-i2s-audio.c
@@ -104,10 +104,21 @@ static int dw_hdmi_i2s_get_dai_id(struct snd_soc_component *component,
return -EINVAL;
}
+static int dw_hdmi_i2s_hook_plugged_cb(struct device *dev, void *data,
+ hdmi_codec_plugged_cb fn,
+ struct device *codec_dev)
+{
+ struct dw_hdmi_i2s_audio_data *audio = data;
+ struct dw_hdmi *hdmi = audio->hdmi;
+
+ return dw_hdmi_set_plugged_cb(hdmi, fn, codec_dev);
+}
+
static struct hdmi_codec_ops dw_hdmi_i2s_ops = {
.hw_params = dw_hdmi_i2s_hw_params,
.audio_shutdown = dw_hdmi_i2s_audio_shutdown,
.get_dai_id = dw_hdmi_i2s_get_dai_id,
+ .hook_plugged_cb = dw_hdmi_i2s_hook_plugged_cb,
};
static int snd_dw_hdmi_probe(struct platform_device *pdev)
diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
index 045b1b13fd0e..f32c66a6873d 100644
--- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
+++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
@@ -185,6 +185,10 @@ struct dw_hdmi {
void (*disable_audio)(struct dw_hdmi *hdmi);
struct cec_notifier *cec_notifier;
+
+ hdmi_codec_plugged_cb plugged_cb;
+ struct device *codec_dev;
+ enum drm_connector_status last_connector_result;
};
#define HDMI_IH_PHY_STAT0_RX_SENSE \
@@ -209,6 +213,28 @@ static inline u8 hdmi_readb(struct dw_hdmi *hdmi, int offset)
return val;
}
+static void handle_plugged_change(struct dw_hdmi *hdmi, bool plugged)
+{
+ if (hdmi->plugged_cb && hdmi->codec_dev)
+ hdmi->plugged_cb(hdmi->codec_dev, plugged);
+}
+
+int dw_hdmi_set_plugged_cb(struct dw_hdmi *hdmi, hdmi_codec_plugged_cb fn,
+ struct device *codec_dev)
+{
+ bool plugged;
+
+ mutex_lock(&hdmi->mutex);
+ hdmi->plugged_cb = fn;
+ hdmi->codec_dev = codec_dev;
+ plugged = hdmi->last_connector_result == connector_status_connected;
+ handle_plugged_change(hdmi, plugged);
+ mutex_unlock(&hdmi->mutex);
+
+ return 0;
+}
+EXPORT_SYMBOL_GPL(dw_hdmi_set_plugged_cb);
+
static void hdmi_modb(struct dw_hdmi *hdmi, u8 data, u8 mask, unsigned reg)
{
regmap_update_bits(hdmi->regm, reg << hdmi->reg_shift, mask, data);
@@ -2044,6 +2070,7 @@ dw_hdmi_connector_detect(struct drm_connector *connector, bool force)
{
struct dw_hdmi *hdmi = container_of(connector, struct dw_hdmi,
connector);
+ enum drm_connector_status result;
mutex_lock(&hdmi->mutex);
hdmi->force = DRM_FORCE_UNSPECIFIED;
@@ -2051,7 +2078,18 @@ dw_hdmi_connector_detect(struct drm_connector *connector, bool force)
dw_hdmi_update_phy_mask(hdmi);
mutex_unlock(&hdmi->mutex);
- return hdmi->phy.ops->read_hpd(hdmi, hdmi->phy.data);
+ result = hdmi->phy.ops->read_hpd(hdmi, hdmi->phy.data);
+
+ mutex_lock(&hdmi->mutex);
+ if (result != hdmi->last_connector_result) {
+ dev_dbg(hdmi->dev, "read_hpd result: %d", result);
+ handle_plugged_change(hdmi,
+ result == connector_status_connected);
+ hdmi->last_connector_result = result;
+ }
+ mutex_unlock(&hdmi->mutex);
+
+ return result;
}
static int dw_hdmi_connector_get_modes(struct drm_connector *connector)
@@ -2460,6 +2498,7 @@ __dw_hdmi_probe(struct platform_device *pdev,
hdmi->rxsense = true;
hdmi->phy_mask = (u8)~(HDMI_PHY_HPD | HDMI_PHY_RX_SENSE);
hdmi->mc_clkdis = 0x7f;
+ hdmi->last_connector_result = connector_status_disconnected;
mutex_init(&hdmi->mutex);
mutex_init(&hdmi->audio_mutex);
diff --git a/include/drm/bridge/dw_hdmi.h b/include/drm/bridge/dw_hdmi.h
index b4ca970a5b75..d6c925236c55 100644
--- a/include/drm/bridge/dw_hdmi.h
+++ b/include/drm/bridge/dw_hdmi.h
@@ -6,6 +6,8 @@
#ifndef __DW_HDMI__
#define __DW_HDMI__
+#include <sound/hdmi-codec.h>
+
struct drm_connector;
struct drm_display_mode;
struct drm_encoder;
@@ -152,6 +154,8 @@ struct dw_hdmi *dw_hdmi_bind(struct platform_device *pdev,
void dw_hdmi_setup_rx_sense(struct dw_hdmi *hdmi, bool hpd, bool rx_sense);
+int dw_hdmi_set_plugged_cb(struct dw_hdmi *hdmi, hdmi_codec_plugged_cb fn,
+ struct device *codec_dev);
void dw_hdmi_set_sample_rate(struct dw_hdmi *hdmi, unsigned int rate);
void dw_hdmi_audio_enable(struct dw_hdmi *hdmi);
void dw_hdmi_audio_disable(struct dw_hdmi *hdmi);
--
2.22.0.510.g264f2c817a-goog
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH v5 3/5] drm: dw-hdmi-i2s: Use fixed id for codec device
2019-07-17 8:33 [PATCH v5 0/5] Add HDMI jack support on RK3288 Cheng-Yi Chiang
2019-07-17 8:33 ` [PATCH v5 1/5] ASoC: hdmi-codec: Add an op to set callback function for plug event Cheng-Yi Chiang
2019-07-17 8:33 ` [PATCH v5 2/5] drm: bridge: dw-hdmi: Report connector status using callback Cheng-Yi Chiang
@ 2019-07-17 8:33 ` Cheng-Yi Chiang
2019-07-17 8:33 ` [PATCH v5 4/5] ASoC: rockchip_max98090: Add dai_link for HDMI Cheng-Yi Chiang
` (2 subsequent siblings)
5 siblings, 0 replies; 13+ messages in thread
From: Cheng-Yi Chiang @ 2019-07-17 8:33 UTC (permalink / raw)
To: linux-kernel
Cc: alsa-devel, dianders, Heiko Stuebner, linux-rockchip,
David Airlie, dri-devel, Takashi Iwai, Liam Girdwood, tzungbi,
Jaroslav Kysela, Hans Verkuil, Andrzej Hajda, Russell King,
Mark Brown, Laurent Pinchart, Daniel Vetter, dgreid,
linux-arm-kernel, Cheng-Yi Chiang
The problem of using auto ID is that the device name will be like
hdmi-audio-codec.<id number>.auto.
The number might be changed when there are other platform devices being
created before hdmi-audio-codec device.
Use a fixed name so machine driver can set codec name on the DAI link.
Using the fixed name should be fine because there will only be one
hdmi-audio-codec device.
Fix the codec name in rockchip rk3288_hdmi_analog machine driver.
Signed-off-by: Cheng-Yi Chiang <cychiang@chromium.org>
---
drivers/gpu/drm/bridge/synopsys/dw-hdmi-i2s-audio.c | 2 +-
sound/soc/rockchip/rk3288_hdmi_analog.c | 3 ++-
2 files changed, 3 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 ca56783fae47..bc608f9258be 100644
--- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi-i2s-audio.c
+++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi-i2s-audio.c
@@ -135,7 +135,7 @@ static int snd_dw_hdmi_probe(struct platform_device *pdev)
memset(&pdevinfo, 0, sizeof(pdevinfo));
pdevinfo.parent = pdev->dev.parent;
- pdevinfo.id = PLATFORM_DEVID_AUTO;
+ pdevinfo.id = PLATFORM_DEVID_NONE;
pdevinfo.name = HDMI_CODEC_DRV_NAME;
pdevinfo.data = &pdata;
pdevinfo.size_data = sizeof(pdata);
diff --git a/sound/soc/rockchip/rk3288_hdmi_analog.c b/sound/soc/rockchip/rk3288_hdmi_analog.c
index 767700c34ee2..8286025a8747 100644
--- a/sound/soc/rockchip/rk3288_hdmi_analog.c
+++ b/sound/soc/rockchip/rk3288_hdmi_analog.c
@@ -15,6 +15,7 @@
#include <linux/gpio.h>
#include <linux/of_gpio.h>
#include <sound/core.h>
+#include <sound/hdmi-codec.h>
#include <sound/jack.h>
#include <sound/pcm.h>
#include <sound/pcm_params.h>
@@ -142,7 +143,7 @@ static const struct snd_soc_ops rk_ops = {
SND_SOC_DAILINK_DEFS(audio,
DAILINK_COMP_ARRAY(COMP_EMPTY()),
DAILINK_COMP_ARRAY(COMP_CODEC(NULL, NULL),
- COMP_CODEC("hdmi-audio-codec.2.auto", "i2s-hifi")),
+ COMP_CODEC(HDMI_CODEC_DRV_NAME, "i2s-hifi")),
DAILINK_COMP_ARRAY(COMP_EMPTY()));
static struct snd_soc_dai_link rk_dailink = {
--
2.22.0.510.g264f2c817a-goog
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH v5 4/5] ASoC: rockchip_max98090: Add dai_link for HDMI
2019-07-17 8:33 [PATCH v5 0/5] Add HDMI jack support on RK3288 Cheng-Yi Chiang
` (2 preceding siblings ...)
2019-07-17 8:33 ` [PATCH v5 3/5] drm: dw-hdmi-i2s: Use fixed id for codec device Cheng-Yi Chiang
@ 2019-07-17 8:33 ` Cheng-Yi Chiang
2019-07-17 8:33 ` [PATCH v5 5/5] ASoC: rockchip_max98090: Add HDMI jack support Cheng-Yi Chiang
2019-07-17 10:28 ` [PATCH v5 0/5] Add HDMI jack support on RK3288 Tzung-Bi Shih
5 siblings, 0 replies; 13+ messages in thread
From: Cheng-Yi Chiang @ 2019-07-17 8:33 UTC (permalink / raw)
To: linux-kernel
Cc: alsa-devel, dianders, Heiko Stuebner, linux-rockchip,
David Airlie, dri-devel, Takashi Iwai, Liam Girdwood, tzungbi,
Jaroslav Kysela, Hans Verkuil, Andrzej Hajda, Russell King,
Mark Brown, Laurent Pinchart, Daniel Vetter, dgreid,
linux-arm-kernel, Cheng-Yi Chiang
Use two dai_links. One for HDMI and one for max98090.
With this setup, audio can play to speaker and HDMI selectively.
Signed-off-by: Cheng-Yi Chiang <cychiang@chromium.org>
---
sound/soc/rockchip/rockchip_max98090.c | 96 ++++++++++++++++++++------
1 file changed, 73 insertions(+), 23 deletions(-)
diff --git a/sound/soc/rockchip/rockchip_max98090.c b/sound/soc/rockchip/rockchip_max98090.c
index c5fc24675a33..c82948e383da 100644
--- a/sound/soc/rockchip/rockchip_max98090.c
+++ b/sound/soc/rockchip/rockchip_max98090.c
@@ -11,6 +11,7 @@
#include <linux/gpio.h>
#include <linux/of_gpio.h>
#include <sound/core.h>
+#include <sound/hdmi-codec.h>
#include <sound/jack.h>
#include <sound/pcm.h>
#include <sound/pcm_params.h>
@@ -41,6 +42,7 @@ static const struct snd_soc_dapm_widget rk_dapm_widgets[] = {
SND_SOC_DAPM_MIC("Headset Mic", NULL),
SND_SOC_DAPM_MIC("Int Mic", NULL),
SND_SOC_DAPM_SPK("Speaker", NULL),
+ SND_SOC_DAPM_LINE("HDMI", NULL),
};
static const struct snd_soc_dapm_route rk_audio_map[] = {
@@ -52,6 +54,7 @@ static const struct snd_soc_dapm_route rk_audio_map[] = {
{"Headphone", NULL, "HPR"},
{"Speaker", NULL, "SPKL"},
{"Speaker", NULL, "SPKR"},
+ {"HDMI", NULL, "TX"},
};
static const struct snd_kcontrol_new rk_mc_controls[] = {
@@ -59,6 +62,7 @@ static const struct snd_kcontrol_new rk_mc_controls[] = {
SOC_DAPM_PIN_SWITCH("Headset Mic"),
SOC_DAPM_PIN_SWITCH("Int Mic"),
SOC_DAPM_PIN_SWITCH("Speaker"),
+ SOC_DAPM_PIN_SWITCH("HDMI"),
};
static int rk_aif1_hw_params(struct snd_pcm_substream *substream,
@@ -92,38 +96,63 @@ static int rk_aif1_hw_params(struct snd_pcm_substream *substream,
ret = snd_soc_dai_set_sysclk(cpu_dai, 0, mclk,
SND_SOC_CLOCK_OUT);
- if (ret < 0) {
- dev_err(codec_dai->dev, "Can't set codec clock %d\n", ret);
+ if (ret) {
+ dev_err(cpu_dai->dev, "Can't set cpu dai clock %d\n", ret);
return ret;
}
+ /* HDMI codec dai does not need to set sysclk. */
+ if (!strcmp(rtd->dai_link->name, "HDMI"))
+ return 0;
+
ret = snd_soc_dai_set_sysclk(codec_dai, 0, mclk,
SND_SOC_CLOCK_IN);
- if (ret < 0) {
- dev_err(codec_dai->dev, "Can't set codec clock %d\n", ret);
+ if (ret) {
+ dev_err(codec_dai->dev, "Can't set codec dai clock %d\n", ret);
return ret;
}
- return ret;
+ return 0;
}
static const struct snd_soc_ops rk_aif1_ops = {
.hw_params = rk_aif1_hw_params,
};
-SND_SOC_DAILINK_DEFS(hifi,
+SND_SOC_DAILINK_DEFS(analog,
DAILINK_COMP_ARRAY(COMP_EMPTY()),
DAILINK_COMP_ARRAY(COMP_CODEC(NULL, "HiFi")),
DAILINK_COMP_ARRAY(COMP_EMPTY()));
-static struct snd_soc_dai_link rk_dailink = {
- .name = "max98090",
- .stream_name = "Audio",
- .ops = &rk_aif1_ops,
- /* set max98090 as slave */
- .dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF |
- SND_SOC_DAIFMT_CBS_CFS,
- SND_SOC_DAILINK_REG(hifi),
+SND_SOC_DAILINK_DEFS(hdmi,
+ DAILINK_COMP_ARRAY(COMP_EMPTY()),
+ DAILINK_COMP_ARRAY(COMP_CODEC(HDMI_CODEC_DRV_NAME, "i2s-hifi")),
+ DAILINK_COMP_ARRAY(COMP_EMPTY()));
+
+enum {
+ DAILINK_MAX98090,
+ DAILINK_HDMI,
+};
+
+/* max98090 and HDMI codec dai_link */
+static struct snd_soc_dai_link rk_dailinks[] = {
+ [DAILINK_MAX98090] = {
+ .name = "max98090",
+ .stream_name = "Analog",
+ .ops = &rk_aif1_ops,
+ /* set max98090 as slave */
+ .dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF |
+ SND_SOC_DAIFMT_CBS_CFS,
+ SND_SOC_DAILINK_REG(analog),
+ },
+ [DAILINK_HDMI] = {
+ .name = "HDMI",
+ .stream_name = "HDMI",
+ .ops = &rk_aif1_ops,
+ .dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF |
+ SND_SOC_DAIFMT_CBS_CFS,
+ SND_SOC_DAILINK_REG(hdmi),
+ }
};
static int rk_98090_headset_init(struct snd_soc_component *component);
@@ -136,8 +165,8 @@ static struct snd_soc_aux_dev rk_98090_headset_dev = {
static struct snd_soc_card snd_soc_card_rk = {
.name = "ROCKCHIP-I2S",
.owner = THIS_MODULE,
- .dai_link = &rk_dailink,
- .num_links = 1,
+ .dai_link = rk_dailinks,
+ .num_links = ARRAY_SIZE(rk_dailinks),
.aux_dev = &rk_98090_headset_dev,
.num_aux_devs = 1,
.dapm_widgets = rk_dapm_widgets,
@@ -173,27 +202,48 @@ static int snd_rk_mc_probe(struct platform_device *pdev)
int ret = 0;
struct snd_soc_card *card = &snd_soc_card_rk;
struct device_node *np = pdev->dev.of_node;
+ struct device_node *np_analog;
+ struct device_node *np_cpu;
+ struct of_phandle_args args;
/* register the soc card */
card->dev = &pdev->dev;
- rk_dailink.codecs->of_node = of_parse_phandle(np,
- "rockchip,audio-codec", 0);
- if (!rk_dailink.codecs->of_node) {
+ np_analog = of_parse_phandle(np, "rockchip,audio-codec", 0);
+ if (!np_analog) {
dev_err(&pdev->dev,
"Property 'rockchip,audio-codec' missing or invalid\n");
return -EINVAL;
}
+ rk_dailinks[DAILINK_MAX98090].codecs->of_node = np_analog;
+
+ ret = of_parse_phandle_with_fixed_args(np, "rockchip,audio-codec",
+ 0, 0, &args);
+ if (ret) {
+ dev_err(&pdev->dev,
+ "Unable to parse property 'rockchip,audio-codec'\n");
+ return ret;
+ }
+
+ ret = snd_soc_get_dai_name(
+ &args, &rk_dailinks[DAILINK_MAX98090].codecs->dai_name);
+ if (ret) {
+ dev_err(&pdev->dev, "Unable to get codec dai_name\n");
+ return ret;
+ }
+
+ np_cpu = of_parse_phandle(np, "rockchip,i2s-controller", 0);
- rk_dailink.cpus->of_node = of_parse_phandle(np,
- "rockchip,i2s-controller", 0);
- if (!rk_dailink.cpus->of_node) {
+ if (!np_cpu) {
dev_err(&pdev->dev,
"Property 'rockchip,i2s-controller' missing or invalid\n");
return -EINVAL;
}
- rk_dailink.platforms->of_node = rk_dailink.cpus->of_node;
+ rk_dailinks[DAILINK_MAX98090].cpus->of_node = np_cpu;
+ rk_dailinks[DAILINK_MAX98090].platforms->of_node = np_cpu;
+ rk_dailinks[DAILINK_HDMI].cpus->of_node = np_cpu;
+ rk_dailinks[DAILINK_HDMI].platforms->of_node = np_cpu;
rk_98090_headset_dev.codec_of_node = of_parse_phandle(np,
"rockchip,headset-codec", 0);
--
2.22.0.510.g264f2c817a-goog
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH v5 5/5] ASoC: rockchip_max98090: Add HDMI jack support
2019-07-17 8:33 [PATCH v5 0/5] Add HDMI jack support on RK3288 Cheng-Yi Chiang
` (3 preceding siblings ...)
2019-07-17 8:33 ` [PATCH v5 4/5] ASoC: rockchip_max98090: Add dai_link for HDMI Cheng-Yi Chiang
@ 2019-07-17 8:33 ` Cheng-Yi Chiang
2019-07-17 10:28 ` [PATCH v5 0/5] Add HDMI jack support on RK3288 Tzung-Bi Shih
5 siblings, 0 replies; 13+ messages in thread
From: Cheng-Yi Chiang @ 2019-07-17 8:33 UTC (permalink / raw)
To: linux-kernel
Cc: alsa-devel, dianders, Heiko Stuebner, linux-rockchip,
David Airlie, dri-devel, Takashi Iwai, Liam Girdwood, tzungbi,
Jaroslav Kysela, Hans Verkuil, Andrzej Hajda, Russell King,
Mark Brown, Laurent Pinchart, Daniel Vetter, dgreid,
linux-arm-kernel, Cheng-Yi Chiang
In machine driver, create a jack and let hdmi-codec report jack status.
Signed-off-by: Cheng-Yi Chiang <cychiang@chromium.org>
---
sound/soc/rockchip/Kconfig | 3 ++-
sound/soc/rockchip/rockchip_max98090.c | 20 ++++++++++++++++++++
2 files changed, 22 insertions(+), 1 deletion(-)
diff --git a/sound/soc/rockchip/Kconfig b/sound/soc/rockchip/Kconfig
index b43657e6e655..d610b553ea3b 100644
--- a/sound/soc/rockchip/Kconfig
+++ b/sound/soc/rockchip/Kconfig
@@ -40,9 +40,10 @@ config SND_SOC_ROCKCHIP_MAX98090
select SND_SOC_ROCKCHIP_I2S
select SND_SOC_MAX98090
select SND_SOC_TS3A227E
+ select SND_SOC_HDMI_CODEC
help
Say Y or M here if you want to add support for SoC audio on Rockchip
- boards using the MAX98090 codec, such as Veyron.
+ boards using the MAX98090 codec and HDMI codec, such as Veyron.
config SND_SOC_ROCKCHIP_RT5645
tristate "ASoC support for Rockchip boards using a RT5645/RT5650 codec"
diff --git a/sound/soc/rockchip/rockchip_max98090.c b/sound/soc/rockchip/rockchip_max98090.c
index c82948e383da..c81c4acda917 100644
--- a/sound/soc/rockchip/rockchip_max98090.c
+++ b/sound/soc/rockchip/rockchip_max98090.c
@@ -134,6 +134,25 @@ enum {
DAILINK_HDMI,
};
+static struct snd_soc_jack rk_hdmi_jack;
+
+static int rk_hdmi_init(struct snd_soc_pcm_runtime *runtime)
+{
+ struct snd_soc_card *card = runtime->card;
+ struct snd_soc_component *component = runtime->codec_dai->component;
+ int ret;
+
+ /* enable jack detection */
+ ret = snd_soc_card_jack_new(card, "HDMI Jack", SND_JACK_LINEOUT,
+ &rk_hdmi_jack, NULL, 0);
+ if (ret) {
+ dev_err(card->dev, "Can't new HDMI Jack %d\n", ret);
+ return ret;
+ }
+
+ return hdmi_codec_set_jack_detect(component, &rk_hdmi_jack);
+}
+
/* max98090 and HDMI codec dai_link */
static struct snd_soc_dai_link rk_dailinks[] = {
[DAILINK_MAX98090] = {
@@ -151,6 +170,7 @@ static struct snd_soc_dai_link rk_dailinks[] = {
.ops = &rk_aif1_ops,
.dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF |
SND_SOC_DAIFMT_CBS_CFS,
+ .init = rk_hdmi_init,
SND_SOC_DAILINK_REG(hdmi),
}
};
--
2.22.0.510.g264f2c817a-goog
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [PATCH v5 0/5] Add HDMI jack support on RK3288
2019-07-17 8:33 [PATCH v5 0/5] Add HDMI jack support on RK3288 Cheng-Yi Chiang
` (4 preceding siblings ...)
2019-07-17 8:33 ` [PATCH v5 5/5] ASoC: rockchip_max98090: Add HDMI jack support Cheng-Yi Chiang
@ 2019-07-17 10:28 ` Tzung-Bi Shih
2019-08-30 2:55 ` Cheng-yi Chiang
5 siblings, 1 reply; 13+ messages in thread
From: Tzung-Bi Shih @ 2019-07-17 10:28 UTC (permalink / raw)
To: Cheng-Yi Chiang
Cc: ALSA development, Douglas Anderson, Heiko Stuebner,
Liam Girdwood, David Airlie, dri-devel, Takashi Iwai, tzungbi,
Linux Kernel Mailing List, Hans Verkuil, Andrzej Hajda,
Russell King, Mark Brown, Laurent Pinchart, Daniel Vetter,
linux-rockchip, dgreid, Jaroslav Kysela, linux-arm-kernel
On Wed, Jul 17, 2019 at 4:33 PM Cheng-Yi Chiang <cychiang@chromium.org> wrote:
>
> This patch series supports HDMI jack reporting on RK3288, which uses
> DRM dw-hdmi driver and hdmi-codec codec driver.
>
> The previous discussion about reporting jack status using hdmi-notifier
> and drm_audio_component is at
>
> https://lore.kernel.org/patchwork/patch/1083027/
>
> The new approach is to use a callback mechanism that is
> specific to hdmi-codec.
>
> Changes from v4 to v5:
> - synopsys/Kconfig: Remove the incorrect dependency change in v4.
> - rockchip/Kconfig: Add dependency of hdmi-codec when it is really need
> for jack support.
>
> Cheng-Yi Chiang (5):
> ASoC: hdmi-codec: Add an op to set callback function for plug event
> drm: bridge: dw-hdmi: Report connector status using callback
> drm: dw-hdmi-i2s: Use fixed id for codec device
> ASoC: rockchip_max98090: Add dai_link for HDMI
> ASoC: rockchip_max98090: Add HDMI jack support
>
LGTM.
Reviewed-by: Tzung-Bi Shih <tzungbi@google.com>
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v5 0/5] Add HDMI jack support on RK3288
2019-07-17 10:28 ` [PATCH v5 0/5] Add HDMI jack support on RK3288 Tzung-Bi Shih
@ 2019-08-30 2:55 ` Cheng-yi Chiang
2019-09-08 13:51 ` Cheng-yi Chiang
0 siblings, 1 reply; 13+ messages in thread
From: Cheng-yi Chiang @ 2019-08-30 2:55 UTC (permalink / raw)
To: Tzung-Bi Shih
Cc: ALSA development, Douglas Anderson, Heiko Stuebner,
Liam Girdwood, David Airlie, dri-devel, Takashi Iwai, tzungbi,
Linux Kernel Mailing List, Hans Verkuil, Andrzej Hajda,
Russell King, Mark Brown, Laurent Pinchart, Daniel Vetter,
linux-rockchip, Dylan Reid, Jaroslav Kysela, linux-arm-kernel
On Wed, Jul 17, 2019 at 6:28 PM Tzung-Bi Shih <tzungbi@google.com> wrote:
>
> On Wed, Jul 17, 2019 at 4:33 PM Cheng-Yi Chiang <cychiang@chromium.org> wrote:
> >
> > This patch series supports HDMI jack reporting on RK3288, which uses
> > DRM dw-hdmi driver and hdmi-codec codec driver.
> >
> > The previous discussion about reporting jack status using hdmi-notifier
> > and drm_audio_component is at
> >
> > https://lore.kernel.org/patchwork/patch/1083027/
> >
> > The new approach is to use a callback mechanism that is
> > specific to hdmi-codec.
> >
> > Changes from v4 to v5:
> > - synopsys/Kconfig: Remove the incorrect dependency change in v4.
> > - rockchip/Kconfig: Add dependency of hdmi-codec when it is really need
> > for jack support.
> >
> > Cheng-Yi Chiang (5):
> > ASoC: hdmi-codec: Add an op to set callback function for plug event
> > drm: bridge: dw-hdmi: Report connector status using callback
> > drm: dw-hdmi-i2s: Use fixed id for codec device
> > ASoC: rockchip_max98090: Add dai_link for HDMI
> > ASoC: rockchip_max98090: Add HDMI jack support
> >
> LGTM.
>
> Reviewed-by: Tzung-Bi Shih <tzungbi@google.com>
Hi Daniel,
Do you have further concern on this patch series related to hdmi-codec
and drm part ?
We would like to merge this patch series if possible.
They will be needed in many future chrome projects for HDMI audio jack
detection.
Thanks a lot!
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v5 0/5] Add HDMI jack support on RK3288
2019-08-30 2:55 ` Cheng-yi Chiang
@ 2019-09-08 13:51 ` Cheng-yi Chiang
2019-09-09 7:37 ` Neil Armstrong
0 siblings, 1 reply; 13+ messages in thread
From: Cheng-yi Chiang @ 2019-09-08 13:51 UTC (permalink / raw)
To: Tzung-Bi Shih
Cc: ALSA development, Douglas Anderson, Heiko Stuebner,
Liam Girdwood, David Airlie, dri-devel, Neil Armstrong,
Takashi Iwai, tzungbi, Linux Kernel Mailing List, Hans Verkuil,
Andrzej Hajda, Russell King, Mark Brown, Laurent Pinchart,
Daniel Vetter, linux-rockchip, Dylan Reid, Jaroslav Kysela,
linux-arm-kernel
On Fri, Aug 30, 2019 at 10:55 AM Cheng-yi Chiang <cychiang@chromium.org> wrote:
>
> On Wed, Jul 17, 2019 at 6:28 PM Tzung-Bi Shih <tzungbi@google.com> wrote:
> >
> > On Wed, Jul 17, 2019 at 4:33 PM Cheng-Yi Chiang <cychiang@chromium.org> wrote:
> > >
> > > This patch series supports HDMI jack reporting on RK3288, which uses
> > > DRM dw-hdmi driver and hdmi-codec codec driver.
> > >
> > > The previous discussion about reporting jack status using hdmi-notifier
> > > and drm_audio_component is at
> > >
> > > https://lore.kernel.org/patchwork/patch/1083027/
> > >
> > > The new approach is to use a callback mechanism that is
> > > specific to hdmi-codec.
> > >
> > > Changes from v4 to v5:
> > > - synopsys/Kconfig: Remove the incorrect dependency change in v4.
> > > - rockchip/Kconfig: Add dependency of hdmi-codec when it is really need
> > > for jack support.
> > >
> > > Cheng-Yi Chiang (5):
> > > ASoC: hdmi-codec: Add an op to set callback function for plug event
> > > drm: bridge: dw-hdmi: Report connector status using callback
> > > drm: dw-hdmi-i2s: Use fixed id for codec device
> > > ASoC: rockchip_max98090: Add dai_link for HDMI
> > > ASoC: rockchip_max98090: Add HDMI jack support
> > >
> > LGTM.
> >
> > Reviewed-by: Tzung-Bi Shih <tzungbi@google.com>
>
> Hi Daniel,
> Do you have further concern on this patch series related to hdmi-codec
> and drm part ?
> We would like to merge this patch series if possible.
> They will be needed in many future chrome projects for HDMI audio jack
> detection.
> Thanks a lot!
Hi Neil,
I am not sure if this patch series is under your radar.
Would you mind taking a look ?
This patch series has been following great suggestions from various
reviewers, so I hope it is fine now.
Audio jack reporting for HDMI might not be needed for other OS, but it
is a must on ChromeOS.
We have many previous projects using different local patch sets to
achieve HDMI jack reporting.
I hope that we can achieve a proper way and really get the patches
merged to mainline.
Thanks a lot!
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v5 0/5] Add HDMI jack support on RK3288
2019-09-08 13:51 ` Cheng-yi Chiang
@ 2019-09-09 7:37 ` Neil Armstrong
2019-09-09 13:53 ` Mark Brown
0 siblings, 1 reply; 13+ messages in thread
From: Neil Armstrong @ 2019-09-09 7:37 UTC (permalink / raw)
To: Cheng-yi Chiang, Tzung-Bi Shih
Cc: Jernej Skrabec, ALSA development, Douglas Anderson,
Heiko Stuebner, Liam Girdwood, David Airlie, dri-devel,
Jonas Karlman, Takashi Iwai, tzungbi, Linux Kernel Mailing List,
Hans Verkuil, Andrzej Hajda, Russell King, Mark Brown,
Laurent Pinchart, Daniel Vetter, linux-rockchip, Dylan Reid,
Jaroslav Kysela, linux-arm-kernel
Hi,
On 08/09/2019 15:51, Cheng-yi Chiang wrote:
> On Fri, Aug 30, 2019 at 10:55 AM Cheng-yi Chiang <cychiang@chromium.org> wrote:
>>
>> On Wed, Jul 17, 2019 at 6:28 PM Tzung-Bi Shih <tzungbi@google.com> wrote:
>>>
>>> On Wed, Jul 17, 2019 at 4:33 PM Cheng-Yi Chiang <cychiang@chromium.org> wrote:
>>>>
>>>> This patch series supports HDMI jack reporting on RK3288, which uses
>>>> DRM dw-hdmi driver and hdmi-codec codec driver.
>>>>
>>>> The previous discussion about reporting jack status using hdmi-notifier
>>>> and drm_audio_component is at
>>>>
>>>> https://lore.kernel.org/patchwork/patch/1083027/
>>>>
>>>> The new approach is to use a callback mechanism that is
>>>> specific to hdmi-codec.
>>>>
>>>> Changes from v4 to v5:
>>>> - synopsys/Kconfig: Remove the incorrect dependency change in v4.
>>>> - rockchip/Kconfig: Add dependency of hdmi-codec when it is really need
>>>> for jack support.
>>>>
>>>> Cheng-Yi Chiang (5):
>>>> ASoC: hdmi-codec: Add an op to set callback function for plug event
>>>> drm: bridge: dw-hdmi: Report connector status using callback
>>>> drm: dw-hdmi-i2s: Use fixed id for codec device
>>>> ASoC: rockchip_max98090: Add dai_link for HDMI
>>>> ASoC: rockchip_max98090: Add HDMI jack support
>>>>
>>> LGTM.
>>>
>>> Reviewed-by: Tzung-Bi Shih <tzungbi@google.com>
>>
>> Hi Daniel,
>> Do you have further concern on this patch series related to hdmi-codec
>> and drm part ?
>> We would like to merge this patch series if possible.
>> They will be needed in many future chrome projects for HDMI audio jack
>> detection.
>> Thanks a lot!
>
> Hi Neil,
> I am not sure if this patch series is under your radar.
> Would you mind taking a look ?
> This patch series has been following great suggestions from various
> reviewers, so I hope it is fine now.
I'd like some review from ASoC people and other drm bridge reviewers,
Jernej, Jonas & Andrzej.
Jonas could have some comments on the overall patchset.
>
> Audio jack reporting for HDMI might not be needed for other OS, but it
> is a must on ChromeOS.
> We have many previous projects using different local patch sets to
> achieve HDMI jack reporting.
> I hope that we can achieve a proper way and really get the patches
> merged to mainline.
> Thanks a lot!
>
Sure,
Don't forget to put Jernej, Jonas, and Jerome Brunet <jbrunet@baylibre.com> who is
working on integrating audio on the Amlogic SoCs.
Neil
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v5 0/5] Add HDMI jack support on RK3288
2019-09-09 7:37 ` Neil Armstrong
@ 2019-09-09 13:53 ` Mark Brown
2019-09-13 9:32 ` Neil Armstrong
0 siblings, 1 reply; 13+ messages in thread
From: Mark Brown @ 2019-09-09 13:53 UTC (permalink / raw)
To: Neil Armstrong
Cc: ALSA development, Heiko Stuebner, Liam Girdwood, David Airlie,
dri-devel, Linux Kernel Mailing List, Hans Verkuil,
Andrzej Hajda, Laurent Pinchart, Cheng-yi Chiang, linux-rockchip,
Takashi Iwai, Tzung-Bi Shih, Dylan Reid, tzungbi, Jonas Karlman,
Russell King, Jaroslav Kysela, linux-arm-kernel, Jernej Skrabec,
Douglas Anderson, Daniel Vetter
[-- Attachment #1.1: Type: text/plain, Size: 548 bytes --]
On Mon, Sep 09, 2019 at 09:37:14AM +0200, Neil Armstrong wrote:
> I'd like some review from ASoC people and other drm bridge reviewers,
> Jernej, Jonas & Andrzej.
> Jonas could have some comments on the overall patchset.
The ASoC bits look basically fine, I've gone ahead and applied
patch 1 as is since we're just before the merge window and that
way we reduce potential cross tree issues. I know there's a lot
of discussion on the DRM side about how they want to handle
things with jacks, I'm not 100% sure what the latest thinking is
there.
[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
[-- Attachment #2: Type: text/plain, Size: 176 bytes --]
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v5 0/5] Add HDMI jack support on RK3288
2019-09-09 13:53 ` Mark Brown
@ 2019-09-13 9:32 ` Neil Armstrong
2019-09-18 7:28 ` Cheng-yi Chiang
0 siblings, 1 reply; 13+ messages in thread
From: Neil Armstrong @ 2019-09-13 9:32 UTC (permalink / raw)
To: Mark Brown
Cc: ALSA development, Heiko Stuebner, Liam Girdwood, David Airlie,
dri-devel, Linux Kernel Mailing List, Hans Verkuil,
Andrzej Hajda, Laurent Pinchart, Cheng-yi Chiang, linux-rockchip,
Takashi Iwai, Tzung-Bi Shih, Dylan Reid, tzungbi, Jonas Karlman,
Russell King, Jaroslav Kysela, linux-arm-kernel, Jernej Skrabec,
Douglas Anderson, Daniel Vetter
[-- Attachment #1.1.1: Type: text/plain, Size: 819 bytes --]
Hi,
On 09/09/2019 15:53, Mark Brown wrote:
> On Mon, Sep 09, 2019 at 09:37:14AM +0200, Neil Armstrong wrote:
>
>> I'd like some review from ASoC people and other drm bridge reviewers,
>> Jernej, Jonas & Andrzej.
>
>> Jonas could have some comments on the overall patchset.
>
> The ASoC bits look basically fine, I've gone ahead and applied
> patch 1 as is since we're just before the merge window and that
> way we reduce potential cross tree issues. I know there's a lot
> of discussion on the DRM side about how they want to handle
> things with jacks, I'm not 100% sure what the latest thinking is
> there.
>
Thanks Mark.
Cheng-Yi can you resent this serie without the already applied
first patch with Jernej, Jonas, and Jerome Brunet <jbrunet@baylibre.com> CCed ?
Thanks,
Neil
[-- Attachment #1.2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
[-- Attachment #2: Type: text/plain, Size: 176 bytes --]
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v5 0/5] Add HDMI jack support on RK3288
2019-09-13 9:32 ` Neil Armstrong
@ 2019-09-18 7:28 ` Cheng-yi Chiang
0 siblings, 0 replies; 13+ messages in thread
From: Cheng-yi Chiang @ 2019-09-18 7:28 UTC (permalink / raw)
To: Neil Armstrong
Cc: ALSA development, Heiko Stuebner, David Airlie, dri-devel,
Liam Girdwood, Hans Verkuil, Andrzej Hajda, Laurent Pinchart,
linux-rockchip, Takashi Iwai, Tzung-Bi Shih, Dylan Reid, tzungbi,
Jonas Karlman, Russell King, Mark Brown, Jaroslav Kysela,
linux-arm-kernel, Jernej Skrabec, Douglas Anderson,
Linux Kernel Mailing List, Daniel Vetter
On Fri, Sep 13, 2019 at 5:33 PM Neil Armstrong <narmstrong@baylibre.com> wrote:
>
> Hi,
>
> On 09/09/2019 15:53, Mark Brown wrote:
> > On Mon, Sep 09, 2019 at 09:37:14AM +0200, Neil Armstrong wrote:
> >
> >> I'd like some review from ASoC people and other drm bridge reviewers,
> >> Jernej, Jonas & Andrzej.
> >
> >> Jonas could have some comments on the overall patchset.
> >
> > The ASoC bits look basically fine, I've gone ahead and applied
> > patch 1 as is since we're just before the merge window and that
> > way we reduce potential cross tree issues. I know there's a lot
> > of discussion on the DRM side about how they want to handle
> > things with jacks, I'm not 100% sure what the latest thinking is
> > there.
> >
>
> Thanks Mark.
>
>
> Cheng-Yi can you resent this serie without the already applied
> first patch with Jernej, Jonas, and Jerome Brunet <jbrunet@baylibre.com> CCed ?
Hi Neil,
Got it. Sorry for the late reply.
I will resend this series without the first patch, based on latest
drm-misc-next, and cc the folks.
Thanks!
>
> Thanks,
> Neil
>
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2019-09-18 7:29 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-07-17 8:33 [PATCH v5 0/5] Add HDMI jack support on RK3288 Cheng-Yi Chiang
2019-07-17 8:33 ` [PATCH v5 1/5] ASoC: hdmi-codec: Add an op to set callback function for plug event Cheng-Yi Chiang
2019-07-17 8:33 ` [PATCH v5 2/5] drm: bridge: dw-hdmi: Report connector status using callback Cheng-Yi Chiang
2019-07-17 8:33 ` [PATCH v5 3/5] drm: dw-hdmi-i2s: Use fixed id for codec device Cheng-Yi Chiang
2019-07-17 8:33 ` [PATCH v5 4/5] ASoC: rockchip_max98090: Add dai_link for HDMI Cheng-Yi Chiang
2019-07-17 8:33 ` [PATCH v5 5/5] ASoC: rockchip_max98090: Add HDMI jack support Cheng-Yi Chiang
2019-07-17 10:28 ` [PATCH v5 0/5] Add HDMI jack support on RK3288 Tzung-Bi Shih
2019-08-30 2:55 ` Cheng-yi Chiang
2019-09-08 13:51 ` Cheng-yi Chiang
2019-09-09 7:37 ` Neil Armstrong
2019-09-09 13:53 ` Mark Brown
2019-09-13 9:32 ` Neil Armstrong
2019-09-18 7:28 ` Cheng-yi Chiang
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).