RE: [PATCH v16 1/3] davinci vpbe: changes to common files

2011-01-18 Thread Nori, Sekhar
Hi Manju,

You have got a wrong address for linux-arm-kernel ML.

The right address is: linux-arm-ker...@lists.infradead.org

Also, I think you need to subscribe to this list for your
messages to get posted automatically. Subscription information
is available here: http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

You can check that your patches are actually reaching ARM linux
mailing list by checking the archives here: http://marc.info/?l=linux-arm-kernel

On Tue, Jan 18, 2011 at 19:09:07, Hadli, Manjunath wrote:
 Implemented a common and single mapping for DAVINCI_SYSTEM_MODULE_BASE
 to be used by all davinci platforms.
 
 Signed-off-by: Manjunath Hadli manjunath.ha...@ti.com
 Acked-by: Muralidharan Karicheri m-kariche...@ti.com
 Acked-by: Hans Verkuil hverk...@xs4all.nl
 ---
  arch/arm/mach-davinci/common.c|4 +++-
  arch/arm/mach-davinci/devices.c   |   10 --
  arch/arm/mach-davinci/include/mach/hardware.h |5 +
  3 files changed, 12 insertions(+), 7 deletions(-)
 
 diff --git a/arch/arm/mach-davinci/common.c b/arch/arm/mach-davinci/common.c
 index 1d25573..949e615 100644
 --- a/arch/arm/mach-davinci/common.c
 +++ b/arch/arm/mach-davinci/common.c
 @@ -111,7 +111,9 @@ void __init davinci_common_init(struct davinci_soc_info 
 *soc_info)
   if (ret != 0)
   goto err;
   }
 -
 + davinci_sysmodbase = ioremap_nocache(DAVINCI_SYSTEM_MODULE_BASE, 0x800);
 + if (!davinci_sysmodbase)
 + goto err;

