diff mbox

[1/5] ARM: tegra: config: enable dmaengine based APB DMA driver

Message ID 1345126397-28864-2-git-send-email-ldewangan@nvidia.com (mailing list archive)
State Superseded, archived
Headers show

Commit Message

Laxman Dewangan Aug. 16, 2012, 2:13 p.m. UTC
Enable config for dmaengine based Tegra APB DMA driver and
disable the legacy APB DMA driver (SYSTEM_DMA).

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
---
 arch/arm/configs/tegra_defconfig |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

Comments

Stephen Warren Aug. 16, 2012, 5:53 p.m. UTC | #1
On 08/16/2012 08:13 AM, Laxman Dewangan wrote:
> Enable config for dmaengine based Tegra APB DMA driver and
> disable the legacy APB DMA driver (SYSTEM_DMA).

Laxman, if I apply this series to next-20120816 (plus a few patches in
my local work branch plus the CPU hotplug patches from Joseph, although
I suspect none of that matters), then audio playback on Tegra20 is
broken; the pitch is far too high. Audio playback on Tegra30 works as
expected.

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
Laxman Dewangan Aug. 17, 2012, 6:38 a.m. UTC | #2
On Thursday 16 August 2012 11:23 PM, Stephen Warren wrote:
> On 08/16/2012 08:13 AM, Laxman Dewangan wrote:
>> Enable config for dmaengine based Tegra APB DMA driver and
>> disable the legacy APB DMA driver (SYSTEM_DMA).
> Laxman, if I apply this series to next-20120816 (plus a few patches in
> my local work branch plus the CPU hotplug patches from Joseph, although
> I suspect none of that matters), then audio playback on Tegra20 is
> broken; the pitch is far too high. Audio playback on Tegra30 works as
> expected.
I run the test again on ventana and did not see any issue.
I play one song and saw similar behavior with/without this series.

With this series:
--------------------

ubuntu@tegra-ubuntu:/home$ aplay "1-04 Hungry Like The Wolf.wav"
Playing WAVE '1-04 Hungry Like The Wolf.wav' : Signed 16 bit Little 
Endian, Rate
  44100 Hz, Stereo
underrun!!! (at least 5039.388 ms long)
underrun!!! (at least 60.601 ms long)
underrun!!! (at least 3027.668 ms long)
underrun!!! (at least 2063.667 ms long)
underrun!!! (at least 1062.503 ms long)
underrun!!! (at least 5073.551 ms long)
underrun!!! (at least 6.461 ms long)
underrun!!! (at least 4075.519 ms long)
underrun!!! (at least 78.731 ms long)
underrun!!! (at least 4042.804 ms long)
underrun!!! (at least 28.395 ms long)
underrun!!! (at least 5076.706 ms long)
underrun!!! (at least 6043.105 ms long)
underrun!!! (at least 24.857 ms long)
underrun!!! (at least 5023.783 ms long)
ubuntu@tegra-ubuntu:/home$

And on tot:
--------------
ubuntu@tegra-ubuntu:/home$ aplay "1-04 Hungry Like The Wolf.wav"
Playing WAVE '1-04 Hungry Like The Wolf.wav' : Signed 16 bit Little 
Endian, Rate
  44100 Hz, Stereo
underrun!!! (at least 17098.259 ms long)
underrun!!! (at least 5042.101 ms long)
underrun!!! (at least 87.446 ms long)
underrun!!! (at least 4084.481 ms long)
underrun!!! (at least 4035.531 ms long)
underrun!!! (at least 1026.132 ms long)
underrun!!! (at least 3096.078 ms long)
underrun!!! (at least 1007.028 ms long)
underrun!!! (at least 1034.265 ms long)
underrun!!! (at least 2092.453 ms long)
underrun!!! (at least 1029.957 ms long)
underrun!!! (at least 3076.209 ms long)
underrun!!! (at least 52.042 ms long)
underrun!!! (at least 1001.812 ms long)
underrun!!! (at least 3083.294 ms long)
ubuntu@tegra-ubuntu:/home$

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
Stephen Warren Aug. 17, 2012, 3:17 p.m. UTC | #3
On 08/17/2012 12:38 AM, Laxman Dewangan wrote:
> On Thursday 16 August 2012 11:23 PM, Stephen Warren wrote:
>> On 08/16/2012 08:13 AM, Laxman Dewangan wrote:
>>> Enable config for dmaengine based Tegra APB DMA driver and
>>> disable the legacy APB DMA driver (SYSTEM_DMA).
>> Laxman, if I apply this series to next-20120816 (plus a few patches in
>> my local work branch plus the CPU hotplug patches from Joseph, although
>> I suspect none of that matters), then audio playback on Tegra20 is
>> broken; the pitch is far too high. Audio playback on Tegra30 works as
>> expected.
>
> I run the test again on ventana and did not see any issue.
> I play one song and saw similar behavior with/without this series.

OK, I'll test some other boards. I tested Whistler, although all the
clocking logic is identical between all Tegra20 boards.

