linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Giuseppe CAVALLARO <peppe.cavallaro@st.com>
To: Kelvin Cheung <keguang.zhang@gmail.com>
Cc: Wu Zhangjin <wuzhangjin@gmail.com>,
	linux-mips@linux-mips.org, linux-kernel@vger.kernel.org,
	ralf@linux-mips.org, r0bertz@gentoo.org, netdev@vger.kernel.org
Subject: Re: [PATCH V2 2/4] MIPS: Add board support for Loongson1B
Date: Tue, 25 Oct 2011 09:09:52 +0200	[thread overview]
Message-ID: <4EA660C0.1020901@st.com> (raw)
In-Reply-To: <CAJhJPsVu7hahhmUvPQ=s=AqvXGhU-05x=GqQ29Mo6PZ8cTtefA@mail.gmail.com>

On 10/25/2011 4:12 AM, Kelvin Cheung wrote:
> 2011/10/24, Giuseppe CAVALLARO <peppe.cavallaro@st.com>:
>> On 10/24/2011 4:05 PM, Kelvin Cheung wrote:
>>> 2011/10/24, Giuseppe CAVALLARO <peppe.cavallaro@st.com>:
>>>> Hello Kelvin.
>>>>
>>>> On 10/24/2011 12:36 PM, Kelvin Cheung wrote:
>>>>
>>>> [snip]
>>>>
>>>>> According to datasheet of Loongson 1B, the buffer size in RX/TX
>>>>> descriptor is only 2KB. So the Loongson1B's GMAC could not handle
>>>>> jumbo frames. And the second buffer is useless in this case. Am I
>>>>> right? Is there a better way than ifdef CONFIG_MACH_LOONGSON1 to
>>>>> avoid duplicate code?
>>>>
>>>> Sorry for my misunderstanding.
>>>>
>>>> I think you have to use the normal descriptor and remove the enh_desc
>>>> from the platform w/o modifying the driver at all.
>>>>
>>>> The driver will be able to select/configure all automatically (also
>>>> jumbo).
>>>>
>>>> Let me know.
>>>
>>> That's the problem.
>>> The bitfield definition of Loongson1B is also different from normal
>>> descriptor.
>>
>> The problem is not in the Loongson1B gmac.
> 
> I found that the bit checksum_insertion is not existed in normal descriptor.
> 
>> The normal descriptor fields in the stmmac refer to an old synopsys
>> databook.
> 
> Could you send me the new databook of Synopsys GMAC?
> 
>> New chips have the same structure you have added; so we should fix this
>> in the driver w/o breaking the compatibility for old chips.
> 
> Agree.
> 
>> I kindly ask you to confirm if the currently normal descriptor structure
>> (w/o your changes) doesn't work on your platform.
>> Did you test it?
> 
> Well, the normal descriptor works on my platform except TX checksum offload.

ok! I suspected that.


>>> Moreover, I want to enable the TX checksum offload function which is
>>> not supported in normal descriptor.
>>> Any suggestions?
>>
>> It is supported but you have to pass from the platform: tx_coe = 1.
> 
> I noticed that the flag csum_insertion is passed to
> ndesc_prepare_tx_desc() in stmmac_xmit(). But ndesc_prepare_tx_desc()
> just ignores it.
> In other words, the TX checksum offload function is disabled in normal
> descriptor currently.
> 
> Should we fix this problem for normal descriptor?

Yes, we should. If you agree, I'll update the normal descriptor
structure to yours. This is the normal descriptor used in newer GMAC.
Tx csum will be done for normal descriptors in case of these GMAC
devices and not for old MAC10/100. For the MAC10/100 some bits for
normal descriptors are reserved and won't be used at all.

I'll also verify that the patch doesn't break the back-compatibility
with old MAC10/100. I have the HW where doing the tests.

After that, I'll prepare the patch for net-next and for your kernel.

> 
>> Peppe
>>>
>>>> Note:
>>>> IIRC, there is a bit difference in case of normal descriptors for
>>>> Synopsys databook newer than the 1.91 (I used for testing this mode).
>>>> In any case, I remember that, on some platforms, the normal descriptors
>>>> have been used w/o problems also on these new chip generations.
>>>>
>>>> Peppe
>>>>
>>>>
>>>
>>>
>>
>>
> 
> 


  reply	other threads:[~2011-10-25  7:09 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-10-21 10:28 [PATCH V2 1/4] MIPS: Add CPU support for Loongson1B keguang.zhang
2011-10-21 10:28 ` [PATCH V2 2/4] MIPS: Add board " keguang.zhang
2011-10-21 17:33   ` Wu Zhangjin
2011-10-24  7:19     ` Giuseppe CAVALLARO
2011-10-24 10:36       ` Kelvin Cheung
2011-10-24 12:18         ` Giuseppe CAVALLARO
2011-10-24 14:05           ` Kelvin Cheung
2011-10-24 15:35             ` Giuseppe CAVALLARO
2011-10-25  2:12               ` Kelvin Cheung
2011-10-25  7:09                 ` Giuseppe CAVALLARO [this message]
2011-10-25  8:20                   ` Giuseppe CAVALLARO
2011-10-25  9:21                     ` Kelvin Cheung
2011-10-26  4:27                     ` Kelvin Cheung
2011-10-26  7:20                       ` Giuseppe CAVALLARO
2011-10-26  7:48                         ` Kelvin Cheung
2011-10-25  9:18                   ` Kelvin Cheung
2011-11-16 14:10   ` Ralf Baechle
2011-10-21 10:28 ` [PATCH V2 3/4] MIPS: Add Makefile and Kconfig " keguang.zhang
2011-10-21 10:28 ` [PATCH V2 4/4] MIPS: Add defconfig " keguang.zhang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4EA660C0.1020901@st.com \
    --to=peppe.cavallaro@st.com \
    --cc=keguang.zhang@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mips@linux-mips.org \
    --cc=netdev@vger.kernel.org \
    --cc=r0bertz@gentoo.org \
    --cc=ralf@linux-mips.org \
    --cc=wuzhangjin@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).