From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maxime Ripard Date: Fri, 6 Apr 2018 07:54:47 +0200 Subject: [U-Boot] [PATCH] sunxi: improve throughput in the sunxi_mmc driver In-Reply-To: <20180321111858.16576-1-maxime.ripard@bootlin.com> References: <20180321111858.16576-1-maxime.ripard@bootlin.com> Message-ID: <20180406055447.xsibdkcdxenhrsq5@flea> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hi Jaehoon, On Wed, Mar 21, 2018 at 12:18:58PM +0100, Maxime Ripard wrote: > From: Philipp Tomsich > > Throughput tests have shown the sunxi_mmc driver to take over 10s to > read 10MB from a fast eMMC device due to excessive delays in polling > loops. > > This commit restructures the main polling loops to use get_timer(...) > to determine whether a (millisecond) timeout has expired. We choose > not to use the wait_bit function, as we don't need interruptability > with ctrl-c and have at least one case where two bits (one for an > error condition and another one for completion) need to be read and > using wait_bit would have not added to the clarity. > > The observed speedup in testing on a A31 is greater than 10x (e.g. a > 10MB write decreases from 9.302s to 0.884s). > > Signed-off-by: Philipp Tomsich > Signed-off-by: Maxime Ripard Any chance we can merge this for the next release? Thanks! Maxime -- Maxime Ripard, Bootlin (formerly Free Electrons) Embedded Linux and Kernel engineering https://bootlin.com