>> Due to synopsys data book's description, it had a limitation while >> using DMA that buffer size and start address must not exceed 128 MB. >> >> We add an option setup_tran_desc to make tran_desc setting flexible. >> >> Signed-off-by: Jyan Chou <jyanchou@xxxxxxxxxxx> >> >> --- >> v2 -> v3: >> - Fix auto test compile warning. >> >> v1 -> v2: >> - Export cqhci_set_tran_desc for setting the descriptor's callback function. >> >> v0 -> v1: >> - Separate different patch supports into single patch. >> --- >> drivers/mmc/host/cqhci-core.c | 8 +++++++- >> drivers/mmc/host/cqhci.h | 5 +++++ >> 2 files changed, 12 insertions(+), 1 deletion(-) >> >> diff --git a/drivers/mmc/host/cqhci-core.c >> b/drivers/mmc/host/cqhci-core.c index b3d7d6d8d654..5560329d2a7d >> 100644 >> --- a/drivers/mmc/host/cqhci-core.c >> +++ b/drivers/mmc/host/cqhci-core.c >> @@ -474,7 +474,7 @@ static int cqhci_dma_map(struct mmc_host *host, struct mmc_request *mrq) >> return sg_count; >> } >> >> -static void cqhci_set_tran_desc(u8 *desc, dma_addr_t addr, int len, >> bool end, >> +void cqhci_set_tran_desc(u8 *desc, dma_addr_t addr, int len, bool >> +end, >> bool dma64) { >> __le32 *attr = (__le32 __force *)desc; @@ -495,6 +495,7 @@ >> static void cqhci_set_tran_desc(u8 *desc, dma_addr_t addr, int len, bool end, >> dataddr[0] = cpu_to_le32(addr); >> } >> } >> +EXPORT_SYMBOL(cqhci_set_tran_desc); > EXPORT_SYMBOL_GPL We had corrected it. Best regards, Jyan -----Original Message----- From: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx> Sent: Monday, October 30, 2023 3:35 PM To: Jyan Chou [周芷安] <jyanchou@xxxxxxxxxxx>; ulf.hansson@xxxxxxxxxx; adrian.hunter@xxxxxxxxx; jh80.chung@xxxxxxxxxxx; riteshh@xxxxxxxxxxxxxx; robh+dt@xxxxxxxxxx; krzysztof.kozlowski+dt@xxxxxxxxxx; conor+dt@xxxxxxxxxx; asutoshd@xxxxxxxxxxxxxx; p.zabel@xxxxxxxxxxxxxx Cc: linux-mmc@xxxxxxxxxxxxxxx; devicetree@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; arnd@xxxxxxxx; briannorris@xxxxxxxxxxxx; doug@xxxxxxxxxxxxx; tonyhuang.sunplus@xxxxxxxxx; abel.vesa@xxxxxxxxxx; william.qiu@xxxxxxxxxxxxxxxx Subject: Re: [PATCH V4][1/4] mmc: solve DMA boundary limitation of CQHCI driver External mail. On 30/10/2023 07:27, Jyan Chou wrote: > Due to synopsys data book's description, it had a limitation while > using DMA that buffer size and start address must not exceed 128 MB. > > We add an option setup_tran_desc to make tran_desc setting flexible. > > Signed-off-by: Jyan Chou <jyanchou@xxxxxxxxxxx> > > --- > v2 -> v3: > - Fix auto test compile warning. > > v1 -> v2: > - Export cqhci_set_tran_desc for setting the descriptor's callback function. > > v0 -> v1: > - Separate different patch supports into single patch. > --- > --- > drivers/mmc/host/cqhci-core.c | 8 +++++++- > drivers/mmc/host/cqhci.h | 5 +++++ > 2 files changed, 12 insertions(+), 1 deletion(-) > > diff --git a/drivers/mmc/host/cqhci-core.c > b/drivers/mmc/host/cqhci-core.c index b3d7d6d8d654..5560329d2a7d > 100644 > --- a/drivers/mmc/host/cqhci-core.c > +++ b/drivers/mmc/host/cqhci-core.c > @@ -474,7 +474,7 @@ static int cqhci_dma_map(struct mmc_host *host, struct mmc_request *mrq) > return sg_count; > } > > -static void cqhci_set_tran_desc(u8 *desc, dma_addr_t addr, int len, > bool end, > +void cqhci_set_tran_desc(u8 *desc, dma_addr_t addr, int len, bool > +end, > bool dma64) { > __le32 *attr = (__le32 __force *)desc; @@ -495,6 +495,7 @@ > static void cqhci_set_tran_desc(u8 *desc, dma_addr_t addr, int len, bool end, > dataddr[0] = cpu_to_le32(addr); > } > } > +EXPORT_SYMBOL(cqhci_set_tran_desc); EXPORT_SYMBOL_GPL Best regards, Krzysztof