Re: [PATCH] ixgbe: fix Kconfig when driver is not a module

2019-01-04 Thread Steve Douthit
On 1/3/19 7:55 PM, Jeff Kirsher wrote: > I initially tried that, but we get a recursive Kconfig dependency error > when IPSec is enabled as well, which I noted in the commit message. I'm not running into the dependency issue you mention in my own testing of the 'select PHYLIB' patch. All of the fo

Re: [PATCH] ixgbe: fix Kconfig when driver is not a module

2019-01-03 Thread Steve Douthit
nel and MDIO_BUS is compiled as a module. In this > case, the IXGBE_MDIO option is disabled and the code is not compiled > into the driver. > > CC: Dave Jones > CC: Steve Douthit > CC: Florian Fainelli > Signed-off-by: Jeff Kirsher > --- > drivers/net/ethernet/intel/

Re: ixgbe / mdio dependancy error

2019-01-02 Thread Steve Douthit
> This is because PHYLIB=m which forces MDIO_BUS=m. If you have IXGBE=y, > then PHYLIB and MDIO_BUS can't be modules. Working on a patch to > correct the issue. There was a review comment to select MDIO_DEVICE instead of PHYLIB. PHYLIB seems correct to me now that I'm looking at this again thoug

[PATCH net-next v5 1/2] ixgbe: register a mdiobus

2018-12-06 Thread Steve Douthit
Most dsa devices expect a 'struct mii_bus' pointer to talk to switches via the MII interface. While this works for dsa devices, it will not work safely with Linux PHYs in all configurations since the firmware of the ixgbe device may be polling some PHY addresses in the background. Signed-off-by:

[PATCH net-next v5 2/2] ixgbe: use mii_bus to handle MII related ioctls

2018-12-06 Thread Steve Douthit
Use the mii_bus callbacks to address the entire clause 22/45 address space. Enables userspace to poke switch registers instead of a single PHY address. The ixgbe firmware may be polling PHYs in a way that is not protected by the mii_bus lock. This isn't new behavior, but as Andrew Lunn pointed o

[PATCH net-next v5 0/2] Add mii_bus to ixgbe driver for dsa devs

2018-12-06 Thread Steve Douthit
Changes from v4 -> v5 * select MDIO_DEVICE instead of MII in Kconfig * Collect Tested-by: tags Changes from v3 -> v4 * Remove unecessary pointer casts * Fix copy/paste issues in comments * Simplify setting of swfw semaphore flags * Collect Reviewed-by: tags Changes from v2 -> v3 * Added warnings

Re: [PATCH net-next v4 0/2] Add mii_bus to ixgbe driver for dsa devs

2018-12-04 Thread Steve Douthit
On 12/3/18 6:46 PM, Florian Fainelli wrote: > Yes, we have been discussing that topic with Andrew and have a few ideas > on how that could be achieved, but not code to use that at the moment. > One of the idea was to finally allow enslaving the DSA master network > device, that way you could assign

Re: [PATCH net-next v4 0/2] Add mii_bus to ixgbe driver for dsa devs

2018-12-03 Thread Steve Douthit
> Not directly related to this patch series, are you using the legacy or > "new" way of passing platform data in order to register the DSA switch? > Since you mentioned 6390, I would assume this must be the "new" way of > registering DSA devices with mdio_boardinfo etc. In that case, have you > fou

[PATCH net-next v4 0/2] Add mii_bus to ixgbe driver for dsa devs

2018-12-03 Thread Steve Douthit
Changes from v3 -> v4 * Remove unecessary pointer casts * Fix copy/paste issues in comments * Simplify setting of swfw semaphore flags * Collect Reviewed-by: tags Changes from v2 -> v3 * Added warnings about interactions between this code and PHY polling unit to the commit messages. Changes fro

[PATCH net-next v4 1/2] ixgbe: register a mdiobus

