diff mbox

[v1,1/3] ARM:OMAP4 iommu:changes in iommu for OMAP4

Message ID 8F7AF80515AF0D4D93307E594F3CB40E3ABDBABD@dlee03.ent.ti.com (mailing list archive)
State Rejected, archived
Headers show

Commit Message

Kanigeri, Hari Aug. 4, 2009, 10:30 p.m. UTC
This patch has the changes to iommu module to make
iommu functional on OMAP4 simulator. The changes
included using stubbed clock interface and commenting
out reading the MMU soft reset register.

Signed-off-by: Hari Kanigeri <h-kanigeri2@ti.com>
---
 arch/arm/mach-omap2/iommu2.c |    8 +++++---
 arch/arm/plat-omap/iommu.c   |   12 +++++++++---
 2 files changed, 14 insertions(+), 6 deletions(-)

Comments

Russell King - ARM Linux Aug. 4, 2009, 10:45 p.m. UTC | #1
On Tue, Aug 04, 2009 at 05:30:23PM -0500, Kanigeri, Hari wrote:
> -	obj->clk = clk_get(&pdev->dev, pdata->clk_name);
> -	if (IS_ERR(obj->clk))
> -		goto err_clk;
> +	/*
> +	 * FIX-ME: Replace with correct clk node when clk
> +	 * framework is available
> +	 */
> +	if (!cpu_is_omap44xx())	{
> +		obj->clk = clk_get(&pdev->dev, pdata->clk_name);
> +		if (IS_ERR(obj->clk))
> +			goto err_clk;
> +	}

I've no visibility on when these are going to get resolved, and it's
starting to concern me that there appears to be no progress on it,
especially as we have more and more code being merged with these
workarounds.  It's getting towards the point where enough is enough
and we need OMAP4 clk support in place, even if it is just a simple
stop-gap implementation rather than all these horrible hacks spread
through the code which one day will need to be found and removed.

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Tony Lindgren Aug. 5, 2009, 7:20 a.m. UTC | #2
* Russell King - ARM Linux <linux@arm.linux.org.uk> [090805 01:45]:
> On Tue, Aug 04, 2009 at 05:30:23PM -0500, Kanigeri, Hari wrote:
> > -	obj->clk = clk_get(&pdev->dev, pdata->clk_name);
> > -	if (IS_ERR(obj->clk))
> > -		goto err_clk;
> > +	/*
> > +	 * FIX-ME: Replace with correct clk node when clk
> > +	 * framework is available
> > +	 */
> > +	if (!cpu_is_omap44xx())	{
> > +		obj->clk = clk_get(&pdev->dev, pdata->clk_name);
> > +		if (IS_ERR(obj->clk))
> > +			goto err_clk;
> > +	}
> 
> I've no visibility on when these are going to get resolved, and it's
> starting to concern me that there appears to be no progress on it,
> especially as we have more and more code being merged with these
> workarounds.  It's getting towards the point where enough is enough
> and we need OMAP4 clk support in place, even if it is just a simple
> stop-gap implementation rather than all these horrible hacks spread
> through the code which one day will need to be found and removed.

Yeah I agree.

Tony

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Santosh Shilimkar Aug. 5, 2009, 4:06 p.m. UTC | #3
Russell / Tony,
> -----Original Message-----
> From: Tony Lindgren [mailto:tony@atomide.com] 
> Sent: Wednesday, August 05, 2009 12:50 PM
> To: Russell King - ARM Linux
> Cc: Kanigeri, Hari; linux-omap@vger.kernel.org; Hiroshi DOYU; 
> Shilimkar, Santosh
> Subject: Re: [PATCH v1 1/3] ARM:OMAP4 iommu:changes in iommu for OMAP4
> 
> * Russell King - ARM Linux <linux@arm.linux.org.uk> [090805 01:45]:
> > On Tue, Aug 04, 2009 at 05:30:23PM -0500, Kanigeri, Hari wrote:
> > > -	obj->clk = clk_get(&pdev->dev, pdata->clk_name);
> > > -	if (IS_ERR(obj->clk))
> > > -		goto err_clk;
> > > +	/*
> > > +	 * FIX-ME: Replace with correct clk node when clk
> > > +	 * framework is available
> > > +	 */
> > > +	if (!cpu_is_omap44xx())	{
> > > +		obj->clk = clk_get(&pdev->dev, pdata->clk_name);
> > > +		if (IS_ERR(obj->clk))
> > > +			goto err_clk;
> > > +	}
> > 
> > I've no visibility on when these are going to get resolved, and it's
> > starting to concern me that there appears to be no progress on it,
> > especially as we have more and more code being merged with these
> > workarounds.  It's getting towards the point where enough is enough
> > and we need OMAP4 clk support in place, even if it is just a simple
> > stop-gap implementation rather than all these horrible hacks spread
> > through the code which one day will need to be found and removed.
> 
> Yeah I agree.
The initial set of clock patches are more or less ready now and we 
will posting them in next few days.

