ASoC: SOF: Intel: hda-loader: Use the basefw firmware container directly
authorPeter Ujfalusi <peter.ujfalusi@linux.intel.com>
Thu, 20 Oct 2022 12:12:23 +0000 (15:12 +0300)
committerMark Brown <broonie@kernel.org>
Fri, 21 Oct 2022 12:04:56 +0000 (13:04 +0100)
Switch to access to the firmware struct via sdev->basefw container to
unblock the removal of the firmware information from plat_data.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Chao Song <chao.song@intel.com>
Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Link: https://lore.kernel.org/r/20221020121238.18339-5-peter.ujfalusi@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/sof/intel/hda-loader.c

index 98812d5..147ddc5 100644 (file)
@@ -318,7 +318,6 @@ int hda_cl_copy_fw(struct snd_sof_dev *sdev, struct hdac_ext_stream *hext_stream
 
 int hda_dsp_cl_boot_firmware_iccmax(struct snd_sof_dev *sdev)
 {
-       struct snd_sof_pdata *plat_data = sdev->pdata;
        struct hdac_ext_stream *iccmax_stream;
        struct hdac_bus *bus = sof_to_bus(sdev);
        struct firmware stripped_firmware;
@@ -329,12 +328,12 @@ int hda_dsp_cl_boot_firmware_iccmax(struct snd_sof_dev *sdev)
        /* save the original LTRP guardband value */
        original_gb = snd_hdac_chip_readb(bus, VS_LTRP) & HDA_VS_INTEL_LTRP_GB_MASK;
 
-       if (plat_data->fw->size <= plat_data->fw_offset) {
+       if (sdev->basefw.fw->size <= sdev->basefw.payload_offset) {
                dev_err(sdev->dev, "error: firmware size must be greater than firmware offset\n");
                return -EINVAL;
        }
 
-       stripped_firmware.size = plat_data->fw->size - plat_data->fw_offset;
+       stripped_firmware.size = sdev->basefw.fw->size - sdev->basefw.payload_offset;
 
        /* prepare capture stream for ICCMAX */
        iccmax_stream = hda_cl_stream_prepare(sdev, HDA_CL_STREAM_FORMAT, stripped_firmware.size,
@@ -405,13 +404,13 @@ int hda_dsp_cl_boot_firmware(struct snd_sof_dev *sdev)
 
        chip_info = desc->chip_info;
 
-       if (plat_data->fw->size <= plat_data->fw_offset) {
+       if (sdev->basefw.fw->size <= sdev->basefw.payload_offset) {
                dev_err(sdev->dev, "error: firmware size must be greater than firmware offset\n");
                return -EINVAL;
        }
 
-       stripped_firmware.data = plat_data->fw->data + plat_data->fw_offset;
-       stripped_firmware.size = plat_data->fw->size - plat_data->fw_offset;
+       stripped_firmware.data = sdev->basefw.fw->data + sdev->basefw.payload_offset;
+       stripped_firmware.size = sdev->basefw.fw->size - sdev->basefw.payload_offset;
 
        /* init for booting wait */
        init_waitqueue_head(&sdev->boot_wait);