Lines Matching refs:link
165 static int check_hdac_link_power_active(struct hdac_ext_link *link, bool enable) in check_hdac_link_power_active() argument
175 val = readl(link->ml_addr + AZX_REG_ML_LCTL); in check_hdac_link_power_active()
193 int snd_hdac_ext_bus_link_power_up(struct hdac_ext_link *link) in snd_hdac_ext_bus_link_power_up() argument
195 snd_hdac_updatel(link->ml_addr, AZX_REG_ML_LCTL, in snd_hdac_ext_bus_link_power_up()
198 return check_hdac_link_power_active(link, true); in snd_hdac_ext_bus_link_power_up()
206 int snd_hdac_ext_bus_link_power_down(struct hdac_ext_link *link) in snd_hdac_ext_bus_link_power_down() argument
208 snd_hdac_updatel(link->ml_addr, AZX_REG_ML_LCTL, AZX_MLCTL_SPA, 0); in snd_hdac_ext_bus_link_power_down()
210 return check_hdac_link_power_active(link, false); in snd_hdac_ext_bus_link_power_down()
257 struct hdac_ext_link *link) in snd_hdac_ext_bus_link_get() argument
268 if (++link->ref_count == 1) { in snd_hdac_ext_bus_link_get()
274 ret = snd_hdac_ext_bus_link_power_up(link); in snd_hdac_ext_bus_link_get()
279 snd_hdac_updatew(link->ml_addr, AZX_REG_ML_LOSIDV, in snd_hdac_ext_bus_link_get()
299 struct hdac_ext_link *link) in snd_hdac_ext_bus_link_put() argument
311 if (--link->ref_count == 0) { in snd_hdac_ext_bus_link_put()
312 ret = snd_hdac_ext_bus_link_power_down(link); in snd_hdac_ext_bus_link_put()