Re: [PATCHv4 07/13] ARM: s3c64xx: convert to MULTI_IRQ_HANDLER
Hi Jamie, On 9 November 2011 16:55, Thomas Abraham thomas.abra...@linaro.org wrote: Hi Jamie, On 4 November 2011 06:40, Jamie Iles ja...@jamieiles.com wrote: Now that there is a generic IRQ handler for multiple VIC devices use it for s3c64xx to help building multi platform kernels. Cc: Ben Dooks ben-li...@fluff.org Signed-off-by: Jamie Iles ja...@jamieiles.com --- arch/arm/Kconfig | 1 + arch/arm/mach-s3c64xx/include/mach/entry-macro.S | 7 --- arch/arm/mach-s3c64xx/mach-anw6410.c | 2 ++ arch/arm/mach-s3c64xx/mach-crag6410.c | 2 ++ arch/arm/mach-s3c64xx/mach-hmt.c | 2 ++ arch/arm/mach-s3c64xx/mach-mini6410.c | 2 ++ arch/arm/mach-s3c64xx/mach-ncp.c | 2 ++ arch/arm/mach-s3c64xx/mach-real6410.c | 2 ++ arch/arm/mach-s3c64xx/mach-smartq5.c | 2 ++ arch/arm/mach-s3c64xx/mach-smartq7.c | 2 ++ arch/arm/mach-s3c64xx/mach-smdk6400.c | 2 ++ arch/arm/mach-s3c64xx/mach-smdk6410.c | 2 ++ 12 files changed, 25 insertions(+), 3 deletions(-) I have tested this patch series on smdk6410 board (s3c64xx) using the following repositorty and branch https://github.com/jamieiles/linux-2.6-ji.git branch: vic-dt There is a crash while booting. Am I using the right tree and branch? The following is the boot log. Is there any other config option to be enabled? By hard resetting to commit id 'f7bf800e2c0c2947e9b5839f7d2702a36ddfb71a' (ARM: omap2plus: convert to CONFIG_MULTI_IRQ_HANDLER), the board boots up fine. There is similar issue on smdkv210 (s5pv210) board as well. Thanks, Thomas. Thanks, Thomas. U-Boot 1.3.4-9-g9da84bd (Jun 8 2010 - 09:46:01) for SMDK6410 CPU: S3C6410@532MHz Fclk = 532MHz, Hclk = 133MHz, Pclk = 66MHz, Serial = CLKUART (SYNC Mode) Board: SMDK6410 DRAM: 128 MB Flash: 0 kB SD/MMC: SD/MMC channel0 is selected for booting device. 1886MB NAND: 0 MB do not support this address : 57e7c008 In: serial Out: serial Err: serial Net: smc911x Hit any key to stop autoboot: 0 SMDK6410 # SMDK6410 # SMDK6410 # SMDK6410 # setenv bootargs; setenv serverip 192.168.0.1; tftp 5100 small_root_v3.6.cramfs; tftp 50008000 zImage; bootm smc911x: initializing smc911x: detected LAN9115 controller smc911x: phy initialized smc911x: MAC 00:40:5c:26:0a:5b Using smc911x device TFTP from server 192.168.0.1; our IP address is 192.168.0.20 Filename 'small_root_v3.6.cramfs'. Load address: 0x5100 Loading: T # # done Bytes transferred = 2842624 (0x2b6000) smc911x: initializing smc911x: detected LAN9115 controller smc911x: phy initialized smc911x: MAC 00:40:5c:26:0a:5b Using smc911x device TFTP from server 192.168.0.1; our IP address is 192.168.0.20 Filename 'zImage'. Load address: 0x50008000 Loading: T # done Bytes transferred = 1534176 (0x1768e0) Boot with zImage do not support this address : 50008000 Starting kernel ... Uncompressing Linux... done, booting the kernel. 5Linux version 3.2.0-rc1-00031-gcbd9857-dirty (thomas@localhost.localdomain) (gcc version 4.4.1 (Sourcery G++ Lite 2009q3-67) ) #7 Wed Nov 9 16:35:12 IST 2011 CPU: ARMv6-compatible processor [410fb766] revision 6 (ARMv7), cr=00c5387f CPU: PIPT / VIPT nonaliasing data cache, VIPT nonaliasing instruction cache Machine: SMDK6410 4Ignoring unrecognised tag 0x41001099 Memory policy: ECC disabled, Data cache writeback CPU S3C6410 (id 0x36410100) 7s3c6410_init_clocks: initialising clocks 6S3C24XX Clocks, Copyright 2004 Simtec Electronics 3camera: no parent clock specified 7s3c6400_setup_clocks: registering clocks 7s3c6400_setup_clocks: clkdiv0 = 01043310 7s3c6400_setup_clocks: xtal is 1200 6S3C64XX: PLL settings, A=53200, M=53200, E=2400 6S3C64XX: HCLK2=26600, HCLK=13300, PCLK=6650 6mout_apll: source is fout_apll (1), rate is 53200 6mout_epll: source is epll (1), rate is 2400 6mout_mpll: source is mpll (1), rate is 53200 7s3c64xx_clk_doutmpll_get_rate: parent is 53200 6mmc_bus: source is dout_mpll (1), rate is 24181818 6mmc_bus: source is mout_epll (0), rate is 2400 6mmc_bus: source is mout_epll (0), rate is 2400 6usb-bus-host: source is clk_48m (0), rate is 4800 7s3c64xx_clk_doutmpll_get_rate: parent is 53200 6uclk1: source is dout_mpll (1), rate is 6650 6spi-bus: source is mout_epll (0), rate is 2400 6spi-bus: source is mout_epll (0), rate is 2400 6audio-bus: source is mout_epll (0), rate is 2400 6audio-bus: source is
Re: [PATCHv4 07/13] ARM: s3c64xx: convert to MULTI_IRQ_HANDLER
On Wed, Nov 09, 2011 at 04:55:06PM +0530, Thomas Abraham wrote: Hi Jamie, On 4 November 2011 06:40, Jamie Iles ja...@jamieiles.com wrote: Now that there is a generic IRQ handler for multiple VIC devices use it for s3c64xx to help building multi platform kernels. Cc: Ben Dooks ben-li...@fluff.org Signed-off-by: Jamie Iles ja...@jamieiles.com --- arch/arm/Kconfig | 1 + arch/arm/mach-s3c64xx/include/mach/entry-macro.S | 7 --- arch/arm/mach-s3c64xx/mach-anw6410.c | 2 ++ arch/arm/mach-s3c64xx/mach-crag6410.c | 2 ++ arch/arm/mach-s3c64xx/mach-hmt.c | 2 ++ arch/arm/mach-s3c64xx/mach-mini6410.c | 2 ++ arch/arm/mach-s3c64xx/mach-ncp.c | 2 ++ arch/arm/mach-s3c64xx/mach-real6410.c | 2 ++ arch/arm/mach-s3c64xx/mach-smartq5.c | 2 ++ arch/arm/mach-s3c64xx/mach-smartq7.c | 2 ++ arch/arm/mach-s3c64xx/mach-smdk6400.c | 2 ++ arch/arm/mach-s3c64xx/mach-smdk6410.c | 2 ++ 12 files changed, 25 insertions(+), 3 deletions(-) I have tested this patch series on smdk6410 board (s3c64xx) using the following repositorty and branch https://github.com/jamieiles/linux-2.6-ji.git branch: vic-dt There is a crash while booting. Am I using the right tree and branch? The following is the boot log. Is there any other config option to be enabled? Hmm, could you please try with the patch below applied? Rob, I'm not sure if this is the best fix. The alternatives I can think of would be to always export irq_domain_simple_ops even if !CONFIG_OF_IRQ but not set .dt_translate or provide a generic irq_domain_null_ops. Jamie 8 diff --git a/arch/arm/common/vic.c b/arch/arm/common/vic.c index 8c5f4b0..9a5fb9e 100644 --- a/arch/arm/common/vic.c +++ b/arch/arm/common/vic.c @@ -163,6 +163,10 @@ static int __init vic_pm_init(void) late_initcall(vic_pm_init); #endif /* CONFIG_PM */ +#ifndef CONFIG_OF_IRQ +static const struct irq_domain_ops vic_domain_null_ops; +#endif /* !CONFIG_OF_IRQ */ + /** * vic_register() - Register a VIC. * @base: The base address of the VIC. @@ -197,6 +201,8 @@ static void __init vic_register(void __iomem *base, unsigned int irq, #ifdef CONFIG_OF_IRQ v-domain.of_node = of_node_get(node); v-domain.ops = irq_domain_simple_ops; +#else /* CONFIG_OF_IRQ */ + v-domain.ops = vic_domain_null_ops; #endif /* CONFIG_OF */ irq_domain_add(v-domain); } -- To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCHv4 07/13] ARM: s3c64xx: convert to MULTI_IRQ_HANDLER
On 9 November 2011 17:24, Jamie Iles ja...@jamieiles.com wrote: On Wed, Nov 09, 2011 at 04:55:06PM +0530, Thomas Abraham wrote: Hi Jamie, On 4 November 2011 06:40, Jamie Iles ja...@jamieiles.com wrote: Now that there is a generic IRQ handler for multiple VIC devices use it for s3c64xx to help building multi platform kernels. Cc: Ben Dooks ben-li...@fluff.org Signed-off-by: Jamie Iles ja...@jamieiles.com --- arch/arm/Kconfig | 1 + arch/arm/mach-s3c64xx/include/mach/entry-macro.S | 7 --- arch/arm/mach-s3c64xx/mach-anw6410.c | 2 ++ arch/arm/mach-s3c64xx/mach-crag6410.c | 2 ++ arch/arm/mach-s3c64xx/mach-hmt.c | 2 ++ arch/arm/mach-s3c64xx/mach-mini6410.c | 2 ++ arch/arm/mach-s3c64xx/mach-ncp.c | 2 ++ arch/arm/mach-s3c64xx/mach-real6410.c | 2 ++ arch/arm/mach-s3c64xx/mach-smartq5.c | 2 ++ arch/arm/mach-s3c64xx/mach-smartq7.c | 2 ++ arch/arm/mach-s3c64xx/mach-smdk6400.c | 2 ++ arch/arm/mach-s3c64xx/mach-smdk6410.c | 2 ++ 12 files changed, 25 insertions(+), 3 deletions(-) I have tested this patch series on smdk6410 board (s3c64xx) using the following repositorty and branch https://github.com/jamieiles/linux-2.6-ji.git branch: vic-dt There is a crash while booting. Am I using the right tree and branch? The following is the boot log. Is there any other config option to be enabled? Hmm, could you please try with the patch below applied? Rob, I'm not sure if this is the best fix. The alternatives I can think of would be to always export irq_domain_simple_ops even if !CONFIG_OF_IRQ but not set .dt_translate or provide a generic irq_domain_null_ops. Jamie 8 diff --git a/arch/arm/common/vic.c b/arch/arm/common/vic.c index 8c5f4b0..9a5fb9e 100644 --- a/arch/arm/common/vic.c +++ b/arch/arm/common/vic.c @@ -163,6 +163,10 @@ static int __init vic_pm_init(void) late_initcall(vic_pm_init); #endif /* CONFIG_PM */ +#ifndef CONFIG_OF_IRQ +static const struct irq_domain_ops vic_domain_null_ops; +#endif /* !CONFIG_OF_IRQ */ + /** * vic_register() - Register a VIC. * @base: The base address of the VIC. @@ -197,6 +201,8 @@ static void __init vic_register(void __iomem *base, unsigned int irq, #ifdef CONFIG_OF_IRQ v-domain.of_node = of_node_get(node); v-domain.ops = irq_domain_simple_ops; +#else /* CONFIG_OF_IRQ */ + v-domain.ops = vic_domain_null_ops; #endif /* CONFIG_OF */ irq_domain_add(v-domain); } This patch solves the issue and both smdk6410 and smdkv210 works fine. Thanks, Thomas. -- To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCHv4 07/13] ARM: s3c64xx: convert to MULTI_IRQ_HANDLER
On 11/09/2011 05:54 AM, Jamie Iles wrote: On Wed, Nov 09, 2011 at 04:55:06PM +0530, Thomas Abraham wrote: Hi Jamie, On 4 November 2011 06:40, Jamie Iles ja...@jamieiles.com wrote: Now that there is a generic IRQ handler for multiple VIC devices use it for s3c64xx to help building multi platform kernels. Cc: Ben Dooks ben-li...@fluff.org Signed-off-by: Jamie Iles ja...@jamieiles.com --- arch/arm/Kconfig |1 + arch/arm/mach-s3c64xx/include/mach/entry-macro.S |7 --- arch/arm/mach-s3c64xx/mach-anw6410.c |2 ++ arch/arm/mach-s3c64xx/mach-crag6410.c|2 ++ arch/arm/mach-s3c64xx/mach-hmt.c |2 ++ arch/arm/mach-s3c64xx/mach-mini6410.c|2 ++ arch/arm/mach-s3c64xx/mach-ncp.c |2 ++ arch/arm/mach-s3c64xx/mach-real6410.c|2 ++ arch/arm/mach-s3c64xx/mach-smartq5.c |2 ++ arch/arm/mach-s3c64xx/mach-smartq7.c |2 ++ arch/arm/mach-s3c64xx/mach-smdk6400.c|2 ++ arch/arm/mach-s3c64xx/mach-smdk6410.c|2 ++ 12 files changed, 25 insertions(+), 3 deletions(-) I have tested this patch series on smdk6410 board (s3c64xx) using the following repositorty and branch https://github.com/jamieiles/linux-2.6-ji.git branch: vic-dt There is a crash while booting. Am I using the right tree and branch? The following is the boot log. Is there any other config option to be enabled? Hmm, could you please try with the patch below applied? Rob, I'm not sure if this is the best fix. The alternatives I can think of would be to always export irq_domain_simple_ops even if !CONFIG_OF_IRQ but not set .dt_translate or provide a generic irq_domain_null_ops. Jamie There is a simple fix: @@ -74,7 +76,7 @@ struct irq_domain { static inline unsigned int irq_domain_to_irq(struct irq_domain *d, unsigned long hwirq) { - if (d-ops-to_irq) + if (d-ops d-ops-to_irq) return d-ops-to_irq(d, hwirq); if (WARN_ON(hwirq d-hwirq_base)) return 0; I'll prepare a patch and send to tglx. Rob 8 diff --git a/arch/arm/common/vic.c b/arch/arm/common/vic.c index 8c5f4b0..9a5fb9e 100644 --- a/arch/arm/common/vic.c +++ b/arch/arm/common/vic.c @@ -163,6 +163,10 @@ static int __init vic_pm_init(void) late_initcall(vic_pm_init); #endif /* CONFIG_PM */ +#ifndef CONFIG_OF_IRQ +static const struct irq_domain_ops vic_domain_null_ops; +#endif /* !CONFIG_OF_IRQ */ + /** * vic_register() - Register a VIC. * @base: The base address of the VIC. @@ -197,6 +201,8 @@ static void __init vic_register(void __iomem *base, unsigned int irq, #ifdef CONFIG_OF_IRQ v-domain.of_node = of_node_get(node); v-domain.ops = irq_domain_simple_ops; +#else /* CONFIG_OF_IRQ */ + v-domain.ops = vic_domain_null_ops; #endif /* CONFIG_OF */ irq_domain_add(v-domain); } -- To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCHv4 07/13] ARM: s3c64xx: convert to MULTI_IRQ_HANDLER
On Wed, Nov 09, 2011 at 08:50:33AM -0600, Rob Herring wrote: On 11/09/2011 05:54 AM, Jamie Iles wrote: On Wed, Nov 09, 2011 at 04:55:06PM +0530, Thomas Abraham wrote: Hi Jamie, On 4 November 2011 06:40, Jamie Iles ja...@jamieiles.com wrote: Now that there is a generic IRQ handler for multiple VIC devices use it for s3c64xx to help building multi platform kernels. Cc: Ben Dooks ben-li...@fluff.org Signed-off-by: Jamie Iles ja...@jamieiles.com --- arch/arm/Kconfig |1 + arch/arm/mach-s3c64xx/include/mach/entry-macro.S |7 --- arch/arm/mach-s3c64xx/mach-anw6410.c |2 ++ arch/arm/mach-s3c64xx/mach-crag6410.c|2 ++ arch/arm/mach-s3c64xx/mach-hmt.c |2 ++ arch/arm/mach-s3c64xx/mach-mini6410.c|2 ++ arch/arm/mach-s3c64xx/mach-ncp.c |2 ++ arch/arm/mach-s3c64xx/mach-real6410.c|2 ++ arch/arm/mach-s3c64xx/mach-smartq5.c |2 ++ arch/arm/mach-s3c64xx/mach-smartq7.c |2 ++ arch/arm/mach-s3c64xx/mach-smdk6400.c|2 ++ arch/arm/mach-s3c64xx/mach-smdk6410.c|2 ++ 12 files changed, 25 insertions(+), 3 deletions(-) I have tested this patch series on smdk6410 board (s3c64xx) using the following repositorty and branch https://github.com/jamieiles/linux-2.6-ji.git branch: vic-dt There is a crash while booting. Am I using the right tree and branch? The following is the boot log. Is there any other config option to be enabled? Hmm, could you please try with the patch below applied? Rob, I'm not sure if this is the best fix. The alternatives I can think of would be to always export irq_domain_simple_ops even if !CONFIG_OF_IRQ but not set .dt_translate or provide a generic irq_domain_null_ops. Jamie There is a simple fix: @@ -74,7 +76,7 @@ struct irq_domain { static inline unsigned int irq_domain_to_irq(struct irq_domain *d, unsigned long hwirq) { - if (d-ops-to_irq) + if (d-ops d-ops-to_irq) return d-ops-to_irq(d, hwirq); if (WARN_ON(hwirq d-hwirq_base)) return 0; I'll prepare a patch and send to tglx. I did wonder about that, but that means we do it differently for ops-dt_translate (though that really should be there if it's required). It works for me though! Jamie -- To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: Pet Peaves about Platform code, and arch_reset
* Tony Lindgren t...@atomide.com [07 16:11]: * Russell King - ARM Linux li...@arm.linux.org.uk [06 05:18]: Here's a list of my peaves about current platform code - which are causing me great issue when trying to clean up the arch_reset() stuff: 1. Lack of trailing ',' on structure initializers This makes it much harder to add additional initializers at the end of existing initializers, and increases the risks of conflicts being caused due to more lines having to be modified. (This won't work directly because the tabs have been converted to space. The empty-looking [] contain a space plus a tab.) $ grep '[ ][ ]*\.[[:alnum:]_][[:alnum:]_]*[ ]*=[ ]*[[:alnum:]_{][[:alnum:]_|()}]*[^,]$' arch/arm -r|wc -l 768 $ grep '[ ][ ]*\.[[:alnum:]_][[:alnum:]_]*[ ]*=[ ]*[[:alnum:]_{][[:alnum:]_|()}]*[^,]$' arch/arm/*omap* -r|wc -l 325 Note that this is _far_ too big a problem - and trivial - to fix in a set of silly churn generating patches - it's a problem to be fixed as a part of _other_ changes to the files. But most importantly _stop_ introducing versions of this problem. Sounds like we need a spatch for this issue? I guess spatch would need some patching to deal with this.. I tried with something like: @r@ identifier I, s, fld; position p0,p; expression E; @@ struct I s =@p0 { ... - .fld@p = E, + .fld = E, ... }; That catches them, but adds an extra comma in the beginning :) --- a/ams-delta-fiq.c 2011-11-08 18:03:20.110707512 -0800 +++ b/ams-delta-fiq.c 2011-11-08 18:04:36.094948038 -0800 @@ -25,7 +25,7 @@ #include mach/ams-delta-fiq.h static struct fiq_handler fh = { - .name = ams-delta-fiq + ,.name = ams-delta-fiq, }; /* And it also messes up the formatting for other structs.. Anyways, I think I got most of these fixed for all ARM subarchitectures in a pile of 72 patches, the stats are: 486 files changed, 2296 insertions(+), 2296 deletions(-) This is something people can then use as a base to start chipping away at the problem. I'm thinking it may be possible to use this as a base for search and replacement type work and then hopefully git mergetool will pick the relevant changes when rebasing a working branch to the mainline. I can also post the patches here if people want, but sounds like we're not going to merge them as they are, but instead will slowly fix the issue in other related patches? I've pushed the patches into a git branch at: git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap formatting: Web interface at: http://git.kernel.org/?p=linux/kernel/git/tmlind/linux-omap.git;a=shortlog;h=refs/heads/formatting Regards, Tony -- To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: s3c2440 / s3c2416 broken
On 10 November 2011 05:00, Paul Schilling paul.s.schill...@gmail.com wrote: Boot past init slow - stalled when using jffs2 also. On Wed, Nov 9, 2011 at 4:12 PM, Paul Schilling paul.s.schill...@gmail.com wrote: Latest kernel 3.2.0-rc1 appears to break the following processors s3c2440 and s3c2416 both appear to stall when init is executed on NFS. Also I lost HSMMC on the s3c2416. Could you post a boot log of the kernel on the s3c2440 and s3c2416 boards? Thanks, Thomas. Thanks, Paul ___ linux-arm-kernel mailing list linux-arm-ker...@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel -- To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 1/3] ARM: EXYNOS: Add ASV feature for Exynos4 series
On Thu, Oct 27, 2011 at 10:12 AM, Jongpill Lee boyko@samsung.com wrote: This patch adds ASV feature for exynos4 seires. Asv(Adoptive support voltage) feature support to get spec of SoC. And we can use to adjust voltage for operation SoC usign by ASV result. Signed-off-by: Jongpill Lee boyko@samsung.com --- arch/arm/mach-exynos4/Makefile | 2 +- arch/arm/mach-exynos4/asv.c | 78 ++ arch/arm/mach-exynos4/include/mach/asv.h | 42 3 files changed, 121 insertions(+), 1 deletions(-) create mode 100644 arch/arm/mach-exynos4/asv.c create mode 100644 arch/arm/mach-exynos4/include/mach/asv.h Hello, As long as we have mach/asv.h in our hands, we can have the ASV value stored at the common place declared by this asv.h rather than at INFORM2 as I've mentioned before at another thread. This location mach/asv.h seems the perfect location for the purpose. Besides, now, with Exynos4x12s, I start to hear cases where all the INFORMx registers are fully used; thus, it seems that it's time to remove unnecessary usage of the registers. Cheers! MyungJoo -- MyungJoo Ham, Ph.D. Mobile Software Platform Lab, DMC Business, Samsung Electronics -- To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH V9] mmc: core: Add Power Off Notify Feature eMMC 4.5
On 8 November 2011 15:18, Sahitya Tummala stumm...@codeaurora.org wrote: Hi Girish, On 10/18/2011 10:35 AM, Girish K S wrote: This patch adds the support for power off notify feature, available in eMMC 4.5 devices. If the the host has support for this feature, then the mmc core will notify it to the device by setting the POWER_OFF_NOTIFICATION byte in the extended csd register with a value 1(POWER_ON). For suspend mode short timeout is used, whereas for the normal poweroff long timeout is used. cc: Chris Ballc...@laptop.org Signed-off-by: Girish K Sgirish.shivananja...@linaro.org Signed-off-by: Jaehoon Chungjh80.ch...@samsung.com --- Changes in V9: Removed the macros not related with the PowerOff notify feature. The previous patch with commit id bd3151f6c55c553bed2c0df72792841457b75bb5 should be deleted before applying this patch. Changes in V8: Updated with review comments of Chris Ball and rebased to chris-mmc/mmc-next branch. Changes in V7: Rebased to chris-mmc/mmc-next branch. merged to patches to single patch. Changes in V6: Fixes checkpatch errors. The patches are generated after rebasing to chris's mmc-next branch. Changes in V5: This patch version fixes the problem with power off notify function, when called for the first time and card is not yet initialised. Changes in V4: Updated with review comments of Jeon Changes in V2: Adds poweroff notification handling in suspend/normal. drivers/mmc/core/core.c | 34 ++ drivers/mmc/core/mmc.c | 23 +-- drivers/mmc/host/sdhci.c | 9 + include/linux/mmc/card.h | 6 ++ include/linux/mmc/host.h | 5 + include/linux/mmc/mmc.h | 6 ++ 6 files changed, 81 insertions(+), 2 deletions(-) diff --git a/drivers/mmc/core/core.c b/drivers/mmc/core/core.c index 61d7730..b1eca96 100644 --- a/drivers/mmc/core/core.c +++ b/drivers/mmc/core/core.c @@ -1212,11 +1212,43 @@ static void mmc_power_up(struct mmc_host *host) void mmc_power_off(struct mmc_host *host) { + struct mmc_card *card; + unsigned int notify_type; + unsigned int timeout; + int err; + mmc_host_clk_hold(host); + card = host-card; host-ios.clock = 0; host-ios.vdd = 0; + if (card mmc_card_mmc(card) + card-poweroff_notify_state == MMC_POWERED_ON) { + + if (host-power_notify_type == MMC_HOST_PW_NOTIFY_SHORT) { + notify_type = EXT_CSD_POWER_OFF_SHORT; + timeout = card-ext_csd.generic_cmd6_time; + card-poweroff_notify_state = MMC_POWEROFF_SHORT; + } else { + notify_type = EXT_CSD_POWER_OFF_LONG; + timeout = card-ext_csd.power_off_longtime; + card-poweroff_notify_state = MMC_POWEROFF_LONG; + } + + err = mmc_switch(card, EXT_CSD_CMD_SET_NORMAL, + EXT_CSD_POWER_OFF_NOTIFICATION, + notify_type, timeout); During suspend, the device can already be in sleep state (CMD5) before mmc_power_off() is called from mmc_suspend_host(). As per eMMC specification, when the device is in sleep state, it can only respond to RESET commands (CMD0 with argument of either 0x or 0xF0F0F0F0 or H/W reset) and awake command (CMD5). So, how does this switch going to happen (CMD6) if it is in sleep state? Thanks Sahitya. Will handle the situation of sending the switch command in mmc_suspend_host function before the device goes to sleep. Thanks, Sahitya. -- Sent by a consultant of the Qualcomm Innovation Center, Inc. The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum. -- To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 1/3] ARM: EXYNOS: Add ASV feature for Exynos4 series
On Sat, Oct 29, 2011 at 3:48 AM, Sylwester Nawrocki snj...@gmail.com wrote: You're putting whole driver under arch/arm/, I'm wondering whether the functionality it provides could be handled by some generic framework, like cpufreq or devfreq. How this driver is different from cpufreq drivers ? I think there would be futher usage with ASV if IEM and proper PMICs are attaches; however, for now, ASV guides proper vddarm and vddint voltages for each freuquency. Both drivers in cpufreq(vddarm and arm core freq) and devfreq(vddint and memory/bus freq.. and GPU or MMC later?) should use the result value of ASV because they both alter voltages according to the ASV value. Thus, if this is going to be located in drivers/, it'd better be in elsewhere (drivers/misc? drivers/hwmon? ..???) and capable of providing values to other device drivers, at least to cpufreq and devfreq drivers. Cheers! MyungJoo -- Thanks, Sylwester -- To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html -- MyungJoo Ham, Ph.D. Mobile Software Platform Lab, DMC Business, Samsung Electronics -- To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: s3c2440 / s3c2416 broken
Hi Paul, Am Donnerstag, 10. November 2011, 01:14:59 schrieb Thomas Abraham: On 10 November 2011 05:00, Paul Schilling paul.s.schill...@gmail.com wrote: Boot past init slow - stalled when using jffs2 also. On Wed, Nov 9, 2011 at 4:12 PM, Paul Schilling paul.s.schill...@gmail.com wrote: Latest kernel 3.2.0-rc1 appears to break the following processors s3c2440 and s3c2416 both appear to stall when init is executed on NFS. Also I lost HSMMC on the s3c2416. Could you post a boot log of the kernel on the s3c2440 and s3c2416 boards? Also, is your out-of-tree kernel code available somewhere? [1] As my S3C2416 based platform didn't show any problems and has working hsmmc with 3.2-rc1 it would be cool to be able to compare both and see if we differ somehow. Heiko [1] Mine's at https://gitorious.org/oyo-hack/kernel/commits/topic/board/sg060 -- To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html