From mboxrd@z Thu Jan 1 00:00:00 1970 From: Marek Vasut Date: Thu, 24 May 2012 15:21:30 +0200 Subject: [U-Boot] [PATCH 3/4 V2] USB: Drop cache flush bloat in EHCI-HCD In-Reply-To: <20120524085724.3f2e50c0@wker> References: <1333940992-15484-4-git-send-email-marex@denx.de> <1333946851-27904-1-git-send-email-marex@denx.de> <20120524085724.3f2e50c0@wker> Message-ID: <201205241521.30573.marex@denx.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Dear Anatolij Gustschin, > Hi Marek, > > On Mon, 9 Apr 2012 06:47:31 +0200 > > Marek Vasut wrote: > > Discard the creepy cache flushing mechanisms in ehci-hcd.c and replace > > them with more straightforward flushing. In the new approach, the > > flushing takes place directly in ehci_submit_async() call instead of > > going through the QH list and flushing all members and buffers. This > > discards a lot of weird bit operations on the members of QH and qTD > > structures. > > > > NOTE: Certainly, this flushes even qTDs which are possibly unused in some > > transactions, though the overhead of the previous code was much higher > > than is the overhead of flushing two more cache lines (which most > > probably aren't even cached). > > > > Signed-off-by: Marek Vasut > > Cc: Puneet Saxena > > --- > > > > drivers/usb/host/ehci-hcd.c | 127 > > +++++++++---------------------------------- 1 files changed, 27 > > insertions(+), 100 deletions(-) > > Unfortunately this patch breaks compiling for many powerpc boards, mpc512x, > mpc83xx, mpc85xx and QorIQ Px based with USB support enabled. Because they have broken cache implementation, right? I mean, they have their own snooping methods, so they don't need the cache flushing at all, but then, if they don't, these methods (dcache_flush() etc) should be optimized to empty functions. Maybe we should implement them for these CPUs then? btw. I thought these compiled before, hm... > Thanks, > Anatolij Best regards, Marek Vasut