David Brownell wrote:
> From: David Brownell <[email protected]>
> 
> Package on-chip SRAM.  It's always accessible from the ARM, so
> set up a standardized virtual address mapping into a 128 KiB
> area that's reserved for platform use.
> 
> In some cases (dm6467) the physical addresses used for EDMA are
> not the same as the ones used by the ARM ... so record that info
> separately in the SOC data, for chips (unlike the OMAP-L137)
> where SRAM may be used with EDMA.
> 
> Other blocks of SRAM, such as the ETB buffer or DSP L1/L2 RAM,
> may be unused/available on some system.  They are ignored here.
> 
> Signed-off-by: David Brownell <[email protected]>
> ---
>  arch/arm/mach-davinci/dm355.c               |    9 +++++++++
>  arch/arm/mach-davinci/dm644x.c              |    9 +++++++++
>  arch/arm/mach-davinci/dm646x.c              |    9 +++++++++
>  arch/arm/mach-davinci/include/mach/common.h |    6 ++++++
>  4 files changed, 33 insertions(+)
> 
> --- a/arch/arm/mach-davinci/dm355.c
> +++ b/arch/arm/mach-davinci/dm355.c
> @@ -611,6 +611,13 @@ static struct map_desc dm355_io_desc[] =
>               .length         = IO_SIZE,
>               .type           = MT_DEVICE
>       },
> +     {
> +             .virtual        = SRAM_VIRT,
> +             .pfn            = __phys_to_pfn(0x00010000),
> +             .length         = SZ_32K,
> +             /* MT_MEMORY_NONCACHED requires supersection alignment */
> +             .type           = MT_DEVICE,
> +     },
>  };
>  
>  /* Contents of JTAG ID register used to identify exact cpu type */
> @@ -700,6 +707,8 @@ static struct davinci_soc_info davinci_s
>       .gpio_num               = 104,
>       .gpio_irq               = IRQ_DM355_GPIOBNK0,
>       .serial_dev             = &dm355_serial_device,
> +     .sram_dma               = 0x00010000,
> +     .sram_len               = SZ_32K,
>  };
>  
>  void __init dm355_init(void)
> --- a/arch/arm/mach-davinci/dm644x.c
> +++ b/arch/arm/mach-davinci/dm644x.c
> @@ -539,6 +539,13 @@ static struct map_desc dm644x_io_desc[] 
>               .length         = IO_SIZE,
>               .type           = MT_DEVICE
>       },
> +     {
> +             .virtual        = SRAM_VIRT,
> +             .pfn            = __phys_to_pfn(0x00008000),
> +             .length         = SZ_16K,
> +             /* MT_MEMORY_NONCACHED requires supersection alignment */
> +             .type           = MT_DEVICE,
> +     },
>  };
>  
>  /* Contents of JTAG ID register used to identify exact cpu type */
> @@ -629,6 +636,8 @@ static struct davinci_soc_info davinci_s
>       .gpio_irq               = IRQ_GPIOBNK0,
>       .serial_dev             = &dm644x_serial_device,
>       .emac_pdata             = &dm644x_emac_pdata,
> +     .sram_dma               = 0x00008000,
> +     .sram_len               = SZ_16K,
>  };
>  
>  void __init dm644x_init(void)
> --- a/arch/arm/mach-davinci/dm646x.c
> +++ b/arch/arm/mach-davinci/dm646x.c
> @@ -518,6 +518,13 @@ static struct map_desc dm646x_io_desc[] 
>               .length         = IO_SIZE,
>               .type           = MT_DEVICE
>       },
> +     {
> +             .virtual        = SRAM_VIRT,
> +             .pfn            = __phys_to_pfn(0x00010000),
> +             .length         = SZ_32K,
> +             /* MT_MEMORY_NONCACHED requires supersection alignment */
> +             .type           = MT_DEVICE,
> +     },
>  };
>  
>  /* Contents of JTAG ID register used to identify exact cpu type */
> @@ -608,6 +615,8 @@ static struct davinci_soc_info davinci_s
>       .gpio_irq               = IRQ_DM646X_GPIOBNK0,
>       .serial_dev             = &dm646x_serial_device,
>       .emac_pdata             = &dm646x_emac_pdata,
> +     .sram_dma               = 0x10010000,
> +     .sram_len               = SZ_32K,
>  };
>  
>  void __init dm646x_init(void)
> --- a/arch/arm/mach-davinci/include/mach/common.h
> +++ b/arch/arm/mach-davinci/include/mach/common.h
> @@ -66,9 +66,15 @@ struct davinci_soc_info {
>       unsigned                        gpio_irq;
>       struct platform_device          *serial_dev;
>       struct emac_platform_data       *emac_pdata;
> +     dma_addr_t                      sram_dma;
> +     unsigned                        sram_len;
>  };
>  
>  extern struct davinci_soc_info *davinci_get_soc_info(void);
>  extern void davinci_common_init(struct davinci_soc_info *soc_info);
>  
> +/* standard place to map on-chip SRAMs; they *may* support DMA */
> +#define SRAM_VIRT    0xfffe0000
> +#define SRAM_SIZE    SZ_128K
> +
>  #endif /* __ARCH_ARM_MACH_DAVINCI_COMMON_H */
> 
> _______________________________________________
> Davinci-linux-open-source mailing list
> [email protected]
> http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
> 
Can you try this again?? It doesn't apply for me.



Hunk #1 FAILED at 611.
Hunk #2 FAILED at 707.
2 out of 2 hunks FAILED -- saving rejects to file 
arch/arm/mach-davinci/dm355.c.rej
patching file arch/arm/mach-davinci/dm644x.c
Hunk #1 succeeded at 325 with fuzz 2 (offset -214 lines).
Hunk #2 FAILED at 422.
1 out of 2 hunks FAILED -- saving rejects to file 
arch/arm/mach-davinci/dm644x.c.rej
patching file arch/arm/mach-davinci/dm646x.c
Hunk #1 succeeded at 306 with fuzz 2 (offset -212 lines).
Hunk #2 FAILED at 403.
1 out of 2 hunks FAILED -- saving rejects to file 
arch/arm/mach-davinci/dm646x.c.rej
patching file arch/arm/mach-davinci/include/mach/common.h
Hunk #1 FAILED at 66.
1 out of 1 hunk FAILED -- saving rejects to file 
arch/arm/mach-davinci/include/mach/common.h.rej

Thanks
Troy


_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source

Reply via email to