[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20160229220444.GQ13417@atomide.com>
Date: Mon, 29 Feb 2016 14:04:45 -0800
From: Tony Lindgren <tony@...mide.com>
To: Franklin S Cooper Jr <fcooper@...com>
Cc: paul@...an.com, t-kristo@...com, vigneshr@...com,
linux-pwm@...r.kernel.org, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-omap@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org, linux-clk@...r.kernel.org
Subject: Re: [PATCH v3 1/5] pwms: pwm-ti*: Remove support for local clock
gating
* Franklin S Cooper Jr <fcooper@...com> [160225 14:37]:
> The PWMSS local clock gating registers have no real purpose on OMAP ARM
> devices. These registers were left over registers from DSP IP where the
> PRCM doesn't exist. There is a silicon bug where gating and ungating clocks
> don't function properly. TRMs will be update to indicate that these
> registers shouldn't be touched.
>
> Therefore, all code that accesses the PWMSS_CLKCONFIG or PWMSS_CLKSTATUS
> will be removed by this patch with zero loss of functionality by the ECAP
> and EPWM drivers.
> @@ -243,40 +240,15 @@ static int ecap_pwm_probe(struct platform_device *pdev)
> }
>
> pm_runtime_enable(&pdev->dev);
> - pm_runtime_get_sync(&pdev->dev);
> -
> - status = pwmss_submodule_state_change(pdev->dev.parent,
> - PWMSS_ECAPCLK_EN);
> - if (!(status & PWMSS_ECAPCLK_EN_ACK)) {
> - dev_err(&pdev->dev, "PWMSS config space clock enable failed\n");
> - ret = -EINVAL;
> - goto pwmss_clk_failure;
> - }
> -
> - pm_runtime_put_sync(&pdev->dev);
>
> platform_set_drvdata(pdev, pc);
> return 0;
> -
> -pwmss_clk_failure:
> - pm_runtime_put_sync(&pdev->dev);
> - pm_runtime_disable(&pdev->dev);
> - pwmchip_remove(&pc->chip);
> - return ret;
> }
Hmm but why are you also removing the pm_runtime calls? Those
actually do take care of gating the clocks via the interconnect
level code that is hwmod in this case.
Regards,
Tony
Powered by blists - more mailing lists