Lines Matching refs:cmdinfo

622 				     struct sdmmc_command *cmdinfo)  in sdmmc_host_do_transaction()  argument
637 sdmmc_hw_cmd_t hw_cmd = make_hw_cmd(cmdinfo); in sdmmc_host_do_transaction()
639 if (cmdinfo->data) { in sdmmc_host_do_transaction()
641 if ((cmdinfo->datalen >= 4) && (cmdinfo->datalen % 4) != 0) { in sdmmc_host_do_transaction()
642 LOG_DBG("%s: invalid size: total=%d", __func__, cmdinfo->datalen); in sdmmc_host_do_transaction()
647 if ((((intptr_t)cmdinfo->data % 4) != 0) || !esp_ptr_dma_capable(cmdinfo->data)) { in sdmmc_host_do_transaction()
648 LOG_DBG("%s: buffer %p can not be used for DMA", __func__, cmdinfo->data); in sdmmc_host_do_transaction()
660 data->s_cur_transfer.ptr = (uint8_t *)cmdinfo->data; in sdmmc_host_do_transaction()
661 data->s_cur_transfer.size_remaining = cmdinfo->datalen; in sdmmc_host_do_transaction()
664 (cmdinfo->datalen + SDMMC_DMA_MAX_BUF_LEN - 1) / SDMMC_DMA_MAX_BUF_LEN; in sdmmc_host_do_transaction()
670 sdmmc_host_dma_prepare(sdio_hw, &data->s_dma_desc[0], cmdinfo->blklen, in sdmmc_host_do_transaction()
671 cmdinfo->datalen); in sdmmc_host_do_transaction()
675 ret = sdmmc_host_start_command(sdio_hw, slot, hw_cmd, cmdinfo->arg); in sdmmc_host_do_transaction()
682 cmdinfo->error = ESP_OK; in sdmmc_host_do_transaction()
688 ret = handle_event(dev, cmdinfo, &state, &unhandled_events); in sdmmc_host_do_transaction()
694 if (ret == 0 && (cmdinfo->flags & SCF_WAIT_BUSY)) { in sdmmc_host_do_transaction()
695 if (!wait_for_busy_cleared(sdio_hw, cmdinfo->timeout_ms)) { in sdmmc_host_do_transaction()
700 data->s_is_app_cmd = (ret == ESP_OK && cmdinfo->opcode == SD_APP_CMD); in sdmmc_host_do_transaction()