Home
last modified time | relevance | path

Searched defs:mmc (Results 1 – 25 of 283) sorted by relevance

12345678910>>...12

/openbmc/u-boot/drivers/mmc/
H A Dmmc.c33 static int mmc_wait_dat0(struct mmc *mmc, int state, int timeout) in mmc_wait_dat0()
39 __weak int board_mmc_getwp(struct mmc *mmc) in board_mmc_getwp()
44 int mmc_getwp(struct mmc *mmc) in mmc_getwp()
60 __weak int board_mmc_getcd(struct mmc *mmc) in board_mmc_getcd()
67 void mmmc_trace_before_send(struct mmc *mmc, struct mmc_cmd *cmd) in mmmc_trace_before_send()
73 void mmmc_trace_after_send(struct mmc *mmc, struct mmc_cmd *cmd, int ret) in mmmc_trace_after_send()
125 void mmc_trace_state(struct mmc *mmc, struct mmc_cmd *cmd) in mmc_trace_state()
160 static uint mmc_mode2freq(struct mmc *mmc, enum bus_mode mode) in mmc_mode2freq()
186 static int mmc_select_mode(struct mmc *mmc, enum bus_mode mode) in mmc_select_mode()
197 int mmc_send_cmd(struct mmc *mmc, struct mmc_cmd *cmd, struct mmc_data *data) in mmc_send_cmd()
[all …]
H A Dmeson_gx_mmc.c15 static inline void *get_regbase(const struct mmc *mmc) in get_regbase()
22 static inline uint32_t meson_read(struct mmc *mmc, int offset) in meson_read()
27 static inline void meson_write(struct mmc *mmc, uint32_t val, int offset) in meson_write()
32 static void meson_mmc_config_clock(struct mmc *mmc) in meson_mmc_config_clock()
65 struct mmc *mmc = mmc_get_mmc_dev(dev); in meson_dm_mmc_set_ios() local
99 static void meson_mmc_setup_cmd(struct mmc *mmc, struct mmc_data *data, in meson_mmc_setup_cmd()
138 static void meson_mmc_setup_addr(struct mmc *mmc, struct mmc_data *data) in meson_mmc_setup_addr()
162 static void meson_mmc_read_response(struct mmc *mmc, struct mmc_cmd *cmd) in meson_mmc_read_response()
177 struct mmc *mmc = mmc_get_mmc_dev(dev); in meson_dm_mmc_send_cmd() local
239 struct mmc *mmc = &pdata->mmc; in meson_mmc_probe() local
H A Dmmc-uclass.c17 struct mmc *mmc = mmc_get_mmc_dev(dev); in dm_mmc_send_cmd() local
31 int mmc_send_cmd(struct mmc *mmc, struct mmc_cmd *cmd, struct mmc_data *data) in mmc_send_cmd()
45 int mmc_set_ios(struct mmc *mmc) in mmc_set_ios()
58 void mmc_send_init_stream(struct mmc *mmc) in mmc_send_init_stream()
73 int mmc_wait_dat0(struct mmc *mmc, int state, int timeout) in mmc_wait_dat0()
88 int mmc_getwp(struct mmc *mmc) in mmc_getwp()
102 int mmc_getcd(struct mmc *mmc) in mmc_getcd()
117 int mmc_execute_tuning(struct mmc *mmc, uint opcode) in mmc_execute_tuning()
204 struct mmc *mmc = mmc_get_mmc_dev(mmc_dev); in find_mmc_device() local
219 struct blk_desc *mmc_get_blk_desc(struct mmc *mmc) in mmc_get_blk_desc()
[all …]
H A Dmmc_legacy.c32 struct blk_desc *mmc_get_blk_desc(struct mmc *mmc) in mmc_get_blk_desc()
61 struct blk_desc *mmc_get_blk_desc(struct mmc *mmc) in mmc_get_blk_desc()
94 void mmc_list_add(struct mmc *mmc) in mmc_list_add()
151 struct mmc *mmc = &mmc_static; in mmc_create() local
159 void mmc_destroy(struct mmc *mmc) in mmc_destroy()
166 struct mmc *mmc; in mmc_create() local
206 void mmc_destroy(struct mmc *mmc) in mmc_destroy()
215 struct mmc *mmc = find_mmc_device(desc->devnum); in mmc_select_hwpartp() local
236 struct mmc *mmc = find_mmc_device(dev); in mmc_get_dev() local
H A Drpmb.c76 static int mmc_set_blockcount(struct mmc *mmc, unsigned int blockcount, in mmc_set_blockcount()
89 static int mmc_rpmb_request(struct mmc *mmc, const struct s_rpmb *s, in mmc_rpmb_request()
122 static int mmc_rpmb_response(struct mmc *mmc, struct s_rpmb *s, in mmc_rpmb_response()
170 static int mmc_rpmb_status(struct mmc *mmc, unsigned short expected) in mmc_rpmb_status()
226 int mmc_rpmb_get_counter(struct mmc *mmc, unsigned long *pcounter) in mmc_rpmb_get_counter()
245 int mmc_rpmb_set_key(struct mmc *mmc, void *key) in mmc_rpmb_set_key()
259 int mmc_rpmb_read(struct mmc *mmc, void *addr, unsigned short blk, in mmc_rpmb_read()
292 int mmc_rpmb_write(struct mmc *mmc, void *addr, unsigned short blk, in mmc_rpmb_write()
325 static int send_write_mult_block(struct mmc *mmc, const struct s_rpmb *frm, in send_write_mult_block()
342 static int send_read_mult_block(struct mmc *mmc, struct s_rpmb *frm, in send_read_mult_block()
[all …]
H A Dpxa_mmc_gen.c50 static int pxa_mmc_wait(struct mmc *mmc, uint32_t mask) in pxa_mmc_wait()
69 static int pxa_mmc_stop_clock(struct mmc *mmc) in pxa_mmc_stop_clock()
97 static int pxa_mmc_start_cmd(struct mmc *mmc, struct mmc_cmd *cmd, in pxa_mmc_start_cmd()
141 static int pxa_mmc_cmd_done(struct mmc *mmc, struct mmc_cmd *cmd) in pxa_mmc_cmd_done()
183 static int pxa_mmc_do_read_xfer(struct mmc *mmc, struct mmc_data *data) in pxa_mmc_do_read_xfer()
219 static int pxa_mmc_do_write_xfer(struct mmc *mmc, struct mmc_data *data) in pxa_mmc_do_write_xfer()
261 static int pxa_mmc_request(struct mmc *mmc, struct mmc_cmd *cmd, in pxa_mmc_request()
315 static int pxa_mmc_set_ios(struct mmc *mmc) in pxa_mmc_set_ios()
348 static int pxa_mmc_init(struct mmc *mmc) in pxa_mmc_init()
386 struct mmc *mmc; in pxa_mmc_register() local
H A Domap_hsmmc.c163 static inline struct omap_hsmmc_data *omap_hsmmc_get_data(struct mmc *mmc) in omap_hsmmc_get_data()
171 static inline struct mmc_config *omap_hsmmc_get_cfg(struct mmc *mmc) in omap_hsmmc_get_cfg()
202 static unsigned char mmc_board_init(struct mmc *mmc) in mmc_board_init()
303 static void omap_hsmmc_io_recalibrate(struct mmc *mmc) in omap_hsmmc_io_recalibrate()
355 static void omap_hsmmc_set_timing(struct mmc *mmc) in omap_hsmmc_set_timing()
408 static void omap_hsmmc_conf_bus_power(struct mmc *mmc, uint signal_voltage) in omap_hsmmc_conf_bus_power()
463 static int omap_hsmmc_set_io_regulator(struct mmc *mmc, int mV) in omap_hsmmc_set_io_regulator()
504 static int omap_hsmmc_set_signal_voltage(struct mmc *mmc) in omap_hsmmc_set_signal_voltage()
549 static uint32_t omap_hsmmc_set_capabilities(struct mmc *mmc) in omap_hsmmc_set_capabilities()
574 static void omap_hsmmc_disable_tuning(struct mmc *mmc) in omap_hsmmc_disable_tuning()
[all …]
H A Dmmc_boot.c23 int mmc_boot_partition_size_change(struct mmc *mmc, unsigned long bootsize, in mmc_boot_partition_size_change()
85 int mmc_set_boot_bus_width(struct mmc *mmc, u8 width, u8 reset, u8 mode) in mmc_set_boot_bus_width()
100 int mmc_set_part_conf(struct mmc *mmc, u8 ack, u8 part_num, u8 access) in mmc_set_part_conf()
123 int mmc_set_rst_n_function(struct mmc *mmc, u8 enable) in mmc_set_rst_n_function()
H A Dmmc_spi.c53 static uint mmc_spi_sendcmd(struct mmc *mmc, ushort cmdidx, u32 cmdarg) in mmc_spi_sendcmd()
76 static uint mmc_spi_readdata(struct mmc *mmc, void *xbuf, in mmc_spi_readdata()
111 static uint mmc_spi_writedata(struct mmc *mmc, const void *xbuf, in mmc_spi_writedata()
173 static int mmc_spi_request(struct mmc *mmc, struct mmc_cmd *cmd, in mmc_spi_request()
239 static int mmc_spi_set_ios(struct mmc *mmc) in mmc_spi_set_ios()
249 static int mmc_spi_init_p(struct mmc *mmc) in mmc_spi_init_p()
278 struct mmc *mmc; in mmc_spi_init() local
H A Dftsdc010_mci.c52 struct mmc mmc; member
63 static inline int ftsdc010_send_cmd(struct mmc *mmc, struct mmc_cmd *mmc_cmd) in ftsdc010_send_cmd()
133 static void ftsdc010_clkset(struct mmc *mmc, uint32_t rate) in ftsdc010_clkset()
183 struct mmc *mmc = mmc_get_mmc_dev(dev); in ftsdc010_request() local
286 struct mmc *mmc = mmc_get_mmc_dev(dev); in ftsdc010_set_ios() local
310 struct mmc *mmc = mmc_get_mmc_dev(dev); in ftsdc010_get_cd() local
318 struct mmc *mmc = mmc_get_mmc_dev(dev); in ftsdc010_get_wp() local
329 static int ftsdc010_init(struct mmc *mmc) in ftsdc010_init()
360 struct mmc *mmc = mmc_get_mmc_dev(dev); in ftsdc010_probe() local
H A Dsunxi_mmc.c32 struct mmc mmc; member
232 static int mmc_config_clock(struct sunxi_mmc_priv *priv, struct mmc *mmc) in mmc_config_clock()
270 struct mmc *mmc) in sunxi_mmc_set_ios_common()
293 static int sunxi_mmc_core_init(struct mmc *mmc) in sunxi_mmc_core_init()
305 static int mmc_trans_data_by_cpu(struct sunxi_mmc_priv *priv, struct mmc *mmc, in mmc_trans_data_by_cpu()
340 static int mmc_rint_wait(struct sunxi_mmc_priv *priv, struct mmc *mmc, in mmc_rint_wait()
360 struct mmc *mmc, struct mmc_cmd *cmd, in sunxi_mmc_send_cmd_common()
483 static int sunxi_mmc_set_ios_legacy(struct mmc *mmc) in sunxi_mmc_set_ios_legacy()
490 static int sunxi_mmc_send_cmd_legacy(struct mmc *mmc, struct mmc_cmd *cmd, in sunxi_mmc_send_cmd_legacy()
498 static int sunxi_mmc_getcd_legacy(struct mmc *mmc) in sunxi_mmc_getcd_legacy()
/openbmc/linux/drivers/mmc/host/
H A Dmmc_hsq.c19 struct mmc_host *mmc = hsq->mmc; in mmc_hsq_retry_handler() local
26 struct mmc_host *mmc = hsq->mmc; in mmc_hsq_pump_requests() local
132 bool mmc_hsq_finalize_request(struct mmc_host *mmc, struct mmc_request *mrq) in mmc_hsq_finalize_request()
159 static void mmc_hsq_recovery_start(struct mmc_host *mmc) in mmc_hsq_recovery_start()
171 static void mmc_hsq_recovery_finish(struct mmc_host *mmc) in mmc_hsq_recovery_finish()
191 static int mmc_hsq_request(struct mmc_host *mmc, struct mmc_request *mrq) in mmc_hsq_request()
233 static void mmc_hsq_post_req(struct mmc_host *mmc, struct mmc_request *mrq) in mmc_hsq_post_req()
256 static int mmc_hsq_wait_for_idle(struct mmc_host *mmc) in mmc_hsq_wait_for_idle()
267 static void mmc_hsq_disable(struct mmc_host *mmc) in mmc_hsq_disable()
297 static int mmc_hsq_enable(struct mmc_host *mmc, struct mmc_card *card) in mmc_hsq_enable()
[all …]
H A Dmeson-mx-sdhc-mmc.c45 struct mmc_host *mmc; member
68 static void meson_mx_sdhc_hw_reset(struct mmc_host *mmc) in meson_mx_sdhc_hw_reset()
82 static void meson_mx_sdhc_clear_fifo(struct mmc_host *mmc) in meson_mx_sdhc_clear_fifo()
105 static void meson_mx_sdhc_wait_cmd_ready(struct mmc_host *mmc) in meson_mx_sdhc_wait_cmd_ready()
134 static void meson_mx_sdhc_start_cmd(struct mmc_host *mmc, in meson_mx_sdhc_start_cmd()
239 static void meson_mx_sdhc_disable_clks(struct mmc_host *mmc) in meson_mx_sdhc_disable_clks()
251 static int meson_mx_sdhc_enable_clks(struct mmc_host *mmc) in meson_mx_sdhc_enable_clks()
269 static int meson_mx_sdhc_set_clk(struct mmc_host *mmc, struct mmc_ios *ios) in meson_mx_sdhc_set_clk()
309 static void meson_mx_sdhc_set_ios(struct mmc_host *mmc, struct mmc_ios *ios) in meson_mx_sdhc_set_ios()
365 static int meson_mx_sdhc_map_dma(struct mmc_host *mmc, struct mmc_request *mrq) in meson_mx_sdhc_map_dma()
[all …]
H A Dcqhci-core.c110 struct mmc_host *mmc = cq_host->mmc; in cqhci_dumpregs() local
248 struct mmc_host *mmc = cq_host->mmc; in __cqhci_enable() local
314 int cqhci_deactivate(struct mmc_host *mmc) in cqhci_deactivate()
325 int cqhci_resume(struct mmc_host *mmc) in cqhci_resume()
332 static int cqhci_enable(struct mmc_host *mmc, struct mmc_card *card) in cqhci_enable()
370 static void cqhci_off(struct mmc_host *mmc) in cqhci_off()
397 static void cqhci_disable(struct mmc_host *mmc) in cqhci_disable()
532 static void cqhci_prep_dcmd_desc(struct mmc_host *mmc, in cqhci_prep_dcmd_desc()
592 static int cqhci_request(struct mmc_host *mmc, struct mmc_request *mrq) in cqhci_request()
662 static void cqhci_recovery_needed(struct mmc_host *mmc, struct mmc_request *mrq, in cqhci_recovery_needed()
[all …]
H A Dtmio_mmc_core.c137 static void tmio_mmc_enable_sdio_irq(struct mmc_host *mmc, int enable) in tmio_mmc_enable_sdio_irq()
633 struct mmc_host *mmc = host->mmc; in __tmio_mmc_card_detect_irq() local
682 struct mmc_host *mmc = host->mmc; in __tmio_mmc_sdio_irq() local
796 static void tmio_mmc_request(struct mmc_host *mmc, struct mmc_request *mrq) in tmio_mmc_request()
878 struct mmc_host *mmc = host->mmc; in tmio_mmc_power_on() local
912 struct mmc_host *mmc = host->mmc; in tmio_mmc_power_off() local
946 static void tmio_mmc_set_ios(struct mmc_host *mmc, struct mmc_ios *ios) in tmio_mmc_set_ios()
1016 static int tmio_mmc_get_ro(struct mmc_host *mmc) in tmio_mmc_get_ro()
1024 static int tmio_mmc_get_cd(struct mmc_host *mmc) in tmio_mmc_get_cd()
1055 struct mmc_host *mmc = host->mmc; in tmio_mmc_init_ocr() local
[all …]
H A Dmeson-gx-mmc.c154 struct mmc_host *mmc; member
228 static void meson_mmc_get_transfer_mode(struct mmc_host *mmc, in meson_mmc_get_transfer_mode()
288 static void meson_mmc_pre_req(struct mmc_host *mmc, struct mmc_request *mrq) in meson_mmc_pre_req()
307 static void meson_mmc_post_req(struct mmc_host *mmc, struct mmc_request *mrq, in meson_mmc_post_req()
356 struct mmc_host *mmc = host->mmc; in meson_mmc_clk_set() local
526 static int meson_mmc_resampling_tuning(struct mmc_host *mmc, u32 opcode) in meson_mmc_resampling_tuning()
594 static void meson_mmc_set_ios(struct mmc_host *mmc, struct mmc_ios *ios) in meson_mmc_set_ios()
652 static void meson_mmc_request_done(struct mmc_host *mmc, in meson_mmc_request_done()
663 static void meson_mmc_set_blksz(struct mmc_host *mmc, unsigned int blksz) in meson_mmc_set_blksz()
705 static void meson_mmc_desc_chain_transfer(struct mmc_host *mmc, u32 cmd_cfg) in meson_mmc_desc_chain_transfer()
[all …]
H A Dsdhci.c239 struct mmc_host *mmc = host->mmc; in sdhci_do_reset() local
361 struct mmc_host *mmc = host->mmc; in sdhci_init() local
449 struct mmc_host *mmc = host->mmc; in sdhci_led_register() local
936 struct mmc_host *mmc = host->mmc; in sdhci_calc_sw_timeout() local
1213 struct mmc_host *mmc = host->mmc; in sdhci_external_dma_init() local
2051 struct mmc_host *mmc = host->mmc; in sdhci_set_power_reg() local
2162 struct mmc_host *mmc = host->mmc; in sdhci_set_power_and_bus_voltage() local
2176 void sdhci_request(struct mmc_host *mmc, struct mmc_request *mrq) in sdhci_request()
2208 int sdhci_request_atomic(struct mmc_host *mmc, struct mmc_request *mrq) in sdhci_request_atomic()
2318 void sdhci_set_ios(struct mmc_host *mmc, struct mmc_ios *ios) in sdhci_set_ios()
[all …]
H A Dpxamci.c50 struct mmc_host *mmc; member
78 struct mmc_host *mmc = host->mmc; in pxamci_init_ocr() local
99 struct mmc_host *mmc = host->mmc; in pxamci_set_power() local
399 static void pxamci_request(struct mmc_host *mmc, struct mmc_request *mrq) in pxamci_request()
425 static int pxamci_get_ro(struct mmc_host *mmc) in pxamci_get_ro()
440 static void pxamci_set_ios(struct mmc_host *mmc, struct mmc_ios *ios) in pxamci_set_ios()
578 struct mmc_host *mmc) in pxamci_of_init()
600 struct mmc_host *mmc) in pxamci_of_init()
608 struct mmc_host *mmc; in pxamci_probe() local
787 struct mmc_host *mmc = platform_get_drvdata(pdev); in pxamci_remove() local
H A Dalcor.c692 static void alcor_set_timing(struct mmc_host *mmc, struct mmc_ios *ios) in alcor_set_timing()
705 static void alcor_set_bus_width(struct mmc_host *mmc, struct mmc_ios *ios) in alcor_set_bus_width()
720 static int alcor_card_busy(struct mmc_host *mmc) in alcor_card_busy()
732 static int alcor_get_cd(struct mmc_host *mmc) in alcor_get_cd()
744 static int alcor_get_ro(struct mmc_host *mmc) in alcor_get_ro()
756 static void alcor_request(struct mmc_host *mmc, struct mmc_request *mrq) in alcor_request()
775 static void alcor_pre_req(struct mmc_host *mmc, in alcor_pre_req()
825 static void alcor_post_req(struct mmc_host *mmc, in alcor_post_req()
845 static void alcor_set_power_mode(struct mmc_host *mmc, struct mmc_ios *ios) in alcor_set_power_mode()
906 static void alcor_set_ios(struct mmc_host *mmc, struct mmc_ios *ios) in alcor_set_ios()
[all …]
H A Drtsx_pci_sdmmc.c28 struct mmc_host *mmc; member
181 static void sdmmc_pre_req(struct mmc_host *mmc, struct mmc_request *mrq) in sdmmc_pre_req()
197 static void sdmmc_post_req(struct mmc_host *mmc, struct mmc_request *mrq, in sdmmc_post_req()
431 struct mmc_host *mmc = host->mmc; in sd_read_long_data() local
489 struct mmc_host *mmc = host->mmc; in sd_write_long_data() local
802 struct mmc_host *mmc = host->mmc; in sd_request() local
873 static void sdmmc_request(struct mmc_host *mmc, struct mmc_request *mrq) in sdmmc_request()
908 struct mmc_host *mmc = host->mmc; in sd_power_on() local
1087 static void sdmmc_set_ios(struct mmc_host *mmc, struct mmc_ios *ios) in sdmmc_set_ios()
1135 static int sdmmc_get_ro(struct mmc_host *mmc) in sdmmc_get_ro()
[all …]
/openbmc/u-boot/include/
H A Dmmc.h351 struct mmc *mmc; member
570 struct mmc { struct
574 const struct mmc_config *cfg; /* provided configuration */ argument
582 enum mmc_voltage signal_voltage; argument
583 uint card_caps;
584 uint host_caps;
585 uint ocr;
586 uint dsr;
587 uint dsr_imp;
588 uint scr[2];
[all …]
/openbmc/u-boot/cmd/
H A Dmmc.c16 static void print_mmcinfo(struct mmc *mmc) in print_mmcinfo()
97 struct mmc *mmc; in init_mmc_device() local
121 struct mmc *mmc; in do_mmcinfo() local
156 struct mmc *mmc = find_mmc_device(curr_device); in do_mmcrpmb_key() local
177 struct mmc *mmc = find_mmc_device(curr_device); in do_mmcrpmb_read() local
205 struct mmc *mmc = find_mmc_device(curr_device); in do_mmcrpmb_write() local
228 struct mmc *mmc = find_mmc_device(curr_device); in do_mmcrpmb_counter() local
247 struct mmc *mmc; in do_mmcrpmb() local
296 struct mmc *mmc; in do_mmc_read() local
340 struct mmc *mmc; in do_mmc_sparse_write() local
[all …]
/openbmc/u-boot/env/
H A Dmmc.c113 __weak int mmc_get_env_addr(struct mmc *mmc, int copy, u32 *env_addr) in mmc_get_env_addr()
131 __weak uint mmc_get_env_part(struct mmc *mmc) in mmc_get_env_part()
138 static int mmc_set_env_part(struct mmc *mmc) in mmc_set_env_part()
152 static inline int mmc_set_env_part(struct mmc *mmc) {return 0; }; in mmc_set_env_part()
155 static const char *init_mmc_for_env(struct mmc *mmc) in init_mmc_for_env()
175 static void fini_mmc_for_env(struct mmc *mmc) in fini_mmc_for_env()
185 static inline int write_env(struct mmc *mmc, unsigned long size, in write_env()
203 struct mmc *mmc = find_mmc_device(dev); in env_mmc_save() local
247 static inline int read_env(struct mmc *mmc, unsigned long size, in read_env()
265 struct mmc *mmc; in env_mmc_load() local
[all …]
/openbmc/u-boot/common/spl/
H A Dspl_mmc.c18 static int mmc_load_legacy(struct spl_image_info *spl_image, struct mmc *mmc, in mmc_load_legacy()
47 struct mmc *mmc = load->dev; in h_spl_load_read() local
54 struct mmc *mmc, unsigned long sector) in mmc_load_image_raw_sector()
154 struct mmc *mmc, int partition, in mmc_load_image_raw_partition()
193 struct mmc *mmc) in mmc_load_image_raw_os()
230 struct mmc *mmc) in mmc_load_image_raw_os()
237 static int spl_mmc_do_fs_boot(struct spl_image_info *spl_image, struct mmc *mmc, in spl_mmc_do_fs_boot()
280 static int spl_mmc_do_fs_boot(struct spl_image_info *spl_image, struct mmc *mmc, in spl_mmc_do_fs_boot()
312 static struct mmc *mmc; in spl_mmc_load() local
/openbmc/linux/drivers/mmc/core/
H A Dregulator.c106 int mmc_regulator_set_ocr(struct mmc_host *mmc, in mmc_regulator_set_ocr()
182 int mmc_regulator_set_vqmmc(struct mmc_host *mmc, struct mmc_ios *ios) in mmc_regulator_set_vqmmc()
248 int mmc_regulator_get_supply(struct mmc_host *mmc) in mmc_regulator_get_supply()
286 int mmc_regulator_enable_vqmmc(struct mmc_host *mmc) in mmc_regulator_enable_vqmmc()
310 void mmc_regulator_disable_vqmmc(struct mmc_host *mmc) in mmc_regulator_disable_vqmmc()

12345678910>>...12