Date: Mon, 29 Jun 2009 15:07:31 +0200 From: Piotr =?utf-8?q?Zi=C4=99cik?= <kosmo@semihalf.com> To: Hans Petter Selasky <hselasky@c2i.net> Cc: freebsd-arm@freebsd.org, freebsd-usb@freebsd.org, thompsa@freebsd.org Subject: Re: CPU Cache and busdma usage in USB Message-ID: <200906291507.31594.kosmo@semihalf.com> In-Reply-To: <200906291337.43635.hselasky@c2i.net> References: <200906231035.43096.kosmo@semihalf.com> <200906291249.43983.kosmo@semihalf.com> <200906291337.43635.hselasky@c2i.net>
next in thread | previous in thread | raw e-mail | index | archive | help
Monday 29 June 2009 13:37:41 Hans Petter Selasky napisa=C5=82(a): > if (op & BUS_DMASYNC_POSTREAD) { > if (bpage->vaddr_nocache =3D=3D 0) { > cpu_dcache_inv_range(bpage->vaddr, > bpage->datacount); > cpu_l2cache_inv_range(bpage->vaddr, > bpage->datacount); > } > bcopy((void *)(bpage->vaddr_nocache !=3D 0 ? > bpage->vaddr_nocache : bpage->vaddr), > (void *)bpage->datavaddr, bpage->datacount); > dmat->bounce_zone->total_bounced++; > } > > Change: bpage->vaddr into (bpage->vaddr & ~arm_dcache_align_mask) > Change: bpage->datacount into (bpage->datacount + (bpage->vaddr & > arm_dcache_align_mask) + arm_dcache_align_mask - 1) & > ~arm_dcache_align_mask; I have checked above changes and I do not observe any changes is USB behaviour. Problem still exists. =2D-=20 Best Regards. Piotr Ziecik
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200906291507.31594.kosmo>