Subject: Re: MPC5200, PCI, udelay(10)

From: Sylvain Munaut <[email-masked]>
Date: Sat, 04 Feb 2006 11:51:14 +0100

Roman Kuzmenko wrote:
> Hello.
> 
> Please, help me to investigate why the delays present in the
> "mpc5xxx_read_config_dword" and "mpc5xxx_write_config_dword" functions
> in the "arch/ppc/kernel/mpc52xx_pci.c" file.
> 
> I.e.
> ==========================
>   *(volatile u32 *)MPC5xxx_PCI_CAR = 0;
> 
>>udelay(10);
> 
>   return 0;
> ==========================
> 
> I was neither able to find any reference at the MPC5200 documentation
> supplied by FreeScale nor reproduce any error with these lines got
> removed.

I wasn't able to reproduce any problem either but people kept reporting
problems. But it seems that it's not a delay that's needed but a mb() to
ensure the write all _completly_ done before the next write. A
udelay(10) almost ensure that also but is a lot less elegant imho.

	Sylvain