Lines Matching refs:variant

302 	if (readl(host->base + MMCISTATUS) & host->variant->busy_detect_flag)  in mmci_card_busy()
352 datactrl |= host->datactrl_reg & host->variant->busy_dpsm_flag; in mmci_write_datactrlreg()
365 struct variant_data *variant = host->variant; in mmci_set_clkreg() local
366 u32 clk = variant->clkreg; in mmci_set_clkreg()
372 if (variant->explicit_mclk_control) { in mmci_set_clkreg()
376 if (variant->st_clkdiv) in mmci_set_clkreg()
379 } else if (variant->st_clkdiv) { in mmci_set_clkreg()
401 clk |= variant->clkreg_enable; in mmci_set_clkreg()
413 clk |= variant->clkreg_8bit_bus_enable; in mmci_set_clkreg()
417 clk |= variant->clkreg_neg_edge_enable; in mmci_set_clkreg()
567 struct variant_data *variant = host->variant; in mmci_set_mask1() local
572 mask0 &= ~variant->irq_pio_mask; in mmci_set_mask1()
578 if (variant->mmcimask1) in mmci_set_mask1()
793 struct variant_data *variant = host->variant; in _mmci_dmae_prep_data() local
799 .src_maxburst = variant->fifohalfsize >> 2, /* # of words */ in _mmci_dmae_prep_data()
800 .dst_maxburst = variant->fifohalfsize >> 2, /* # of words */ in _mmci_dmae_prep_data()
822 if (data->blksz * data->blocks <= variant->fifosize) in _mmci_dmae_prep_data()
831 if (host->variant->qcom_dml) in _mmci_dmae_prep_data()
992 struct variant_data *variant = host->variant; in mmci_start_data() local
1019 datactrl |= variant->datactrl_mask_sdio; in mmci_start_data()
1027 if (variant->st_sdio && data->flags & MMC_DATA_WRITE && in mmci_start_data()
1030 clk = host->clk_reg & ~variant->clkreg_enable; in mmci_start_data()
1032 clk = host->clk_reg | variant->clkreg_enable; in mmci_start_data()
1039 datactrl |= variant->datactrl_mask_ddrmode; in mmci_start_data()
1059 if (host->size < variant->fifohalfsize) in mmci_start_data()
1082 if (readl(base + MMCICOMMAND) & host->variant->cmdreg_cpsm_enable) { in mmci_start_command()
1087 if (host->variant->cmdreg_stop && in mmci_start_command()
1089 c |= host->variant->cmdreg_stop; in mmci_start_command()
1091 c |= cmd->opcode | host->variant->cmdreg_cpsm_enable; in mmci_start_command()
1094 c |= host->variant->cmdreg_lrsp_crc; in mmci_start_command()
1096 c |= host->variant->cmdreg_srsp_crc; in mmci_start_command()
1098 c |= host->variant->cmdreg_srsp; in mmci_start_command()
1104 c |= host->variant->data_cmd_enable; in mmci_start_command()
1129 status_err = status & (host->variant->start_err | in mmci_data_irq()
1146 if (!host->variant->datacnt_useless) { in mmci_data_irq()
1166 if (success > host->variant->fifosize) in mmci_data_irq()
1167 success -= host->variant->fifosize; in mmci_data_irq()
1188 if (host->variant->cmdreg_stop && data->error) in mmci_data_irq()
1223 if (busy_resp && host->variant->busy_detect) { in mmci_cmd_irq()
1240 (readl(base + MMCISTATUS) & host->variant->busy_detect_flag)) { in mmci_cmd_irq()
1243 host->variant->busy_detect_mask, in mmci_cmd_irq()
1263 (status & host->variant->busy_detect_flag)) { in mmci_cmd_irq()
1264 writel(host->variant->busy_detect_mask, in mmci_cmd_irq()
1277 writel(host->variant->busy_detect_mask, in mmci_cmd_irq()
1281 ~host->variant->busy_detect_mask, in mmci_cmd_irq()
1306 if (host->variant->cmdreg_stop && cmd->error) { in mmci_cmd_irq()
1314 } else if (!host->variant->datactrl_first && in mmci_cmd_irq()
1332 return host->variant->fifohalfsize; in mmci_qcom_get_rx_fifocnt()
1389 struct variant_data *variant = host->variant; in mmci_pio_write() local
1397 variant->fifosize : variant->fifohalfsize; in mmci_pio_write()
1429 struct variant_data *variant = host->variant; in mmci_pio_irq() local
1480 if (status & MCI_RXACTIVE && host->size < variant->fifohalfsize) in mmci_pio_irq()
1515 status &= ~host->variant->irq_pio_mask; in mmci_irq()
1523 if (host->variant->busy_detect) in mmci_irq()
1524 writel(status & ~host->variant->busy_detect_mask, in mmci_irq()
1531 if (host->variant->reversed_irq_handling) { in mmci_irq()
1543 if (host->variant->busy_detect_flag) in mmci_irq()
1544 status &= ~host->variant->busy_detect_flag; in mmci_irq()
1575 (host->variant->datactrl_first || mrq->data->flags & MMC_DATA_READ)) in mmci_request()
1589 struct variant_data *variant = host->variant; in mmci_set_ios() local
1618 pwr |= variant->pwrreg_powerup; in mmci_set_ios()
1635 if (variant->signal_direction && ios->power_mode != MMC_POWER_OFF) { in mmci_set_ios()
1651 if (variant->opendrain) { in mmci_set_ios()
1653 pwr |= variant->opendrain; in mmci_set_ios()
1669 if (!ios->clock && variant->pwrreg_clkgate) in mmci_set_ios()
1672 if (host->variant->explicit_mclk_control && in mmci_set_ios()
1793 struct variant_data *variant = id->data; in mmci_probe() local
1825 if (!variant->opendrain) { in mmci_probe()
1865 if (variant->qcom_fifo) in mmci_probe()
1871 host->variant = variant; in mmci_probe()
1878 if (host->mclk > variant->f_max) { in mmci_probe()
1879 ret = clk_set_rate(host->clk, variant->f_max); in mmci_probe()
1894 if (variant->init) in mmci_probe()
1895 variant->init(host); in mmci_probe()
1903 if (variant->st_clkdiv) in mmci_probe()
1905 else if (variant->stm32_clkdiv) in mmci_probe()
1907 else if (variant->explicit_mclk_control) in mmci_probe()
1918 mmc->f_max = variant->explicit_mclk_control ? in mmci_probe()
1919 min(variant->f_max, mmc->f_max) : in mmci_probe()
1922 mmc->f_max = variant->explicit_mclk_control ? in mmci_probe()
1950 if (variant->busy_detect) { in mmci_probe()
1956 if (variant->busy_dpsm_flag) in mmci_probe()
1958 host->variant->busy_dpsm_flag); in mmci_probe()
1983 mmc->max_req_size = (1 << variant->datalength_bits) - 1; in mmci_probe()
1994 mmc->max_blk_size = 1 << variant->datactrl_blocksz; in mmci_probe()
2000 mmc->max_blk_count = mmc->max_req_size >> variant->datactrl_blocksz; in mmci_probe()
2006 if (variant->mmcimask1) in mmci_probe()
2042 writel(MCI_IRQENABLE | variant->start_err, host->base + MMCIMASK0); in mmci_probe()
2074 struct variant_data *variant = host->variant; in mmci_remove() local
2086 if (variant->mmcimask1) in mmci_remove()
2108 if (host->variant->pwrreg_nopower) { in mmci_save()
2124 if (host->variant->pwrreg_nopower) { in mmci_restore()
2129 writel(MCI_IRQENABLE | host->variant->start_err, in mmci_restore()