ASoC: Intel: Skylake: Add sram address to sst_addr structure
authorGuneshwor Singh <guneshwor.o.singh@intel.com>
Fri, 30 Jun 2017 03:36:07 +0000 (09:06 +0530)
committerMark Brown <broonie@kernel.org>
Fri, 30 Jun 2017 12:28:03 +0000 (13:28 +0100)
SRAM address and memory window size differ for different platforms.
So add members to sst_addr structure and initialize them in the
respective dsp_init().

Signed-off-by: Guneshwor Singh <guneshwor.o.singh@intel.com>
Acked-By: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/intel/common/sst-dsp-priv.h
sound/soc/intel/skylake/bxt-sst.c
sound/soc/intel/skylake/skl-sst.c

index d13c84364c3c0fd6e79ff3b38b4fe885eb0e2e92..8734040d64d379f5ad4849f529e61b31aceb6670 100644 (file)
@@ -77,6 +77,10 @@ struct sst_addr {
        u32 dram_offset;
        u32 dsp_iram_offset;
        u32 dsp_dram_offset;
+       u32 sram0_base;
+       u32 sram1_base;
+       u32 w0_stat_sz;
+       u32 w0_up_sz;
        void __iomem *lpe;
        void __iomem *shim;
        void __iomem *pci_cfg;
index f5e7dbb1ba39e073fc1ee7212bb558962a85c987..cf11b84888b9044c94495beba67c539e35f8a816 100644 (file)
@@ -573,6 +573,10 @@ int bxt_sst_dsp_init(struct device *dev, void __iomem *mmio_base, int irq,
        sst->fw_ops = bxt_fw_ops;
        sst->addr.lpe = mmio_base;
        sst->addr.shim = mmio_base;
+       sst->addr.sram0_base = BXT_ADSP_SRAM0_BASE;
+       sst->addr.sram1_base = BXT_ADSP_SRAM1_BASE;
+       sst->addr.w0_stat_sz = SKL_ADSP_W0_STAT_SZ;
+       sst->addr.w0_up_sz = SKL_ADSP_W0_UP_SZ;
 
        sst_dsp_mailbox_init(sst, (BXT_ADSP_SRAM0_BASE + SKL_ADSP_W0_STAT_SZ),
                        SKL_ADSP_W0_UP_SZ, BXT_ADSP_SRAM1_BASE, SKL_ADSP_W1_SZ);
index 155e456b7a3ac1e3aa6fba6a9d5ed7a931dff3f8..aba9ea11ac749d7aa285218cc0530fbbd1b34615 100644 (file)
@@ -553,6 +553,11 @@ int skl_sst_dsp_init(struct device *dev, void __iomem *mmio_base, int irq,
        sst = skl->dsp;
        sst->addr.lpe = mmio_base;
        sst->addr.shim = mmio_base;
+       sst->addr.sram0_base = SKL_ADSP_SRAM0_BASE;
+       sst->addr.sram1_base = SKL_ADSP_SRAM1_BASE;
+       sst->addr.w0_stat_sz = SKL_ADSP_W0_STAT_SZ;
+       sst->addr.w0_up_sz = SKL_ADSP_W0_UP_SZ;
+
        sst_dsp_mailbox_init(sst, (SKL_ADSP_SRAM0_BASE + SKL_ADSP_W0_STAT_SZ),
                        SKL_ADSP_W0_UP_SZ, SKL_ADSP_SRAM1_BASE, SKL_ADSP_W1_SZ);