ALSA: hda - Always read raw connections for proc output
In the codec proc outputs, read the raw connections instead of the cached connection list, i.e. proc files contain only raw values. Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
b2f934a0df
commit
9e7717c9eb
3 changed files with 17 additions and 7 deletions
|
@ -308,9 +308,6 @@ int snd_hda_get_sub_nodes(struct hda_codec *codec, hda_nid_t nid,
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_HDA(snd_hda_get_sub_nodes);
|
EXPORT_SYMBOL_HDA(snd_hda_get_sub_nodes);
|
||||||
|
|
||||||
static int _hda_get_connections(struct hda_codec *codec, hda_nid_t nid,
|
|
||||||
hda_nid_t *conn_list, int max_conns);
|
|
||||||
|
|
||||||
/* look up the cached results */
|
/* look up the cached results */
|
||||||
static hda_nid_t *lookup_conn_list(struct snd_array *array, hda_nid_t nid)
|
static hda_nid_t *lookup_conn_list(struct snd_array *array, hda_nid_t nid)
|
||||||
{
|
{
|
||||||
|
@ -357,7 +354,7 @@ int snd_hda_get_conn_list(struct hda_codec *codec, hda_nid_t nid,
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
/* read the connection and add to the cache */
|
/* read the connection and add to the cache */
|
||||||
len = _hda_get_connections(codec, nid, list, HDA_MAX_CONNECTIONS);
|
len = snd_hda_get_raw_connections(codec, nid, list, HDA_MAX_CONNECTIONS);
|
||||||
if (len < 0)
|
if (len < 0)
|
||||||
return len;
|
return len;
|
||||||
err = snd_hda_override_conn_list(codec, nid, len, list);
|
err = snd_hda_override_conn_list(codec, nid, len, list);
|
||||||
|
@ -399,8 +396,19 @@ int snd_hda_get_connections(struct hda_codec *codec, hda_nid_t nid,
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_HDA(snd_hda_get_connections);
|
EXPORT_SYMBOL_HDA(snd_hda_get_connections);
|
||||||
|
|
||||||
static int _hda_get_connections(struct hda_codec *codec, hda_nid_t nid,
|
/**
|
||||||
hda_nid_t *conn_list, int max_conns)
|
* snd_hda_get_raw_connections - copy connection list without cache
|
||||||
|
* @codec: the HDA codec
|
||||||
|
* @nid: NID to parse
|
||||||
|
* @conn_list: connection list array
|
||||||
|
* @max_conns: max. number of connections to store
|
||||||
|
*
|
||||||
|
* Like snd_hda_get_connections(), copy the connection list but without
|
||||||
|
* checking through the connection-list cache.
|
||||||
|
* Currently called only from hda_proc.c, so not exported.
|
||||||
|
*/
|
||||||
|
int snd_hda_get_raw_connections(struct hda_codec *codec, hda_nid_t nid,
|
||||||
|
hda_nid_t *conn_list, int max_conns)
|
||||||
{
|
{
|
||||||
unsigned int parm;
|
unsigned int parm;
|
||||||
int i, conn_len, conns;
|
int i, conn_len, conns;
|
||||||
|
|
|
@ -903,6 +903,8 @@ int snd_hda_get_sub_nodes(struct hda_codec *codec, hda_nid_t nid,
|
||||||
hda_nid_t *start_id);
|
hda_nid_t *start_id);
|
||||||
int snd_hda_get_connections(struct hda_codec *codec, hda_nid_t nid,
|
int snd_hda_get_connections(struct hda_codec *codec, hda_nid_t nid,
|
||||||
hda_nid_t *conn_list, int max_conns);
|
hda_nid_t *conn_list, int max_conns);
|
||||||
|
int snd_hda_get_raw_connections(struct hda_codec *codec, hda_nid_t nid,
|
||||||
|
hda_nid_t *conn_list, int max_conns);
|
||||||
int snd_hda_get_conn_list(struct hda_codec *codec, hda_nid_t nid,
|
int snd_hda_get_conn_list(struct hda_codec *codec, hda_nid_t nid,
|
||||||
const hda_nid_t **listp);
|
const hda_nid_t **listp);
|
||||||
int snd_hda_override_conn_list(struct hda_codec *codec, hda_nid_t nid, int nums,
|
int snd_hda_override_conn_list(struct hda_codec *codec, hda_nid_t nid, int nums,
|
||||||
|
|
|
@ -636,7 +636,7 @@ static void print_codec_info(struct snd_info_entry *entry,
|
||||||
wid_caps |= AC_WCAP_CONN_LIST;
|
wid_caps |= AC_WCAP_CONN_LIST;
|
||||||
|
|
||||||
if (wid_caps & AC_WCAP_CONN_LIST)
|
if (wid_caps & AC_WCAP_CONN_LIST)
|
||||||
conn_len = snd_hda_get_connections(codec, nid, conn,
|
conn_len = snd_hda_get_raw_connections(codec, nid, conn,
|
||||||
HDA_MAX_CONNECTIONS);
|
HDA_MAX_CONNECTIONS);
|
||||||
|
|
||||||
if (wid_caps & AC_WCAP_IN_AMP) {
|
if (wid_caps & AC_WCAP_IN_AMP) {
|
||||||
|
|
Loading…
Add table
Reference in a new issue