2018-12-03 Thread Steve Douthit
Most dsa devices expect a 'struct mii_bus' pointer to talk to switches via the MII interface. While this works for dsa devices, it will not work safely with Linux PHYs in all configurations since the firmware of the ixgbe device may be polling some PHY addresses in the background. Signed-off-by:

[PATCH net-next v4 2/2] ixgbe: use mii_bus to handle MII related ioctls

2018-12-03 Thread Steve Douthit
Use the mii_bus callbacks to address the entire clause 22/45 address space. Enables userspace to poke switch registers instead of a single PHY address. The ixgbe firmware may be polling PHYs in a way that is not protected by the mii_bus lock. This isn't new behavior, but as Andrew Lunn pointed o

Re: [PATCH net-next v3 1/2] ixgbe: register a mdiobus

2018-12-03 Thread Steve Douthit
On 12/3/18 2:07 PM, Florian Fainelli wrote: > On 12/3/18 10:55 AM, Steve Douthit wrote: >> Most dsa devices expect a 'struct mii_bus' pointer to talk to switches >> via the MII interface. >> >> While this works for dsa devices, it will not work safely with Linu

[PATCH net-next v3 2/2] ixgbe: use mii_bus to handle MII related ioctls

2018-12-03 Thread Steve Douthit
Use the mii_bus callbacks to address the entire clause 22/45 address space. Enables userspace to poke switch registers instead of a single PHY address. The ixgbe firmware may be polling PHYs in a way that is not protected by the mii_bus lock. This isn't new behavior, but as Andrew Lunn pointed o

[PATCH net-next v3 1/2] ixgbe: register a mdiobus

2018-12-03 Thread Steve Douthit
Most dsa devices expect a 'struct mii_bus' pointer to talk to switches via the MII interface. While this works for dsa devices, it will not work safely with Linux PHYs in all configurations since the firmware of the ixgbe device may be polling some PHY addresses in the background. Signed-off-by:

[PATCH net-next v3 0/2] Add mii_bus to ixgbe driver for dsa devs

2018-12-03 Thread Steve Douthit
Changes from v2 -> v3 * Added warnings about interactions between this code and PHY polling unit to the commit messages. Changes from v1 -> v2 [PATCH 1/2] ixgbe: register a mdiobus * Add intel-wired-...@lists.osuosl.org to CC list, see * select MII in Kconfig (thanks to the kbuild bot) * Only ca

Re: [PATCH net-next v2 1/2] ixgbe: register a mdiobus

2018-12-03 Thread Steve Douthit
On 12/3/18 1:18 PM, Andrew Lunn wrote: >> Agreed, but I'd argue it's the same behavior we have today with the >> existing MII ioctls in this driver. That's not to say this is good, >> it's just not any less broken than the current state of things. > > Agreed. > > I actually would be happy with a

Re: [PATCH net-next v2 1/2] ixgbe: register a mdiobus

