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
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to