| /linux/drivers/net/ethernet/stmicro/stmmac/ |
| H A D | mmc_core.c | 14 #include "mmc.h" 18 #define MMC_CNTRL 0x00 /* MMC Control */ 19 #define MMC_RX_INTR 0x04 /* MMC RX Interrupt */ 20 #define MMC_TX_INTR 0x08 /* MMC TX Interrupt */ 21 #define MMC_RX_INTR_MASK 0x0c /* MMC Interrupt Mask */ 22 #define MMC_TX_INTR_MASK 0x10 /* MMC Interrupt Mask */ 25 /* MMC TX counter registers */ 58 /* MMC RX counter registers */ 137 /* XGMAC MMC Registers */ 243 pr_debug("stmmac: MMC ctrl register (offset 0x%x): 0x%08x\n", in dwmac_mmc_ctrl() [all …]
|
| /linux/drivers/mmc/host/ |
| H A D | meson-mx-sdhc-mmc.c | 3 * Amlogic Meson6/Meson8/Meson8b/Meson8m2 SDHC MMC host controller driver. 21 #include <linux/mmc/host.h> 22 #include <linux/mmc/mmc.h> 23 #include <linux/mmc/sdio.h> 24 #include <linux/mmc/slot-gpio.h> 38 void (*init_hw)(struct mmc_host *mmc); 39 void (*set_pdma)(struct mmc_host *mmc); 40 void (*wait_before_send)(struct mmc_host *mmc); 45 struct mmc_host *mmc; member 80 static void meson_mx_sdhc_clear_fifo(struct mmc_host *mmc) in meson_mx_sdhc_clear_fifo() argument [all …]
|
| H A D | mmc_hsq.c | 4 * MMC software queue support based on command queue interfaces 10 #include <linux/mmc/card.h> 11 #include <linux/mmc/host.h> 19 struct mmc_host *mmc = hsq->mmc; in mmc_hsq_retry_handler() local 21 mmc->ops->request(mmc, hsq->mrq); in mmc_hsq_retry_handler() 26 struct mmc_host *mmc = hsq->mmc; in mmc_hsq_modify_threshold() local 30 mmc->hsq_depth = HSQ_NORMAL_DEPTH; in mmc_hsq_modify_threshold() 37 mmc->hsq_depth = HSQ_PERFORMANCE_DEPTH; in mmc_hsq_modify_threshold() 45 struct mmc_host *mmc = hsq->mmc; in mmc_hsq_pump_requests() local 72 if (mmc->ops->request_atomic) in mmc_hsq_pump_requests() [all …]
|
| H A D | cqhci-core.c | 16 #include <linux/mmc/mmc.h> 17 #include <linux/mmc/host.h> 18 #include <linux/mmc/card.h> 55 return cq_host->trans_desc_len * cq_host->mmc->max_segs * tag; in get_trans_desc_offset() 84 if (tag == DCMD_SLOT && (cq_host->mmc->caps2 & MMC_CAP2_CQE_DCMD)) { in setup_trans_desc() 111 pr_err("%s: " DRV_NAME ": " f, mmc_hostname(mmc), ## x) 115 struct mmc_host *mmc = cq_host->mmc; in cqhci_dumpregs() local 154 cq_host->ops->dumpregs(mmc); in cqhci_dumpregs() 208 cq_host->data_size = get_trans_desc_offset(cq_host, cq_host->mmc->cqe_qdepth); in cqhci_host_alloc_tdl() 211 mmc_hostname(cq_host->mmc), cq_host->desc_size, cq_host->data_size, in cqhci_host_alloc_tdl() [all …]
|
| H A D | meson-mx-sdio.c | 3 * meson-mx-sdio.c - Meson6, Meson8 and Meson8b SDIO/MMC Host Controller 26 #include <linux/mmc/host.h> 27 #include <linux/mmc/mmc.h> 28 #include <linux/mmc/sdio.h> 29 #include <linux/mmc/slot-gpio.h> 118 struct mmc_host *mmc; member 143 static void meson_mx_mmc_start_cmd(struct mmc_host *mmc, 146 struct meson_mx_mmc_host *host = mmc_priv(mmc); in meson_mx_mmc_get_next_cmd() 185 if (mmc in meson_mx_mmc_start_cmd() 125 meson_mx_mmc_mask_bits(struct mmc_host * mmc,char reg,u32 mask,u32 val) meson_mx_mmc_mask_bits() argument 155 meson_mx_mmc_start_cmd(struct mmc_host * mmc,struct mmc_command * cmd) meson_mx_mmc_start_cmd() argument 258 meson_mx_mmc_set_ios(struct mmc_host * mmc,struct mmc_ios * ios) meson_mx_mmc_set_ios() argument 310 meson_mx_mmc_map_dma(struct mmc_host * mmc,struct mmc_request * mrq) meson_mx_mmc_map_dma() argument 337 meson_mx_mmc_request(struct mmc_host * mmc,struct mmc_request * mrq) meson_mx_mmc_request() argument 363 meson_mx_mmc_read_response(struct mmc_host * mmc,struct mmc_command * cmd) meson_mx_mmc_read_response() argument 532 struct mmc_host *mmc = host->mmc; meson_mx_mmc_add_host() local 633 struct mmc_host *mmc; meson_mx_mmc_probe() local [all...] |
| H A D | Kconfig | 3 # MMC/SD host controller drivers 6 comment "MMC/SD/SDIO Host Controller Drivers" 9 bool "MMC host drivers debugging" 10 depends on MMC != n 13 say N here. This enables MMC host driver debugging. And further 18 tristate "Sunplus SP7021 MMC Controller" 43 Qcom SOCs and MMC, you would probably need this option to get DMA working. 126 bool "Ricoh MMC Controller Disabler" 130 This adds a pci quirk to disable Ricoh MMC Controller. This 132 supports MMC cards on the SD controller, but if it is not [all …]
|
| H A D | pxamci.c | 3 * linux/drivers/mmc/host/pxa.c - PXA MMCI driver 26 #include <linux/mmc/host.h> 27 #include <linux/mmc/slot-gpio.h> 37 #include <linux/platform_data/mmc-pxamci.h> 50 struct mmc_host *mmc; member 78 struct mmc_host *mmc = host->mmc; in pxamci_init_ocr() local 81 ret = mmc_regulator_get_supply(mmc); in pxamci_init_ocr() 85 if (IS_ERR(mmc->supply.vmmc)) { in pxamci_init_ocr() 87 mmc->ocr_avail = host->pdata ? in pxamci_init_ocr() 99 struct mmc_host *mmc = host->mmc; in pxamci_set_power() local [all …]
|
| H A D | mxcmmc.c | 3 * linux/drivers/mmc/host/mxcmmc.c - Freescale i.MX MMCI driver 25 #include <linux/mmc/host.h> 26 #include <linux/mmc/card.h> 35 #include <linux/mmc/slot-gpio.h> 39 #include <linux/platform_data/mmc-mxcmmc.h> 43 #define DRIVER_NAME "mxc-mmc" 120 struct mmc_host *mmc; member 161 .compatible = "fsl,imx21-mmc", 164 .compatible = "fsl,imx31-mmc", 221 if (!IS_ERR(host->mmc->supply.vmmc)) { in mxcmci_set_power() [all …]
|
| H A D | litex_mmc.c | 23 #include <linux/mmc/host.h> 24 #include <linux/mmc/mmc.h> 25 #include <linux/mmc/sd.h> 77 struct mmc_host *mmc; member 126 struct device *dev = mmc_dev(host->mmc); in litex_mmc_send_cmd() 235 static int litex_mmc_get_cd(struct mmc_host *mmc) in litex_mmc_get_cd() argument 237 struct litex_mmc_host *host = mmc_priv(mmc); in litex_mmc_get_cd() 240 if (!mmc_card_is_removable(mmc)) in litex_mmc_get_cd() 255 struct mmc_host *mmc = arg; in litex_mmc_interrupt() local 256 struct litex_mmc_host *host = mmc_priv(mmc); in litex_mmc_interrupt() [all …]
|
| H A D | jz4740_mmc.c | 6 * JZ4740 SD/MMC controller driver 18 #include <linux/mmc/host.h> 19 #include <linux/mmc/slot-gpio.h> 131 * The MMC core allows to prepare a mmc_request while another mmc_request 150 struct mmc_host *mmc; member 230 struct device *dev = mmc_dev(host->mmc); in jz4740_mmc_acquire_dma_channels() 241 host->dma_tx = dma_request_chan(mmc_dev(host->mmc), "tx"); in jz4740_mmc_acquire_dma_channels() 243 dev_err(mmc_dev(host->mmc), "Failed to get dma_tx channel\n"); in jz4740_mmc_acquire_dma_channels() 247 host->dma_rx = dma_request_chan(mmc_dev(host->mmc), "rx"); in jz4740_mmc_acquire_dma_channels() 249 dev_err(mmc_dev(host->mmc), "Failed to get dma_rx channel\n"); in jz4740_mmc_acquire_dma_channels() [all …]
|
| H A D | loongson2-mmc.c | 3 * Loongson-2K MMC/SDIO controller driver 17 #include <linux/mmc/core.h> 18 #include <linux/mmc/host.h> 19 #include <linux/mmc/mmc.h> 20 #include <linux/mmc/sd.h> 21 #include <linux/mmc/sdio.h> 22 #include <linux/mmc/slot-gpio.h> 325 static void loongson2_mmc_send_request(struct mmc_host *mmc) in loongson2_mmc_send_request() argument 328 struct loongson2_mmc_host *host = mmc_priv(mmc); in loongson2_mmc_send_request() 337 mmc_request_done(mmc, mrq); in loongson2_mmc_send_request() [all …]
|
| H A D | cavium.c | 2 * Shared part of driver for MMC/SDHC controller on Cavium OCTEON and 22 #include <linux/mmc/mmc.h> 23 #include <linux/mmc/slot-gpio.h> 32 "MMC Buffer", 33 "MMC Command", 34 "MMC DMA", 35 "MMC Command Error", 36 "MMC DMA Error", 37 "MMC Switch", 38 "MMC Switch Error", [all …]
|
| H A D | omap.c | 3 * linux/drivers/mmc/host/omap.c 23 #include <linux/mmc/host.h> 24 #include <linux/mmc/card.h> 25 #include <linux/mmc/mmc.h> 30 #include <linux/platform_data/mmc-omap.h> 115 struct mmc_host *mmc; member 127 struct mmc_host * mmc; member 129 unsigned char id; /* 16xx chips have 2 MMC blocks */ 209 while (host->mmc ! in mmc_omap_select_slot() 322 struct mmc_host *mmc = container_of(dev, struct mmc_host, class_dev); mmc_omap_show_cover_switch() local 335 struct mmc_host *mmc = container_of(dev, struct mmc_host, class_dev); mmc_omap_show_slot_name() local 470 struct mmc_host *mmc; mmc_omap_xfer_done() local 593 struct mmc_host *mmc; mmc_omap_cmd_done() local 622 struct mmc_host *mmc; mmc_omap_abort_command() local 1093 mmc_omap_request(struct mmc_host * mmc,struct mmc_request * req) mmc_omap_request() argument 1155 mmc_omap_calc_divisor(struct mmc_host * mmc,struct mmc_ios * ios) mmc_omap_calc_divisor() argument 1183 mmc_omap_set_ios(struct mmc_host * mmc,struct mmc_ios * ios) mmc_omap_set_ios() argument 1259 struct mmc_host *mmc; mmc_omap_new_slot() local 1355 struct mmc_host *mmc = slot->mmc; mmc_omap_remove_slot() local [all...] |
| H A D | sdricoh_cs.c | 25 #include <linux/mmc/host.h> 26 #include <linux/mmc/mmc.h> 77 /* mmc privdata */ 80 struct mmc_host *mmc; /* MMC structure */ member 254 static void sdricoh_request(struct mmc_host *mmc, struct mmc_request *mrq) in sdricoh_request() argument 256 struct sdricoh_host *host = mmc_priv(mmc); in sdricoh_request() 331 mmc_request_done(mmc, mrq); in sdricoh_request() 335 static void sdricoh_set_ios(struct mmc_host *mmc, struct mmc_ios *ios) in sdricoh_set_ios() argument 337 struct sdricoh_host *host = mmc_priv(mmc); in sdricoh_set_ios() 356 static int sdricoh_get_ro(struct mmc_host *mmc) in sdricoh_get_ro() argument [all …]
|
| H A D | rtsx_pci_sdmmc.c | 2 /* Realtek PCI-Express SD/MMC Card Interface driver 17 #include <linux/mmc/host.h> 18 #include <linux/mmc/mmc.h> 19 #include <linux/mmc/sd.h> 20 #include <linux/mmc/sdio.h> 21 #include <linux/mmc/card.h> 29 struct mmc_host *mmc; member 49 static int sdmmc_init_sd_express(struct mmc_host *mmc, struct mmc_ios *ios); 180 static void sdmmc_pre_req(struct mmc_host *mmc, struct mmc_request *mrq) in sdmmc_pre_req() argument 182 struct realtek_pci_sdmmc *host = mmc_priv(mmc); in sdmmc_pre_req() [all …]
|
| H A D | usdhi6rol0.c | 16 #include <linux/mmc/host.h> 17 #include <linux/mmc/mmc.h> 18 #include <linux/mmc/sd.h> 19 #include <linux/mmc/sdio.h> 159 struct mmc_host *mmc; member 212 dev_vdbg(mmc_dev(host->mmc), "%s(0x%p + 0x%x) = 0x%x\n", __func__, in usdhi6_write() 219 dev_vdbg(mmc_dev(host->mmc), "%s(0x%p + 0x%x) = 0x%x\n", __func__, in usdhi6_write16() 226 dev_vdbg(mmc_dev(host->mmc), "%s(0x%p + 0x%x) = 0x%x\n", __func__, in usdhi6_read() 234 dev_vdbg(mmc_dev(host->mmc), "%s(0x%p + 0x%x) = 0x%x\n", __func__, in usdhi6_read16() 286 dev_dbg(mmc_dev(host->mmc), in usdhi6_error_code() [all …]
|
| H A D | mmci_stm32_sdmmc.c | 10 #include <linux/mmc/host.h> 11 #include <linux/mmc/card.h> 85 struct device *dev = mmc_dev(host->mmc); in sdmmc_idma_validate_data() 98 dev_dbg(mmc_dev(host->mmc), in sdmmc_idma_validate_data() 106 dev_dbg(mmc_dev(host->mmc), in sdmmc_idma_validate_data() 117 host->mmc->max_req_size, in sdmmc_idma_validate_data() 147 n_elem = dma_map_sg(mmc_dev(host->mmc), in _sdmmc_idma_prep_data() 153 dev_err(mmc_dev(host->mmc), "dma_map_sg failed\n"); in _sdmmc_idma_prep_data() 183 dma_unmap_sg(mmc_dev(host->mmc), data->sg, data->sg_len, in sdmmc_idma_unprep_data() 191 struct device *dev = mmc_dev(host->mmc); in sdmmc_idma_setup() [all …]
|
| /linux/Documentation/devicetree/bindings/mmc/ |
| H A D | mtk-sd.yaml | 4 $id: http://devicetree.org/schemas/mmc/mtk-sd.yaml# 17 - mediatek,mt2701-mmc 18 - mediatek,mt2712-mmc 19 - mediatek,mt6779-mmc 20 - mediatek,mt6795-mmc 21 - mediatek,mt7620-mmc 22 - mediatek,mt7622-mmc 23 - mediatek,mt7986-mmc 24 - mediatek,mt7988-mmc 25 - mediatek,mt8135-mmc [all …]
|
| H A D | sdhci-st.txt | 1 * STMicroelectronics sdhci-st MMC/SD controller 4 Documentation/devicetree/bindings/mmc/mmc.txt and the properties 9 to set the internal glue logic used for configuring the MMC 13 - clock-names: Should be "mmc" and "icn". (NB: The latter is not compulsory) 18 - interrupts: One mmc interrupt should be described here. 31 - reg-names: Should be "mmc" and "top-mmc-delay". "top-mmc-delay" is optional 36 See: Documentation/devicetree/bindings/mmc/mmc.txt. 39 See: Documentation/devicetree/bindings/mmc/mmc.txt. 43 See: Documentation/devicetree/bindings/mmc/mmc.txt. 52 See: Documentation/devicetree/bindings/mmc/mmc.txt. [all …]
|
| H A D | cavium-mmc.txt | 1 * Cavium Octeon & ThunderX MMC controller 3 The highspeed MMC host controller on Caviums SoCs provides an interface 4 for MMC and SD types of memory cards. 11 cavium,octeon-6130-mmc 12 cavium,octeon-7890-mmc 13 cavium,thunder-8190-mmc 14 cavium,thunder-8390-mmc 15 mmc-slot 16 - reg : mmc controller base registers 20 - for cd, bus-width and additional generic mmc parameters [all …]
|
| H A D | ingenic,mmc.yaml | 4 $id: http://devicetree.org/schemas/mmc/ingenic,mmc.yaml# 7 title: Ingenic SoCs MMC Controller 13 - $ref: mmc-controller.yaml# 19 - ingenic,jz4740-mmc 20 - ingenic,jz4725b-mmc 21 - ingenic,jz4760-mmc 22 - ingenic,jz4775-mmc 23 - ingenic,jz4780-mmc 24 - ingenic,x1000-mmc 26 - const: ingenic,jz4770-mmc [all …]
|
| H A D | loongson,ls2k0500-mmc.yaml | 4 $id: http://devicetree.org/schemas/mmc/loongson,ls2k0500-mmc.yaml# 10 The MMC host controller on the Loongson-2K0500/2K1000 (using an externally 12 The two MMC host controllers on the Loongson-2K2000 are similar, 20 - $ref: mmc-controller.yaml# 25 - loongson,ls2k0500-mmc 26 - loongson,ls2k1000-mmc 27 - loongson,ls2k2000-mmc 32 - description: Loongson-2K MMC controller registers. 33 - description: APB DMA config register for Loongson-2K MMC controller. 60 - loongson,ls2k0500-mmc [all …]
|
| H A D | owl-mmc.yaml | 4 $id: http://devicetree.org/schemas/mmc/owl-mmc.yaml# 7 title: Actions Semi Owl SoCs SD/MMC/SDIO controller 10 - $ref: mmc-controller.yaml 18 - const: actions,owl-mmc 21 - actions,s500-mmc 22 - actions,s700-mmc 23 - const: actions,owl-mmc 41 const: mmc 56 mmc0: mmc@e0330000 { 57 compatible = "actions,owl-mmc"; [all …]
|
| /linux/drivers/staging/greybus/ |
| H A D | sdio.c | 3 * SD/MMC Greybus driver. 10 #include <linux/mmc/core.h> 11 #include <linux/mmc/host.h> 12 #include <linux/mmc/mmc.h> 22 struct mmc_host *mmc; member 86 host->mmc->caps = caps; in _gb_sdio_set_host_caps() 87 host->mmc->caps2 = caps2 | MMC_CAP2_CORE_RUNTIME_PM; in _gb_sdio_set_host_caps() 118 struct mmc_host *mmc = host->mmc; in gb_sdio_get_caps() local 141 mmc->max_blk_size = rounddown_pow_of_two(blksz); in gb_sdio_get_caps() 142 mmc->max_blk_count = le16_to_cpu(response.max_blk_count); in gb_sdio_get_caps() [all …]
|
| /linux/Documentation/driver-api/mmc/ |
| H A D | mmc-async-req.rst | 2 MMC Asynchronous Request 13 transfer, the DMA preparation overhead would not affect the MMC performance. 15 The intention of non-blocking (asynchronous) MMC requests is to minimize the 16 time between when an MMC request ends and another MMC request begins. 18 Using mmc_wait_for_req(), the MMC controller is idle while dma_map_sg and 19 dma_unmap_sg are processing. Using non-blocking MMC requests makes it 21 MMC request. 23 MMC block driver 26 The mmc_blk_issue_rw_rq() in the MMC block driver is made non-blocking. 30 a request and how fast the memory is. The faster the MMC/SD is the [all …]
|