Unverified Commit 1a7d06ae authored by Pierre-Louis Bossart's avatar Pierre-Louis Bossart Committed by Mark Brown
Browse files
parent 52f16103
Loading
Loading
Loading
Loading
+1 −8
Original line number Diff line number Diff line
@@ -185,9 +185,6 @@ int hda_dsp_ctrl_clock_power_gating(struct snd_sof_dev *sdev, bool enable)
int hda_dsp_ctrl_init_chip(struct snd_sof_dev *sdev)
{
	struct hdac_bus *bus = sof_to_bus(sdev);
#if IS_ENABLED(CONFIG_SND_SOC_SOF_HDA)
	struct hdac_ext_link *hlink;
#endif
	struct hdac_stream *stream;
	int sd_offset, ret = 0;

@@ -269,11 +266,7 @@ int hda_dsp_ctrl_init_chip(struct snd_sof_dev *sdev)
				  upper_32_bits(bus->posbuf.addr));
	}

#if IS_ENABLED(CONFIG_SND_SOC_SOF_HDA)
	/* Reset stream-to-link mapping */
	list_for_each_entry(hlink, &bus->hlink_list, list)
		writel(0, hlink->ml_addr + AZX_REG_ML_LOSIDV);
#endif
	hda_bus_ml_reset_losidv(bus);

	bus->chip_init = true;

+9 −0
Original line number Diff line number Diff line
@@ -42,4 +42,13 @@ void hda_bus_ml_put_all(struct hdac_bus *bus)
		snd_hdac_ext_bus_link_put(bus, hlink);
}

void hda_bus_ml_reset_losidv(struct hdac_bus *bus)
{
	struct hdac_ext_link *hlink;

	/* Reset stream-to-link mapping */
	list_for_each_entry(hlink, &bus->hlink_list, list)
		writel(0, hlink->ml_addr + AZX_REG_ML_LOSIDV);
}

#endif
+2 −0
Original line number Diff line number Diff line
@@ -746,11 +746,13 @@ static inline int hda_codec_i915_exit(struct snd_sof_dev *sdev) { return 0; }

void hda_bus_ml_get_capabilities(struct hdac_bus *bus);
void hda_bus_ml_put_all(struct hdac_bus *bus);
void hda_bus_ml_reset_losidv(struct hdac_bus *bus);

#else

static inline void hda_bus_ml_get_capabilities(struct hdac_bus *bus) { }
static inline void hda_bus_ml_put_all(struct hdac_bus *bus) { }
static inline void hda_bus_ml_reset_losidv(struct hdac_bus *bus) { }

#endif /* CONFIG_SND_SOC_SOF_HDA */