All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Franklin S Cooper Jr." <fcooper@ti.com>
To: Arnd Bergmann <arnd@arndb.de>
Cc: <m-karicheri2@ti.com>, <netdev@vger.kernel.org>, <w-kwok2@ti.com>,
	<davem@davemloft.net>,
	"Strashko, Grygorii" <grygorii.strashko@ti.com>
Subject: Re: Keystone 2 boards boot failure
Date: Wed, 3 Feb 2016 08:11:34 -0600	[thread overview]
Message-ID: <56B20A96.9040507@ti.com> (raw)
In-Reply-To: <56B15591.7080409@ti.com>


On 02/02/2016 07:19 PM, Franklin S Cooper Jr. wrote:
>
> On 02/02/2016 05:26 PM, Arnd Bergmann wrote:
>> On Tuesday 02 February 2016 16:59:34 Franklin Cooper wrote:
>>> On 02/02/2016 03:26 PM, Arnd Bergmann wrote:
>>>> On Tuesday 02 February 2016 15:01:33 Franklin S Cooper Jr. wrote:
>>>>> Yes. Here is a boot log on the latest master with the below
>>>>> three patches reverted.
>>>>> http://pastebin.com/W7RWSHpE (Working)
>>>>>
>>>>> I reverted these three patches. The two latest patches seem
>>>>> to be trying to correct/expand upon the last patch on this list.
>>>>>
>>>>> commit 958d104e3d40eef5148c402887138f6594ff7e1e
>>>>> netcp: fix regression in receive processing
>>>>>
>>>>> commit 9dd2d6c5c9755b160fe0111bcdad9491676feea8
>>>>> netcp: add more __le32 annotations
>>>>>
>>>>> commit 899077791403ff7a2d8cfaa87bd1a82d729463e2
>>>>> netcp: try to reduce type confusion in descriptors
>>>>>
>>>> The middle patch should have no effect on generated code, so I'm ignoring
>>>> that for now.
>>>>
>>>> The next thing to rule out is an endianess bug. I assume you
>>>> are running this on with a little-endian kernel, correct? If
>>>> you are running big-endian, the base assumption that the driver needs
>>>> to swap the data was flawed and that portion needs to be done.
>>>>
>>>> If you are running little-endian 32-bit, please try the partial
>>>> revert below, which just undoes the attempt to make it work with
>>>> 64-bit kernels.
>>> Keystone 2 devices are little-endian 32-bit devices.
>> I meant the kernel you are running on it, not the hardware.
>> You should always be able to run both a big-endian kernel and
>> a littl-endian kernel on any ARMv7 machine, and a couple of
>> platforms use 64-bit physical addresses even on 32-bit machines
>> (with the normal 32-bit instruction set).
> I'm not sure if Keystone 2 devices support this or if we
> have support for this. I'll have to double check.
>> I wasn't completely sure if there are already keystone-derived
>> products with 64-bit CPU cores, but I guess the driver would
>> fail really badly on those (with or without the patch).
>>
>>> This partial revert fixes the boot problem for me.
>> Ok.
>>
>>
>> I tried to create a smaller version and stumbled over
>> a typo, maybe that's the whole problem. Can you try this one:
>>
>> diff --git a/drivers/net/ethernet/ti/netcp_core.c b/drivers/net/ethernet/ti/netcp_core.c
>> index c61d66d38634..8490804416dd 100644
>> --- a/drivers/net/ethernet/ti/netcp_core.c
>> +++ b/drivers/net/ethernet/ti/netcp_core.c
>> @@ -167,7 +167,7 @@ static void set_pad_info(u32 pad0, u32 pad1, u32 pad2, struct knav_dma_desc *des
>>  {
>>  	desc->pad[0] = cpu_to_le32(pad0);
>>  	desc->pad[1] = cpu_to_le32(pad1);
>> -	desc->pad[2] = cpu_to_le32(pad1);
>> +	desc->pad[2] = cpu_to_le32(pad2);
>>  }
>>  
>>  static void set_org_pkt_info(dma_addr_t buff, u32 buff_len,
>>
>>
>> 	Arnd
> So only making this change on the latest master with no
> other changes I see the boot problem again.

+Grygorii

  reply	other threads:[~2016-02-03 14:11 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-02-02 16:50 Keystone 2 boards boot failure Franklin S Cooper Jr.
2016-02-02 20:41 ` Arnd Bergmann
2016-02-02 21:01   ` Franklin S Cooper Jr.
2016-02-02 21:26     ` Arnd Bergmann
2016-02-02 22:59       ` Franklin Cooper
2016-02-02 23:26         ` Arnd Bergmann
2016-02-03  1:19           ` Franklin S Cooper Jr.
2016-02-03 14:11             ` Franklin S Cooper Jr. [this message]
2016-02-03 14:21               ` Grygorii Strashko
2016-02-03 15:37                 ` Franklin S Cooper Jr.
2016-02-03 16:20                 ` Arnd Bergmann
2016-02-03 16:31                   ` Grygorii Strashko
2016-02-03 16:45                     ` Murali Karicheri
2016-02-03 20:40                     ` Arnd Bergmann
2016-02-04 12:19                       ` Grygorii Strashko
2016-02-04 13:07                         ` Arnd Bergmann
2016-02-04 17:32                           ` Grygorii Strashko
2016-02-03 16:41                   ` Murali Karicheri
2016-02-03 20:41                     ` Arnd Bergmann
2016-02-04 16:25                   ` Grygorii Strashko
2016-02-05 16:18                     ` Arnd Bergmann
2016-02-05 17:11                       ` Grygorii Strashko
2016-02-08 13:59                         ` Arnd Bergmann
2016-02-03 16:35             ` Arnd Bergmann
2016-02-03 17:08               ` santosh shilimkar
2016-02-03 18:47                 ` Murali Karicheri
2016-02-03 20:13                   ` santosh shilimkar
2016-02-05 18:55                     ` Murali Karicheri

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=56B20A96.9040507@ti.com \
    --to=fcooper@ti.com \
    --cc=arnd@arndb.de \
    --cc=davem@davemloft.net \
    --cc=grygorii.strashko@ti.com \
    --cc=m-karicheri2@ti.com \
    --cc=netdev@vger.kernel.org \
    --cc=w-kwok2@ti.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.