Regards,
Santosh
 --
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Kanigeri, Hari Aug. 5, 2009, 4:33 p.m. UTC | #4
Russell, Tony, Santosh,

> Russell / Tony,
> > -----Original Message-----
> > From: Tony Lindgren [mailto:tony@atomide.com]
> > Sent: Wednesday, August 05, 2009 12:50 PM
> > To: Russell King - ARM Linux
> > Cc: Kanigeri, Hari; linux-omap@vger.kernel.org; Hiroshi DOYU;
> > Shilimkar, Santosh
> > Subject: Re: [PATCH v1 1/3] ARM:OMAP4 iommu:changes in iommu for OMAP4
> >
> > * Russell King - ARM Linux <linux@arm.linux.org.uk> [090805 01:45]:
> > > On Tue, Aug 04, 2009 at 05:30:23PM -0500, Kanigeri, Hari wrote:
> > > > -	obj->clk = clk_get(&pdev->dev, pdata->clk_name);
> > > > -	if (IS_ERR(obj->clk))
> > > > -		goto err_clk;
> > > > +	/*
> > > > +	 * FIX-ME: Replace with correct clk node when clk
> > > > +	 * framework is available
> > > > +	 */
> > > > +	if (!cpu_is_omap44xx())	{
> > > > +		obj->clk = clk_get(&pdev->dev, pdata->clk_name);
> > > > +		if (IS_ERR(obj->clk))
> > > > +			goto err_clk;
> > > > +	}
> > >
> > > I've no visibility on when these are going to get resolved, and it's
> > > starting to concern me that there appears to be no progress on it,
> > > especially as we have more and more code being merged with these
> > > workarounds.  It's getting towards the point where enough is enough
> > > and we need OMAP4 clk support in place, even if it is just a simple
> > > stop-gap implementation rather than all these horrible hacks spread
> > > through the code which one day will need to be found and removed.
> >
> > Yeah I agree.
> The initial set of clock patches are more or less ready now and we
> will posting them in next few days.
> 

-- Ok, then. I will wait for the clock patches to resend the iommu patches.

Thank you,
Best regards,
Hari
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/arch/arm/mach-omap2/iommu2.c b/arch/arm/mach-omap2/iommu2.c
index 015f22a..30b7158 100644
--- a/arch/arm/mach-omap2/iommu2.c
+++ b/arch/arm/mach-omap2/iommu2.c
@@ -80,12 +80,14 @@  static int omap2_iommu_enable(struct iommu *obj)
 		if (l & MMU_SYS_RESETDONE)
 			break;
 	} while (time_after(jiffies, timeout));
-
-	if (!(l & MMU_SYS_RESETDONE)) {
+	/* FIXME: Hack till the reading the MMU status register
+	 * is resolved in Simulator. Simulator doesn't update
+	 * the STATUS register.
+	 */
+	if (!cpu_is_omap44xx() && !(l & MMU_SYS_RESETDONE)) {
 		dev_err(obj->dev, "can't take mmu out of reset\n");
 		return -ENODEV;
 	}
-
 	l = iommu_read_reg(obj, MMU_REVISION);
 	dev_info(obj->dev, "%s: version %d.%d\n", obj->name,
 		 (l >> 4) & 0xf, l & 0xf);
diff --git a/arch/arm/plat-omap/iommu.c b/arch/arm/plat-omap/iommu.c
index 4cf449f..b62a087 100644
--- a/arch/arm/plat-omap/iommu.c
+++ b/arch/arm/plat-omap/iommu.c
@@ -861,9 +861,15 @@  static int __devinit omap_iommu_probe(struct platform_device *pdev)
 	if (!obj)
 		return -ENOMEM;
 
-	obj->clk = clk_get(&pdev->dev, pdata->clk_name);
-	if (IS_ERR(obj->clk))
-		goto err_clk;
+	/*
+	 * FIX-ME: Replace with correct clk node when clk
+	 * framework is available
+	 */
+	if (!cpu_is_omap44xx())	{
+		obj->clk = clk_get(&pdev->dev, pdata->clk_name);
+		if (IS_ERR(obj->clk))
+			goto err_clk;
+	}
 
 	obj->nr_tlb_entries = pdata->nr_tlb_entries;
 	obj->name = pdata->name;