| 250 | } |
| 251 | |
| 252 | static 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 | |
| 278 | static rt_ssize_t mmcsd_blk_read(struct rt_blk_disk *disk, rt_off_t sector, |
| 279 | void *buffer, rt_size_t sector_count) |
no test coverage detected