CPU Cache and busdma usage in USB
Piotr Zięcik
kosmo at semihalf.com
Mon Jun 29 13:07:33 UTC 2009
Monday 29 June 2009 13:37:41 Hans Petter Selasky napisał(a):
> if (op & BUS_DMASYNC_POSTREAD) {
> if (bpage->vaddr_nocache == 0) {
> cpu_dcache_inv_range(bpage->vaddr,
> bpage->datacount);
> cpu_l2cache_inv_range(bpage->vaddr,
> bpage->datacount);
> }
> bcopy((void *)(bpage->vaddr_nocache != 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.
--
Best Regards.
Piotr Ziecik
More information about the freebsd-usb
mailing list