2018-12-03 Thread Steve Douthit
On 12/3/18 12:21 PM, Andrew Lunn wrote: > On Mon, Dec 03, 2018 at 05:02:40PM +0000, Steve Douthit wrote: >> On 12/3/18 11:54 AM, Andrew Lunn wrote: >>>> +static s32 ixgbe_x550em_a_mii_bus_read(struct mii_bus *bus, int addr, >>>> + i

Re: [PATCH net-next v2 1/2] ixgbe: register a mdiobus

2018-12-03 Thread Steve Douthit
On 12/3/18 11:54 AM, Andrew Lunn wrote: >> +static s32 ixgbe_x550em_a_mii_bus_read(struct mii_bus *bus, int addr, >> + int regnum) >> +{ >> +struct ixgbe_adapter *adapter = (struct ixgbe_adapter *)bus->priv; >> +struct ixgbe_hw *hw = &adapter->hw; >> +u

[PATCH net-next v2 1/2] ixgbe: register a mdiobus

2018-12-03 Thread Steve Douthit
Most dsa devices expect a 'struct mii_bus' pointer to talk to switches via the MII interface. Signed-off-by: Stephen Douthit --- drivers/net/ethernet/intel/Kconfig| 1 + drivers/net/ethernet/intel/ixgbe/ixgbe.h | 2 + drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 5 + dr

[PATCH net-next v2 2/2] ixgbe: use mii_bus to handle MII related ioctls

2018-12-03 Thread Steve Douthit
Use the mii_bus callbacks to address the entire clause 22/45 address space. Enables userspace to poke switch registers instead of a single PHY address. Signed-off-by: Stephen Douthit --- drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 18 ++ 1 file changed, 18 insertions(+) dif

[PATCH net-next v2 0/2] Add mii_bus to ixgbe driver for dsa devs

2018-12-03 Thread Steve Douthit
Address review comments from v1. I missed the intel-wired-lan list on the first submission, so check out the netdev list archive for the first rev of the patch. I think it's still up in the air on how best to register a single bus that's shared among up to four MACs. This code works for me, but

Re: [PATCH net-next 1/2] ixgbe: register a mdiobus

2018-11-30 Thread Steve Douthit
On 11/30/18 12:43 PM, Florian Fainelli wrote: > > > On 11/30/2018 9:34 AM, Steve Douthit wrote: >> On 11/30/18 11:34 AM, Andrew Lunn wrote: >>>> Yep, registering multiple interfaces is wrong. The first board I tested >>>> against only had a single MAC e

Re: [PATCH net-next 1/2] ixgbe: register a mdiobus

2018-11-30 Thread Steve Douthit
On 11/30/18 11:34 AM, Andrew Lunn wrote: >> Yep, registering multiple interfaces is wrong. The first board I tested >> against only had a single MAC enabled (they can be disabled/hidden via >> straps) so it just happened to work. > > Hi Steve > > Can you hide any/all via straps, or is 00.0 alway

Re: [PATCH net-next 1/2] ixgbe: register a mdiobus

2018-11-30 Thread Steve Douthit
On 11/30/18 8:21 AM, Andrew Lunn wrote: > Hi Steve > > Cool to see another interface being made DSA capable. > >> +/** >> + * ixgbe_msca - Write the command register and poll for completion/timeout >> + * @hw: pointer to hardware structure >> + * @cmd: command register value to write >> + **/

Re: [PATCH net-next 0/2] Add mii_bus to ixgbe driver for dsa devs

2018-11-29 Thread Steve Douthit
On 11/29/18 2:03 PM, Jeff Kirsher wrote: > On Thu, 2018-11-29 at 18:54 +0000, Steve Douthit wrote: >> Most dsa devices currently expect to get a pointer to a mii_bus from >> platform data of device tree information. >> >> The first patch exposes a mii_bus for ixgbe d

[PATCH net-next 2/2] ixgbe: use mii_bus to handle MII related ioctls

2018-11-29 Thread Steve Douthit
Use the mii_bus callbacks to address the entire clause 22/45 address space. Enables userspace to poke switch registers instead of a single PHY address. Signed-off-by: Stephen Douthit --- drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 29 +-- 1 file changed, 14 insertions(+), 15

[PATCH net-next 1/2] ixgbe: register a mdiobus

2018-11-29 Thread Steve Douthit
Most dsa devices expect a 'struct mii_bus' pointer to talk to switches via the MII interface. Signed-off-by: Stephen Douthit --- drivers/net/ethernet/intel/ixgbe/ixgbe.h | 2 + drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 6 + drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c | 192 +

[PATCH net-next 0/2] Add mii_bus to ixgbe driver for dsa devs

2018-11-29 Thread Steve Douthit
Most dsa devices currently expect to get a pointer to a mii_bus from platform data of device tree information. The first patch exposes a mii_bus for ixgbe devices. Currently the ixgbe driver only allows accesses to the probed PHY address via ioctls. The second patch changes that behavior to allow