DMA 具备 的 操作 函数

  
 

/* arch /arm /plat-samsung /include /plat /dma.h ** Copyright (C) 2003-2006 Simtec Electronics * Ben Dooks < [email protected]> ** Samsung S3C DMA support ** Este programa es software libre; puede redistribuirlo y /o modificarlo * según los términos de la Licencia Pública General de GNU versión 2 como * publicado por la Free Software Foundation. * /

enum s3c2410_dma_buffresult {//表示 buf 传送 的 结果 S3C2410_RES_OK, S3C2410_RES_ERR, S3C2410_RES_ABORT};

enumeración s3c2410picacionescapacios_as_corzas_as_cz.png S3C2410_DMASRC_HW //source is memory - READ /WRITE para MEMSET * /S3C_DMA_MEM2MEM_P, /* source es hardware - READ /WRITE * /S3C_DMA_PER2PER /* source es hardware - READ /WRITE * /};

/* enum s3c2410_chan_op ** operation códigos pasados ​​al código DMA por el usuario, y también se utilizaron * para informar al propietario actual del canal sobre los valores de los valores de los usuarios. * /S3C2410_DMAOP_STARTED, /* indica la estrella del canal ted * /S3C2410_DMAOP_ABORT, /* anormal stop * /};

struct s3c2410_dma_client {char * name;};

struct s3c2410_dma_chan;


/* v , enum s3c2410_chan_op);

extern int s3c2410_dma_set_opfn (int sin firmar, s3c2410_dma_opfn_t rtn); >


/* s3c2410_dma_request ** solicite un canal dma exclusivamente 请求 DMA 通道 * /extern int s3c2410_dma_request (canal int sin firmar, struct s3c2410_dma_client *, void * dev);


/* s3c2410_dma_ctrl ** cambia el estado del canal dma 改变 通道 状态 * /extern int s3c2410_dma_ctrl (canal int sin firmar, enum s3c2410_chan_op op);


/* s 3c2410_dma_setflags ** establece las banderas del canal en un estado dado * /extern int s3c2410_dma_setflags (canal int sin firmar, banderas int sin firmar);


/* s3c2410_dma_free ** libre del canal dma (también abortar cualquier operación pendiente) 释放 通道 * /extern int s3c2410_dma_free (canal int sin firmar, struct s3c2410_dma_client *);


/* s3c2410_dma_enqueue ** coloque el búfer dado en la cola de operaciones para el canal. * El búfer debe asignarse desde la memoria coherente dma, o Dcache /WB * agotado antes de que el búfer se entregue al sistema DMA.入 队列 函数 * /extern int s3c2410_dma_enqueue (canal int sin firmar, void * id, dma_addr_t datos, tamaño int);


/* s3c2410_dma_config ** configure el canal dma 配置 通道 * /extern int s3c2410_dma_config (canal int sin firmar, int xferunit);


/* s3c2410_dma_setswap ** configura la capacidad de intercambio de xfer * /extern int s3c2410_dma_setswap (canal int sin signo, sin signo int bytes_swap); br>


/* s3c2410_dma_devconfig ** configure el dispositivo con el que estamos hablando 配置 设备 * /extern int s3c2410_dma_devconfig (unsigned int channel, enum s3c2410_dmasrc source, unsigned long devaddr); >

/* s3c2410_dma_getposition ** obtener la posición en la que la transferencia de dma se encuentra actualmente en 当前 位置 * /extern int s3c2410_dma_getposition (sin el canal int, dma_addr_t * src, dma_addr_t * dest);

Copyright © Conocimiento de Windows All Rights Reserved