Lines Matching refs:emm_switch
167 u64 emm_switch; in check_switch_errors() local
169 emm_switch = readq(host->base + MIO_EMM_SWITCH(host)); in check_switch_errors()
170 if (emm_switch & MIO_EMM_SWITCH_ERR0) in check_switch_errors()
172 if (emm_switch & MIO_EMM_SWITCH_ERR1) in check_switch_errors()
174 if (emm_switch & MIO_EMM_SWITCH_ERR2) in check_switch_errors()
200 static void do_switch(struct cvm_mmc_host *host, u64 emm_switch) in do_switch() argument
210 bus_id = get_bus_id(emm_switch); in do_switch()
211 clear_bus_id(&emm_switch); in do_switch()
212 writeq(emm_switch, host->base + MIO_EMM_SWITCH(host)); in do_switch()
214 set_bus_id(&emm_switch, bus_id); in do_switch()
215 writeq(emm_switch, host->base + MIO_EMM_SWITCH(host)); in do_switch()
253 u64 emm_switch, wdog; in cvm_mmc_reset_bus() local
255 emm_switch = readq(slot->host->base + MIO_EMM_SWITCH(host)); in cvm_mmc_reset_bus()
256 emm_switch &= ~(MIO_EMM_SWITCH_EXE | MIO_EMM_SWITCH_ERR0 | in cvm_mmc_reset_bus()
258 set_bus_id(&emm_switch, slot->bus_id); in cvm_mmc_reset_bus()
261 do_switch(slot->host, emm_switch); in cvm_mmc_reset_bus()
263 slot->cached_switch = emm_switch; in cvm_mmc_reset_bus()
275 u64 emm_sample, emm_switch; in cvm_mmc_switch_to() local
287 emm_switch = slot->cached_switch; in cvm_mmc_switch_to()
288 set_bus_id(&emm_switch, slot->bus_id); in cvm_mmc_switch_to()
289 do_switch(host, emm_switch); in cvm_mmc_switch_to()
827 u64 clock, emm_switch; in cvm_mmc_set_ios() local
879 emm_switch = FIELD_PREP(MIO_EMM_SWITCH_HS_TIMING, in cvm_mmc_set_ios()
885 set_bus_id(&emm_switch, slot->bus_id); in cvm_mmc_set_ios()
887 if (!switch_val_changed(slot, emm_switch)) in cvm_mmc_set_ios()
891 do_switch(host, emm_switch); in cvm_mmc_set_ios()
892 slot->cached_switch = emm_switch; in cvm_mmc_set_ios()
916 u64 emm_switch; in cvm_mmc_init_lowlevel() local
925 emm_switch = FIELD_PREP(MIO_EMM_SWITCH_POWER_CLASS, 10); in cvm_mmc_init_lowlevel()
926 emm_switch |= FIELD_PREP(MIO_EMM_SWITCH_CLK_HI, in cvm_mmc_init_lowlevel()
928 emm_switch |= FIELD_PREP(MIO_EMM_SWITCH_CLK_LO, in cvm_mmc_init_lowlevel()
932 set_bus_id(&emm_switch, slot->bus_id); in cvm_mmc_init_lowlevel()
933 do_switch(host, emm_switch); in cvm_mmc_init_lowlevel()
935 slot->cached_switch = emm_switch; in cvm_mmc_init_lowlevel()