ALSA: hda - Remove unused variable
PATCH 1/2 ALSA: hda - Remove unused variable
Signed-off-by Wang Xingchao <[email protected]>
--- sound/pci/hda/patch_hdmi.c | 1 - 1 file changed, 1 deletion(-)
sound/pci/hda/patch_hdmi.c +0 -1
@@ -1891,7 +1891,6 @@ static void intel_haswell_fixup_connect_list(struct hda_codec *codec,/* override pins connection list */ snd_printdd ("hdmi: haswell: override pin connection 0x%x\n" , nid); - nconns =max (spec->num_cvts,4 );snd_hda_override_conn_list (codec, nid, spec->num_cvts, spec->cvt_nids); }
Signature · 1 line
1.8.1.2
PATCH 2/2 ALSA: hda - Add cache connection info
Pin's connection list may change dynamically with hot-plug event on Intel Haswell chip. Users would see connections be "0" in codec#. when play audio on this pin, software choose connections from cache. So add Cache connection info to avoid confuse.
Signed-off-by Wang Xingchao <[email protected]>
--- sound/pci/hda/hda_codec.c | 13 +++++++++++++ sound/pci/hda/hda_codec.h | 2 ++ sound/pci/hda/hda_proc.c | 13 ++++++++++++- 3 files changed, 27 insertions(+), 1 deletion(-)
sound/pci/hda/hda_codec.c +13 -0
@@ -354,6 +354,19 @@ lookup_conn_list(struct hda_codec *codec, hda_nid_t nid)return NULL ; } +int lookup_cache_conn (struct hda_codec *codec, +hda_nid_t pin_nid,hda_nid_t *conn_list) +{ +struct hda_conn_list *p; + + p =lookup_conn_list (codec, pin_nid); +if (p) { +memcpy (conn_list, p->conns, p->len *sizeof (hda_nid_t)); +return p->len; + } +return 0 ; +} +static int add_conn_list (struct hda_codec *codec,hda_nid_t nid,int len,const hda_nid_t *list) {
sound/pci/hda/hda_codec.h +2 -0
@@ -963,6 +963,8 @@ snd_hda_get_num_conns(struct hda_codec *codec, hda_nid_t nid)int snd_hda_get_num_raw_conns (struct hda_codec *codec,hda_nid_t nid);int snd_hda_get_raw_connections (struct hda_codec *codec,hda_nid_t nid,hda_nid_t *conn_list,int max_conns); +int lookup_cache_conn (struct hda_codec *codec, +hda_nid_t pin_nid,hda_nid_t *conn_list);int snd_hda_get_conn_list (struct hda_codec *codec,hda_nid_t nid,const hda_nid_t **listp); int snd_hda_override_conn_list(struct hda_codec *codec, hda_nid_t nid, int nums,
sound/pci/hda/hda_proc.c +12 -1
@@ -504,6 +504,7 @@ static void print_conn_list(struct snd_info_buffer *buffer, int conn_len) {int c, curr =-1 ; +hda_nid_t cache_conn[32 ]; if (conn_len > 1 && wid_type != AC_WID_AUD_MIX &&
@@ -511,7 +512,7 @@ static void print_conn_list(struct snd_info_buffer *buffer, wid_type != AC_WID_POWER) curr =snd_hda_codec_read (codec, nid,0 ,AC_VERB_GET_CONNECT_SEL ,0 ); -snd_iprintf (buffer," Connection: %d\n" , conn_len); +snd_iprintf (buffer," Raw Connection: %d\n" , conn_len);if (conn_len >0 ) {snd_iprintf (buffer," " );for (c =0 ; c < conn_len; c++) {
@@ -521,6 +522,16 @@ static void print_conn_list(struct snd_info_buffer *buffer, }snd_iprintf (buffer,"\n" ); } + +/* Get Cache connections info */ + conn_len =lookup_cache_conn (codec, nid, cache_conn); +if (conn_len >0 ) { +snd_iprintf (buffer," Cache Connection: %d\n" , conn_len); +snd_iprintf (buffer," " ); +for (c =0 ; c < conn_len; c++) +snd_iprintf (buffer," 0x%02x" , cache_conn[c]); +snd_iprintf (buffer,"\n" ); + } } static void print_gpio(struct snd_info_buffer *buffer,
Signature · 1 line
1.8.1.2