Lines Matching refs:cmd
23 int cdns_send_cmd(struct mmc_cmd *cmd);
542 int cdns_send_cmd(struct mmc_cmd *cmd) in cdns_send_cmd() argument
550 assert(cmd); in cdns_send_cmd()
554 if ((cmd->cmd_idx == SD_STOP_TRANSMISSION) && (!data_cmd)) { in cdns_send_cmd()
571 cmd_flags = (cmd->cmd_idx) << COM_IDX; in cdns_send_cmd()
573 if ((cmd->resp_type & MMC_RSP_136) != 0) { in cdns_send_cmd()
575 } else if (((cmd->resp_type & MMC_RSP_48) != 0) && in cdns_send_cmd()
576 ((cmd->resp_type & MMC_RSP_BUSY) != 0)) { in cdns_send_cmd()
578 } else if ((cmd->resp_type & MMC_RSP_48) != 0) { in cdns_send_cmd()
584 if ((cmd->resp_type & MMC_RSP_CRC) != 0) { in cdns_send_cmd()
588 if ((cmd->resp_type & MMC_RSP_CMD_IDX) != 0) { in cdns_send_cmd()
592 if ((cmd->cmd_idx == MMC_ACMD(51)) || (cmd->cmd_idx == MMC_CMD(17)) || in cdns_send_cmd()
593 (cmd->cmd_idx == MMC_CMD(18)) || (cmd->cmd_idx == MMC_CMD(24)) || in cdns_send_cmd()
594 (cmd->cmd_idx == MMC_CMD(25)) || (cmd->cmd_idx == MMC_CMD(8) && in cdns_send_cmd()
601 if ((cmd->cmd_idx == SD_WRITE_MULTIPLE_BLOCK) || in cdns_send_cmd()
602 (cmd->cmd_idx == SD_READ_MULTIPLE_BLOCK)) { in cdns_send_cmd()
607 if ((cmd->cmd_idx == SD_WRITE_MULTIPLE_BLOCK) || in cdns_send_cmd()
608 (cmd->cmd_idx == SD_WRITE_SINGLE_BLOCK)) { in cdns_send_cmd()
619 mmio_write_32(cdns_params.reg_base + SDHC_CDNS_SRS02, cmd->cmd_arg); in cdns_send_cmd()
621 SDHCI_MAKE_CMD(cmd->cmd_idx, cmd_flags)); in cdns_send_cmd()
639 cmd->resp_data[0] = mmio_read_32(cdns_params.reg_base + SDHC_CDNS_SRS04); in cdns_send_cmd()
641 cmd->resp_data[1] = mmio_read_32(cdns_params.reg_base + SDHC_CDNS_SRS05); in cdns_send_cmd()
642 cmd->resp_data[2] = mmio_read_32(cdns_params.reg_base + SDHC_CDNS_SRS06); in cdns_send_cmd()
643 cmd->resp_data[3] = mmio_read_32(cdns_params.reg_base + SDHC_CDNS_SRS07); in cdns_send_cmd()
650 cmd->resp_data[3] = ((cmd->resp_data[3] << 8) | in cdns_send_cmd()
651 ((cmd->resp_data[2] >> 24) & in cdns_send_cmd()
653 cmd->resp_data[2] = ((cmd->resp_data[2] << 8) | in cdns_send_cmd()
654 ((cmd->resp_data[1] >> 24) & in cdns_send_cmd()
656 cmd->resp_data[1] = ((cmd->resp_data[1] << 8) | in cdns_send_cmd()
657 ((cmd->resp_data[0] >> 24) & in cdns_send_cmd()
659 cmd->resp_data[0] = (cmd->resp_data[0] << 8); in cdns_send_cmd()