|
@@ -127,10 +127,17 @@ static void skl_clock_power_gating(struct device *dev, bool enable)
|
|
|
*/
|
|
|
static int skl_init_chip(struct hdac_bus *bus, bool full_reset)
|
|
|
{
|
|
|
+ struct hdac_ext_bus *ebus = hbus_to_ebus(bus);
|
|
|
+ struct hdac_ext_link *hlink;
|
|
|
int ret;
|
|
|
|
|
|
skl_enable_miscbdcge(bus->dev, false);
|
|
|
ret = snd_hdac_bus_init_chip(bus, full_reset);
|
|
|
+
|
|
|
+ /* Reset stream-to-link mapping */
|
|
|
+ list_for_each_entry(hlink, &ebus->hlink_list, list)
|
|
|
+ bus->io_ops->reg_writel(0, hlink->ml_addr + AZX_REG_ML_LOSIDV);
|
|
|
+
|
|
|
skl_enable_miscbdcge(bus->dev, true);
|
|
|
|
|
|
return ret;
|