ALSA: hda: Fix mismatch for register mask and value in ext controller.
E.g. for snd_hdac_ext_bus_link_power_up(), we should set mask to be AZX_MLCTL_SPA(it was 0), and AZX_MLCTL_SPA as value to power up it, here correct it and several similar mismatches. Signed-off-by: Keyon Jie <yang.jie@linux.intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
edb1b3abdb
commit
c32bf867cb
|
@ -48,9 +48,11 @@ void snd_hdac_ext_bus_ppcap_enable(struct hdac_bus *bus, bool enable)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (enable)
|
if (enable)
|
||||||
snd_hdac_updatel(bus->ppcap, AZX_REG_PP_PPCTL, 0, AZX_PPCTL_GPROCEN);
|
snd_hdac_updatel(bus->ppcap, AZX_REG_PP_PPCTL,
|
||||||
|
AZX_PPCTL_GPROCEN, AZX_PPCTL_GPROCEN);
|
||||||
else
|
else
|
||||||
snd_hdac_updatel(bus->ppcap, AZX_REG_PP_PPCTL, AZX_PPCTL_GPROCEN, 0);
|
snd_hdac_updatel(bus->ppcap, AZX_REG_PP_PPCTL,
|
||||||
|
AZX_PPCTL_GPROCEN, 0);
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(snd_hdac_ext_bus_ppcap_enable);
|
EXPORT_SYMBOL_GPL(snd_hdac_ext_bus_ppcap_enable);
|
||||||
|
|
||||||
|
@ -68,9 +70,11 @@ void snd_hdac_ext_bus_ppcap_int_enable(struct hdac_bus *bus, bool enable)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (enable)
|
if (enable)
|
||||||
snd_hdac_updatel(bus->ppcap, AZX_REG_PP_PPCTL, 0, AZX_PPCTL_PIE);
|
snd_hdac_updatel(bus->ppcap, AZX_REG_PP_PPCTL,
|
||||||
|
AZX_PPCTL_PIE, AZX_PPCTL_PIE);
|
||||||
else
|
else
|
||||||
snd_hdac_updatel(bus->ppcap, AZX_REG_PP_PPCTL, AZX_PPCTL_PIE, 0);
|
snd_hdac_updatel(bus->ppcap, AZX_REG_PP_PPCTL,
|
||||||
|
AZX_PPCTL_PIE, 0);
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(snd_hdac_ext_bus_ppcap_int_enable);
|
EXPORT_SYMBOL_GPL(snd_hdac_ext_bus_ppcap_int_enable);
|
||||||
|
|
||||||
|
@ -194,7 +198,8 @@ static int check_hdac_link_power_active(struct hdac_ext_link *link, bool enable)
|
||||||
*/
|
*/
|
||||||
int snd_hdac_ext_bus_link_power_up(struct hdac_ext_link *link)
|
int snd_hdac_ext_bus_link_power_up(struct hdac_ext_link *link)
|
||||||
{
|
{
|
||||||
snd_hdac_updatel(link->ml_addr, AZX_REG_ML_LCTL, 0, AZX_MLCTL_SPA);
|
snd_hdac_updatel(link->ml_addr, AZX_REG_ML_LCTL,
|
||||||
|
AZX_MLCTL_SPA, AZX_MLCTL_SPA);
|
||||||
|
|
||||||
return check_hdac_link_power_active(link, true);
|
return check_hdac_link_power_active(link, true);
|
||||||
}
|
}
|
||||||
|
@ -222,8 +227,8 @@ int snd_hdac_ext_bus_link_power_up_all(struct hdac_bus *bus)
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
list_for_each_entry(hlink, &bus->hlink_list, list) {
|
list_for_each_entry(hlink, &bus->hlink_list, list) {
|
||||||
snd_hdac_updatel(hlink->ml_addr,
|
snd_hdac_updatel(hlink->ml_addr, AZX_REG_ML_LCTL,
|
||||||
AZX_REG_ML_LCTL, 0, AZX_MLCTL_SPA);
|
AZX_MLCTL_SPA, AZX_MLCTL_SPA);
|
||||||
ret = check_hdac_link_power_active(hlink, true);
|
ret = check_hdac_link_power_active(hlink, true);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
return ret;
|
return ret;
|
||||||
|
@ -243,7 +248,8 @@ int snd_hdac_ext_bus_link_power_down_all(struct hdac_bus *bus)
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
list_for_each_entry(hlink, &bus->hlink_list, list) {
|
list_for_each_entry(hlink, &bus->hlink_list, list) {
|
||||||
snd_hdac_updatel(hlink->ml_addr, AZX_REG_ML_LCTL, AZX_MLCTL_SPA, 0);
|
snd_hdac_updatel(hlink->ml_addr, AZX_REG_ML_LCTL,
|
||||||
|
AZX_MLCTL_SPA, 0);
|
||||||
ret = check_hdac_link_power_active(hlink, false);
|
ret = check_hdac_link_power_active(hlink, false);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
Loading…
Reference in New Issue