Re: [PATCH 2/4] ALSA: hda: Introduce HOST stream setup mechanism

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2023-09-25 1:58 PM, Cezary Rojewski wrote:
HDAudio stream setup procedure differs between revisions of the
controller device. Currently the differences are handled directly within
AudioDSP platform drivers with if-statements. Implement a more generic
approach and expose a function that a platform driver may use to ensure
the correct procedure is followed each time.

...

@@ -55,9 +88,16 @@ static void snd_hdac_ext_stream_init(struct hdac_bus *bus,
  int snd_hdac_ext_stream_init_all(struct hdac_bus *bus, int start_idx,
  				 int num_stream, int dir)
  {
+	struct pci_dev *pci = to_pci_dev(bus->dev);
+	int (*setup_op)(struct hdac_stream *);
  	int stream_tag = 0;
  	int i, tag, idx = start_idx;
+ if (pci->device == PCI_DEVICE_ID_INTEL_HDA_APL)
+		setup_op = snd_hdac_stream_setup;
+	else
+		setup_op = snd_hdac_apl_host_stream_setup;

Sorry for this, due to renaming I did send incorrect revision of patchset. The if-statement was "negative" previously. Will send v2.

  	for (i = 0; i < num_stream; i++) {
  		struct hdac_ext_stream *hext_stream =
  				kzalloc(sizeof(*hext_stream), GFP_KERNEL);
@@ -66,6 +106,7 @@ int snd_hdac_ext_stream_init_all(struct hdac_bus *bus, int start_idx,
  		tag = ++stream_tag;
  		snd_hdac_ext_stream_init(bus, hext_stream, idx, dir, tag);
  		idx++;
+		hext_stream->host_setup = setup_op;
  	}
return 0;



[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Pulse Audio]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux