Lines Matching refs:card

56 static inline int __mmc_send_status(struct mmc_card *card, u32 *status,  in __mmc_send_status()  argument
62 BUG_ON(!card); in __mmc_send_status()
63 BUG_ON(!card->host); in __mmc_send_status()
66 if (!mmc_host_is_spi(card->host)) in __mmc_send_status()
67 cmd.arg = card->rca << 16; in __mmc_send_status()
72 err = mmc_wait_for_cmd(card->host, &cmd, MMC_CMD_RETRIES); in __mmc_send_status()
85 int mmc_send_status(struct mmc_card *card, u32 *status) in mmc_send_status() argument
87 return __mmc_send_status(card, status, false); in mmc_send_status()
90 static int _mmc_select_card(struct mmc_host *host, struct mmc_card *card) in _mmc_select_card() argument
99 if (card) { in _mmc_select_card()
100 cmd.arg = card->rca << 16; in _mmc_select_card()
114 int mmc_select_card(struct mmc_card *card) in mmc_select_card() argument
116 BUG_ON(!card); in mmc_select_card()
118 return _mmc_select_card(card->host, card); in mmc_select_card()
244 int mmc_set_relative_addr(struct mmc_card *card) in mmc_set_relative_addr() argument
249 BUG_ON(!card); in mmc_set_relative_addr()
250 BUG_ON(!card->host); in mmc_set_relative_addr()
253 cmd.arg = card->rca << 16; in mmc_set_relative_addr()
256 err = mmc_wait_for_cmd(card->host, &cmd, MMC_CMD_RETRIES); in mmc_set_relative_addr()
290 mmc_send_cxd_data(struct mmc_card *card, struct mmc_host *host, in mmc_send_cxd_data() argument
327 mmc_set_data_timeout(&data, card); in mmc_send_cxd_data()
339 int mmc_send_csd(struct mmc_card *card, u32 *csd) in mmc_send_csd() argument
344 if (!mmc_host_is_spi(card->host)) in mmc_send_csd()
345 return mmc_send_cxd_native(card->host, card->rca << 16, in mmc_send_csd()
352 ret = mmc_send_cxd_data(card, card->host, MMC_SEND_CSD, csd_tmp, 16); in mmc_send_csd()
370 if (!host->card) in mmc_send_cid()
372 return mmc_send_cxd_native(host, host->card->rca << 16, in mmc_send_cid()
392 int mmc_get_ext_csd(struct mmc_card *card, u8 **new_ext_csd) in mmc_get_ext_csd() argument
397 if (!card || !new_ext_csd) in mmc_get_ext_csd()
400 if (!mmc_can_ext_csd(card)) in mmc_get_ext_csd()
411 err = mmc_send_cxd_data(card, card->host, MMC_SEND_EXT_CSD, ext_csd, in mmc_get_ext_csd()
466 int __mmc_switch(struct mmc_card *card, u8 set, u8 index, u8 value, in __mmc_switch() argument
470 struct mmc_host *host = card->host; in __mmc_switch()
530 err = __mmc_send_status(card, &status, ignore_crc); in __mmc_switch()
572 int mmc_switch(struct mmc_card *card, u8 set, u8 index, u8 value, in mmc_switch() argument
575 return __mmc_switch(card, set, index, value, timeout_ms, true, true, in mmc_switch()
650 mmc_send_bus_test(struct mmc_card *card, struct mmc_host *host, u8 opcode, in mmc_send_bus_test() argument
705 mmc_set_data_timeout(&data, card); in mmc_send_bus_test()
726 int mmc_bus_test(struct mmc_card *card, u8 bus_width) in mmc_bus_test() argument
743 mmc_send_bus_test(card, card->host, MMC_BUS_TEST_W, width); in mmc_bus_test()
744 err = mmc_send_bus_test(card, card->host, MMC_BUS_TEST_R, width); in mmc_bus_test()
748 int mmc_send_hpi_cmd(struct mmc_card *card, u32 *status) in mmc_send_hpi_cmd() argument
754 if (!card->ext_csd.hpi) { in mmc_send_hpi_cmd()
756 mmc_hostname(card->host)); in mmc_send_hpi_cmd()
760 opcode = card->ext_csd.hpi_cmd; in mmc_send_hpi_cmd()
767 cmd.arg = card->rca << 16 | 1; in mmc_send_hpi_cmd()
769 err = mmc_wait_for_cmd(card->host, &cmd, 0); in mmc_send_hpi_cmd()
772 "HPI command response %#x\n", mmc_hostname(card->host), in mmc_send_hpi_cmd()
782 int mmc_can_ext_csd(struct mmc_card *card) in mmc_can_ext_csd() argument
784 return (card && card->csd.mmca_vsn > CSD_SPEC_VER_3); in mmc_can_ext_csd()