Sound Open Firmware
Loading...
Searching...
No Matches
sof_dma.h File Reference

Go to the source code of this file.

Functions

struct sof_dma * sof_dma_get (uint32_t dir, uint32_t caps, uint32_t dev, uint32_t flags)
 API to request a platform DMAC.
 
struct sof_dma * z_impl_sof_dma_get (uint32_t dir, uint32_t cap, uint32_t dev, uint32_t flags)
 
void sof_dma_put (struct sof_dma *dma)
 API to release a platform DMAC.
 
void z_impl_sof_dma_put (struct sof_dma *dma)
 
int sof_dma_get_attribute (struct sof_dma *dma, uint32_t type, uint32_t *value)
 
int sof_dma_request_channel (struct sof_dma *dma, uint32_t stream_tag)
 
void sof_dma_release_channel (struct sof_dma *dma, uint32_t channel)
 
int sof_dma_config (struct sof_dma *dma, uint32_t channel, struct dma_config *config)
 
int sof_dma_start (struct sof_dma *dma, uint32_t channel)
 
int sof_dma_stop (struct sof_dma *dma, uint32_t channel)
 
int sof_dma_get_status (struct sof_dma *dma, uint32_t channel, struct dma_status *stat)
 
int sof_dma_reload (struct sof_dma *dma, uint32_t channel, size_t size)
 
int sof_dma_suspend (struct sof_dma *dma, uint32_t channel)
 
int sof_dma_resume (struct sof_dma *dma, uint32_t channel)
 
static int z_impl_sof_dma_get_attribute (struct sof_dma *dma, uint32_t type, uint32_t *value)
 
static int z_impl_sof_dma_request_channel (struct sof_dma *dma, uint32_t stream_tag)
 
static void z_impl_sof_dma_release_channel (struct sof_dma *dma, uint32_t channel)
 
static int z_impl_sof_dma_config (struct sof_dma *dma, uint32_t channel, struct dma_config *config)
 
static int z_impl_sof_dma_start (struct sof_dma *dma, uint32_t channel)
 
static int z_impl_sof_dma_stop (struct sof_dma *dma, uint32_t channel)
 
static int z_impl_sof_dma_get_status (struct sof_dma *dma, uint32_t channel, struct dma_status *stat)
 
static int z_impl_sof_dma_reload (struct sof_dma *dma, uint32_t channel, size_t size)
 
static int z_impl_sof_dma_suspend (struct sof_dma *dma, uint32_t channel)
 
static int z_impl_sof_dma_resume (struct sof_dma *dma, uint32_t channel)
 

Function Documentation

◆ sof_dma_config()

static int sof_dma_config ( struct sof_dma *  dma,
uint32_t  channel,
struct dma_config *  config 
)
inline

◆ sof_dma_get()

static struct sof_dma * sof_dma_get ( uint32_t  dir,
uint32_t  caps,
uint32_t  dev,
uint32_t  flags 
)
inline

API to request a platform DMAC.

Users can request DMAC based on dev type, copy direction, capabilities and access privilege. For exclusive access, ret DMAC with no channels draining. For shared access, ret DMAC with the least number of channels draining.

◆ sof_dma_get_attribute()

static int sof_dma_get_attribute ( struct sof_dma *  dma,
uint32_t  type,
uint32_t *  value 
)
inline

◆ sof_dma_get_status()

static int sof_dma_get_status ( struct sof_dma *  dma,
uint32_t  channel,
struct dma_status *  stat 
)
inline

◆ sof_dma_put()

static void sof_dma_put ( struct sof_dma *  dma)
inline

API to release a platform DMAC.

Parameters
[in]dmaDMAC to release.

◆ sof_dma_release_channel()

static void sof_dma_release_channel ( struct sof_dma *  dma,
uint32_t  channel 
)
inline

◆ sof_dma_reload()

static int sof_dma_reload ( struct sof_dma *  dma,
uint32_t  channel,
size_t  size 
)
inline

◆ sof_dma_request_channel()

static int sof_dma_request_channel ( struct sof_dma *  dma,
uint32_t  stream_tag 
)
inline

◆ sof_dma_resume()

static int sof_dma_resume ( struct sof_dma *  dma,
uint32_t  channel 
)
inline

◆ sof_dma_start()

static int sof_dma_start ( struct sof_dma *  dma,
uint32_t  channel 
)
inline

◆ sof_dma_stop()

static int sof_dma_stop ( struct sof_dma *  dma,
uint32_t  channel 
)
inline

◆ sof_dma_suspend()

static int sof_dma_suspend ( struct sof_dma *  dma,
uint32_t  channel 
)
inline

◆ z_impl_sof_dma_config()

static int z_impl_sof_dma_config ( struct sof_dma *  dma,
uint32_t  channel,
struct dma_config *  config 
)
inlinestatic

◆ z_impl_sof_dma_get()

struct sof_dma * z_impl_sof_dma_get ( uint32_t  dir,
uint32_t  cap,
uint32_t  dev,
uint32_t  flags 
)

◆ z_impl_sof_dma_get_attribute()

static int z_impl_sof_dma_get_attribute ( struct sof_dma *  dma,
uint32_t  type,
uint32_t *  value 
)
inlinestatic

◆ z_impl_sof_dma_get_status()

static int z_impl_sof_dma_get_status ( struct sof_dma *  dma,
uint32_t  channel,
struct dma_status *  stat 
)
inlinestatic

◆ z_impl_sof_dma_put()

void z_impl_sof_dma_put ( struct sof_dma *  dma)

◆ z_impl_sof_dma_release_channel()

static void z_impl_sof_dma_release_channel ( struct sof_dma *  dma,
uint32_t  channel 
)
inlinestatic

◆ z_impl_sof_dma_reload()

static int z_impl_sof_dma_reload ( struct sof_dma *  dma,
uint32_t  channel,
size_t  size 
)
inlinestatic

◆ z_impl_sof_dma_request_channel()

static int z_impl_sof_dma_request_channel ( struct sof_dma *  dma,
uint32_t  stream_tag 
)
inlinestatic

◆ z_impl_sof_dma_resume()

static int z_impl_sof_dma_resume ( struct sof_dma *  dma,
uint32_t  channel 
)
inlinestatic

◆ z_impl_sof_dma_start()

static int z_impl_sof_dma_start ( struct sof_dma *  dma,
uint32_t  channel 
)
inlinestatic

◆ z_impl_sof_dma_stop()

static int z_impl_sof_dma_stop ( struct sof_dma *  dma,
uint32_t  channel 
)
inlinestatic

◆ z_impl_sof_dma_suspend()

static int z_impl_sof_dma_suspend ( struct sof_dma *  dma,
uint32_t  channel 
)
inlinestatic