From owner-svn-src-head@FreeBSD.ORG Wed Aug 19 15:55:51 2009 Return-Path: Delivered-To: svn-src-head@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0FE9B106568B; Wed, 19 Aug 2009 15:55:51 +0000 (UTC) (envelope-from raj@semihalf.com) Received: from smtp.semihalf.com (smtp.semihalf.com [213.17.239.109]) by mx1.freebsd.org (Postfix) with ESMTP id B6FAF8FC57; Wed, 19 Aug 2009 15:55:50 +0000 (UTC) Received: from [10.0.0.34] (cardhu.semihalf.com [213.17.239.108]) by smtp.semihalf.com (Postfix) with ESMTPSA id 1383FC4277; Wed, 19 Aug 2009 17:35:10 +0200 (CEST) Message-Id: <81BE0575-26B5-4EBE-90D5-4B3DDB42F79F@semihalf.com> From: Rafal Jaworowski To: Sam Leffler In-Reply-To: <4A8C1AA0.20303@errno.com> Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Mime-Version: 1.0 (Apple Message framework v935.3) Date: Wed, 19 Aug 2009 17:37:11 +0200 References: <200908191439.n7JEd892057035@svn.freebsd.org> <4A8C1AA0.20303@errno.com> X-Mailer: Apple Mail (2.935.3) Cc: svn-src-head@FreeBSD.org, Rafal Jaworowski , svn-src-all@FreeBSD.org, src-committers@FreeBSD.org Subject: Re: svn commit: r196380 - head/sys/dev/usb X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Aug 2009 15:55:51 -0000 On 2009-08-19, at 17:30, Sam Leffler wrote: > Rafal Jaworowski wrote: >> Author: raj >> Date: Wed Aug 19 14:39:08 2009 >> New Revision: 196380 >> URL: http://svn.freebsd.org/changeset/base/196380 >> Log: >> Fix USB cache sync operations for platforms with non-coherent DMA. >> - usb_pc_cpu_invalidate() is called between [consecutive] reads >> from a device, >> so a sequence of BUS_DMASYNC_POSTREAD and _PREREAD should be >> used. Note we >> cannot use or'ed shorthand ( _POSTREAD | _PREREAD) for >> BUS_DMASYNC flags, as >> the low level bus dma sync operation is implementation dependent >> and we >> cannot assume the required order of operations to be guaranteed. >> - usb_pc_cpu_flush() is called before writing to a device, so >> BUS_DMASYNC_PREWRITE should be used. >> Submitted by: Grzegorz Bernacki >> Reviewed by: HPS, arm@, usb@ ML >> Tested by: HPS, Mike Tancsa >> Approved by: re (kib) >> Obtained from: Semihalf > > Is this different from the patch I tested on Gateworks 2358 boards > which didn't completely resolve problems? Hm, not sure what patch you have tested with GW. There was an initial workaround for this problem from late June time frame, and this commit is a refined fix identical to the patch posted 05 Aug to arm@. There were other ARM patches in the meantime involving cache sync, but they were pmap-related. Rafal