On Friday 22 April 2005 06.27, Andre Renaud wrote:
> I am suffering from a similar problem when using the
> CHIP_BUFFER_TEST macro - I have implemented the delay function
> as:
> static void isp1362_delay(struct device *dev, unsigned int delay)
> {
> (void) *(volatile unsigned long *)UNCACHED_PHYS_0;
> }
I think you also need to actually use the result of the read to
force a previous store operation to terminate. And I wonder if
after this you do not need some looping to ensure a ~460ns delay.
On a PCA-263 with the core clock at 500Mhz, I am using the
following code:
static void isp116x_delay(struct device * dev, int delay)
{
unsigned int temp = *(unsigned int *)UNCACHED_ADDR;
dev = dev;
__asm__ __volatile__ (
" mov %1, %1\n"
"1: subs %0, %0, #5\n"
" bgt 1b"
:
: "r" (delay), "r" (temp)
: "cc");
}
Robin
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
[email protected]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel