ASoC: SOF: Intel: hda-stream: store stream capabilities
authorKeyon Jie <yang.jie@linux.intel.com>
Tue, 30 Apr 2019 23:09:29 +0000 (18:09 -0500)
committerMark Brown <broonie@kernel.org>
Fri, 3 May 2019 06:00:59 +0000 (15:00 +0900)
Add stream_max into struct sof_intel_hda_dev to store the total hda
stream number that the platform can support, and initialize it at
stream_init.

This can be used later e.g. for stream bitmask.

Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/sof/intel/hda-stream.c
sound/soc/sof/intel/hda.h

index 47eff16..39f4212 100644 (file)
@@ -500,6 +500,7 @@ int hda_dsp_stream_init(struct snd_sof_dev *sdev)
        struct hdac_ext_stream *stream;
        struct hdac_stream *hstream;
        struct pci_dev *pci = to_pci_dev(sdev->dev);
+       struct sof_intel_hda_dev *sof_hda = bus_to_sof_hda(bus);
        int sd_offset;
        int i, num_playback, num_capture, num_total, ret;
        u32 gcap;
@@ -657,6 +658,9 @@ int hda_dsp_stream_init(struct snd_sof_dev *sdev)
                list_add_tail(&hstream->list, &bus->stream_list);
        }
 
+       /* store total stream count (playback + capture) from GCAP */
+       sof_hda->stream_max = num_total;
+
        return 0;
 }
 
index 3799a35..7cb2fb9 100644 (file)
@@ -383,6 +383,9 @@ struct sof_intel_hda_dev {
        /* if position update IPC needed */
        u32 no_ipc_position;
 
+       /* the maximum number of streams (playback + capture) supported */
+       u32 stream_max;
+
        int irq;
 
        /* DMIC device */