On Fri, Jul 17, 2009 at 12:23:57PM +0200, Rafal Jaworowski wrote:
> 
> >With the following patch in arm/cpufunc.c my UMASS device gets  
> >detected at
> >boot time (KB9202B ARM board). Else I get a USB request timeout  
> >followed by a
> >panic. But data transfers of more than 16KByte are likely to be  
> >broken.
> >
> >struct cpu_functions arm9_cpufuncs = {
> >...
> >- /*XXX*/    arm9_dcache_wbinv_range,        /* dcache_inv_range     */
> >+ /*XXX*/    arm9_dcache_inv_range,  /* dcache_inv_range     */
> >
> >};
> 
> Hm, this looks indeed strange, but I have no idea why both methods  
> point to _wbinv_range; it seems like it was there from the beginning.  
> I also looked at NetBSD code (from which FreeBSD/arm originates) and  
> they still have it this way too...
> 
> Olivier, any thoughts why this was done this way?
> 
> (FYI: the cpu we work with fall under ARM9E/ARM10, but the situation  
> with dcache_inv_range() is similar as for ARM9 case above).
> 

I can't get the reason why it's this way, reading the CVS logs from 
NetBSD doesn't enlight me, but I'm pretty sure we should switch to use
the proper function for _inv_range, as done in this patch. That's what we
do for Xscale/Xscale core 3 anyway, and if it breaks something, we should
jut fix it.

Olivier
_______________________________________________
freebsd-usb@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-usb
To unsubscribe, send any mail to "freebsd-usb-unsubscr...@freebsd.org"

Reply via email to