All of lore.kernel.org
 help / color / mirror / Atom feed
From: Luiz Angelo Daros de Luca <luizluca@gmail.com>
To: "Alvin Šipraga" <ALSI@bang-olufsen.dk>
Cc: "netdev@vger.kernel.org" <netdev@vger.kernel.org>,
	"linus.walleij@linaro.org" <linus.walleij@linaro.org>,
	"andrew@lunn.ch" <andrew@lunn.ch>,
	"vivien.didelot@gmail.com" <vivien.didelot@gmail.com>,
	"f.fainelli@gmail.com" <f.fainelli@gmail.com>,
	"olteanv@gmail.com" <olteanv@gmail.com>,
	"arinc.unal@arinc9.com" <arinc.unal@arinc9.com>
Subject: Re: [PATCH net-next v2 12/13] net: dsa: realtek: rtl8365mb: add RTL8367S support
Date: Thu, 30 Dec 2021 21:18:23 -0300	[thread overview]
Message-ID: <CAJq09z6mCrg58_RwygetF2hnWV0Kq5YMYWOg4sF3eLAASzqJTg@mail.gmail.com> (raw)
In-Reply-To: <c4f4aef5-aeb5-047b-d3e1-78e7b4c2c968@bang-olufsen.dk>

> > @@ -31,7 +31,10 @@ config NET_DSA_REALTEK_RTL8365MB
> >       depends on NET_DSA_REALTEK_SMI || NET_DSA_REALTEK_MDIO
> >       select NET_DSA_TAG_RTL8_4
> >       help
> > -       Select to enable support for Realtek RTL8365MB
> > +       Select to enable support for Realtek RTL8365MB-VC and RTL8367S. This subdriver
> > +       might also support RTL8363NB, RTL8363NB-VB, RTL8363SC, RTL8363SC-VB, RTL8364NB,
> > +       RTL8364NB-VB, RTL8366SC, RTL8367RB-VB, RTL8367SB, RTL8370MB, RTL8310SR
> > +       in the future.
>
> Not sure how useful this marketing is when I am configuring my kernel.
>

I'll clean it, mentioning only the supported drivers.

> >   /* Chip-specific data and limits */
> >   #define RTL8365MB_CHIP_ID_8365MB_VC         0x6367
> > -#define RTL8365MB_LEARN_LIMIT_MAX_8365MB_VC  2112
>
> The learn limit actually seems to be chip-specific and not family
> specific, that's why I placed it here to begin with. For example,
> something called RTL8370B has a limit of 4160...
>

From Realtek rtl8367c driver:

typedef enum switch_chip_e
{
    CHIP_RTL8367C = 0,
    CHIP_RTL8370B,
    CHIP_RTL8364B,
    CHIP_RTL8363SC_VB,
    CHIP_END
}switch_chip_t;

and

    switch (data)
    {
        case 0x0276:
        case 0x0597:
        case 0x6367:
            *pSwitchChip = CHIP_RTL8367C;
            halCtrl = &rtl8367c_hal_Ctrl;
            break;
        case 0x0652:
        case 0x6368:
            *pSwitchChip = CHIP_RTL8370B;
            halCtrl = &rtl8370b_hal_Ctrl;
            break;
        case 0x0801:
        case 0x6511:
            if( (regValue & 0x00F0) == 0x0080)
            {
                *pSwitchChip = CHIP_RTL8363SC_VB;
                halCtrl = &rtl8363sc_vb_hal_Ctrl;
            }
            else
            {
                *pSwitchChip = CHIP_RTL8364B;
                halCtrl = &rtl8364b_hal_Ctrl;
            }
            break;
        default:
            return RT_ERR_FAILED;
    }

RTL8370B does not seem to be a real device, but another "(sub)family",
like RTL8367C. I can leave it as chip_version specific but the
RTL8365MB is, for now, about RTL8367C chips. I think it is better to
leave it as a family limit.

It would make sense to have it specific for each chip family if all
Realtek DSA drivers get merged into a single one.

