On Fri, Oct 20, 2017 at 12:12:41PM +0900, Yoshihiro Shimoda wrote: > Since the commit de3ee99b097d ("mmc: Delete bounce buffer handling") > deletes the bounce buffer handling, a request data size will be referred > to max_{req,seg}_size instead of MMC_QUEUE_BOUNCESZ (64k bytes). > > In other hand, renesas_sdhi_internal_dmac.c will set very big value of > max_{req,seg}_size because the max_blk_count is set to 0xffffffff. > And then, "swiotlb buffer is full" happens because swiotlb can handle > a memory size up to 256k bytes only (IO_TLB_SEGSIZE = 128 and > IO_TLB_SHIFT = 11). > > So, as a workaround, this patch avoids the issue by setting > the max_{req,seg}_size up to 256k bytes if swiotlb is running. > > Reported-by: Dirk Behme <dirk.behme@xxxxxxxxxxxx> > Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> For the issues we are seeing with v4.14, I think this fix is good. We plan to fully fix this issue at a more generic level, then this addition can go again. But we are not there yet, and likely need some additional API, so: Acked-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx>
Attachment:
signature.asc
Description: PGP signature