Re: [git:v4l-dvb/for_v3.7] [media] omap3isp: Replace cpu_is_omap3630() with ISP revision check

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Mauro,

On Saturday 06 October 2012 17:31:58 Mauro Carvalho Chehab wrote:
> This is an automatic generated email to let you know that the following
> patch were queued at the http://git.linuxtv.org/media_tree.git tree:

Please don't. I haven't even sent a pull request for that patch. I don't 
consider it as being ready yet, as Sakari pointed out we need to investigate 
whether the right fix shouldn't be at the OMAP3 clocks level instead.

> Subject: [media] omap3isp: Replace cpu_is_omap3630() with ISP revision check
> Author:  Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
> Date:    Thu Sep 27 10:38:18 2012 -0300
> 
> Drivers must not rely on cpu_is_omap* macros (they will soon become
> private). Use the ISP revision instead to identify the hardware.
> 
> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx>
> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx>
> 
>  drivers/media/platform/omap3isp/isp.c |   25 ++++++++++++++++---------
>  1 files changed, 16 insertions(+), 9 deletions(-)
> 
> ---
> 
> http://git.linuxtv.org/media_tree.git?a=commitdiff;h=947c48086623d9ca2207dd0
> 434bd58458af4ba86
> 
> diff --git a/drivers/media/platform/omap3isp/isp.c
> b/drivers/media/platform/omap3isp/isp.c index d7aa513..6034dca 100644
> --- a/drivers/media/platform/omap3isp/isp.c
> +++ b/drivers/media/platform/omap3isp/isp.c
> @@ -1345,10 +1345,7 @@ static int isp_enable_clocks(struct isp_device *isp)
>  	 * has to be twice of what is set on OMAP3430 to get
>  	 * the required value for cam_mclk
>  	 */
> -	if (cpu_is_omap3630())
> -		divisor = 1;
> -	else
> -		divisor = 2;
> +	divisor = isp->revision == ISP_REVISION_15_0 ? 1 : 2;
> 
>  	r = clk_enable(isp->clock[ISP_CLK_CAM_ICK]);
>  	if (r) {
> @@ -2093,7 +2090,11 @@ static int __devinit isp_probe(struct platform_device
> *pdev) isp->isp_csiphy1.vdd = regulator_get(&pdev->dev, "VDD_CSIPHY1");
> isp->isp_csiphy2.vdd = regulator_get(&pdev->dev, "VDD_CSIPHY2");
> 
> -	/* Clocks */
> +	/* Clocks
> +	 *
> +	 * The ISP clock tree is revision-dependent. We thus need to enable ICLK
> +	 * manually to read the revision before calling __omap3isp_get().
> +	 */
>  	ret = isp_map_mem_resource(pdev, isp, OMAP3_ISP_IOMEM_MAIN);
>  	if (ret < 0)
>  		goto error;
> @@ -2102,6 +2103,16 @@ static int __devinit isp_probe(struct platform_device
> *pdev) if (ret < 0)
>  		goto error;
> 
> +	ret = clk_enable(isp->clock[ISP_CLK_CAM_ICK]);
> +	if (ret < 0)
> +		goto error;
> +
> +	isp->revision = isp_reg_readl(isp, OMAP3_ISP_IOMEM_MAIN, ISP_REVISION);
> +	dev_info(isp->dev, "Revision %d.%d found\n",
> +		 (isp->revision & 0xf0) >> 4, isp->revision & 0x0f);
> +
> +	clk_disable(isp->clock[ISP_CLK_CAM_ICK]);
> +
>  	if (__omap3isp_get(isp, false) == NULL) {
>  		ret = -ENODEV;
>  		goto error;
> @@ -2112,10 +2123,6 @@ static int __devinit isp_probe(struct platform_device
> *pdev) goto error_isp;
> 
>  	/* Memory resources */
> -	isp->revision = isp_reg_readl(isp, OMAP3_ISP_IOMEM_MAIN, ISP_REVISION);
> -	dev_info(isp->dev, "Revision %d.%d found\n",
> -		 (isp->revision & 0xf0) >> 4, isp->revision & 0x0f);
> -
>  	for (m = 0; m < ARRAY_SIZE(isp_res_maps); m++)
>  		if (isp->revision == isp_res_maps[m].isp_rev)
>  			break;
-- 
Regards,

Laurent Pinchart

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


[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux