[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAHx5RXCWW5M-eW5v65bAkQWZemsU2NTvDv3jA9_XKz=+YP56Qg@mail.gmail.com>
Date: Mon, 13 May 2024 17:21:45 +0100
From: Stephen Langstaff <stephenlangstaff1@...il.com>
To: Florian Fainelli <f.fainelli@...il.com>
Cc: andrew@...n.ch, linux-kernel@...r.kernel.org,
"OlteanV@...il.com" <OlteanV@...il.com>
Subject: Re: drivers/net/dsa/dsa_loop_bdinfo.c build problems
On Mon, May 13, 2024 at 4:50 PM Florian Fainelli <f.fainelli@...il.com> wrote:
> Then dsa_loop_bdinfo is going to be built into your kernel image, and it
> will register a mdio_board_info structure which will create fixed PHY
> devices and it will assume that the DSA conduit network device name is
> "eth0". If this is not correct for your system, that needs changing.
>
> What are you trying to achieve? Can you be a tad more verbose about what
> you have tried and what is not working?
Sure, sorry I was being a bit terse.
In a 6.1.55 Linux kernel build, after a full make, if I touch a file
marked as "=y" in the .config (e.g. net/devres.c) I see that the
compiler rebuilds the corresponding .o file, as expected:
user@...hine:/opt/linux-imx$ touch net/devres.c
user@...hine:/opt/linux-imx$ make
CALL scripts/checksyscalls.sh
CC net/devres.o
AR net/built-in.a
..
If I do the same for drivers/net/dsa/dsa_loop_bdinfo.c nothing is rebuilt!
user@...hine:/opt/linux-imx$ touch drivers/net/dsa/dsa_loop_bdinfo.c
user@...hine:/opt/linux-imx$ make
CALL scripts/checksyscalls.sh
user@...hine:/opt/linux-imx$
What I am trying to achieve is to use dsa_loop to connect a CPU
running Linux to an Ethernet switch via a "conduit" Ethernet link
(e.g. eth0) using the port-based Ethertype DSA (Marvell) frame tagging
protocol, so that the Linux kernel will present the userspace with
separate Ethernet links for each of the switch's user ports (e.g.
lan1, lan2, lan3).
As I understand it this is usually done via a fixed phy-less conduit
(e.g. xMII) and an MDIO link between the processor and the switch so
that the processor can configure and control the physical user ports.
I want to do some software development ahead of receiving the
hardware, so I want to "fake" the MDIO link, or in some other way
configure the kernel, such that it uses port-based EDSA frame tagging
over an ordinary (PHY-equipped) Ethernet port and it looks to me like
dsa_loop should be capable of doing this.
Powered by blists - more mailing lists