> With this series:
> --------------------
> 
> ubuntu@tegra-ubuntu:/home$ aplay "1-04 Hungry Like The Wolf.wav"
> Playing WAVE '1-04 Hungry Like The Wolf.wav' : Signed 16 bit Little
> Endian, Rate
>  44100 Hz, Stereo
> underrun!!! (at least 5039.388 ms long)

Why are you getting all these underruns? I almost never see this, except
when something else is hammering the SD card containing the .wav file.
If I saw those, I'd count it as a test failure.

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
Stephen Warren Aug. 17, 2012, 5:34 p.m. UTC | #4
On 08/17/2012 09:17 AM, Stephen Warren wrote:
> On 08/17/2012 12:38 AM, Laxman Dewangan wrote:
>> On Thursday 16 August 2012 11:23 PM, Stephen Warren wrote:
>>> On 08/16/2012 08:13 AM, Laxman Dewangan wrote:
>>>> Enable config for dmaengine based Tegra APB DMA driver and
>>>> disable the legacy APB DMA driver (SYSTEM_DMA).
>>> Laxman, if I apply this series to next-20120816 (plus a few patches in
>>> my local work branch plus the CPU hotplug patches from Joseph, although
>>> I suspect none of that matters), then audio playback on Tegra20 is
>>> broken; the pitch is far too high. Audio playback on Tegra30 works as
>>> expected.
>>
>> I run the test again on ventana and did not see any issue.
>> I play one song and saw similar behavior with/without this series.
> 
> OK, I'll test some other boards. I tested Whistler, although all the
> clocking logic is identical between all Tegra20 boards.

I tested both 3.6-rc2 and next-20120816, and they both work fine on Ventana.

I then applied this patch series to both (plus your "dma: tegra:
enable/disable dma clock" for 3.6-rc2) and it causes (or at least
exposes) the problem.

All testing was with a full git clean, using tegra_defconfig, and with
no other patches applied.

If you're not seeing this problem, are you sure you're executing the
kernel you think you are, and that it got correctly switched to the new
dmaengine driver, and rebuilt after applying your patches?

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
Laxman Dewangan Aug. 17, 2012, 6 p.m. UTC | #5
On Friday 17 August 2012 11:04 PM, Stephen Warren wrote:
> On 08/17/2012 09:17 AM, Stephen Warren wrote:
>> On 08/17/2012 12:38 AM, Laxman Dewangan wrote:
>>> On Thursday 16 August 2012 11:23 PM, Stephen Warren wrote:
>>>> On 08/16/2012 08:13 AM, Laxman Dewangan wrote:
>>>>> Enable config for dmaengine based Tegra APB DMA driver and
>>>>> disable the legacy APB DMA driver (SYSTEM_DMA).
>>>> Laxman, if I apply this series to next-20120816 (plus a few patches in
>>>> my local work branch plus the CPU hotplug patches from Joseph, although
>>>> I suspect none of that matters), then audio playback on Tegra20 is
>>>> broken; the pitch is far too high. Audio playback on Tegra30 works as
>>>> expected.
>>> I run the test again on ventana and did not see any issue.
>>> I play one song and saw similar behavior with/without this series.
>> OK, I'll test some other boards. I tested Whistler, although all the
>> clocking logic is identical between all Tegra20 boards.
> I tested both 3.6-rc2 and next-20120816, and they both work fine on Ventana.
>
> I then applied this patch series to both (plus your "dma: tegra:
> enable/disable dma clock" for 3.6-rc2) and it causes (or at least
> exposes) the problem.
>
> All testing was with a full git clean, using tegra_defconfig, and with
> no other patches applied.
>
> If you're not seeing this problem, are you sure you're executing the
> kernel you think you are, and that it got correctly switched to the new
> dmaengine driver, and rebuilt after applying your patches?

I generally clean, remove .config and then generate .config , build and 
test whenever any branch change or want to remove any change. I tested 
in next-20120816.
Let me take help from other team member for test it if I am missing 
anything here.


------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
diff mbox

Patch

diff --git a/arch/arm/configs/tegra_defconfig b/arch/arm/configs/tegra_defconfig
index 4f078e0..40f7a87 100644
--- a/arch/arm/configs/tegra_defconfig
+++ b/arch/arm/configs/tegra_defconfig
@@ -29,6 +29,7 @@  CONFIG_ARCH_TEGRA_2x_SOC=y
 CONFIG_ARCH_TEGRA_3x_SOC=y
 CONFIG_TEGRA_PCI=y
 CONFIG_TEGRA_DEBUG_UART_AUTO_ODMDATA=y
+# CONFIG_TEGRA_SYSTEM_DMA is not set
 CONFIG_TEGRA_EMC_SCALING_ENABLE=y
 CONFIG_SMP=y
 CONFIG_PREEMPT=y
@@ -148,6 +149,8 @@  CONFIG_RTC_CLASS=y
 CONFIG_RTC_DRV_MAX8907=y
 CONFIG_RTC_DRV_EM3027=y
 CONFIG_RTC_DRV_TEGRA=y
+CONFIG_DMADEVICES=y
+CONFIG_TEGRA20_APB_DMA=y
 CONFIG_STAGING=y
 CONFIG_SENSORS_ISL29018=y
 CONFIG_SENSORS_ISL29028=y