Re: [PATCH 7/7] powerpc/85xx: Fix the RapidIO maintenance access functions
From: <hidden>
Date: 2010-03-05 06:11:50
Quoting "Micha Nelissen" [off-list ref]:
Bounine, Alexandre wrote:quoted
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 =20 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, =20 but we have an test application that uses these 4kb window setting. With the current window configuration in Linux, I expect problems when =20 someone tries to read a register that is located at offset > 512KB. I =20 have currently no equipment to verify this behaviour.
Or did you try with some register at offset > 4MB? The Tundra's have =20 registers going up to 0x14000 or so? So don't need 16MB addressing =20 for that.
We have devices that requires access to registers that are located at =20 offset > 15MB.
Thanks, Michaquoted
quoted
-----Original Message----- From: Micha Nelissen [mailto:micha@neli.hopto.org] Sent: Wednesday, February 24, 2010 3:21 PM To: Alexandre Bounine Subject: Re: [PATCH 7/7] powerpc/85xx: Fix the RapidIO maintenanceaccess functionsquoted
Alexandre Bounine wrote:quoted
=09out_be32(&priv->maint_atmu_regs->rowtar, -=09=09 (destid << 22) | (hopcount << 12) | ((offset & ~0x3) >>9));quoted
quoted
+=09=09 (destid << 22) | (hopcount << 12) | (offset >> 12)); +=09out_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