[PATCH 1/1] Add support 2 SATA ports for Maui and change filename from sata_dwc_460ex.c to sata_dwc_4xx.c

Thang Q. Nguyen tqnguyen at apm.com
Fri Apr 13 13:29:31 EST 2012


Hi,
Two SATA device nodes in bluestone.dts uses the same structure as SATA node
in the canyonlands.dts. All boards having SATA DWC currently use this
structure. So, changing it will need to change all corresponding device
tree. The current sata_dwc_460ex.c agrees with this structure.

I want to give more information for SATA controller on Maui:
 - There are 2 SATA controllers on Maui, each has its own register set. But
they use the same DMA registers for processing DMA transfer.
 - For DMA transfer, each SATA controller will use its own DMA channel in
the DMA registers.
 - DMA controller driver must be supported and enabled in order to issue
SATA DMA transfer.

I agree that declaring the same DMA register information in 2 device nodes
can cause confliction but I think the driver can handle it. In case this
approach is not accepted, I will add only 1 SATA port to the bluestone.dts
and another port will be considered later.

For the APM confidential information from my email, it is added
automatically by the APM system. I have submitted a ticket for asking IT
not adding it into my email and it is in-progress. I will continue to
submit patches after the ticket is processed.

Regards,
Thang Nguyen -

On Tue, Apr 10, 2012 at 6:22 PM, Sergei Shtylyov <sshtylyov at mvista.com>wrote:

> Hello.
>
>
> On 10-04-2012 7:46, Thang Nguyen wrote:
>
>  Hi Sergei,
>> Thanks for your review.
>>
>
>  On Maui, there are 2 separate SATA controllers but they share the same
>> AHBDMA controller. Each SATA controller is assigned a fixed DMA channel on
>> the AHBDMA (channel 0 is assigned to SATA controller 0 and channel 1 is
>> assigned to SATA controller 1).
>> For the 460EX, there is only 1 SATA controller and it uses channel 0 for
>> transferring data.
>>
>
>  In my opinion, in the case of Maui, we can use the same DMA information in
>> 2 device nodes as they use the same DMA controller. And in another CPU, if
>> they use different DMA controller, the corresponding information will also
>> be different.
>>
>
>   No, either the DMA controller should be a separate device node, or both
> ports and DMA controller should be packed into the single device node. The
> way you're doing it is incorrect because it creates memory resource
> conflict between devices when they are instantiated as platfrom devices.
>
>
>  Regards,
>> Thang Nguyen -
>> -----Original Message-----
>> From: Sergei Shtylyov [mailto:sshtylyov at mvista.com]
>> Sent: Monday, April 09, 2012 5:13 PM
>> To: Thang Q. Nguyen
>> Cc: Benjamin Herrenschmidt; Paul Mackerras; Jeff Garzik; Grant Likely; Rob
>> Herring; linuxppc-dev at lists.ozlabs.org; linux-kernel at vger.kernel.org;
>> linux-ide at vger.kernel.org; devicetree-discuss at lists.**ozlabs.org<devicetree-discuss at lists.ozlabs.org>
>> Subject: Re: [PATCH 1/1] Add support 2 SATA ports for Maui and change
>> filename from sata_dwc_460ex.c to sata_dwc_4xx.c
>>
>
>  Hello.
>>
>
>  On 03-04-2012 14:12, Thang Q. Nguyen wrote:
>>
>
>  Signed-off-by: Thang Q. Nguyen<tqnguyen at apm.com>
>>>
>> [...]
>>
>
>  diff --git a/arch/powerpc/boot/dts/**bluestone.dts
>>>
>> b/arch/powerpc/boot/dts/**bluestone.dts
>>
>>> index cfa23bf..803fda6 100644
>>> --- a/arch/powerpc/boot/dts/**bluestone.dts
>>> +++ b/arch/powerpc/boot/dts/**bluestone.dts
>>> @@ -155,6 +155,27 @@
>>>                                        /*RXDE*/  0x5 0x4>;
>>>                };
>>>
>>> +               /* SATA DWC devices */
>>> +               SATA0: sata at bffd1000 {
>>> +                       compatible = "amcc,sata-apm821xx";
>>> +                       reg =<4 0xbffd1000 0x800   /* SATA0 */
>>> +                              4 0xbffd0800 0x400>; /* AHBDMA */
>>> +                       dma-channel=<0>;
>>> +                       interrupt-parent =<&UIC0>;
>>> +                       interrupts =<26 4    /* SATA0 */
>>> +                                     25 4>;  /* AHBDMA */
>>> +               };
>>> +
>>> +               SATA1: sata at bffd1800 {
>>> +                       compatible = "amcc,sata-apm821xx";
>>> +                       reg =<4 0xbffd1800 0x800   /* SATA1 */
>>> +                              4 0xbffd0800 0x400>; /* AHBDMA */
>>> +                       dma-channel=<1>;
>>> +                       interrupt-parent =<&UIC0>;
>>> +                       interrupts =<27 4    /* SATA1 */
>>> +                                     25 4>;  /* AHBDMA */
>>> +               };
>>> +
>>>
>>
>      So, this is dual SATA controller, not dual port SATA controller?
>> BTW, it's wrong to have the same AHBDMA resource in two device nodes I
>> think.
>>
>
>  MBR, Sergei
>>
>
>   Can you get rid of the following? It looks stupid when you post to the
> maliing list.
>
>  CONFIDENTIALITY NOTICE: This e-mail message, including any attachments,
>> is for the sole use of the intended recipient(s) and contains information
>> that is confidential and proprietary to AppliedMicro Corporation or its
>> subsidiaries.
>> It is to be used solely for the purpose of furthering the parties'
>> business relationship.
>> All unauthorized review, use, disclosure or distribution is prohibited.
>> If you are not the intended recipient, please contact the sender by reply
>> e-mail
>> and destroy all copies of the original message.
>>
>
> WBR, Sergei
>



-- 

   *Thang Q. Nguyen    **|** Staff SW Eng.*

C: +849.7684.7607 | O: +848.3770.0640

F: +848.3770.0641  | tqnguyen at apm.com

CONFIDENTIALITY NOTICE: This e-mail message, including any attachments, 
is for the sole use of the intended recipient(s) and contains information 
that is confidential and proprietary to AppliedMicro Corporation or its subsidiaries. 
It is to be used solely for the purpose of furthering the parties' business relationship. 
All unauthorized review, use, disclosure or distribution is prohibited. 
If you are not the intended recipient, please contact the sender by reply e-mail 
and destroy all copies of the original message.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ozlabs.org/pipermail/linuxppc-dev/attachments/20120413/bee752ec/attachment-0001.html>


More information about the Linuxppc-dev mailing list