This commit is contained in:
2026-06-19 07:46:17 -05:00
parent ffd3eab72d
commit dd811684dc
10 changed files with 803 additions and 43 deletions

48
pcie_driver/drexchar.h Executable file
View File

@@ -0,0 +1,48 @@
#ifndef DREXCHAR_H
#define DREXCHAR_H
#include "drex.h"
#define DREXDMA_DMA_INIT 0
#define DREXDMA_DMA_CLEAR 1
#define DREXDMA_DMA_START 2
#define DREXDMA_DMA_STOP 3
#define DREXDMA_SET_NUM_BUFS 4
#define DREXDMA_SET_NUM_BYTES 5
#define DREXDMA_GET_NUM_BUFS 6
#define DREXDMA_GET_NUM_BYTES 7
#define DREXDMA_GET_FREE_BUFS 8
typedef struct {
unsigned int cmd;
unsigned int offset;
unsigned int value;
} drexpcie_ioctl_t;
struct drexpcie_device_priv {
uint8_t chnum;
struct drexpcie_driver_priv* driv_priv;
uint32_t type;
u8 __iomem *base_mem;
// Parameters used to allocate dma buffers
uint32_t num_bufs;
uint32_t valid_bufs;
uint32_t num_bytes;
// Physical memory address returned by dma_alloc_coherent
dma_addr_t *dmaPtr;
// Virtual memory address returned by dma_alloc_coherent
void **bufPtr;
};
int drexpcie_chardev_create(struct drexpcie_driver_priv *driv_priv);
int drexpcie_chardev_destroy(void);
#endif