On Wed, 2018-06-06 at 16:09 -0700, Ranjani Sridharan wrote:
This patch adds a couple of API's to retrieve platform DMAC information.
Signed-off-by: Ranjani Sridharan ranjani.sridharan@linux.intel.com
src/include/sof/dma.h | 4 ++++ src/platform/apollolake/dma.c | 10 ++++++++++ src/platform/baytrail/dma.c | 10 ++++++++++ src/platform/cannonlake/dma.c | 10 ++++++++++ src/platform/haswell/dma.c | 10 ++++++++++ 5 files changed, 44 insertions(+)
diff --git a/src/include/sof/dma.h b/src/include/sof/dma.h index 2ae4225..8a6e645 100644 --- a/src/include/sof/dma.h +++ b/src/include/sof/dma.h @@ -149,6 +149,10 @@ struct dma_int {
struct dma *dma_get(int dmac_id);
+struct dma *get_platform_dmacs(void);
+int get_platform_num_dmacs(void);
/* initialize all platform DMAC's */ void dmac_init(void);
diff --git a/src/platform/apollolake/dma.c b/src/platform/apollolake/dma.c index f5e492c..396ad74 100644 --- a/src/platform/apollolake/dma.c +++ b/src/platform/apollolake/dma.c @@ -203,3 +203,13 @@ void dmac_init(void) trace_error_value(ret); } }
+struct dma *get_platform_dmacs(void) +{
- return &dma[0];
+}
+int get_platform_num_dmacs(void) +{
- return ARRAY_SIZE(dma);
+}
Can we just export struct dma *platform_dmac[PLATFORM_NUM_DMACS]; in platform/dma.h ?
diff --git a/src/platform/baytrail/dma.c b/src/platform/baytrail/dma.c index 95b836c..b05eaa6 100644 --- a/src/platform/baytrail/dma.c +++ b/src/platform/baytrail/dma.c @@ -201,3 +201,13 @@ void dmac_init(void) trace_error_value(ret); } }
+struct dma *get_platform_dmacs(void) +{
- return &dma[0];
+}
+int get_platform_num_dmacs(void) +{
- return ARRAY_SIZE(dma);
+} diff --git a/src/platform/cannonlake/dma.c b/src/platform/cannonlake/dma.c index 1ad989f..49e2b71 100644 --- a/src/platform/cannonlake/dma.c +++ b/src/platform/cannonlake/dma.c @@ -203,3 +203,13 @@ void dmac_init(void) trace_error_value(ret); } }
+struct dma *get_platform_dmacs(void) +{
- return &dma[0];
+}
+int get_platform_num_dmacs(void) +{
- return ARRAY_SIZE(dma);
+} diff --git a/src/platform/haswell/dma.c b/src/platform/haswell/dma.c index ec48bc8..09f5f6b 100644 --- a/src/platform/haswell/dma.c +++ b/src/platform/haswell/dma.c @@ -156,3 +156,13 @@ void dmac_init(void) io_reg_update_bits(SHIM_BASE + SHIM_IMRD, SHIM_IMRD_DMAC1, 0); }
+struct dma *get_platform_dmacs(void) +{
- return &dma[0];
+}
+int get_platform_num_dmacs(void) +{
- return ARRAY_SIZE(dma);
+}