Initialize the device's shared memory object
#include <mmc/sdio.h> #define DCMD_SDIO_SHMEM_INIT __DIOT (_DCMD_MISC, 0x10, sdio_shmcfg_t)
Argument | Value |
---|---|
filedes | A file descriptor that you obtained by opening the device |
dcmd | DCMD_SDIO_SHMEM_INIT |
dev_data_ptr | A pointer to a sdio_shmcfg_t |
n_bytes | sizeof(sdio_shmcfg_t) |
dev_info_ptr | NULL |
This command initializes a shared memory object for the device to use.
A filled-in sdio_shmcfg_t structure:
typedef struct _sdio_shmcfg_t { int32_t nsize; /* total size in bytes */ int32_t extra; /* given by caller: extra size in bytes for private usage */ int32_t ntbd; /* given by caller: Tx descriptor number */ int32_t nrbd; /* given by caller: Rx descriptor number */ uint32_t flag; /* given by caller: flags */ #define SDIO_SHMEM_TX_MUTEX (1 << 0) #define SDIO_SHMEM_TX_SEMAPHORE (1 << 1) #define SDIO_SHMEM_RX_MUTEX (1 << 2) #define SDIO_SHMEM_RX_SEMAPHORE (1 << 3) char sname[16]; /* given by caller: shared memory name */ int32_t off_tbd; /* Tx descriptor offset */ int32_t off_rbd; /* Rx descriptor offset */ /* private to process */ int shmfd; void *shmvptr; } sdio_shmcfg_t;
None.