* commit-3ac72b7b63d5 breaks networking on iMX28
@ 2016-10-21 9:19 Henri Roosen
2016-10-21 10:55 ` Fabio Estevam
2016-10-21 13:39 ` Eric Nelson
0 siblings, 2 replies; 7+ messages in thread
From: Henri Roosen @ 2016-10-21 9:19 UTC (permalink / raw)
To: eric, fugang.duan, netdev
Hi,
Unfortunately commit-3ac72b7b63d5 "net: fec: align IP header in
hardware" breaks networking on an iMX28 system.
The commit seems valid for iMX6, where it is tested okay and solves the
unaligned accesses.
On iMX28 I still see unaligned accesses and networking is broken. Can
anyone confirm this?
Thanks,
Henri
________________________________
Ginzinger electronic systems GmbH
Gewerbegebiet Pirath 16
4952 Weng im Innkreis
www.ginzinger.com
Firmenbuchnummer: FN 364958d
Firmenbuchgericht: Ried im Innkreis
UID-Nr.: ATU66521089
________________________________
Kommende Events:
08.-11. November 2016: Besuchen Sie uns auf der electronica in München -> Halle B1 Stand 538
16. November 2016: Nachmittagsseminar mit unserem Partner Irlbacher zum Thema „Glas als innovatives Material für moderne HMI’s“
17. November 2016: Juristisches Seminar in Linz: Einsatz von Open Source-Software in der Industrie
06. Dezember 2016: Nachmittagsseminar mit unserem Partner sequality software engineering zum Thema Usability
>> Weitere Informationen zu diesen Veranstaltungen und Neuigkeiten aus der Elektronikbranche finden Sie auf www.ginzinger.com/techtalk
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: commit-3ac72b7b63d5 breaks networking on iMX28
2016-10-21 9:19 commit-3ac72b7b63d5 breaks networking on iMX28 Henri Roosen
@ 2016-10-21 10:55 ` Fabio Estevam
2016-10-21 11:09 ` Henri Roosen
2016-10-21 13:39 ` Eric Nelson
1 sibling, 1 reply; 7+ messages in thread
From: Fabio Estevam @ 2016-10-21 10:55 UTC (permalink / raw)
To: Henri Roosen; +Cc: Eric Nelson, Fugang Duan, netdev
Hi Henri,
2016-10-21 7:19 GMT-02:00 Henri Roosen <henri.roosen@ginzinger.com>:
> Hi,
>
> Unfortunately commit-3ac72b7b63d5 "net: fec: align IP header in
> hardware" breaks networking on an iMX28 system.
>
> The commit seems valid for iMX6, where it is tested okay and solves the
> unaligned accesses.
>
> On iMX28 I still see unaligned accesses and networking is broken. Can
> anyone confirm this?
Does this fix the problem?
diff --git a/drivers/net/ethernet/freescale/fec_main.c
b/drivers/net/ethernet/freescale/fec_main.c
index 4ce8179..d1cefe1 100644
--- a/drivers/net/ethernet/freescale/fec_main.c
+++ b/drivers/net/ethernet/freescale/fec_main.c
@@ -1430,14 +1430,15 @@ fec_enet_rx_queue(struct net_device *ndev, int
budget, u16 queue_id)
skb_put(skb, pkt_len - 4);
data = skb->data;
+ if (!is_copybreak && need_swap)
+ swap_buffer(data, pkt_len);
+
+
#if !defined(CONFIG_M5272)
if (fep->quirks & FEC_QUIRK_HAS_RACC)
data = skb_pull_inline(skb, 2);
#endif
- if (!is_copybreak && need_swap)
- swap_buffer(data, pkt_len);
-
/* Extract the enhanced buffer descriptor */
ebdp = NULL;
if (fep->bufdesc_ex)
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: commit-3ac72b7b63d5 breaks networking on iMX28
2016-10-21 10:55 ` Fabio Estevam
@ 2016-10-21 11:09 ` Henri Roosen
0 siblings, 0 replies; 7+ messages in thread
From: Henri Roosen @ 2016-10-21 11:09 UTC (permalink / raw)
To: Fabio Estevam; +Cc: Eric Nelson, Fugang Duan, netdev
Hi Fabio,
On 10/21/2016 12:55 PM, Fabio Estevam wrote:
> Hi Henri,
>
> 2016-10-21 7:19 GMT-02:00 Henri Roosen <henri.roosen@ginzinger.com>:
>> Hi,
>>
>> Unfortunately commit-3ac72b7b63d5 "net: fec: align IP header in
>> hardware" breaks networking on an iMX28 system.
>>
>> The commit seems valid for iMX6, where it is tested okay and solves the
>> unaligned accesses.
>>
>> On iMX28 I still see unaligned accesses and networking is broken. Can
>> anyone confirm this?
>
> Does this fix the problem?
Yes, this fixes the problem.
Note: only tested on iMX28.
Thanks,
Henri
>
> diff --git a/drivers/net/ethernet/freescale/fec_main.c
> b/drivers/net/ethernet/freescale/fec_main.c
> index 4ce8179..d1cefe1 100644
> --- a/drivers/net/ethernet/freescale/fec_main.c
> +++ b/drivers/net/ethernet/freescale/fec_main.c
> @@ -1430,14 +1430,15 @@ fec_enet_rx_queue(struct net_device *ndev, int
> budget, u16 queue_id)
> skb_put(skb, pkt_len - 4);
> data = skb->data;
>
> + if (!is_copybreak && need_swap)
> + swap_buffer(data, pkt_len);
> +
> +
> #if !defined(CONFIG_M5272)
> if (fep->quirks & FEC_QUIRK_HAS_RACC)
> data = skb_pull_inline(skb, 2);
> #endif
>
> - if (!is_copybreak && need_swap)
> - swap_buffer(data, pkt_len);
> -
> /* Extract the enhanced buffer descriptor */
> ebdp = NULL;
> if (fep->bufdesc_ex)
>
________________________________
Ginzinger electronic systems GmbH
Gewerbegebiet Pirath 16
4952 Weng im Innkreis
www.ginzinger.com
Firmenbuchnummer: FN 364958d
Firmenbuchgericht: Ried im Innkreis
UID-Nr.: ATU66521089
________________________________
Kommende Events:
08.-11. November 2016: Besuchen Sie uns auf der electronica in München -> Halle B1 Stand 538
16. November 2016: Nachmittagsseminar mit unserem Partner Irlbacher zum Thema „Glas als innovatives Material für moderne HMI’s“
17. November 2016: Juristisches Seminar in Linz: Einsatz von Open Source-Software in der Industrie
06. Dezember 2016: Nachmittagsseminar mit unserem Partner sequality software engineering zum Thema Usability
>> Weitere Informationen zu diesen Veranstaltungen und Neuigkeiten aus der Elektronikbranche finden Sie auf www.ginzinger.com/techtalk
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: commit-3ac72b7b63d5 breaks networking on iMX28
2016-10-21 9:19 commit-3ac72b7b63d5 breaks networking on iMX28 Henri Roosen
2016-10-21 10:55 ` Fabio Estevam
@ 2016-10-21 13:39 ` Eric Nelson
2016-10-21 13:43 ` Fabio Estevam
2016-10-21 13:46 ` Eric Nelson
1 sibling, 2 replies; 7+ messages in thread
From: Eric Nelson @ 2016-10-21 13:39 UTC (permalink / raw)
To: Henri Roosen, fugang.duan, netdev
Hi Henri,
On 10/21/2016 02:19 AM, Henri Roosen wrote:
> Hi,
>
> Unfortunately commit-3ac72b7b63d5 "net: fec: align IP header in
> hardware" breaks networking on an iMX28 system.
>
> The commit seems valid for iMX6, where it is tested okay and solves the
> unaligned accesses.
>
> On iMX28 I still see unaligned accesses and networking is broken. Can
> anyone confirm this?
>
Reading the i.MX28 reference manual, it appears that this SoC doesn't
have the RACC bit, and I missed removal of the FEC_QUIRK_HAS_RACC flag.
Can you try with this patch?
diff --git a/drivers/net/ethernet/freescale/fec_main.c
b/drivers/net/ethernet/freescale/fec_main.c
index 692ee24..db5eee9 100644
--- a/drivers/net/ethernet/freescale/fec_main.c
+++ b/drivers/net/ethernet/freescale/fec_main.c
@@ -96,7 +96,7 @@ static struct platform_device_id fec_devtype[] = {
}, {
.name = "imx28-fec",
.driver_data = FEC_QUIRK_ENET_MAC | FEC_QUIRK_SWAP_FRAME |
- FEC_QUIRK_SINGLE_MDIO | FEC_QUIRK_HAS_RACC,
+ FEC_QUIRK_SINGLE_MDIO,
}, {
.name = "imx6q-fec",
.driver_data = FEC_QUIRK_ENET_MAC | FEC_QUIRK_HAS_GBIT |
Please advise,
Eric
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: commit-3ac72b7b63d5 breaks networking on iMX28
2016-10-21 13:39 ` Eric Nelson
@ 2016-10-21 13:43 ` Fabio Estevam
2016-10-21 13:48 ` Eric Nelson
2016-10-21 13:46 ` Eric Nelson
1 sibling, 1 reply; 7+ messages in thread
From: Fabio Estevam @ 2016-10-21 13:43 UTC (permalink / raw)
To: Eric Nelson; +Cc: Henri Roosen, Fugang Duan, netdev
Hi Eric,
On Fri, Oct 21, 2016 at 11:39 AM, Eric Nelson <eric@nelint.com> wrote:
> Reading the i.MX28 reference manual, it appears that this SoC doesn't
> have the RACC bit, and I missed removal of the FEC_QUIRK_HAS_RACC flag.
On MX28 the register is called HW_ENET_MAC_IPACCRXCONF.
I sent a patch that fixes the issue.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: commit-3ac72b7b63d5 breaks networking on iMX28
2016-10-21 13:39 ` Eric Nelson
2016-10-21 13:43 ` Fabio Estevam
@ 2016-10-21 13:46 ` Eric Nelson
1 sibling, 0 replies; 7+ messages in thread
From: Eric Nelson @ 2016-10-21 13:46 UTC (permalink / raw)
To: Henri Roosen, fugang.duan, netdev
Hi Henri,
On 10/21/2016 06:39 AM, Eric Nelson wrote:
> Hi Henri,
>
> On 10/21/2016 02:19 AM, Henri Roosen wrote:
>> Hi,
>>
>> Unfortunately commit-3ac72b7b63d5 "net: fec: align IP header in
>> hardware" breaks networking on an iMX28 system.
>>
>> The commit seems valid for iMX6, where it is tested okay and solves the
>> unaligned accesses.
>>
>> On iMX28 I still see unaligned accesses and networking is broken. Can
>> anyone confirm this?
>>
>
> Reading the i.MX28 reference manual, it appears that this SoC doesn't
> have the RACC bit, and I missed removal of the FEC_QUIRK_HAS_RACC flag.
>
Sorry. I was wrong.
The register (offset 0x1c4) is present, including the SHIFT16 bit, but
the register is named differently (HW_ENET_MAC_IPACCRXCONF).
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: commit-3ac72b7b63d5 breaks networking on iMX28
2016-10-21 13:43 ` Fabio Estevam
@ 2016-10-21 13:48 ` Eric Nelson
0 siblings, 0 replies; 7+ messages in thread
From: Eric Nelson @ 2016-10-21 13:48 UTC (permalink / raw)
To: Fabio Estevam; +Cc: Henri Roosen, Fugang Duan, netdev
Thanks Fabio.
On 10/21/2016 06:43 AM, Fabio Estevam wrote:
> Hi Eric,
>
> On Fri, Oct 21, 2016 at 11:39 AM, Eric Nelson <eric@nelint.com> wrote:
>
>> Reading the i.MX28 reference manual, it appears that this SoC doesn't
>> have the RACC bit, and I missed removal of the FEC_QUIRK_HAS_RACC flag.
>
> On MX28 the register is called HW_ENET_MAC_IPACCRXCONF.
>
> I sent a patch that fixes the issue.
>
I saw that. Nice catch!
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2016-10-21 13:48 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-10-21 9:19 commit-3ac72b7b63d5 breaks networking on iMX28 Henri Roosen
2016-10-21 10:55 ` Fabio Estevam
2016-10-21 11:09 ` Henri Roosen
2016-10-21 13:39 ` Eric Nelson
2016-10-21 13:43 ` Fabio Estevam
2016-10-21 13:48 ` Eric Nelson
2016-10-21 13:46 ` Eric Nelson
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.