* [PATCH] HDA-Intel: present up to 8 HDMI/DP outputs via "hdmi" device
@ 2013-09-22 21:41 Anssi Hannula
2013-09-22 22:17 ` Anssi Hannula
2013-09-26 10:02 ` Takashi Iwai
0 siblings, 2 replies; 3+ messages in thread
From: Anssi Hannula @ 2013-09-22 21:41 UTC (permalink / raw)
To: Takashi Iwai; +Cc: alsa-devel
Some new AMD cards have HDA codecs presenting 6 connected HDMI/DP pin
nodes (plus 1 unconnected pin node) according to the ALSA card database.
Example:
http://www.alsa-project.org/db/?f=de3ced7af41de0ed54d218650e5e2f16c511787b
Bump the maximum number of presented HDMI outputs per card via the
"hdmi" PCM from 4 to 8 (so that the last possible device is DEV=7).
Note that HDMI PCM devices DEV=4..7 use shared PCM device numbers, so
HDA cards that have over 4 audio PCM devices or multiple S/PDIF or modem
devices will have their remaining PCM devices misrepresented as HDMI
devices.
Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi>
---
Another example:
http://www.alsa-project.org/db/?f=cd12a9d38f51c47eeedd380e4c5713f0d9a6c9de
I do not have confirmed that all of these pins are actually usable (and
therefore this patch is untested on affected hardware), but I guess that
is probable.
Maybe the large amount of them has something to do with DisplayPort
supporting multiple displays via a single connector, but that is just
a wild guess on my part...
But do we want some sort of a solution for the possible conflicts between
non-HDMI devices in the 10+ physical PCM device numbering range?
src/conf/cards/HDA-Intel.conf | 92 +++++++++++++++++++++++++++++++++++++++++++
1 file changed, 92 insertions(+)
diff --git a/src/conf/cards/HDA-Intel.conf b/src/conf/cards/HDA-Intel.conf
index 3957c12..7976b6c 100644
--- a/src/conf/cards/HDA-Intel.conf
+++ b/src/conf/cards/HDA-Intel.conf
@@ -305,6 +305,98 @@ HDA-Intel.pcm.hdmi.3 {
}
}
+HDA-Intel.pcm.hdmi.4 {
+ @args [ CARD AES0 AES1 AES2 AES3 ]
+ @args.CARD { type string }
+ @args.AES0 { type integer }
+ @args.AES1 { type integer }
+ @args.AES2 { type integer }
+ @args.AES3 { type integer }
+ @func refer
+ name {
+ @func concat
+ strings [
+ "cards.HDA-Intel.pcm.hdmi.common:"
+ "CARD=" $CARD ","
+ "DEVICE=10,"
+ "CTLINDEX=4,"
+ "AES0=" $AES0 ","
+ "AES1=" $AES1 ","
+ "AES2=" $AES2 ","
+ "AES3=" $AES3
+ ]
+ }
+}
+
+HDA-Intel.pcm.hdmi.5 {
+ @args [ CARD AES0 AES1 AES2 AES3 ]
+ @args.CARD { type string }
+ @args.AES0 { type integer }
+ @args.AES1 { type integer }
+ @args.AES2 { type integer }
+ @args.AES3 { type integer }
+ @func refer
+ name {
+ @func concat
+ strings [
+ "cards.HDA-Intel.pcm.hdmi.common:"
+ "CARD=" $CARD ","
+ "DEVICE=11,"
+ "CTLINDEX=5,"
+ "AES0=" $AES0 ","
+ "AES1=" $AES1 ","
+ "AES2=" $AES2 ","
+ "AES3=" $AES3
+ ]
+ }
+}
+
+HDA-Intel.pcm.hdmi.6 {
+ @args [ CARD AES0 AES1 AES2 AES3 ]
+ @args.CARD { type string }
+ @args.AES0 { type integer }
+ @args.AES1 { type integer }
+ @args.AES2 { type integer }
+ @args.AES3 { type integer }
+ @func refer
+ name {
+ @func concat
+ strings [
+ "cards.HDA-Intel.pcm.hdmi.common:"
+ "CARD=" $CARD ","
+ "DEVICE=12,"
+ "CTLINDEX=6,"
+ "AES0=" $AES0 ","
+ "AES1=" $AES1 ","
+ "AES2=" $AES2 ","
+ "AES3=" $AES3
+ ]
+ }
+}
+
+HDA-Intel.pcm.hdmi.7 {
+ @args [ CARD AES0 AES1 AES2 AES3 ]
+ @args.CARD { type string }
+ @args.AES0 { type integer }
+ @args.AES1 { type integer }
+ @args.AES2 { type integer }
+ @args.AES3 { type integer }
+ @func refer
+ name {
+ @func concat
+ strings [
+ "cards.HDA-Intel.pcm.hdmi.common:"
+ "CARD=" $CARD ","
+ "DEVICE=13,"
+ "CTLINDEX=7,"
+ "AES0=" $AES0 ","
+ "AES1=" $AES1 ","
+ "AES2=" $AES2 ","
+ "AES3=" $AES3
+ ]
+ }
+}
+
<confdir:pcm/modem.conf>
HDA-Intel.pcm.modem.0 {
--
1.8.1.5
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] HDA-Intel: present up to 8 HDMI/DP outputs via "hdmi" device
2013-09-22 21:41 [PATCH] HDA-Intel: present up to 8 HDMI/DP outputs via "hdmi" device Anssi Hannula
@ 2013-09-22 22:17 ` Anssi Hannula
2013-09-26 10:02 ` Takashi Iwai
1 sibling, 0 replies; 3+ messages in thread
From: Anssi Hannula @ 2013-09-22 22:17 UTC (permalink / raw)
To: Takashi Iwai; +Cc: alsa-devel
23.09.2013 00:41, Anssi Hannula kirjoitti:
> Some new AMD cards have HDA codecs presenting 6 connected HDMI/DP pin
> nodes (plus 1 unconnected pin node) according to the ALSA card database.
>
> Example:
> http://www.alsa-project.org/db/?f=de3ced7af41de0ed54d218650e5e2f16c511787b
>
> Bump the maximum number of presented HDMI outputs per card via the
> "hdmi" PCM from 4 to 8 (so that the last possible device is DEV=7).
>
> Note that HDMI PCM devices DEV=4..7 use shared PCM device numbers, so
> HDA cards that have over 4 audio PCM devices or multiple S/PDIF or modem
> devices will have their remaining PCM devices misrepresented as HDMI
> devices.
>
> Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi>
> ---
>
> Another example:
> http://www.alsa-project.org/db/?f=cd12a9d38f51c47eeedd380e4c5713f0d9a6c9de
>
> I do not have confirmed that all of these pins are actually usable (and
> therefore this patch is untested on affected hardware), but I guess that
> is probable.
> Maybe the large amount of them has something to do with DisplayPort
> supporting multiple displays via a single connector, but that is just
> a wild guess on my part...
>From what I can see from looking at the radeon driver and their wiki,
Radeon display cores DCE4+ have 6 pins, and DCE8+ have 7 pins.
http://www.x.org/wiki/RadeonFeature/#index7h2
So seems this is really needed. Now what is left is whether we care
about the 10+ non-HDMI conflicts, and if so, what do we do about that?
> But do we want some sort of a solution for the possible conflicts between
> non-HDMI devices in the 10+ physical PCM device numbering range?
>
>
> src/conf/cards/HDA-Intel.conf | 92 +++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 92 insertions(+)
>
> diff --git a/src/conf/cards/HDA-Intel.conf b/src/conf/cards/HDA-Intel.conf
> index 3957c12..7976b6c 100644
> --- a/src/conf/cards/HDA-Intel.conf
> +++ b/src/conf/cards/HDA-Intel.conf
> @@ -305,6 +305,98 @@ HDA-Intel.pcm.hdmi.3 {
> }
> }
>
> +HDA-Intel.pcm.hdmi.4 {
> + @args [ CARD AES0 AES1 AES2 AES3 ]
> + @args.CARD { type string }
> + @args.AES0 { type integer }
> + @args.AES1 { type integer }
> + @args.AES2 { type integer }
> + @args.AES3 { type integer }
> + @func refer
> + name {
> + @func concat
> + strings [
> + "cards.HDA-Intel.pcm.hdmi.common:"
> + "CARD=" $CARD ","
> + "DEVICE=10,"
> + "CTLINDEX=4,"
> + "AES0=" $AES0 ","
> + "AES1=" $AES1 ","
> + "AES2=" $AES2 ","
> + "AES3=" $AES3
> + ]
> + }
> +}
> +
> +HDA-Intel.pcm.hdmi.5 {
> + @args [ CARD AES0 AES1 AES2 AES3 ]
> + @args.CARD { type string }
> + @args.AES0 { type integer }
> + @args.AES1 { type integer }
> + @args.AES2 { type integer }
> + @args.AES3 { type integer }
> + @func refer
> + name {
> + @func concat
> + strings [
> + "cards.HDA-Intel.pcm.hdmi.common:"
> + "CARD=" $CARD ","
> + "DEVICE=11,"
> + "CTLINDEX=5,"
> + "AES0=" $AES0 ","
> + "AES1=" $AES1 ","
> + "AES2=" $AES2 ","
> + "AES3=" $AES3
> + ]
> + }
> +}
> +
> +HDA-Intel.pcm.hdmi.6 {
> + @args [ CARD AES0 AES1 AES2 AES3 ]
> + @args.CARD { type string }
> + @args.AES0 { type integer }
> + @args.AES1 { type integer }
> + @args.AES2 { type integer }
> + @args.AES3 { type integer }
> + @func refer
> + name {
> + @func concat
> + strings [
> + "cards.HDA-Intel.pcm.hdmi.common:"
> + "CARD=" $CARD ","
> + "DEVICE=12,"
> + "CTLINDEX=6,"
> + "AES0=" $AES0 ","
> + "AES1=" $AES1 ","
> + "AES2=" $AES2 ","
> + "AES3=" $AES3
> + ]
> + }
> +}
> +
> +HDA-Intel.pcm.hdmi.7 {
> + @args [ CARD AES0 AES1 AES2 AES3 ]
> + @args.CARD { type string }
> + @args.AES0 { type integer }
> + @args.AES1 { type integer }
> + @args.AES2 { type integer }
> + @args.AES3 { type integer }
> + @func refer
> + name {
> + @func concat
> + strings [
> + "cards.HDA-Intel.pcm.hdmi.common:"
> + "CARD=" $CARD ","
> + "DEVICE=13,"
> + "CTLINDEX=7,"
> + "AES0=" $AES0 ","
> + "AES1=" $AES1 ","
> + "AES2=" $AES2 ","
> + "AES3=" $AES3
> + ]
> + }
> +}
> +
> <confdir:pcm/modem.conf>
>
> HDA-Intel.pcm.modem.0 {
>
--
Anssi Hannula
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] HDA-Intel: present up to 8 HDMI/DP outputs via "hdmi" device
2013-09-22 21:41 [PATCH] HDA-Intel: present up to 8 HDMI/DP outputs via "hdmi" device Anssi Hannula
2013-09-22 22:17 ` Anssi Hannula
@ 2013-09-26 10:02 ` Takashi Iwai
1 sibling, 0 replies; 3+ messages in thread
From: Takashi Iwai @ 2013-09-26 10:02 UTC (permalink / raw)
To: Anssi Hannula; +Cc: alsa-devel
At Mon, 23 Sep 2013 00:41:50 +0300,
Anssi Hannula wrote:
>
> Some new AMD cards have HDA codecs presenting 6 connected HDMI/DP pin
> nodes (plus 1 unconnected pin node) according to the ALSA card database.
>
> Example:
> http://www.alsa-project.org/db/?f=de3ced7af41de0ed54d218650e5e2f16c511787b
>
> Bump the maximum number of presented HDMI outputs per card via the
> "hdmi" PCM from 4 to 8 (so that the last possible device is DEV=7).
>
> Note that HDMI PCM devices DEV=4..7 use shared PCM device numbers, so
> HDA cards that have over 4 audio PCM devices or multiple S/PDIF or modem
> devices will have their remaining PCM devices misrepresented as HDMI
> devices.
>
> Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi>
Applied now. Thanks.
> ---
>
> Another example:
> http://www.alsa-project.org/db/?f=cd12a9d38f51c47eeedd380e4c5713f0d9a6c9de
>
> I do not have confirmed that all of these pins are actually usable (and
> therefore this patch is untested on affected hardware), but I guess that
> is probable.
> Maybe the large amount of them has something to do with DisplayPort
> supporting multiple displays via a single connector, but that is just
> a wild guess on my part...
>
>
> But do we want some sort of a solution for the possible conflicts between
> non-HDMI devices in the 10+ physical PCM device numbering range?
Yes, we definitely need a proper scheme for assigning more devices.
I have no particular idea yet, so let me know if you have something
already in your mind.
Takashi
>
>
> src/conf/cards/HDA-Intel.conf | 92 +++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 92 insertions(+)
>
> diff --git a/src/conf/cards/HDA-Intel.conf b/src/conf/cards/HDA-Intel.conf
> index 3957c12..7976b6c 100644
> --- a/src/conf/cards/HDA-Intel.conf
> +++ b/src/conf/cards/HDA-Intel.conf
> @@ -305,6 +305,98 @@ HDA-Intel.pcm.hdmi.3 {
> }
> }
>
> +HDA-Intel.pcm.hdmi.4 {
> + @args [ CARD AES0 AES1 AES2 AES3 ]
> + @args.CARD { type string }
> + @args.AES0 { type integer }
> + @args.AES1 { type integer }
> + @args.AES2 { type integer }
> + @args.AES3 { type integer }
> + @func refer
> + name {
> + @func concat
> + strings [
> + "cards.HDA-Intel.pcm.hdmi.common:"
> + "CARD=" $CARD ","
> + "DEVICE=10,"
> + "CTLINDEX=4,"
> + "AES0=" $AES0 ","
> + "AES1=" $AES1 ","
> + "AES2=" $AES2 ","
> + "AES3=" $AES3
> + ]
> + }
> +}
> +
> +HDA-Intel.pcm.hdmi.5 {
> + @args [ CARD AES0 AES1 AES2 AES3 ]
> + @args.CARD { type string }
> + @args.AES0 { type integer }
> + @args.AES1 { type integer }
> + @args.AES2 { type integer }
> + @args.AES3 { type integer }
> + @func refer
> + name {
> + @func concat
> + strings [
> + "cards.HDA-Intel.pcm.hdmi.common:"
> + "CARD=" $CARD ","
> + "DEVICE=11,"
> + "CTLINDEX=5,"
> + "AES0=" $AES0 ","
> + "AES1=" $AES1 ","
> + "AES2=" $AES2 ","
> + "AES3=" $AES3
> + ]
> + }
> +}
> +
> +HDA-Intel.pcm.hdmi.6 {
> + @args [ CARD AES0 AES1 AES2 AES3 ]
> + @args.CARD { type string }
> + @args.AES0 { type integer }
> + @args.AES1 { type integer }
> + @args.AES2 { type integer }
> + @args.AES3 { type integer }
> + @func refer
> + name {
> + @func concat
> + strings [
> + "cards.HDA-Intel.pcm.hdmi.common:"
> + "CARD=" $CARD ","
> + "DEVICE=12,"
> + "CTLINDEX=6,"
> + "AES0=" $AES0 ","
> + "AES1=" $AES1 ","
> + "AES2=" $AES2 ","
> + "AES3=" $AES3
> + ]
> + }
> +}
> +
> +HDA-Intel.pcm.hdmi.7 {
> + @args [ CARD AES0 AES1 AES2 AES3 ]
> + @args.CARD { type string }
> + @args.AES0 { type integer }
> + @args.AES1 { type integer }
> + @args.AES2 { type integer }
> + @args.AES3 { type integer }
> + @func refer
> + name {
> + @func concat
> + strings [
> + "cards.HDA-Intel.pcm.hdmi.common:"
> + "CARD=" $CARD ","
> + "DEVICE=13,"
> + "CTLINDEX=7,"
> + "AES0=" $AES0 ","
> + "AES1=" $AES1 ","
> + "AES2=" $AES2 ","
> + "AES3=" $AES3
> + ]
> + }
> +}
> +
> <confdir:pcm/modem.conf>
>
> HDA-Intel.pcm.modem.0 {
> --
> 1.8.1.5
>
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2013-09-26 9:59 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-09-22 21:41 [PATCH] HDA-Intel: present up to 8 HDMI/DP outputs via "hdmi" device Anssi Hannula
2013-09-22 22:17 ` Anssi Hannula
2013-09-26 10:02 ` Takashi Iwai
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.