diff mbox

OMAP2/3: DMA errata correction

Message ID 1245995252-16453-1-git-send-email-vikram.pandita@ti.com (mailing list archive)
State Superseded, archived
Headers show

Commit Message

vikram pandita June 26, 2009, 5:47 a.m. UTC
This errata is valid for:
OMAP2420 Errata 1.85 Impacts all 2420 ES rev
OMAP2430 Errata 1.10 Impacts only ES1.0
Description: DMA may hang when several channels are used in parallel

OMAP3430: Not impacted, so remove the errata fix for omap3

Signed-off-by: Vikram Pandita <vikram.pandita@ti.com>
---
 arch/arm/plat-omap/dma.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

Comments

Kamat, Nishant June 29, 2009, 11:21 a.m. UTC | #1
Vikram,
 

> -----Original Message-----
> From: linux-omap-owner@vger.kernel.org 
> [mailto:linux-omap-owner@vger.kernel.org] On Behalf Of Pandita, Vikram
> Sent: Friday, June 26, 2009 11:18 AM
> To: linux-omap@vger.kernel.org
> Cc: Pandita, Vikram
> Subject: [PATCH] OMAP2/3: DMA errata correction
> 
> This errata is valid for:
> OMAP2420 Errata 1.85 Impacts all 2420 ES rev
> OMAP2430 Errata 1.10 Impacts only ES1.0
> Description: DMA may hang when several channels are used in parallel
> 
> OMAP3430: Not impacted, so remove the errata fix for omap3
> 
> Signed-off-by: Vikram Pandita <vikram.pandita@ti.com>
> ---
>  arch/arm/plat-omap/dma.c |    4 +++-
>  1 files changed, 3 insertions(+), 1 deletions(-)
> 
> diff --git a/arch/arm/plat-omap/dma.c b/arch/arm/plat-omap/dma.c
> index 7677a4a..feebaf3 100644
> --- a/arch/arm/plat-omap/dma.c
> +++ b/arch/arm/plat-omap/dma.c
> @@ -946,7 +946,9 @@ void omap_start_dma(int lch)
>  
>  			cur_lch = next_lch;
>  		} while (next_lch != -1);
> -	} else if (cpu_class_is_omap2()) {
> +	} else if (cpu_is_omap24xx() ||


This should be  cpu_is_omap242x() || ...


Regards,
Nishant




> +		(cpu_is_omap243x() &&  omap_type() <= 
> OMAP2430_REV_ES1_0)) {
> +
>  		/* Errata: Need to write lch even if not using 
> chaining */
>  		dma_write(lch, CLNK_CTRL(lch));
>  	}
> -- 
> 1.6.3.3.334.g916e1
--
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
vikram pandita June 29, 2009, 12:59 p.m. UTC | #2
>From: Kamat, Nishant
>
>Vikram,
>
>> From: linux-omap-owner@vger.kernel.org
>>
>> This errata is valid for:
>> OMAP2420 Errata 1.85 Impacts all 2420 ES rev
>> OMAP2430 Errata 1.10 Impacts only ES1.0
>> Description: DMA may hang when several channels are used in parallel
>>
>> OMAP3430: Not impacted, so remove the errata fix for omap3
>>
>> Signed-off-by: Vikram Pandita <vikram.pandita@ti.com>
>> ---
>>  arch/arm/plat-omap/dma.c |    4 +++-
>>  1 files changed, 3 insertions(+), 1 deletions(-)
>>
>> diff --git a/arch/arm/plat-omap/dma.c b/arch/arm/plat-omap/dma.c
>> index 7677a4a..feebaf3 100644
>> --- a/arch/arm/plat-omap/dma.c
>> +++ b/arch/arm/plat-omap/dma.c
>> @@ -946,7 +946,9 @@ void omap_start_dma(int lch)
>>
>>  			cur_lch = next_lch;
>>  		} while (next_lch != -1);
>> -	} else if (cpu_class_is_omap2()) {
>> +	} else if (cpu_is_omap24xx() ||
>
>
>This should be  cpu_is_omap242x() || ...

Good catch. Re-spinning v2 of patch.

>
>
>Regards,
>Nishant
>
>
>
>
>> +		(cpu_is_omap243x() &&  omap_type() <=
>> OMAP2430_REV_ES1_0)) {
>> +
>>  		/* Errata: Need to write lch even if not using
>> chaining */
>>  		dma_write(lch, CLNK_CTRL(lch));
>>  	}
>> --
>> 1.6.3.3.334.g916e1
--
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/plat-omap/dma.c b/arch/arm/plat-omap/dma.c
index 7677a4a..feebaf3 100644
--- a/arch/arm/plat-omap/dma.c
+++ b/arch/arm/plat-omap/dma.c
@@ -946,7 +946,9 @@  void omap_start_dma(int lch)
 
 			cur_lch = next_lch;
 		} while (next_lch != -1);
-	} else if (cpu_class_is_omap2()) {
+	} else if (cpu_is_omap24xx() ||
+		(cpu_is_omap243x() &&  omap_type() <= OMAP2430_REV_ES1_0)) {
+
 		/* Errata: Need to write lch even if not using chaining */
 		dma_write(lch, CLNK_CTRL(lch));
 	}