13 uint64_t block_count,
const void *src)
37 if (ctrlr->
send_cmd(ctrlr, &cmd, &data)) {
45 if ((block_count > 1) && !(ctrlr->
caps
114 uint64_t buffer_bytes = buffer_lba * block_size;
119 for (; buffer_words ; buffer_words--)
120 *ptr++ = fill_pattern;
void * malloc(size_t size)
u8 buffer[C2P_BUFFER_MAXSIZE]
int sd_mmc_send_status(struct storage_media *media, ssize_t tries)
#define SD_MMC_IO_RETRIES
#define sd_mmc_error(format...)
#define MMC_CMD_WRITE_MULTIPLE_BLOCK
#define CMD_FLAG_IGNORE_INHIBIT
#define DRVR_CAP_AUTO_CMD12
#define MMC_CMD_STOP_TRANSMISSION
#define MMC_CMD_WRITE_SINGLE_BLOCK
unsigned long long uint64_t
int storage_block_setup(struct storage_media *media, uint64_t start, uint64_t count, int is_read)
static uint32_t storage_write(struct storage_media *media, uint32_t start, uint64_t block_count, const void *src)
uint64_t storage_block_write(struct storage_media *media, uint64_t start, uint64_t count, const void *buffer)
uint64_t storage_block_fill_write(struct storage_media *media, uint64_t start, uint64_t count, uint32_t fill_pattern)
int(* send_cmd)(struct sd_mmc_ctrlr *ctrlr, struct mmc_command *cmd, struct mmc_data *data)