Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

mmc: core: Add open-ended Ext memory addressing

For open-ended read/write - just send CMD22 before issuing the command.

Reviewed-by: Adrian Hunter <adrian.hunter@intel.com>
Signed-off-by: Avri Altman <avri.altman@wdc.com>
Link: https://lore.kernel.org/r/20241006051148.160278-5-avri.altman@wdc.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>

authored by

Avri Altman and committed by
Ulf Hansson
403a0293 93387385

+12
+5
drivers/mmc/core/block.c
··· 1759 1759 brq->sbc.flags = MMC_RSP_R1 | MMC_CMD_AC; 1760 1760 brq->mrq.sbc = &brq->sbc; 1761 1761 } 1762 + 1763 + if (mmc_card_ult_capacity(card)) { 1764 + brq->cmd.ext_addr = blk_rq_pos(req) >> 32; 1765 + brq->cmd.has_ext_addr = true; 1766 + } 1762 1767 } 1763 1768 1764 1769 #define MMC_MAX_RETRIES 5
+3
drivers/mmc/core/core.c
··· 336 336 { 337 337 int err; 338 338 339 + if (mrq->cmd && mrq->cmd->has_ext_addr) 340 + mmc_send_ext_addr(host, mrq->cmd->ext_addr); 341 + 339 342 init_completion(&mrq->cmd_completion); 340 343 341 344 mmc_retune_hold(host);
+4
include/linux/mmc/core.h
··· 96 96 unsigned int busy_timeout; /* busy detect timeout in ms */ 97 97 struct mmc_data *data; /* data segment associated with cmd */ 98 98 struct mmc_request *mrq; /* associated request */ 99 + 100 + /* for SDUC */ 101 + bool has_ext_addr; 102 + u8 ext_addr; 99 103 }; 100 104 101 105 struct mmc_data {