ASoC: Intel: Skylake: Move Skylake dsp ops & loader ops
The code loading for Skylake and other platforms is different, so add a dsp_ops and a loader_ops which can be defined for each platform. Move the dsp init, cleanup and loader ops (alloc and free dma) to these ops Signed-off-by: Jeeja KP <jeeja.kp@intel.com> Signed-off-by: Vinod Koul <vinod.koul@intel.com> Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
@@ -90,6 +90,16 @@ struct skl_dma_params {
|
||||
u8 stream_tag;
|
||||
};
|
||||
|
||||
struct skl_dsp_ops {
|
||||
int id;
|
||||
struct skl_dsp_loader_ops (*loader_ops)(void);
|
||||
int (*init)(struct device *dev, void __iomem *mmio_base,
|
||||
int irq, const char *fw_name,
|
||||
struct skl_dsp_loader_ops loader_ops,
|
||||
struct skl_sst **skl_sst);
|
||||
void (*cleanup)(struct device *dev, struct skl_sst *ctx);
|
||||
};
|
||||
|
||||
int skl_platform_unregister(struct device *dev);
|
||||
int skl_platform_register(struct device *dev);
|
||||
|
||||
@@ -100,7 +110,7 @@ struct nhlt_specific_cfg *skl_get_ep_blob(struct skl *skl, u32 instance,
|
||||
|
||||
int skl_nhlt_update_topology_bin(struct skl *skl);
|
||||
int skl_init_dsp(struct skl *skl);
|
||||
void skl_free_dsp(struct skl *skl);
|
||||
int skl_free_dsp(struct skl *skl);
|
||||
int skl_suspend_dsp(struct skl *skl);
|
||||
int skl_resume_dsp(struct skl *skl);
|
||||
#endif /* __SOUND_SOC_SKL_H */
|
||||
|
Reference in New Issue
Block a user