Hi Kever, > -----Original Message----- > From: Kever Yang <kever.y...@rock-chips.com> > Sent: Thursday, August 29, 2019 10:17 AM > To: Peng Fan <peng....@nxp.com>; u-boot@lists.denx.de > Cc: tr...@konsulko.com; eugeniy.palt...@synopsys.com; Alexey Brodkin > <abrod...@synopsys.com>; Simon > Glass <s...@chromium.org> > Subject: Re: [PATCH] mmc: dw_mmc: fix timeout calculate method > > Add ARC maintainers.
Thanks for adding us in the loop. > On 2019/8/27 下午5:58, Peng Fan wrote: > > Hi Kever, > > > >> -----Original Message----- > >> From: U-Boot <u-boot-boun...@lists.denx.de> On Behalf Of Peng Fan > >> Sent: 2019年8月27日 15:40 > >> To: Kever Yang <kever.y...@rock-chips.com>; u-boot@lists.denx.de > >> Cc: tr...@konsulko.com > >> Subject: Re: [U-Boot] [PATCH] mmc: dw_mmc: fix timeout calculate method > >> > >>> Subject: [PATCH] mmc: dw_mmc: fix timeout calculate method > >>> > >>> There are two cases not been considered: > >>> - use uint for timeout, it will overflow when size bigger than 512KB for > >>> it *8*1000 at the beginning, but we may use size up to 32MB; > >>> - The timeout is using clock speed for data rate, but the device may not > >>> have such high speed, eg. clock is 52MHz while the device write speed > >> may > >>> be less than 10MB/s. > >>> > >>> Fix them in this patch, the max timeout is about 6500 when size is > >>> 32MB after fix. > >>> > >>> Signed-off-by: Kever Yang <kever.y...@rock-chips.com> > > This patch breaks build, I need drop it. > > See build: > > https://travis-ci.org/MrVan/u-boot/jobs/577210464 > > The error happens only in ARC architecture, and seems like the arc > compiler not support 64bit div? It's not a compiler problem but a subtle issue with libgcc. To be independent from toolchain type (and we have quite a few flavors like little- and big-endian, ARCv1 or ARCv2 etc) decision was made to move libgcc into U-Boot but given full libgcc is quite large only primitives required by up-to-date U-Boot were copied from GCC to U-Boot. > Any idea on how to fix this? Add missing primitives like __udivdi3() and their dependencies, see for example: https://github.com/gcc-mirror/gcc/blob/master/libgcc/libgcc2.c#L1318. And I'll happily do it myself but for some reason I cannot reproduce that problem locally. I use the same pre-built arc-2018.09 toolchain: ---------------------------->8----------------------- # arc-linux-gcc -v gcc version 8.2.1 20180814 (ARCv2 ISA Linux uClibc toolchain 2018.09) ---------------------------->8----------------------- And may successfully build U-Boot for HSDK from https://github.com/MrVan/u-boot/commits/mmc-8-28-2019: ---------------------------->8----------------------- # git l 76c0bf2873 - (HEAD -> mrvan, github-mrvan/mmc-8-28-2019) ARM: dts: ast2500: Add SDHCI nodes (27 hours ago) <Eddie James> 07b000cd32 - configs: AST2500 EVB: Enable SD controller (27 hours ago) <Eddie James> 5f6a033f10 - mmc: Add Aspeed SD controller driver (27 hours ago) <Eddie James> a6503eaa66 - clk: aspeed: Add support for SD clock (27 hours ago) <Eddie James> c54e328452 - mmc: Rename timeout parameters for clarification (27 hours ago) <Sam Protsenko> be949bb19c - mmc: Fix timeout values passed to mmc_wait_dat0() (27 hours ago) <Sam Protsenko> 49842f0edf - dm: mmc: remove unused U_BOOT_DRIVER(mmc) (27 hours ago) <Andy Yan> 7b91b47f8f - Prepare v2019.10-rc3 (27 hours ago) <Tom Rini> ---------------------------->8----------------------- That way: ---------------------------->8----------------------- ./tools/buildman/buildman hsdk boards.cfg is up to date. Nothing to do. Building current source for 1 boards (1 thread, 48 jobs per thread) arc: w+ hsdk 0 1 0 /1 hsdk ---------------------------->8----------------------- What do I do wrong? -Alexey _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot