diff mbox

[v2] ARM: davinci: Add the clock for the CPPI 4.1 DMA engine

Message ID 20170405171750.16821-1-abailon@baylibre.com (mailing list archive)
State New, archived
Headers show

Commit Message

Alexandre Bailon April 5, 2017, 5:17 p.m. UTC
The CPPI 4.1 DMA is sharing its clock with the USB OTG,
and most of the time, the clock will be enabled by USB.
But during the init of the DMA, USB is not enabled (waiting for DMA),
and then we must enable the clock before doing anything.
Add the clock for the CPPI 4.1 DMA engine.

Signed-off-by: Alexandre Bailon <abailon@baylibre.com>
---
 arch/arm/mach-davinci/da830.c | 6 ++++++
 arch/arm/mach-davinci/da850.c | 6 ++++++
 2 files changed, 12 insertions(+)

Comments

Sekhar Nori April 7, 2017, 2:36 p.m. UTC | #1
On Wednesday 05 April 2017 10:47 PM, Alexandre Bailon wrote:
> The CPPI 4.1 DMA is sharing its clock with the USB OTG,
> and most of the time, the clock will be enabled by USB.
> But during the init of the DMA, USB is not enabled (waiting for DMA),
> and then we must enable the clock before doing anything.
> Add the clock for the CPPI 4.1 DMA engine.
> 
> Signed-off-by: Alexandre Bailon <abailon@baylibre.com>
> ---
>  arch/arm/mach-davinci/da830.c | 6 ++++++
>  arch/arm/mach-davinci/da850.c | 6 ++++++
>  2 files changed, 12 insertions(+)
> 
> diff --git a/arch/arm/mach-davinci/da830.c b/arch/arm/mach-davinci/da830.c
> index 073c458..bd88470 100644
> --- a/arch/arm/mach-davinci/da830.c
> +++ b/arch/arm/mach-davinci/da830.c
> @@ -304,6 +304,11 @@ static struct clk usb20_clk = {
>  	.gpsc		= 1,
>  };
>  
> +static struct clk cppi41_clk = {
> +	.name		= "cppi41",
> +	.parent		= &usb20_clk,
> +};
> +
>  static struct clk aemif_clk = {
>  	.name		= "aemif",
>  	.parent		= &pll0_sysclk3,
> @@ -413,6 +418,7 @@ static struct clk_lookup da830_clks[] = {
>  	CLK("davinci-mcasp.1",	NULL,		&mcasp1_clk),
>  	CLK("davinci-mcasp.2",	NULL,		&mcasp2_clk),
>  	CLK("musb-da8xx",	"usb20",	&usb20_clk),
> +	CLK("cppi41-dmaengine",	NULL,		&cppi41_clk),

I dont see this device name being used in current linux-next. Is this
name accepted ?

The patch otherwise looks okay.

Thanks,
Sekhar
--
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
Alexandre Bailon April 7, 2017, 4:15 p.m. UTC | #2
On 04/07/2017 04:36 PM, Sekhar Nori wrote:
> On Wednesday 05 April 2017 10:47 PM, Alexandre Bailon wrote:
>> The CPPI 4.1 DMA is sharing its clock with the USB OTG,
>> and most of the time, the clock will be enabled by USB.
>> But during the init of the DMA, USB is not enabled (waiting for DMA),
>> and then we must enable the clock before doing anything.
>> Add the clock for the CPPI 4.1 DMA engine.
>>
>> Signed-off-by: Alexandre Bailon <abailon@baylibre.com>
>> ---
>>   arch/arm/mach-davinci/da830.c | 6 ++++++
>>   arch/arm/mach-davinci/da850.c | 6 ++++++
>>   2 files changed, 12 insertions(+)
>>
>> diff --git a/arch/arm/mach-davinci/da830.c b/arch/arm/mach-davinci/da830.c
>> index 073c458..bd88470 100644
>> --- a/arch/arm/mach-davinci/da830.c
>> +++ b/arch/arm/mach-davinci/da830.c
>> @@ -304,6 +304,11 @@ static struct clk usb20_clk = {
>>   	.gpsc		= 1,
>>   };
>>   
>> +static struct clk cppi41_clk = {
>> +	.name		= "cppi41",
>> +	.parent		= &usb20_clk,
>> +};
>> +
>>   static struct clk aemif_clk = {
>>   	.name		= "aemif",
>>   	.parent		= &pll0_sysclk3,
>> @@ -413,6 +418,7 @@ static struct clk_lookup da830_clks[] = {
>>   	CLK("davinci-mcasp.1",	NULL,		&mcasp1_clk),
>>   	CLK("davinci-mcasp.2",	NULL,		&mcasp2_clk),
>>   	CLK("musb-da8xx",	"usb20",	&usb20_clk),
>> +	CLK("cppi41-dmaengine",	NULL,		&cppi41_clk),
> I dont see this device name being used in current linux-next. Is this
> name accepted ?
There is here a typo. The name should be cppi41-dma-engine.
I will fix it.
>
> The patch otherwise looks okay.
>
> Thanks,
> Sekhar
Thanks,
Alexandre
--
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
Alexandre Bailon April 7, 2017, 5:31 p.m. UTC | #3
On 04/07/2017 06:15 PM, Alexandre Bailon wrote:
>
>
> On 04/07/2017 04:36 PM, Sekhar Nori wrote:
>> On Wednesday 05 April 2017 10:47 PM, Alexandre Bailon wrote:
>>> The CPPI 4.1 DMA is sharing its clock with the USB OTG,
>>> and most of the time, the clock will be enabled by USB.
>>> But during the init of the DMA, USB is not enabled (waiting for DMA),
>>> and then we must enable the clock before doing anything.
>>> Add the clock for the CPPI 4.1 DMA engine.
>>>
>>> Signed-off-by: Alexandre Bailon <abailon@baylibre.com>
>>> ---
>>>   arch/arm/mach-davinci/da830.c | 6 ++++++
>>>   arch/arm/mach-davinci/da850.c | 6 ++++++
>>>   2 files changed, 12 insertions(+)
>>>
>>> diff --git a/arch/arm/mach-davinci/da830.c 
>>> b/arch/arm/mach-davinci/da830.c
>>> index 073c458..bd88470 100644
>>> --- a/arch/arm/mach-davinci/da830.c
>>> +++ b/arch/arm/mach-davinci/da830.c
>>> @@ -304,6 +304,11 @@ static struct clk usb20_clk = {
>>>       .gpsc        = 1,
>>>   };
>>>   +static struct clk cppi41_clk = {
>>> +    .name        = "cppi41",
>>> +    .parent        = &usb20_clk,
>>> +};
>>> +
>>>   static struct clk aemif_clk = {
>>>       .name        = "aemif",
>>>       .parent        = &pll0_sysclk3,
>>> @@ -413,6 +418,7 @@ static struct clk_lookup da830_clks[] = {
>>>       CLK("davinci-mcasp.1",    NULL,        &mcasp1_clk),
>>>       CLK("davinci-mcasp.2",    NULL,        &mcasp2_clk),
>>>       CLK("musb-da8xx",    "usb20",    &usb20_clk),
>>> +    CLK("cppi41-dmaengine",    NULL,        &cppi41_clk),
>> I dont see this device name being used in current linux-next. Is this
>> name accepted ?
> There is here a typo. The name should be cppi41-dma-engine.
> I will fix it.
Actually, it is not a typo. It would have be more logical to name it 
cppi41-dma-engine
(like the driver name) but the name is correct.
The device name is not yet in linux-next as the device is created in 
da8xx driver.
http://marc.info/?l=linux-usb&m=149080474124498&w=2
>>
>> The patch otherwise looks okay.
>>
>> Thanks,
>> Sekhar
> Thanks,
> Alexandre

--
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
Sekhar Nori April 12, 2017, 11:27 a.m. UTC | #4
On Friday 07 April 2017 11:01 PM, Alexandre Bailon wrote:
> 
> 
> On 04/07/2017 06:15 PM, Alexandre Bailon wrote:
>>
>>
>> On 04/07/2017 04:36 PM, Sekhar Nori wrote:
>>> On Wednesday 05 April 2017 10:47 PM, Alexandre Bailon wrote:
>>>> The CPPI 4.1 DMA is sharing its clock with the USB OTG,
>>>> and most of the time, the clock will be enabled by USB.
>>>> But during the init of the DMA, USB is not enabled (waiting for DMA),
>>>> and then we must enable the clock before doing anything.
>>>> Add the clock for the CPPI 4.1 DMA engine.
>>>>
>>>> Signed-off-by: Alexandre Bailon <abailon@baylibre.com>
>>>> ---
>>>>   arch/arm/mach-davinci/da830.c | 6 ++++++
>>>>   arch/arm/mach-davinci/da850.c | 6 ++++++
>>>>   2 files changed, 12 insertions(+)
>>>>
>>>> diff --git a/arch/arm/mach-davinci/da830.c
>>>> b/arch/arm/mach-davinci/da830.c
>>>> index 073c458..bd88470 100644
>>>> --- a/arch/arm/mach-davinci/da830.c
>>>> +++ b/arch/arm/mach-davinci/da830.c
>>>> @@ -304,6 +304,11 @@ static struct clk usb20_clk = {
>>>>       .gpsc        = 1,
>>>>   };
>>>>   +static struct clk cppi41_clk = {
>>>> +    .name        = "cppi41",
>>>> +    .parent        = &usb20_clk,
>>>> +};
>>>> +
>>>>   static struct clk aemif_clk = {
>>>>       .name        = "aemif",
>>>>       .parent        = &pll0_sysclk3,
>>>> @@ -413,6 +418,7 @@ static struct clk_lookup da830_clks[] = {
>>>>       CLK("davinci-mcasp.1",    NULL,        &mcasp1_clk),
>>>>       CLK("davinci-mcasp.2",    NULL,        &mcasp2_clk),
>>>>       CLK("musb-da8xx",    "usb20",    &usb20_clk),
>>>> +    CLK("cppi41-dmaengine",    NULL,        &cppi41_clk),
>>> I dont see this device name being used in current linux-next. Is this
>>> name accepted ?
>> There is here a typo. The name should be cppi41-dma-engine.
>> I will fix it.
> Actually, it is not a typo. It would have be more logical to name it
> cppi41-dma-engine
> (like the driver name) but the name is correct.
> The device name is not yet in linux-next as the device is created in
> da8xx driver.
> http://marc.info/?l=linux-usb&m=149080474124498&w=2

Alright, applied this and sent a pull request. Made some minor changes
to commit message text.

Thanks,
Sekhar
--
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-davinci/da830.c b/arch/arm/mach-davinci/da830.c
index 073c458..bd88470 100644
--- a/arch/arm/mach-davinci/da830.c
+++ b/arch/arm/mach-davinci/da830.c
@@ -304,6 +304,11 @@  static struct clk usb20_clk = {
 	.gpsc		= 1,
 };
 
+static struct clk cppi41_clk = {
+	.name		= "cppi41",
+	.parent		= &usb20_clk,
+};
+
 static struct clk aemif_clk = {
 	.name		= "aemif",
 	.parent		= &pll0_sysclk3,
@@ -413,6 +418,7 @@  static struct clk_lookup da830_clks[] = {
 	CLK("davinci-mcasp.1",	NULL,		&mcasp1_clk),
 	CLK("davinci-mcasp.2",	NULL,		&mcasp2_clk),
 	CLK("musb-da8xx",	"usb20",	&usb20_clk),
+	CLK("cppi41-dmaengine",	NULL,		&cppi41_clk),
 	CLK(NULL,		"aemif",	&aemif_clk),
 	CLK(NULL,		"aintc",	&aintc_clk),
 	CLK(NULL,		"secu_mgr",	&secu_mgr_clk),
diff --git a/arch/arm/mach-davinci/da850.c b/arch/arm/mach-davinci/da850.c
index ccad2f9..07d6f0e 100644
--- a/arch/arm/mach-davinci/da850.c
+++ b/arch/arm/mach-davinci/da850.c
@@ -401,6 +401,11 @@  static struct clk usb20_clk = {
 	.gpsc		= 1,
 };
 
+static struct clk cppi41_clk = {
+	.name		= "cppi41",
+	.parent		= &usb20_clk,
+};
+
 static struct clk spi0_clk = {
 	.name		= "spi0",
 	.parent		= &pll0_sysclk2,
@@ -560,6 +565,7 @@  static struct clk_lookup da850_clks[] = {
 	CLK("davinci-nand.0",	"aemif",	&aemif_nand_clk),
 	CLK("ohci-da8xx",	"usb11",	&usb11_clk),
 	CLK("musb-da8xx",	"usb20",	&usb20_clk),
+	CLK("cppi41-dmaengine",	NULL,		&cppi41_clk),
 	CLK("spi_davinci.0",	NULL,		&spi0_clk),
 	CLK("spi_davinci.1",	NULL,		&spi1_clk),
 	CLK("vpif",		NULL,		&vpif_clk),