[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20240416.222119.1989306221012409360.fujita.tomonori@gmail.com>
Date: Tue, 16 Apr 2024 22:21:19 +0900 (JST)
From: FUJITA Tomonori <fujita.tomonori@...il.com>
To: andrew@...n.ch
Cc: fujita.tomonori@...il.com, netdev@...r.kernel.org,
rust-for-linux@...r.kernel.org, tmgross@...ch.edu
Subject: Re: [PATCH net-next v1 2/4] rust: net::phy support C45 helpers
Hi,
On Tue, 16 Apr 2024 14:38:11 +0200
Andrew Lunn <andrew@...n.ch> wrote:
>> If I correctly understand the original driver code, C45 bus protocol
>> is used. Adding functions for C45 bus protocol read/write would be
>> enough for this driver, I guess.
>
> Now i've read more of the patches, i can see that the MDIO bus master
> is C45 only. At least, that is all that is implemented in the
> driver. So for this combination of MAC and PHY, forcing C45 register
> access using C45 bus protocol will work.
Thanks a lot!
> However, can you combine this PHY with some other MDIO bus master,
> which does not support C45? Then C45 over C22 would need to be used?
> Looking at the data sheet i found online, there is no suggestion it
> does support C22 bus protocol. All the diagrams/tables only show C45
> bus protocol.
qt2025_ds3014.pdf?
> So this PHY is a special case. So you can use wrapper methods which
> force C45 bus protocol, and ignore phylib support for performing C45
> over C22 when needed. However, while doing this:
>
> 1: Clearly document that these helpers are not generic, they force C45
> register access using C45 bus protocol, and should only by used PHY
> drivers which know the PHY device does not support C45 over C22
>
> 2: Think about naming. At some point we are going to add the generic
> helpers for accessing C45 registers which leave the core to decide
> if to perform a C45 bus protocol access or C45 over C22. Those
> generic helpers need to have the natural name for accessing a C45
> register since 99% of drivers will be using them. The helpers you
> add now need to use a less common name.
Sounds like we should save the names of c45_read and c45_write.
read_with_c45_bus_protocol and write_with_c45_bus_protocol?
They call mdiobus_c45_*, right?
Powered by blists - more mailing lists