From: Maxim Shchetynin <[EMAIL PROTECTED]>

DDR2 memory DIMMs on the Axon could be accessed only as one partition
when using file system drivers which are using the direct_access() method.
This patch enables for such file system drivers to access Axon's DDR2 memory
even if it is splitted in several partitions.

Signed-off-by: Maxim Shchetynin <[EMAIL PROTECTED]>
Signed-off-by: Arnd Bergmann <[EMAIL PROTECTED]>
---
 arch/powerpc/sysdev/axonram.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/arch/powerpc/sysdev/axonram.c b/arch/powerpc/sysdev/axonram.c
index 9b639ed..9e105cb 100644
--- a/arch/powerpc/sysdev/axonram.c
+++ b/arch/powerpc/sysdev/axonram.c
@@ -150,7 +150,10 @@ axon_ram_direct_access(struct block_device *device, 
sector_t sector,
        struct axon_ram_bank *bank = device->bd_disk->private_data;
        loff_t offset;
 
-       offset = sector << AXON_RAM_SECTOR_SHIFT;
+       offset = sector;
+       if (device->bd_part != NULL)
+               offset += device->bd_part->start_sect;
+       offset <<= AXON_RAM_SECTOR_SHIFT;
        if (offset >= bank->size) {
                dev_err(&bank->device->dev, "Access outside of address 
space\n");
                return -ERANGE;
-- 
1.5.4.3

-- 

_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev

Reply via email to