From: Lukasz Majewski <lukma@denx.de>
To: Krzysztof Kozlowski <krzk@kernel.org>
Cc: Jakub Kicinski <kuba@kernel.org>,
Andrew Lunn <andrew+netdev@lunn.ch>,
davem@davemloft.net, Eric Dumazet <edumazet@google.com>,
Paolo Abeni <pabeni@redhat.com>, Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Shawn Guo <shawnguo@kernel.org>,
Sascha Hauer <s.hauer@pengutronix.de>,
Pengutronix Kernel Team <kernel@pengutronix.de>,
Fabio Estevam <festevam@gmail.com>,
Richard Cochran <richardcochran@gmail.com>,
netdev@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org, imx@lists.linux.dev,
linux-arm-kernel@lists.infradead.org,
Stefan Wahren <wahrenst@gmx.net>, Simon Horman <horms@kernel.org>,
Andrew Lunn <andrew@lunn.ch>
Subject: Re: [net-next v7 4/7] net: mtip: The L2 switch driver for imx287
Date: Fri, 25 Apr 2025 09:49:07 +0200 [thread overview]
Message-ID: <20250425094907.27740d07@wsk> (raw)
In-Reply-To: <a5f54d46-6829-4d60-b453-9ee92e6b568c@kernel.org>
[-- Attachment #1: Type: text/plain, Size: 3494 bytes --]
Hi Krzysztof, Jakub
> On 25/04/2025 08:05, Lukasz Majewski wrote:
> > Hi Krzysztof, Jakub,
> >
> >> On 25/04/2025 03:11, Jakub Kicinski wrote:
> >>> On Wed, 23 Apr 2025 09:29:08 +0200 Lukasz Majewski wrote:
> >>>> This patch series provides support for More Than IP L2 switch
> >>>> embedded in the imx287 SoC.
> >>>>
> >>>> This is a two port switch (placed between uDMA[01] and
> >>>> MAC-NET[01]), which can be used for offloading the network
> >>>> traffic.
> >>>>
> >>>> It can be used interchangeably with current FEC driver - to be
> >>>> more specific: one can use either of it, depending on the
> >>>> requirements.
> >>>>
> >>>> The biggest difference is the usage of DMA - when FEC is used,
> >>>> separate DMAs are available for each ENET-MAC block.
> >>>> However, with switch enabled - only the DMA0 is used to
> >>>> send/receive data to/form switch (and then switch sends them to
> >>>> respecitive ports).
> >>>
> >>> Lots of sparse warnings and build issues here, at least on x86.
> >>>
> >>> Could you make sure it's clean with an allmodconfig config,
> >>> something like:
> >>>
> >>> make C=1 W=1 drivers/net/ethernet/freescale/mtipsw/
> >>
> >> ... and W=1 with clang as well.
> >>
> >
> > The sparse warnings are because of struct switch_t casting and
> > register
>
> clang W=1 fails on errors, so it is not only sparse:
>
> error: cast to smaller integer type 'uint' (aka 'unsigned int') from
> 'struct cbd_t *' [-Werror,-Wpointer-to-int-cast]
>
> You probably wanted there kenel_ulong_t.
This I did not catch earlier (probably because of my testing on
imx287). Thanks for spotting it.
>
> > access with this paradigm (as it is done with other drivers).
>
> I don't understand. I see code like:
>
> struct switch_t *fecp = fep->hwp;
>
> But this is not a cast - the same types.
For example:
The warning:
mtipl2sw.c:208:30: warning: incorrect type in argument 1 (different
address spaces) mtipl2sw.c:208:30: expected void const volatile
[noderef] __iomem *addr mtipl2sw.c:208:30: got unsigned int *
corresponds to:
info->maclo = readl(&fecp->ESW_LREC0); [*]
where:
struct switch_t {
u32 ESW_REVISION;
u32 ESW_SCRATCH;
...
/*from 0x420-0x4FC*/
u32 esw_reserved9[57];
/*0xFC0DC500---0xFC0DC508*/
u32 ESW_LREC0;
u32 ESW_LREC1;
u32 ESW_LSR;
};
The 'u32' type seems to be valid here as this register is 32 bit wide.
To fix the sparse warnings - I think that I will replace [*] with:
info->maclo = readl((u32 __iomem *)&fecp->ESW_LREC0);
as such solution is used in a wide way in the mainline kernel.
Is this the acceptable solution?
> >
> > What is the advise here from the community?
> >
> >> Best regards,
> >> Krzysztof
> >
> >
> >
> >
> > Best regards,
> >
> > Lukasz Majewski
> >
> > --
> >
> > DENX Software Engineering GmbH, Managing Director: Erika Unter
> > HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell,
> > Germany Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email:
> > lukma@denx.de
>
>
> Best regards,
> Krzysztof
Best regards,
Lukasz Majewski
--
DENX Software Engineering GmbH, Managing Director: Erika Unter
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: lukma@denx.de
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
next prev parent reply other threads:[~2025-04-25 7:49 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-04-23 7:29 [net-next v7 0/7] net: mtip: Add support for MTIP imx287 L2 switch driver Lukasz Majewski
2025-04-23 7:29 ` [net-next v7 1/7] dt-bindings: net: Add MTIP L2 switch description Lukasz Majewski
2025-04-23 7:29 ` [net-next v7 2/7] ARM: dts: nxp: mxs: Adjust the imx28.dtsi " Lukasz Majewski
2025-04-23 7:29 ` [net-next v7 3/7] ARM: dts: nxp: mxs: Adjust XEA board's DTS to support L2 switch Lukasz Majewski
2025-04-23 7:29 ` [net-next v7 4/7] net: mtip: The L2 switch driver for imx287 Lukasz Majewski
2025-04-25 1:11 ` Jakub Kicinski
2025-04-25 5:33 ` Krzysztof Kozlowski
2025-04-25 6:05 ` Lukasz Majewski
2025-04-25 6:18 ` Krzysztof Kozlowski
2025-04-25 7:49 ` Lukasz Majewski [this message]
2025-04-25 8:08 ` Krzysztof Kozlowski
2025-04-25 10:58 ` Lukasz Majewski
2025-04-23 7:29 ` [net-next v7 5/7] ARM: mxs_defconfig: Enable CONFIG_NFS_FSCACHE Lukasz Majewski
2025-04-23 7:29 ` [net-next v7 6/7] ARM: mxs_defconfig: Update mxs_defconfig to 6.15-rc1 Lukasz Majewski
2025-04-23 7:29 ` [net-next v7 7/7] ARM: mxs_defconfig: Enable CONFIG_FEC_MTIP_L2SW to support MTIP L2 switch Lukasz Majewski
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=20250425094907.27740d07@wsk \
--to=lukma@denx.de \
--cc=andrew+netdev@lunn.ch \
--cc=andrew@lunn.ch \
--cc=conor+dt@kernel.org \
--cc=davem@davemloft.net \
--cc=devicetree@vger.kernel.org \
--cc=edumazet@google.com \
--cc=festevam@gmail.com \
--cc=horms@kernel.org \
--cc=imx@lists.linux.dev \
--cc=kernel@pengutronix.de \
--cc=krzk+dt@kernel.org \
--cc=krzk@kernel.org \
--cc=kuba@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=richardcochran@gmail.com \
--cc=robh@kernel.org \
--cc=s.hauer@pengutronix.de \
--cc=shawnguo@kernel.org \
--cc=wahrenst@gmx.net \
/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.