> > +#define RTL8365MB_CHIP_VER_8365MB_VC         0x0040
> > +
> > +#define RTL8365MB_CHIP_ID_8367S                      0x6367
> > +#define RTL8365MB_CHIP_VER_8367S             0x00A0
> > +
> > +#define RTL8365MB_LEARN_LIMIT_MAX            2112
>
> But anyways, if you are going to make it family-specific rather than
> chip-specific, place it ...

OK

>
> >
> >   /* Family-specific data and limits */
>
> ... somewhere under here.
>
> >   #define RTL8365MB_PHYADDRMAX        7
> >   #define RTL8365MB_NUM_PHYREGS       32
> >   #define RTL8365MB_PHYREGMAX (RTL8365MB_NUM_PHYREGS - 1)
> > -#define RTL8365MB_MAX_NUM_PORTS  7
> > +// RTL8370MB and RTL8310SR, possibly suportable by this driver, have 10 ports
>
> C style comments :-)
>
> > +#define RTL8365MB_MAX_NUM_PORTS              10
>
> Did you mess up the indentation here? Also seems unrelated to RTL8367S
> support...

It looks like...

>
> >
> >   /* Chip identification registers */
> >   #define RTL8365MB_CHIP_ID_REG               0x1300
> > @@ -1964,9 +1970,22 @@ static int rtl8365mb_detect(struct realtek_priv *priv)
> >
> >       switch (chip_id) {
> >       case RTL8365MB_CHIP_ID_8365MB_VC:
> > -             dev_info(priv->dev,
> > -                      "found an RTL8365MB-VC switch (ver=0x%04x)\n",
> > -                      chip_ver);
> > +             switch (chip_ver) {
> > +             case RTL8365MB_CHIP_VER_8365MB_VC:
> > +                     dev_info(priv->dev,
> > +                              "found an RTL8365MB-VC switch (ver=0x%04x)\n",
> > +                              chip_ver);
> > +                     break;
> > +             case RTL8365MB_CHIP_VER_8367S:
> > +                     dev_info(priv->dev,
> > +                              "found an RTL8367S switch (ver=0x%04x)\n",
> > +                              chip_ver);
> > +                     break;
> > +             default:
> > +                     dev_err(priv->dev, "unrecognized switch version (ver=0x%04x)",
> > +                             chip_ver);
> > +                     return -ENODEV;
> > +             }
> >
> >               priv->num_ports = RTL8365MB_MAX_NUM_PORTS;
> >
> > @@ -1974,7 +1993,7 @@ static int rtl8365mb_detect(struct realtek_priv *priv)
> >               mb->chip_id = chip_id;
> >               mb->chip_ver = chip_ver;
> >               mb->port_mask = GENMASK(priv->num_ports - 1, 0);
> > -             mb->learn_limit_max = RTL8365MB_LEARN_LIMIT_MAX_8365MB_VC;
> > +             mb->learn_limit_max = RTL8365MB_LEARN_LIMIT_MAX;
> >               mb->jam_table = rtl8365mb_init_jam_8365mb_vc;
> >               mb->jam_size = ARRAY_SIZE(rtl8365mb_init_jam_8365mb_vc);
> >
>

  reply	other threads:[~2021-12-31  0:20 UTC|newest]

Thread overview: 94+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-12-16 20:13 [PATCH net-next 00/13] net: dsa: realtek: MDIO interface and RTL8367S luizluca
2021-12-16 20:13 ` [PATCH net-next 01/13] dt-bindings: net: dsa: realtek-smi: remove unsupported switches luizluca
2021-12-16 23:20   ` Alvin Šipraga
2021-12-18  2:41   ` Linus Walleij
2021-12-18  6:12     ` Luiz Angelo Daros de Luca
2021-12-19 22:27       ` Linus Walleij
2021-12-16 20:13 ` [PATCH net-next 02/13] net: dsa: realtek-smi: move to subdirectory luizluca
2021-12-16 23:21   ` Alvin Šipraga
2021-12-18  2:41   ` Linus Walleij
2021-12-16 20:13 ` [PATCH net-next 03/13] net: dsa: realtek: rename realtek_smi to realtek_priv luizluca
2021-12-16 23:22   ` Alvin Šipraga
2021-12-17  6:21     ` Luiz Angelo Daros de Luca
2021-12-18  2:45       ` Linus Walleij
2021-12-18  6:15         ` Luiz Angelo Daros de Luca
2021-12-17  9:21     ` Andrew Lunn
2021-12-16 20:13 ` [PATCH net-next 04/13] net: dsa: realtek: convert subdrivers into modules luizluca
2021-12-16 23:29   ` Alvin Šipraga
2021-12-17  6:50     ` Luiz Angelo Daros de Luca
2021-12-17  2:31   ` kernel test robot
2021-12-17  2:31     ` kernel test robot
2021-12-16 20:13 ` [PATCH net-next 05/13] net: dsa: realtek: use phy_read in ds->ops luizluca
2021-12-18  2:50   ` Linus Walleij
2021-12-18  6:24     ` Luiz Angelo Daros de Luca
2021-12-16 20:13 ` [PATCH net-next 06/13] net: dsa: rtl8365mb: move rtl8365mb.c to rtl8367c.c luizluca
2021-12-19 22:29   ` Linus Walleij
2021-12-19 23:21     ` Alvin Šipraga
2021-12-16 20:13 ` [PATCH net-next 07/13] net: dsa: rtl8365mb: rename rtl8365mb to rtl8367c luizluca
2021-12-16 23:41   ` Alvin Šipraga
2021-12-17  7:24     ` Luiz Angelo Daros de Luca
2021-12-17 12:15       ` Alvin Šipraga
2021-12-17 22:50         ` Arınç ÜNAL
2021-12-18  6:08         ` Luiz Angelo Daros de Luca
2021-12-17 10:57     ` Arınç ÜNAL
2021-12-16 20:13 ` [PATCH net-next 08/13] net: dsa: realtek: add new mdio interface for drivers luizluca
2021-12-17  0:11   ` Alvin Šipraga
2021-12-17  3:33   ` kernel test robot
2021-12-17  3:33     ` kernel test robot
2021-12-18  2:54   ` Linus Walleij
2021-12-16 20:13 ` [PATCH net-next 09/13] dt-bindings: net: dsa: realtek-mdio: document new interface luizluca
2021-12-18  2:57   ` Linus Walleij
2021-12-18  6:26     ` Luiz Angelo Daros de Luca
2021-12-16 20:13 ` [PATCH net-next 10/13] net: dsa: realtek: rtl8367c: rename extport to extint, add "realtek,ext-int" luizluca
2021-12-16 20:13 ` [PATCH net-next 11/13] net: dsa: realtek: rtl8367c: use GENMASK(n-1,0) instead of BIT(n)-1 luizluca
2021-12-18  2:59   ` Linus Walleij
2021-12-19 20:06   ` Florian Fainelli
2021-12-19 20:28     ` Luiz Angelo Daros de Luca
2021-12-16 20:13 ` [PATCH net-next 12/13] net: dsa: realtek: rtl8367c: use DSA CPU port luizluca
2021-12-16 20:13 ` [PATCH net-next 13/13] net: dsa: realtek: rtl8367c: add RTL8367S support luizluca
2021-12-16 22:30 ` [PATCH net-next 00/13] net: dsa: realtek: MDIO interface and RTL8367S Arınç ÜNAL
2021-12-17  0:25 ` Jakub Kicinski
2021-12-17  8:53   ` Luiz Angelo Daros de Luca
2021-12-17  9:26     ` Andrew Lunn
2021-12-17 10:19       ` Luiz Angelo Daros de Luca
2021-12-18  8:14 ` Luiz Angelo Daros de Luca
2021-12-18  8:14   ` [PATCH net-next v2 01/13] dt-bindings: net: dsa: realtek-smi: mark unsupported switches Luiz Angelo Daros de Luca
2021-12-19 19:46     ` Linus Walleij
2021-12-18  8:14   ` [PATCH net-next v2 02/13] net: dsa: realtek-smi: move to subdirectory Luiz Angelo Daros de Luca
2021-12-19 21:43     ` Alvin Šipraga
2021-12-18  8:14   ` [PATCH net-next v2 03/13] net: dsa: realtek: rename realtek_smi to realtek_priv Luiz Angelo Daros de Luca
2021-12-19 22:24     ` Linus Walleij
2021-12-18  8:14   ` [PATCH net-next v2 04/13] net: dsa: realtek: remove direct calls to realtek-smi Luiz Angelo Daros de Luca
2021-12-18  8:14   ` [PATCH net-next v2 05/13] net: dsa: realtek: convert subdrivers into modules Luiz Angelo Daros de Luca
2021-12-19 22:25     ` Linus Walleij
2021-12-18  8:14   ` [PATCH net-next v2 06/13] net: dsa: realtek: use phy_read in ds->ops Luiz Angelo Daros de Luca
2021-12-19 19:58     ` Florian Fainelli
2021-12-30 19:44       ` Luiz Angelo Daros de Luca
2021-12-30 20:00         ` Andrew Lunn
2021-12-31  2:30           ` Luiz Angelo Daros de Luca
2021-12-18  8:14   ` [PATCH net-next v2 07/13] net: dsa: realtek: add new mdio interface for drivers Luiz Angelo Daros de Luca
2021-12-19 21:17     ` Alvin Šipraga
2021-12-19 21:44       ` Andrew Lunn
2021-12-19 22:32       ` Linus Walleij
2021-12-28  8:21       ` Luiz Angelo Daros de Luca
2021-12-28  9:57         ` Andrew Lunn
2021-12-31  3:10       ` Luiz Angelo Daros de Luca
2021-12-20 14:49     ` kernel test robot
2021-12-20 14:49       ` kernel test robot
2021-12-18  8:14   ` [PATCH net-next v2 08/13] dt-bindings: net: dsa: realtek-mdio: document new interface Luiz Angelo Daros de Luca
2021-12-19 19:57     ` Florian Fainelli
2021-12-19 21:53     ` Arınç ÜNAL
2021-12-20  7:50       ` Arınç ÜNAL
2021-12-18  8:14   ` [PATCH net-next v2 09/13] net: dsa: realtek: rtl8365mb: rename extport to extint, add "realtek,ext-int" Luiz Angelo Daros de Luca
2021-12-19 22:45     ` Alvin Šipraga
2021-12-18  8:14   ` [PATCH net-next v2 10/13] net: dsa: realtek: rtl8365mb: use GENMASK(n-1,0) instead of BIT(n)-1 Luiz Angelo Daros de Luca
2021-12-18  8:14   ` [PATCH net-next v2 11/13] net: dsa: realtek: rtl8365mb: use DSA CPU port Luiz Angelo Daros de Luca
2021-12-19 22:19     ` Vladimir Oltean
2021-12-19 23:19       ` Alvin Šipraga
2021-12-28  8:48         ` Luiz Angelo Daros de Luca
2021-12-18  8:14   ` [PATCH net-next v2 12/13] net: dsa: realtek: rtl8365mb: add RTL8367S support Luiz Angelo Daros de Luca
2021-12-19 21:43     ` Alvin Šipraga
2021-12-31  0:18       ` Luiz Angelo Daros de Luca [this message]
2021-12-18  8:14   ` [PATCH net-next v2 13/13] dt-bindings: net: dsa: realtek-{smi,mdio}: add rtl8367s Luiz Angelo Daros de Luca
2021-12-18  8:19   ` net: dsa: realtek: MDIO interface and RTL8367S Luiz Angelo Daros de Luca
2021-12-19 23:28   ` Alvin Šipraga

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=CAJq09z6mCrg58_RwygetF2hnWV0Kq5YMYWOg4sF3eLAASzqJTg@mail.gmail.com \
    --to=luizluca@gmail.com \
    --cc=ALSI@bang-olufsen.dk \
    --cc=andrew@lunn.ch \
    --cc=arinc.unal@arinc9.com \
    --cc=f.fainelli@gmail.com \
    --cc=linus.walleij@linaro.org \
    --cc=netdev@vger.kernel.org \
    --cc=olteanv@gmail.com \
    --cc=vivien.didelot@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 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.