Logo Search packages:      
Sourcecode: linux version File versions  Download package

Classes | Defines | Functions | Variables

sdma.c File Reference

This file contains functions for Smart DMA API. More...

#include <linux/init.h>
#include <linux/types.h>
#include <linux/mm.h>
#include <linux/interrupt.h>
#include <linux/clk.h>
#include <linux/semaphore.h>
#include <linux/spinlock.h>
#include <linux/device.h>
#include <linux/dma-mapping.h>
#include <linux/proc_fs.h>
#include <asm/uaccess.h>
#include <asm/irq.h>
#include <mach/dma.h>
#include <mach/hardware.h>
#include "iapi.h"
Include dependency graph for sdma.c:

Go to the source code of this file.

Classes

struct  sdma_struct

Defines

#define CHAD(ch)   sdma_data[0].cd->ccb_ptr[ch].channelDescriptor
#define M3_BASE_ADDRESS   CSD0_BASE_ADDR

Functions

 arch_initcall (sdma_init)
 EXPORT_SYMBOL (mxc_request_dma)
 EXPORT_SYMBOL (mxc_free_dma)
 EXPORT_SYMBOL (mxc_dma_setup_channel)
 EXPORT_SYMBOL (mxc_dma_set_channel_priority)
 EXPORT_SYMBOL (mxc_dma_set_config)
 EXPORT_SYMBOL (mxc_dma_get_config)
 EXPORT_SYMBOL (mxc_dma_set_bd_intr)
 EXPORT_SYMBOL (mxc_dma_get_bd_intr)
 EXPORT_SYMBOL (mxc_dma_reset)
 EXPORT_SYMBOL (mxc_sdma_write_ipcv2)
 EXPORT_SYMBOL (mxc_sdma_read_ipcv2)
 EXPORT_SYMBOL (mxc_dma_start)
 EXPORT_SYMBOL (mxc_dma_stop)
 EXPORT_SYMBOL (sdma_malloc)
 EXPORT_SYMBOL (sdma_free)
 EXPORT_SYMBOL (mxc_dma_set_callback)
 EXPORT_SYMBOL (sdma_virt_to_phys)
 EXPORT_SYMBOL (sdma_phys_to_virt)
static int getChannel (int channel)
static void iapi_interrupt_callback (channelDescriptor *cd, sdma_struct *channel_data)
static void __init init_event_table (void)
static void __init init_iapi_struct (void)
static void __init init_mutexes (void)
static void __init init_priorities (void)
static int __init init_proc_fs (void)
static void __init init_sdma_data (void)
void init_sdma_pool (void)
static void mask_sdma_interrupt (void)
 MODULE_AUTHOR ("Freescale Semiconductor, Inc.")
 MODULE_DESCRIPTION ("MXC Linux SDMA API")
 MODULE_LICENSE ("GPL")
int mxc_dma_get_bd_intr (int channel, int bd_index)
int mxc_dma_get_config (int channel, dma_request_t *p, int bd_index)
int mxc_dma_reset (int channel, int buffer_number)
void mxc_dma_set_bd_intr (int channel, int bd_index, int bd_intr)
void mxc_dma_set_callback (int channel, dma_callback_t callback, void *arg)
int mxc_dma_set_channel_priority (unsigned int channel, unsigned int priority)
int mxc_dma_set_config (int channel, dma_request_t *p, int bd_index)
int mxc_dma_setup_channel (int channel, dma_channel_params *p)
int mxc_dma_start (int channel)
int mxc_dma_stop (int channel)
void mxc_free_dma (int channel)
int mxc_request_dma (int *channel, const char *devicename)
void mxc_sdma_get_script_info (sdma_script_start_addrs *sdma_script_add)
int mxc_sdma_read_ipcv2 (int channel, void *ctrl_ptr)
int mxc_sdma_write_ipcv2 (int channel, void *ctrl_ptr)
static int proc_read_channels (char *buf, char **start, off_t offset, int count, int *eof, void *data)
static int releaseChannel (int channel)
static unsigned short sdma_get_pc (sdma_periphT peripheral_type, sdma_transferT transfer_type)
int __init sdma_init (void)
static void sdma_init_sleep (int channel)
static irqreturn_t sdma_int_handler (int irq, void *dev_id)
static int sdma_load_context (int channel, dma_channel_params *p)
static void sdma_sleep_channel (int channel)
static void sdma_wakeup_channel (int channel)
static void unmask_sdma_interrupt (void)

Variables

unsigned long flags
struct clkmxc_sdma_ahb_clk
struct clkmxc_sdma_ipg_clk
static sdma_struct sdma_data [MAX_DMA_CHANNELS]
static sdma_script_start_addrs sdma_script_addrs
static wait_queue_head_t sdma_sleep_queue [MAX_DMA_CHANNELS]
static struct semaphore sdma_status_mutex
static struct semaphore sdma_synch_mutex [MAX_DMA_CHANNELS]

Detailed Description

This file contains functions for Smart DMA API.

SDMA (Smart DMA) is used for transferring data between MCU and peripherals

Definition in file sdma.c.


Generated by  Doxygen 1.6.0   Back to index