This is actually not the right place to do this. davinci_common_init()
is called for all 7 supported SoCs. This system module base address
definitely not valid on the two DA8x SoCs. I suspect it is not valid on
TNETV as well. That makes this call unnecessary on 3 of the 7 supported
SoCs. I think the original approach of mapping it for each SoC that needed
it was fine.

   return;
  
  err:
 diff --git a/arch/arm/mach-davinci/devices.c b/arch/arm/mach-davinci/devices.c
 index 22ebc64..2bff2d6 100644
 --- a/arch/arm/mach-davinci/devices.c
 +++ b/arch/arm/mach-davinci/devices.c
 @@ -33,6 +33,8 @@
  #define DM365_MMCSD0_BASE 0x01D11000
  #define DM365_MMCSD1_BASE 0x01D0
  
 +void __iomem  *davinci_sysmodbase;
 +
  static struct resource i2c_resources[] = {
   {
   .start  = DAVINCI_I2C_BASE,
 @@ -209,9 +211,7 @@ void __init davinci_setup_mmc(int module, struct 
 davinci_mmc_config *config)
   davinci_cfg_reg(DM355_SD1_DATA2);
   davinci_cfg_reg(DM355_SD1_DATA3);
   } else if (cpu_is_davinci_dm365()) {
 - void __iomem *pupdctl1 =
 - IO_ADDRESS(DAVINCI_SYSTEM_MODULE_BASE + 0x7c);
 -
 + void __iomem *pupdctl1 = DAVINCI_SYSMODULE_VIRT(0x7c);
   /* Configure pull down control */
   __raw_writel((__raw_readl(pupdctl1)  ~0xfc0),
   pupdctl1);
 @@ -243,9 +243,7 @@ void __init davinci_setup_mmc(int module, struct 
 davinci_mmc_config *config)
   mmcsd0_resources[2].start = IRQ_DM365_SDIOINT0;
   } else if (cpu_is_davinci_dm644x()) {
   /* REVISIT: should this be in board-init code? */
 - void __iomem *base =
 - IO_ADDRESS(DAVINCI_SYSTEM_MODULE_BASE);
 -
 + void __iomem *base = DAVINCI_SYSMODULE_VIRT(0);

Please use DAVINCI_SYSMODULE_VIRT(DM64XX_VDD3P3V_PWDN) instead.

   /* Power-on 3.3V IO cells */
   __raw_writel(0, base + DM64XX_VDD3P3V_PWDN);
   /*Set up the pull regiter for MMC */
 diff --git a/arch/arm/mach-davinci/include/mach/hardware.h 
 b/arch/arm/mach-davinci/include/mach/hardware.h
 index c45ba1f..5a105c4 100644
 --- a/arch/arm/mach-davinci/include/mach/hardware.h
 +++ b/arch/arm/mach-davinci/include/mach/hardware.h
 @@ -24,6 +24,11 @@
  /* System control register offsets */
  #define DM64XX_VDD3P3V_PWDN  0x48
  
 +#ifndef __ASSEMBLER__
 + extern void __iomem  *davinci_sysmodbase;
 + #define DAVINCI_SYSMODULE_VIRT(x)   (davinci_sysmodbase+(x))

Indenting the #defines is not required.

Also, this will need to be placed in individual soc.h file. The currently
defined DAVINCI_SYSTEM_MODULE_BASE and DM64XX_VDD3P3V_PWDN also violate the
guidance provided in comments just before those defines. They should be
moved to soc.h files too.


Thanks,
Sekhar

--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v16 1/3] davinci vpbe: changes to common files

2011-01-18 Thread Kevin Hilman
Manjunath Hadli manjunath.ha...@ti.com writes:

 Implemented a common and single mapping for DAVINCI_SYSTEM_MODULE_BASE
 to be used by all davinci platforms.

Please use a more descriptive subject.  This patch hs nothing to do with
VPBE, so  please send it as a standalone patch.

Thanks,

Kevin



 Signed-off-by: Manjunath Hadli manjunath.ha...@ti.com
 Acked-by: Muralidharan Karicheri m-kariche...@ti.com
 Acked-by: Hans Verkuil hverk...@xs4all.nl
 ---
  arch/arm/mach-davinci/common.c|4 +++-
  arch/arm/mach-davinci/devices.c   |   10 --
  arch/arm/mach-davinci/include/mach/hardware.h |5 +
  3 files changed, 12 insertions(+), 7 deletions(-)

 diff --git a/arch/arm/mach-davinci/common.c b/arch/arm/mach-davinci/common.c
 index 1d25573..949e615 100644
 --- a/arch/arm/mach-davinci/common.c
 +++ b/arch/arm/mach-davinci/common.c
 @@ -111,7 +111,9 @@ void __init davinci_common_init(struct davinci_soc_info 
 *soc_info)
   if (ret != 0)
   goto err;
   }
 -
 + davinci_sysmodbase = ioremap_nocache(DAVINCI_SYSTEM_MODULE_BASE, 0x800);
 + if (!davinci_sysmodbase)
 + goto err;
   return;
  
  err:
 diff --git a/arch/arm/mach-davinci/devices.c b/arch/arm/mach-davinci/devices.c
 index 22ebc64..2bff2d6 100644
 --- a/arch/arm/mach-davinci/devices.c
 +++ b/arch/arm/mach-davinci/devices.c
 @@ -33,6 +33,8 @@
  #define DM365_MMCSD0_BASE 0x01D11000
  #define DM365_MMCSD1_BASE 0x01D0
  
 +void __iomem  *davinci_sysmodbase;
 +
  static struct resource i2c_resources[] = {
   {
   .start  = DAVINCI_I2C_BASE,
 @@ -209,9 +211,7 @@ void __init davinci_setup_mmc(int module, struct 
 davinci_mmc_config *config)
   davinci_cfg_reg(DM355_SD1_DATA2);
   davinci_cfg_reg(DM355_SD1_DATA3);
   } else if (cpu_is_davinci_dm365()) {
 - void __iomem *pupdctl1 =
 - IO_ADDRESS(DAVINCI_SYSTEM_MODULE_BASE + 0x7c);
 -
 + void __iomem *pupdctl1 = DAVINCI_SYSMODULE_VIRT(0x7c);
   /* Configure pull down control */
   __raw_writel((__raw_readl(pupdctl1)  ~0xfc0),
   pupdctl1);
 @@ -243,9 +243,7 @@ void __init davinci_setup_mmc(int module, struct 
 davinci_mmc_config *config)
   mmcsd0_resources[2].start = IRQ_DM365_SDIOINT0;
   } else if (cpu_is_davinci_dm644x()) {
   /* REVISIT: should this be in board-init code? */
 - void __iomem *base =
 - IO_ADDRESS(DAVINCI_SYSTEM_MODULE_BASE);
 -
 + void __iomem *base = DAVINCI_SYSMODULE_VIRT(0);
   /* Power-on 3.3V IO cells */
   __raw_writel(0, base + DM64XX_VDD3P3V_PWDN);
   /*Set up the pull regiter for MMC */
 diff --git a/arch/arm/mach-davinci/include/mach/hardware.h 
 b/arch/arm/mach-davinci/include/mach/hardware.h
 index c45ba1f..5a105c4 100644
 --- a/arch/arm/mach-davinci/include/mach/hardware.h
 +++ b/arch/arm/mach-davinci/include/mach/hardware.h
 @@ -24,6 +24,11 @@
  /* System control register offsets */
  #define DM64XX_VDD3P3V_PWDN  0x48
  
 +#ifndef __ASSEMBLER__
 + extern void __iomem  *davinci_sysmodbase;
 + #define DAVINCI_SYSMODULE_VIRT(x)   (davinci_sysmodbase+(x))
 +#endif
 +
  /*
   * I/O mapping
   */
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html