[PATCH 7/7] powerpc/85xx: Fix the RapidIO maintenance access functions

tmo at sysgo.com tmo at sysgo.com
Fri Mar 5 17:00:16 EST 2010


Quoting "Micha Nelissen" <micha at neli.hopto.org>:

> Bounine, Alexandre wrote:
>> Hi Micha,
>>
>> I tested it on my setup - it works.
>> Maybe Thomas may give more details on this change.
>
> Did you (for fun) try once to decrease the maintenance window to  
> say, 4 kB? Then you really need these "high" bits to work properly.

We have never changed the configuration of the window size in Linux,  
but we have an test application that uses these 4kb window setting.
With the current window configuration in Linux, I expect problems when  
someone tries to read a register that is located at offset > 512KB. I  
have currently no equipment to verify this behaviour.

>
> Or did you try with some register at offset > 4MB? The Tundra's have  
> registers going up to 0x14000 or so? So don't need 16MB addressing  
> for that.
We have devices that requires access to registers that are located at  
offset > 15MB.

>
> Thanks, Micha
>
>
>>> -----Original Message-----
>>> From: Micha Nelissen [mailto:micha at neli.hopto.org]
>>> Sent: Wednesday, February 24, 2010 3:21 PM
>>> To: Alexandre Bounine
>>> Subject: Re: [PATCH 7/7] powerpc/85xx: Fix the RapidIO maintenance
>> access functions
>>> Alexandre Bounine wrote:
>>>> 	out_be32(&priv->maint_atmu_regs->rowtar,
>>>> -		 (destid << 22) | (hopcount << 12) | ((offset & ~0x3) >>
>> 9));
>>>> +		 (destid << 22) | (hopcount << 12) | (offset >> 12));
>>>> +	out_be32(&priv->maint_atmu_regs->rowtear,  (destid >> 10));
>>> Did this actually work for you? The (offset >> 12) is due to the 4MB
>>> window size right?
>>>
>>> Micha
>>
>
>



More information about the Linuxppc-dev mailing list