Rafael J. Wysocki | 1 May 2012 21:17
Picon
Gravatar

Re: [PATCH] drivers: genpd: let platform code to register devices into disabled domains

On Sunday, April 29, 2012, Rafael J. Wysocki wrote:
> On Friday, April 06, 2012, Marek Szyprowski wrote:
> > Some bootloaders disable power domains on boot and the platform startup
> > code registers them in the 'disabled' state. Current gen_pd code assumed
> > that the devices can be registered only to the power domain which is in
> > 'enabled' state and these devices are active at the time of the
> > registration. This is not correct in our case. This patch lets drivers
> > to be registered into 'disabled' power domains and finally solves
> > mysterious freezes and lack of resume/suspend calls on Samsung Exynos4
> > NURI and UniversalC210 platforms.
> > 
> > Signed-off-by: Marek Szyprowski <m.szyprowski <at> samsung.com>
> > Signed-off-by: Kyungmin Park <kyungmin.park <at> samsung.com>
> > ---
> >  drivers/base/power/domain.c |    7 +------
> >  1 files changed, 1 insertions(+), 6 deletions(-)
> > 
> > diff --git a/drivers/base/power/domain.c b/drivers/base/power/domain.c
> > index 73ce9fb..05f5799f 100644
> > --- a/drivers/base/power/domain.c
> > +++ b/drivers/base/power/domain.c
> >  <at>  <at>  -1211,11 +1211,6  <at>  <at>  int __pm_genpd_add_device(struct generic_pm_domain *genpd, struct device *dev,
> >  
> >  	genpd_acquire_lock(genpd);
> >  
> > -	if (genpd->status == GPD_STATE_POWER_OFF) {
> > -		ret = -EINVAL;
> > -		goto out;
> > -	}
> > -
(Continue reading)

Kyungmin Park | 2 May 2012 07:03

Re: [PATCH] drivers: genpd: let platform code to register devices into disabled domains

On 5/2/12, Rafael J. Wysocki <rjw <at> sisk.pl> wrote:
> On Sunday, April 29, 2012, Rafael J. Wysocki wrote:
>> On Friday, April 06, 2012, Marek Szyprowski wrote:
>> > Some bootloaders disable power domains on boot and the platform startup
>> > code registers them in the 'disabled' state. Current gen_pd code
>> > assumed
>> > that the devices can be registered only to the power domain which is in
>> > 'enabled' state and these devices are active at the time of the
>> > registration. This is not correct in our case. This patch lets drivers
>> > to be registered into 'disabled' power domains and finally solves
>> > mysterious freezes and lack of resume/suspend calls on Samsung Exynos4
>> > NURI and UniversalC210 platforms.
>> >
>> > Signed-off-by: Marek Szyprowski <m.szyprowski <at> samsung.com>
>> > Signed-off-by: Kyungmin Park <kyungmin.park <at> samsung.com>
>> > ---
>> >  drivers/base/power/domain.c |    7 +------
>> >  1 files changed, 1 insertions(+), 6 deletions(-)
>> >
>> > diff --git a/drivers/base/power/domain.c b/drivers/base/power/domain.c
>> > index 73ce9fb..05f5799f 100644
>> > --- a/drivers/base/power/domain.c
>> > +++ b/drivers/base/power/domain.c
>> >  <at>  <at>  -1211,11 +1211,6  <at>  <at>  int __pm_genpd_add_device(struct
>> > generic_pm_domain *genpd, struct device *dev,
>> >
>> >  	genpd_acquire_lock(genpd);
>> >
>> > -	if (genpd->status == GPD_STATE_POWER_OFF) {
>> > -		ret = -EINVAL;
(Continue reading)

Thomas Abraham | 2 May 2012 07:07
Favicon
Gravatar

[PATCH 5/7] ARM: Samsung: Add support for MSHC controller clocks

Add clock instances for bus interface unit clock and card interface unit
clock of the all four MSHC controller instances.

Signed-off-by: Abhilash Kesavan <a.kesavan <at> samsung.com>
Signed-off-by: Thomas Abraham <thomas.abraham <at> linaro.org>
---
 arch/arm/mach-exynos/clock-exynos5.c |   45 ++++++++++++----------------------
 1 files changed, 16 insertions(+), 29 deletions(-)

diff --git a/arch/arm/mach-exynos/clock-exynos5.c b/arch/arm/mach-exynos/clock-exynos5.c
index 7c0f810..4e17131 100644
--- a/arch/arm/mach-exynos/clock-exynos5.c
+++ b/arch/arm/mach-exynos/clock-exynos5.c
 <at>  <at>  -524,35 +524,30  <at>  <at>  static struct clk exynos5_init_clocks_off[] = {
 		.enable		= exynos5_clk_ip_peris_ctrl,
 		.ctrlbit	= (1 << 19),
 	}, {
-		.name		= "hsmmc",
-		.devname	= "exynos4-sdhci.0",
+		.name		= "biu",
+		.devname	= "dw_mmc.0",
 		.parent		= &exynos5_clk_aclk_200.clk,
 		.enable		= exynos5_clk_ip_fsys_ctrl,
 		.ctrlbit	= (1 << 12),
 	}, {
-		.name		= "hsmmc",
-		.devname	= "exynos4-sdhci.1",
+		.name		= "biu",
+		.devname	= "dw_mmc.1",
 		.parent		= &exynos5_clk_aclk_200.clk,
(Continue reading)

Kyungmin Park | 2 May 2012 09:01
Favicon

Re: [PATCH 4/7] mmc: dw_mmc: add samsung exynos5250 specific extentions

Hi,

On 5/2/12, Thomas Abraham <thomas.abraham <at> linaro.org> wrote:
> The instantiation of the Synopsis Designware controller on Exynos5250
> include extension for SDR and DDR specific tx/rx phase shift timing
> and CIU internal divider. In addition to that, the option to skip the
> command hold stage is also introduced. Add support for these Exynos5250
> specfic extenstions.
>
> Signed-off-by: Abhilash Kesavan <a.kesavan <at> samsung.com>
> Signed-off-by: Thomas Abraham <thomas.abraham <at> linaro.org>
> ---
>  .../devicetree/bindings/mmc/synposis-dw-mshc.txt   |   33
> +++++++++++++++++++-
>  drivers/mmc/host/dw_mmc-pltfm.c                    |    8 +++++
>  drivers/mmc/host/dw_mmc.c                          |   32
> ++++++++++++++++++-
>  drivers/mmc/host/dw_mmc.h                          |   13 ++++++++
>  include/linux/mmc/dw_mmc.h                         |    6 +++
>  5 files changed, 89 insertions(+), 3 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/mmc/synposis-dw-mshc.txt
> b/Documentation/devicetree/bindings/mmc/synposis-dw-mshc.txt
> index c1ed70e..465fc31 100644
> --- a/Documentation/devicetree/bindings/mmc/synposis-dw-mshc.txt
> +++ b/Documentation/devicetree/bindings/mmc/synposis-dw-mshc.txt
>  <at>  <at>  -7,6 +7,8  <at>  <at>  Required Properties:
>
>  * compatible: should be one of the following
>  	- synopsis,dw-mshc: for controllers compliant with synopsis dw-mshc.
(Continue reading)

Kyungmin Park | 2 May 2012 09:04
Favicon

Re: [PATCH 5/7] ARM: Samsung: Add support for MSHC controller clocks

Hi Thomas,

I suggest to split the patches into mmc part and samsung specific
part. As you know previous time there's mismatch between mmc and
samsung. So split the patches and send it  separately to avoid merge
conflict and mismatch.

I think regardless mmc changes, it can be merged into samsung tree directly.

Thank you,
Kyungmin Park

On 5/2/12, Thomas Abraham <thomas.abraham <at> linaro.org> wrote:
> Add clock instances for bus interface unit clock and card interface unit
> clock of the all four MSHC controller instances.
>
> Signed-off-by: Abhilash Kesavan <a.kesavan <at> samsung.com>
> Signed-off-by: Thomas Abraham <thomas.abraham <at> linaro.org>
> ---
>  arch/arm/mach-exynos/clock-exynos5.c |   45
> ++++++++++++----------------------
>  1 files changed, 16 insertions(+), 29 deletions(-)
>
> diff --git a/arch/arm/mach-exynos/clock-exynos5.c
> b/arch/arm/mach-exynos/clock-exynos5.c
> index 7c0f810..4e17131 100644
> --- a/arch/arm/mach-exynos/clock-exynos5.c
> +++ b/arch/arm/mach-exynos/clock-exynos5.c
>  <at>  <at>  -524,35 +524,30  <at>  <at>  static struct clk exynos5_init_clocks_off[] = {
>  		.enable		= exynos5_clk_ip_peris_ctrl,
(Continue reading)

Will Newton | 2 May 2012 11:07
Picon

Re: [PATCH] mmc: dw_mmc: make multiple instances of dw_mci_card_workqueue

On Tue, May 1, 2012 at 10:57 PM, Thomas Abraham
<thomas.abraham <at> linaro.org> wrote:
> The variable 'dw_mci_card_workqueue' is a global variable shared between
> multiple instances of the dw_mmc host controller. Due to this, data
> corruption has been noticed when multiple instances of dw_mmc controllers
> are actively reading/writing the media. Fix this by adding a instance
> of 'struct workqueue_struct' for each host instance and removing the
> global 'dw_mci_card_workqueue' instance.
>
> Signed-off-by: Thomas Abraham <thomas.abraham <at> linaro.org>
> ---
>  drivers/mmc/host/dw_mmc.c  |   14 ++++++--------
>  include/linux/mmc/dw_mmc.h |    1 +
>  2 files changed, 7 insertions(+), 8 deletions(-)

Looks good.

Acked-by: Will Newton <will.newton <at> imgtec.com>
Will Newton | 2 May 2012 11:17
Picon

Re: [PATCH 1/7] mmc: dw_mmc: lookup for optional biu and ciu clocks

On Wed, May 2, 2012 at 6:07 AM, Thomas Abraham
<thomas.abraham <at> linaro.org> wrote:
> Some platforms allow for clock gating and control of bus interface unit clock
> and card interface unit clock. Add support for clock lookup of optional biu
> and ciu clocks for clock gating and clock speed determination.
>
> Signed-off-by: Abhilash Kesavan <a.kesavan <at> samsung.com>
> Signed-off-by: Thomas Abraham <thomas.abraham <at> linaro.org>
> ---
>  drivers/mmc/host/dw_mmc.c  |   35 +++++++++++++++++++++++++++++++----
>  include/linux/mmc/dw_mmc.h |    4 ++++
>  2 files changed, 35 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c
> index 1532357..036846f 100644
> --- a/drivers/mmc/host/dw_mmc.c
> +++ b/drivers/mmc/host/dw_mmc.c
>  <at>  <at>  -1938,19 +1938,35  <at>  <at>  int dw_mci_probe(struct dw_mci *host)
>                return -ENODEV;
>        }
>
> -       if (!host->pdata->bus_hz) {
> +       host->biu_clk = clk_get(&host->dev, "biu");
> +       if (IS_ERR(host->biu_clk))
> +               dev_info(&host->dev, "biu clock not available\n");
> +       else
> +               clk_enable(host->biu_clk);
> +
> +       host->ciu_clk = clk_get(&host->dev, "ciu");
> +       if (IS_ERR(host->ciu_clk))
(Continue reading)

Olof Johansson | 2 May 2012 19:57

Re: [PATCH 19/20] ARM: Exynos5: Add combiner, wakeup interrupt controller and ethernet nodes

Hi,

[adding devicetree-discuss]

On Mon, Apr 30, 2012 at 12:14 PM, Thomas Abraham
<thomas.abraham <at> linaro.org> wrote:
> And interrupt combiner, external interrupt wakeup interrupt controller
> and smsc9215 lan controller nodes.
>
> Signed-off-by: Thomas Abraham <thomas.abraham <at> linaro.org>
> ---
>  arch/arm/boot/dts/exynos5250-smdk5250.dts |   11 ++++++
>  arch/arm/boot/dts/exynos5250.dtsi         |   55 +++++++++++++++++++++++++++++
>  2 files changed, 66 insertions(+), 0 deletions(-)
>
> diff --git a/arch/arm/boot/dts/exynos5250-smdk5250.dts b/arch/arm/boot/dts/exynos5250-smdk5250.dts
> index bcc4b89..dbc4bdb 100644
> --- a/arch/arm/boot/dts/exynos5250-smdk5250.dts
> +++ b/arch/arm/boot/dts/exynos5250-smdk5250.dts
>  <at>  <at>  -24,6 +24,17  <at>  <at> 
>                bootargs = "root=/dev/ram0 rw ramdisk=8192 console=ttySAC1,115200";
>        };
>
> +       lan9215 <at> 0x05000000 {
> +               compatible = "smsc,lan9215", "smsc,lan9115";
> +               reg = <0x05000000 0x20000>;
> +               interrupts = <5 0>;
> +               interrupt-parent = <&wakeup_eint>;
> +               phy-mode = "mii";
> +               smsc,irq-push-pull;
(Continue reading)

Olof Johansson | 2 May 2012 20:07

Re: [PATCH 3/7] mmc: dw_mmc: add device tree support

Hi,

On Tue, May 1, 2012 at 10:07 PM, Thomas Abraham
<thomas.abraham <at> linaro.org> wrote:
> Add device tree based discovery support.
>
> Signed-off-by: Thomas Abraham <thomas.abraham <at> linaro.org>
> ---
>  .../devicetree/bindings/mmc/synposis-dw-mshc.txt   |   85 +++++++++
>  drivers/mmc/host/dw_mmc-pltfm.c                    |   24 +++
>  drivers/mmc/host/dw_mmc.c                          |  181 +++++++++++++++++++-
>  drivers/mmc/host/dw_mmc.h                          |   10 +
>  include/linux/mmc/dw_mmc.h                         |    2 +
>  5 files changed, 296 insertions(+), 6 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/mmc/synposis-dw-mshc.txt
>
> diff --git a/Documentation/devicetree/bindings/mmc/synposis-dw-mshc.txt b/Documentation/devicetree/bindings/mmc/synposis-dw-mshc.txt
> new file mode 100644
> index 0000000..c1ed70e
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/mmc/synposis-dw-mshc.txt
>  <at>  <at>  -0,0 +1,85  <at>  <at> 
> +* Synopsis Designware Mobile Storage Host Controller
> +
> +The Synopsis designware mobile storage host controller is used to interface
> +a SoC with storage medium such as eMMC or SD/MMC cards.
> +
> +Required Properties:
> +
> +* compatible: should be one of the following
(Continue reading)

Olof Johansson | 2 May 2012 21:55

Re: [PATCH 18/20] ARM: dts: Update device tree source files for EXYNOS5250

Hi,

On Mon, Apr 30, 2012 at 12:14 PM, Thomas Abraham
<thomas.abraham <at> linaro.org> wrote:
> Updated EXYNOS5 device tree source files to reflect changes in rev1
> of EXYNOS5 SoC. This includes new additions to the EXYNOS5 dtsi and
> SMDK5250 dts files and few minor fixes.
>
> Signed-off-by: Thomas Abraham <thomas.abraham <at> linaro.org>
> Signed-off-by: Kukjin Kim <kgene.kim <at> samsung.com>
> ---
>  arch/arm/boot/dts/exynos5250-smdk5250.dts |   52 +++++++++++++++++++++++++++++
>  arch/arm/boot/dts/exynos5250.dtsi         |   44 +++++++-----------------
>  2 files changed, 65 insertions(+), 31 deletions(-)
>
> diff --git a/arch/arm/boot/dts/exynos5250-smdk5250.dts b/arch/arm/boot/dts/exynos5250-smdk5250.dts
> index 399d17b..bcc4b89 100644
> --- a/arch/arm/boot/dts/exynos5250-smdk5250.dts
> +++ b/arch/arm/boot/dts/exynos5250-smdk5250.dts
>  <at>  <at>  -23,4 +23,56  <at>  <at> 
>        chosen {
>                bootargs = "root=/dev/ram0 rw ramdisk=8192 console=ttySAC1,115200";
>        };
> +
> +       i2c <at> 12C60000 {
> +               #address-cells = <1>;
> +               #size-cells = <0>;

Two nits:

(Continue reading)


Gmane