MCPcopy Create free account
hub / github.com/RT-Thread/rt-thread / mmcsd_set_blksize

Function mmcsd_set_blksize

components/drivers/sdio/dev_block.c:252–276  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

250}
251
252static rt_int32_t mmcsd_set_blksize(struct rt_mmcsd_card *card)
253{
254 struct rt_mmcsd_cmd cmd;
255 int err;
256
257 /* Block-addressed cards ignore MMC_SET_BLOCKLEN. */
258 if (card->flags & CARD_FLAG_SDHC)
259 return 0;
260
261 mmcsd_host_lock(card->host);
262 cmd.cmd_code = SET_BLOCKLEN;
263 cmd.arg = 512;
264 cmd.flags = RESP_SPI_R1 | RESP_R1 | CMD_AC;
265 err = mmcsd_send_cmd(card->host, &cmd, 5);
266 mmcsd_host_unlock(card->host);
267
268 if (err)
269 {
270 LOG_E("MMCSD: unable to set block size to %d: %d", cmd.arg, err);
271
272 return -RT_ERROR;
273 }
274
275 return 0;
276}
277
278static rt_ssize_t mmcsd_blk_read(struct rt_blk_disk *disk, rt_off_t sector,
279 void *buffer, rt_size_t sector_count)

Callers 1

rt_mmcsd_blk_probeFunction · 0.85

Calls 3

mmcsd_host_lockFunction · 0.85
mmcsd_send_cmdFunction · 0.85
mmcsd_host_unlockFunction · 0.85

Tested by

no test coverage detected