From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751580AbdF1TtP (ORCPT ); Wed, 28 Jun 2017 15:49:15 -0400 Received: from mezzanine.sirena.org.uk ([106.187.55.193]:60600 "EHLO mezzanine.sirena.org.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751505AbdF1TtJ (ORCPT ); Wed, 28 Jun 2017 15:49:09 -0400 From: Mark Brown To: Kuninori Morimoto Cc: Archit Taneja , Mark Brown , Mark Brown , Archit Taneja , Jose Abreu , Linux-ALSA , Laurent Pinchart , David Airlie , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-renesas-soc@vger.kernel.org, Russell King , Simon , alsa-devel@alsa-project.org In-Reply-To: <877f1fosji.wl%kuninori.morimoto.gx@renesas.com> Message-Id: Date: Wed, 28 Jun 2017 20:48:50 +0100 X-SA-Exim-Connect-IP: 176.12.107.140 X-SA-Exim-Mail-From: broonie@sirena.org.uk Subject: Applied "drm: dw-hdmi-i2s: add .get_dai_id callback for ALSA SoC" to the asoc tree X-SA-Exim-Version: 4.2.1 (built Tue, 02 Aug 2016 21:08:31 +0000) X-SA-Exim-Scanned: No (on mezzanine.sirena.org.uk); Unknown failure Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The patch drm: dw-hdmi-i2s: add .get_dai_id callback for ALSA SoC has been applied to the asoc tree at git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git All being well this means that it will be integrated into the linux-next tree (usually sometime in the next 24 hours) and sent to Linus during the next merge window (or sooner if it is a bug fix), however if problems are discovered then the patch may be dropped or reverted. You may get further e-mails resulting from automated or manual testing and review of the tree, please engage with people reporting problems and send followup patches addressing any issues that are reported if needed. If any updates are required or you are submitting further changes they should be sent as incremental updates against current git, existing patches will not be replaced. Please add any relevant lists and maintainers to the CCs when replying to this mail. Thanks, Mark >>From e3839bd6f56a291f00a4c3737eb15ca0344a82a9 Mon Sep 17 00:00:00 2001 From: Kuninori Morimoto Date: Mon, 19 Jun 2017 00:39:29 +0000 Subject: [PATCH] drm: dw-hdmi-i2s: add .get_dai_id callback for ALSA SoC ALSA SoC needs to know connected DAI ID for probing. It is not a big problem if device/driver was only for sound, but getting DAI ID will be difficult if device includes both Video/Sound, like HDMI. To solve this issue, this patch adds new .get_dai_id callback on hdmi_codec_ops. dw-hdmi-i2s will assume that HDMI sound will be connected to reg = <2>. Then, ALSA SoC side will recognized it as DAI 0 ports { #address-cells = <1>; #size-cells = <0>; port@0 { reg = <0>; /* HDMI Video IN */ }; port@1 { reg = <1>; /* HDMI OUT */ }; port@2 { reg = <2>; /* HDMI Sound IN */ }; }; Signed-off-by: Kuninori Morimoto Acked-by: Archit Taneja Signed-off-by: Mark Brown --- .../bindings/display/bridge/renesas,dw-hdmi.txt | 9 ++++++++- drivers/gpu/drm/bridge/synopsys/dw-hdmi-i2s-audio.c | 21 +++++++++++++++++++++ 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/Documentation/devicetree/bindings/display/bridge/renesas,dw-hdmi.txt b/Documentation/devicetree/bindings/display/bridge/renesas,dw-hdmi.txt index f6b3f36d422b..81b68580e199 100644 --- a/Documentation/devicetree/bindings/display/bridge/renesas,dw-hdmi.txt +++ b/Documentation/devicetree/bindings/display/bridge/renesas,dw-hdmi.txt @@ -25,7 +25,8 @@ Required properties: - clock-names: Shall contain "iahb" and "isfr" as defined in dw_hdmi.txt. - ports: See dw_hdmi.txt. The DWC HDMI shall have one port numbered 0 corresponding to the video input of the controller and one port numbered 1 - corresponding to its HDMI output. Each port shall have a single endpoint. + corresponding to its HDMI output, and one port numbered 2 corresponding to + sound input of the controller. Each port shall have a single endpoint. Optional properties: @@ -59,6 +60,12 @@ Example: remote-endpoint = <&hdmi0_con>; }; }; + port@2 { + reg = <2>; + rcar_dw_hdmi0_sound_in: endpoint { + remote-endpoint = <&hdmi_sound_out>; + }; + }; }; }; 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 aaf287d2e91d..b2cf59f54c88 100644 --- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi-i2s-audio.c +++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi-i2s-audio.c @@ -82,9 +82,30 @@ static void dw_hdmi_i2s_audio_shutdown(struct device *dev, void *data) hdmi_write(audio, HDMI_AUD_CONF0_SW_RESET, HDMI_AUD_CONF0); } +static int dw_hdmi_i2s_get_dai_id(struct snd_soc_component *component, + struct device_node *endpoint) +{ + struct of_endpoint of_ep; + int ret; + + ret = of_graph_parse_endpoint(endpoint, &of_ep); + if (ret < 0) + return ret; + + /* + * HDMI sound should be located as reg = <2> + * Then, it is sound port 0 + */ + if (of_ep.port == 2) + return 0; + + return -EINVAL; +} + 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, }; static int snd_dw_hdmi_probe(struct platform_device *pdev) -- 2.13.2 From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mark Brown Subject: Applied "drm: dw-hdmi-i2s: add .get_dai_id callback for ALSA SoC" to the asoc tree Date: Wed, 28 Jun 2017 20:48:50 +0100 Message-ID: References: <877f1fosji.wl%kuninori.morimoto.gx@renesas.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <877f1fosji.wl%kuninori.morimoto.gx@renesas.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Kuninori Morimoto Cc: Laurent Pinchart , Simon , Mark Brown , alsa-devel@alsa-project.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-renesas-soc@vger.kernel.org, Russell King , Jose Abreu List-Id: alsa-devel@alsa-project.org VGhlIHBhdGNoCgogICBkcm06IGR3LWhkbWktaTJzOiBhZGQgLmdldF9kYWlfaWQgY2FsbGJhY2sg Zm9yIEFMU0EgU29DCgpoYXMgYmVlbiBhcHBsaWVkIHRvIHRoZSBhc29jIHRyZWUgYXQKCiAgIGdp dDovL2dpdC5rZXJuZWwub3JnL3B1Yi9zY20vbGludXgva2VybmVsL2dpdC9icm9vbmllL3NvdW5k LmdpdCAKCkFsbCBiZWluZyB3ZWxsIHRoaXMgbWVhbnMgdGhhdCBpdCB3aWxsIGJlIGludGVncmF0 ZWQgaW50byB0aGUgbGludXgtbmV4dAp0cmVlICh1c3VhbGx5IHNvbWV0aW1lIGluIHRoZSBuZXh0 IDI0IGhvdXJzKSBhbmQgc2VudCB0byBMaW51cyBkdXJpbmcKdGhlIG5leHQgbWVyZ2Ugd2luZG93 IChvciBzb29uZXIgaWYgaXQgaXMgYSBidWcgZml4KSwgaG93ZXZlciBpZgpwcm9ibGVtcyBhcmUg ZGlzY292ZXJlZCB0aGVuIHRoZSBwYXRjaCBtYXkgYmUgZHJvcHBlZCBvciByZXZlcnRlZC4gIAoK WW91IG1heSBnZXQgZnVydGhlciBlLW1haWxzIHJlc3VsdGluZyBmcm9tIGF1dG9tYXRlZCBvciBt YW51YWwgdGVzdGluZwphbmQgcmV2aWV3IG9mIHRoZSB0cmVlLCBwbGVhc2UgZW5nYWdlIHdpdGgg cGVvcGxlIHJlcG9ydGluZyBwcm9ibGVtcyBhbmQKc2VuZCBmb2xsb3d1cCBwYXRjaGVzIGFkZHJl c3NpbmcgYW55IGlzc3VlcyB0aGF0IGFyZSByZXBvcnRlZCBpZiBuZWVkZWQuCgpJZiBhbnkgdXBk YXRlcyBhcmUgcmVxdWlyZWQgb3IgeW91IGFyZSBzdWJtaXR0aW5nIGZ1cnRoZXIgY2hhbmdlcyB0 aGV5CnNob3VsZCBiZSBzZW50IGFzIGluY3JlbWVudGFsIHVwZGF0ZXMgYWdhaW5zdCBjdXJyZW50 IGdpdCwgZXhpc3RpbmcKcGF0Y2hlcyB3aWxsIG5vdCBiZSByZXBsYWNlZC4KClBsZWFzZSBhZGQg YW55IHJlbGV2YW50IGxpc3RzIGFuZCBtYWludGFpbmVycyB0byB0aGUgQ0NzIHdoZW4gcmVwbHlp bmcKdG8gdGhpcyBtYWlsLgoKVGhhbmtzLApNYXJrCgpGcm9tIGUzODM5YmQ2ZjU2YTI5MWYwMGE0 YzM3MzdlYjE1Y2EwMzQ0YTgyYTkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEt1bmlu b3JpIE1vcmltb3RvIDxrdW5pbm9yaS5tb3JpbW90by5neEByZW5lc2FzLmNvbT4KRGF0ZTogTW9u LCAxOSBKdW4gMjAxNyAwMDozOToyOSArMDAwMApTdWJqZWN0OiBbUEFUQ0hdIGRybTogZHctaGRt aS1pMnM6IGFkZCAuZ2V0X2RhaV9pZCBjYWxsYmFjayBmb3IgQUxTQSBTb0MKCkFMU0EgU29DIG5l ZWRzIHRvIGtub3cgY29ubmVjdGVkIERBSSBJRCBmb3IgcHJvYmluZy4KSXQgaXMgbm90IGEgYmln IHByb2JsZW0gaWYgZGV2aWNlL2RyaXZlciB3YXMgb25seSBmb3Igc291bmQsCmJ1dCBnZXR0aW5n IERBSSBJRCB3aWxsIGJlIGRpZmZpY3VsdCBpZiBkZXZpY2UgaW5jbHVkZXMgYm90aApWaWRlby9T b3VuZCwgbGlrZSBIRE1JLgpUbyBzb2x2ZSB0aGlzIGlzc3VlLCB0aGlzIHBhdGNoIGFkZHMgbmV3 IC5nZXRfZGFpX2lkIGNhbGxiYWNrCm9uIGhkbWlfY29kZWNfb3BzLgpkdy1oZG1pLWkycyB3aWxs IGFzc3VtZSB0aGF0IEhETUkgc291bmQgd2lsbCBiZSBjb25uZWN0ZWQKdG8gcmVnID0gPDI+LiBU aGVuLCBBTFNBIFNvQyBzaWRlIHdpbGwgcmVjb2duaXplZCBpdCBhcyBEQUkgMAoKCXBvcnRzIHsK CQkjYWRkcmVzcy1jZWxscyA9IDwxPjsKCQkjc2l6ZS1jZWxscyA9IDwwPjsKCQlwb3J0QDAgewoJ CQlyZWcgPSA8MD47CgkJCS8qIEhETUkgVmlkZW8gSU4gKi8KCQl9OwoJCXBvcnRAMSB7CgkJCXJl ZyA9IDwxPjsKCQkJLyogSERNSSBPVVQgKi8KCQl9OwoJCXBvcnRAMiB7CgkJCXJlZyA9IDwyPjsK CQkJLyogSERNSSBTb3VuZCBJTiAqLwoJCX07Cgl9OwoKU2lnbmVkLW9mZi1ieTogS3VuaW5vcmkg TW9yaW1vdG8gPGt1bmlub3JpLm1vcmltb3RvLmd4QHJlbmVzYXMuY29tPgpBY2tlZC1ieTogQXJj aGl0IFRhbmVqYSA8YXJjaGl0dEBjb2RlYXVyb3JhLm9yZz4KU2lnbmVkLW9mZi1ieTogTWFyayBC cm93biA8YnJvb25pZUBrZXJuZWwub3JnPgotLS0KIC4uLi9iaW5kaW5ncy9kaXNwbGF5L2JyaWRn ZS9yZW5lc2FzLGR3LWhkbWkudHh0ICAgICB8ICA5ICsrKysrKysrLQogZHJpdmVycy9ncHUvZHJt L2JyaWRnZS9zeW5vcHN5cy9kdy1oZG1pLWkycy1hdWRpby5jIHwgMjEgKysrKysrKysrKysrKysr KysrKysrCiAyIGZpbGVzIGNoYW5nZWQsIDI5IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkK CmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvZGlzcGxheS9i cmlkZ2UvcmVuZXNhcyxkdy1oZG1pLnR4dCBiL0RvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5k aW5ncy9kaXNwbGF5L2JyaWRnZS9yZW5lc2FzLGR3LWhkbWkudHh0CmluZGV4IGY2YjNmMzZkNDIy Yi4uODFiNjg1ODBlMTk5IDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmlu ZGluZ3MvZGlzcGxheS9icmlkZ2UvcmVuZXNhcyxkdy1oZG1pLnR4dAorKysgYi9Eb2N1bWVudGF0 aW9uL2RldmljZXRyZWUvYmluZGluZ3MvZGlzcGxheS9icmlkZ2UvcmVuZXNhcyxkdy1oZG1pLnR4 dApAQCAtMjUsNyArMjUsOCBAQCBSZXF1aXJlZCBwcm9wZXJ0aWVzOgogLSBjbG9jay1uYW1lczog U2hhbGwgY29udGFpbiAiaWFoYiIgYW5kICJpc2ZyIiBhcyBkZWZpbmVkIGluIGR3X2hkbWkudHh0 LgogLSBwb3J0czogU2VlIGR3X2hkbWkudHh0LiBUaGUgRFdDIEhETUkgc2hhbGwgaGF2ZSBvbmUg cG9ydCBudW1iZXJlZCAwCiAgIGNvcnJlc3BvbmRpbmcgdG8gdGhlIHZpZGVvIGlucHV0IG9mIHRo ZSBjb250cm9sbGVyIGFuZCBvbmUgcG9ydCBudW1iZXJlZCAxCi0gIGNvcnJlc3BvbmRpbmcgdG8g aXRzIEhETUkgb3V0cHV0LiBFYWNoIHBvcnQgc2hhbGwgaGF2ZSBhIHNpbmdsZSBlbmRwb2ludC4K KyAgY29ycmVzcG9uZGluZyB0byBpdHMgSERNSSBvdXRwdXQsIGFuZCBvbmUgcG9ydCBudW1iZXJl ZCAyIGNvcnJlc3BvbmRpbmcgdG8KKyAgc291bmQgaW5wdXQgb2YgdGhlIGNvbnRyb2xsZXIuIEVh Y2ggcG9ydCBzaGFsbCBoYXZlIGEgc2luZ2xlIGVuZHBvaW50LgogCiBPcHRpb25hbCBwcm9wZXJ0 aWVzOgogCkBAIC01OSw2ICs2MCwxMiBAQCBFeGFtcGxlOgogCQkJCQlyZW1vdGUtZW5kcG9pbnQg PSA8JmhkbWkwX2Nvbj47CiAJCQkJfTsKIAkJCX07CisJCQlwb3J0QDIgeworCQkJCXJlZyA9IDwy PjsKKwkJCQlyY2FyX2R3X2hkbWkwX3NvdW5kX2luOiBlbmRwb2ludCB7CisJCQkJCXJlbW90ZS1l bmRwb2ludCA9IDwmaGRtaV9zb3VuZF9vdXQ+OworCQkJCX07CisJCQl9OwogCQl9OwogCX07CiAK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2Uvc3lub3BzeXMvZHctaGRtaS1pMnMt YXVkaW8uYyBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2Uvc3lub3BzeXMvZHctaGRtaS1pMnMtYXVk aW8uYwppbmRleCBhYWYyODdkMmU5MWQuLmIyY2Y1OWY1NGM4OCAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2JyaWRnZS9zeW5vcHN5cy9kdy1oZG1pLWkycy1hdWRpby5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9icmlkZ2Uvc3lub3BzeXMvZHctaGRtaS1pMnMtYXVkaW8uYwpAQCAtODIsOSAr ODIsMzAgQEAgc3RhdGljIHZvaWQgZHdfaGRtaV9pMnNfYXVkaW9fc2h1dGRvd24oc3RydWN0IGRl dmljZSAqZGV2LCB2b2lkICpkYXRhKQogCWhkbWlfd3JpdGUoYXVkaW8sIEhETUlfQVVEX0NPTkYw X1NXX1JFU0VULCBIRE1JX0FVRF9DT05GMCk7CiB9CiAKK3N0YXRpYyBpbnQgZHdfaGRtaV9pMnNf Z2V0X2RhaV9pZChzdHJ1Y3Qgc25kX3NvY19jb21wb25lbnQgKmNvbXBvbmVudCwKKwkJCQkgIHN0 cnVjdCBkZXZpY2Vfbm9kZSAqZW5kcG9pbnQpCit7CisJc3RydWN0IG9mX2VuZHBvaW50IG9mX2Vw OworCWludCByZXQ7CisKKwlyZXQgPSBvZl9ncmFwaF9wYXJzZV9lbmRwb2ludChlbmRwb2ludCwg Jm9mX2VwKTsKKwlpZiAocmV0IDwgMCkKKwkJcmV0dXJuIHJldDsKKworCS8qCisJICogSERNSSBz b3VuZCBzaG91bGQgYmUgbG9jYXRlZCBhcyByZWcgPSA8Mj4KKwkgKiBUaGVuLCBpdCBpcyBzb3Vu ZCBwb3J0IDAKKwkgKi8KKwlpZiAob2ZfZXAucG9ydCA9PSAyKQorCQlyZXR1cm4gMDsKKworCXJl dHVybiAtRUlOVkFMOworfQorCiBzdGF0aWMgc3RydWN0IGhkbWlfY29kZWNfb3BzIGR3X2hkbWlf aTJzX29wcyA9IHsKIAkuaHdfcGFyYW1zCT0gZHdfaGRtaV9pMnNfaHdfcGFyYW1zLAogCS5hdWRp b19zaHV0ZG93bgk9IGR3X2hkbWlfaTJzX2F1ZGlvX3NodXRkb3duLAorCS5nZXRfZGFpX2lkCT0g ZHdfaGRtaV9pMnNfZ2V0X2RhaV9pZCwKIH07CiAKIHN0YXRpYyBpbnQgc25kX2R3X2hkbWlfcHJv YmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKLS0gCjIuMTMuMgoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlz dApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==