[OpenWrt-Devel] [PATCH] ramips: ethernet: turn off flow control

Rosen Penev rosenp at gmail.com
Wed Jan 29 23:39:57 EST 2020


On Wed, Jan 29, 2020 at 3:14 PM Rosen Penev <rosenp at gmail.com> wrote:
>
>
>
> Sent from my iPhone
>
> > On Jan 29, 2020, at 8:22 AM, Petr Štetiar <ynezz at true.cz> wrote:
> >
> > Rosen Penev <rosenp at gmail.com> [2020-01-25 15:04:03]:
> >
> > Hi Bjørn and Rosen,
> >
> >>> On Thu, Jan 23, 2020 at 12:25 AM Bjørn Mork <bjorn at mork.no> wrote:
> >>>>>
> >>>>> -     if ((rt_sysc_r32(SYSC_REG_CHIP_REV_ID) & 0xFFFF) == 0x0101) {
> >>>>> -             /* (GE1, Force 1000M/FD, FC ON, MAX_RX_LENGTH 1536) */
> >>>>> +     if ((rt_sysc_r32(SYSC_REG_CHIP_REV_ID) & 0xFFFF) >= 0x0101) {
> >>>>> +             /* (GE1, Force 1000M/FD, FC OFF, MAX_RX_LENGTH 1536) */
> >>>>>              mtk_switch_w32(gsw, 0x2305e30b, GSW_REG_MAC_P0_MCR);
> >>>>>              mt7530_mdio_w32(gsw, 0x3600, 0x5e30b);
> >>>>>      } else {
> >>>
> >>> If that's really helping then I believe it would be useful to add some
> >>> sort of chip_rev_id printk here.  Would be good to know who hits this
> >>> and why...
> >
> > I just quickly skimmed through the code and it seems like we've that
> > information already in dmesg:
> >
> > SoC Type: MediaTek MT7688 ver:1 eco:2    = 0x0102
> > SoC Type: MediaTek MT7628AN ver:1 eco:2  = 0x0102
> > SoC Type: MediaTek MT7621 ver:1 eco:3    = 0x0103
> > SoC Type: MediaTek MT7620A ver:2 eco:3   = 0x0203
> > SoC Type: MediaTek MT7620N ver:2 eco:6   = 0x0206
> >
> >> That's just cosmetic.
> >
> > current: == 0x0101
> > new:     >= 0x0101
> I meant the comment to print the SoC ID.
> >
> > Doesn't look like a cosmetic change nor correct, see above list. What about
> > following?
> >
> >  if (ralink_soc == MT762X_SOC_MT7621AT) {
> >       /* (GE1, Force 1000M/FD, FC OFF, MAX_RX_LENGTH 1536) */
> >       mtk_switch_w32(gsw, 0x2305e30b, GSW_REG_MAC_P0_MCR);
> >       mt7530_mdio_w32(gsw, 0x3600, 0x5e30b);
> >  } else {
> >       ...
> >  }
> Maybe. All I know is that the patch as I posted it works well according to people on the forums.
On a second look this is totally bogus.

On kernel.org, the ralink_soc variable is only used in arch/mips ,
mainly under the ralink subdirectory. I don't think it should be used
for the switch driver.
> >
> > I just don't know which MediaTek SoC is 0x0101 (ver:1 eco:1), but I assume,
> > that this condition is just bogus from the beginning.
> >
> > -- ynezz

_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


More information about the openwrt-devel mailing list