[PATCH net-next v4 1/2] dt-bindings: net: xilinx_axienet: Document additional clocks

2021-03-25 Thread Robert Hancock
Update DT bindings to describe all of the clocks that the axienet driver will now be able to make use of. Acked-by: Rob Herring Signed-off-by: Robert Hancock --- .../bindings/net/xilinx_axienet.txt | 25 ++- 1 file changed, 19 insertions(+), 6 deletions(-) diff --git

[PATCH net-next v4 2/2] net: axienet: Enable more clocks

2021-03-25 Thread Robert Hancock
well as the Xilinx device tree generator, except for mgt_clk which is not present there. For backward compatibility, if no named clocks are present, the first clock present is used for determining the MDIO bus clock divider. Reviewed-by: Radhey Shyam Pandey Signed-off-by: Robert Hancock

[PATCH net-next v4 0/2] axienet clock additions

2021-03-25 Thread Robert Hancock
Changed since v1: -Clarified clock usages in documentation and code comments Robert Hancock (2): dt-bindings: net: xilinx_axienet: Document additional clocks net: axienet: Enable more clocks .../bindings/net/xilinx_axienet.txt | 25 ++ drivers/net/ethernet/xilinx

Re: [PATCH net-next v3 v3 1/2] dt-bindings: net: xilinx_axienet: Document additional clocks

2021-03-24 Thread Robert Hancock
On Wed, 2021-03-24 at 11:08 -0600, Rob Herring wrote: > On Fri, Mar 12, 2021 at 01:52:13PM -0600, Robert Hancock wrote: > > Update DT bindings to describe all of the clocks that the axienet > > driver will now be able to make use of. > > > > Si

Re: [PATCH net-next 0/2] axienet clock additions

2021-03-14 Thread Robert Hancock
On Sun, 2021-03-14 at 14:27 -0700, David Miller wrote: > From: Robert Hancock > Date: Thu, 11 Mar 2021 14:11:15 -0600 > > > Add support to the axienet driver for controlling all of the clocks that > > the logic core may utilize. > > This series does not apply

Re: [PATCH net-next 2/2] net: macb: Disable PCS auto-negotiation for SGMII fixed-link mode

2021-03-14 Thread Robert Hancock
On Sat, 2021-03-13 at 02:45 +0100, Andrew Lunn wrote: > On Thu, Mar 11, 2021 at 02:18:13PM -0600, Robert Hancock wrote: > > When using a fixed-link configuration in SGMII mode, it's not really > > sensible to have auto-negotiation enabled since the link settings are > &g

[PATCH net-next v3 v3 2/2] net: axienet: Enable more clocks

2021-03-12 Thread Robert Hancock
well as the Xilinx device tree generator, except for mgt_clk which is not present there. For backward compatibility, if no named clocks are present, the first clock present is used for determining the MDIO bus clock divider. Reviewed-by: Radhey Shyam Pandey Signed-off-by: Robert Hancock

[PATCH net-next v3 v3 1/2] dt-bindings: net: xilinx_axienet: Document additional clocks

2021-03-12 Thread Robert Hancock
Update DT bindings to describe all of the clocks that the axienet driver will now be able to make use of. Signed-off-by: Robert Hancock --- .../bindings/net/xilinx_axienet.txt | 25 ++- 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/Documentation

[PATCH net-next v3 v3 0/2] axienet clock additions

2021-03-12 Thread Robert Hancock
nged since v1: -Clarified clock usages in documentation and code comments Robert Hancock (2): dt-bindings: net: xilinx_axienet: Document additional clocks net: axienet: Enable more clocks .../bindings/net/xilinx_axienet.txt | 25 ++ drivers/net/ethernet/xilinx/xilinx

Re: [PATCH net-next v2 1/2] dt-bindings: net: xilinx_axienet: Document additional clocks

2021-03-12 Thread Robert Hancock
On Fri, 2021-03-12 at 18:39 +, Radhey Shyam Pandey wrote: > > -Original Message- > > From: Robert Hancock > > Sent: Friday, March 12, 2021 11:13 PM > > To: Radhey Shyam Pandey ; da...@davemloft.net; > > k...@kernel.org > > Cc: netdev@vger.kernel.org

[PATCH net-next v2 1/2] dt-bindings: net: xilinx_axienet: Document additional clocks

2021-03-12 Thread Robert Hancock
Update DT bindings to describe all of the clocks that the axienet driver will now be able to make use of. Signed-off-by: Robert Hancock --- .../bindings/net/xilinx_axienet.txt | 25 ++- 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/Documentation

[PATCH net-next v2 0/2] axienet clock additions

2021-03-12 Thread Robert Hancock
e comments Robert Hancock (2): dt-bindings: net: xilinx_axienet: Document additional clocks net: axienet: Enable more clocks .../bindings/net/xilinx_axienet.txt | 25 ++ drivers/net/ethernet/xilinx/xilinx_axienet.h | 8 +++-- .../net/ethernet/xilinx/xilinx_axienet_m

[PATCH net-next v2 2/2] net: axienet: Enable more clocks

2021-03-12 Thread Robert Hancock
well as the Xilinx device tree generator, except for mgt_clk which is not present there. For backward compatibility, if no named clocks are present, the first clock present is used for determining the MDIO bus clock divider. Reviewed-by: Radhey Shyam Pandey Signed-off-by: Robert Hancock

Re: [PATCH net-next 2/2] net: axienet: Enable more clocks

2021-03-11 Thread Robert Hancock
On Thu, 2021-03-11 at 14:11 -0600, Robert Hancock wrote: > This driver was only enabling the first clock on the device, regardless > of its name. However, this controller logic can have multiple clocks > which should all be enabled. Add support for enabling additional clocks. > The

[PATCH net-next 0/2] macb SGMII fixed-link fixes

2021-03-11 Thread Robert Hancock
Some fixes to the macb driver for use in SGMII mode with a fixed-link (such as for chip-to-chip connectivity). Robert Hancock (2): net: macb: poll for fixed link state in SGMII mode net: macb: Disable PCS auto-negotiation for SGMII fixed-link mode drivers/net/ethernet/cadence/macb.h

[PATCH net-next 2/2] net: macb: Disable PCS auto-negotiation for SGMII fixed-link mode

2021-03-11 Thread Robert Hancock
When using a fixed-link configuration in SGMII mode, it's not really sensible to have auto-negotiation enabled since the link settings are fixed by definition. In other configurations, such as an SGMII connection to a PHY, it should generally be enabled. Signed-off-by: Robert Ha

[PATCH net-next 1/2] net: macb: poll for fixed link state in SGMII mode

2021-03-11 Thread Robert Hancock
link state is actually up. Signed-off-by: Robert Hancock --- drivers/net/ethernet/cadence/macb_main.c | 14 ++ 1 file changed, 14 insertions(+) diff --git a/drivers/net/ethernet/cadence/macb_main.c b/drivers/net/ethernet/cadence/macb_main.c index 15362d016a87..ca72a16c8da3 100644 --- a

[PATCH net-next 2/2] net: axienet: Enable more clocks

2021-03-11 Thread Robert Hancock
well as the Xilinx device tree generator, except for mgt_clk which is not present there. For backward compatibility, if no named clocks are present, the first clock present is used for determining the MDIO bus clock divider. Signed-off-by: Robert Hancock --- drivers/net/ethernet/xilinx

[PATCH net-next 1/2] dt-bindings: net: xilinx_axienet: Document additional clocks

2021-03-11 Thread Robert Hancock
Update DT bindings to describe all of the clocks that the axienet driver will now be able to make use of. Signed-off-by: Robert Hancock --- .../bindings/net/xilinx_axienet.txt | 23 ++- 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/Documentation

[PATCH net-next 0/2] axienet clock additions

2021-03-11 Thread Robert Hancock
Add support to the axienet driver for controlling all of the clocks that the logic core may utilize. Robert Hancock (2): dt-bindings: net: xilinx_axienet: Document additional clocks net: axienet: Enable more clocks .../bindings/net/xilinx_axienet.txt | 23 + drivers

[PATCH net] net: axienet: Fix probe error cleanup

2021-03-11 Thread Robert Hancock
The driver did not always clean up all allocated resources when probe failed. Fix the probe cleanup path to clean up everything that was allocated. Fixes: 57baf8cc70 ("net: axienet: Handle deferred probe on clock properly") Signed-off-by: Robert Hancock --- .../net/ether

[PATCH net-next v4 2/3] net: phy: Add is_on_sfp_module flag and phy_on_sfp helper

2021-02-16 Thread Robert Hancock
Add a flag and helper function to indicate that a PHY device is part of an SFP module, which is set on attach. This can be used by PHY drivers to handle SFP-specific quirks or behavior. Signed-off-by: Robert Hancock --- drivers/net/phy/phy_device.c | 2 ++ include/linux/phy.h | 11

[PATCH net-next v4 3/3] net: phy: broadcom: Do not modify LED configuration for SFP module PHYs

2021-02-16 Thread Robert Hancock
. Skip this configuration for PHYs which are bound to an SFP bus. Signed-off-by: Robert Hancock --- drivers/net/phy/broadcom.c | 24 +++- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/drivers/net/phy/broadcom.c b/drivers/net/phy/broadcom.c index 8e7fc3368380

[PATCH net-next v4 1/3] net: phy: broadcom: Set proper 1000BaseX/SGMII interface mode for BCM54616S

2021-02-16 Thread Robert Hancock
/datasheets/powersolutions/ds-bps-sfp-1gbt-05-series.pdf https://www.belfuse.com/resources/datasheets/powersolutions/ds-bps-sfp-1gbt-06-series.pdf Signed-off-by: Robert Hancock Acked-by: Florian Fainelli --- drivers/net/phy/broadcom.c | 84 -- include/linux/brcmphy.h

[PATCH net-next v4 0/3] Broadcom PHY driver updates

2021-02-16 Thread Robert Hancock
indentation -Added missing setting of MII_BCM54XX_AUXCTL_MISC_WREN in MII_BCM54XX_AUXCTL_SHDWSEL_MISC register Robert Hancock (3): net: phy: broadcom: Set proper 1000BaseX/SGMII interface mode for BCM54616S net: phy: Add is_on_sfp_module flag and phy_on_sfp helper net: phy: broadcom: Do not

[PATCH net-next v3 3/3] net: phy: broadcom: Do not modify LED configuration for SFP module PHYs

2021-02-16 Thread Robert Hancock
. Skip this configuration for PHYs which are bound to an SFP bus. Signed-off-by: Robert Hancock --- drivers/net/phy/broadcom.c | 24 +++- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/drivers/net/phy/broadcom.c b/drivers/net/phy/broadcom.c index 8e7fc3368380

[PATCH net-next v3 2/3] net: phy: Add is_on_sfp_module flag and phy_on_sfp helper

2021-02-16 Thread Robert Hancock
Add a flag and helper function to indicate that a PHY device is part of an SFP module, which is set on attach. This can be used by PHY drivers to handle SFP-specific quirks or behavior. Signed-off-by: Robert Hancock --- drivers/net/phy/phy_device.c | 2 ++ include/linux/phy.h | 11

[PATCH net-next v3 1/3] net: phy: broadcom: Set proper 1000BaseX/SGMII interface mode for BCM54616S

2021-02-16 Thread Robert Hancock
/datasheets/powersolutions/ds-bps-sfp-1gbt-05-series.pdf https://www.belfuse.com/resources/datasheets/powersolutions/ds-bps-sfp-1gbt-06-series.pdf Signed-off-by: Robert Hancock Acked-by: Florian Fainelli --- drivers/net/phy/broadcom.c | 84 -- include/linux/brcmphy.h

[PATCH net-next v3 0/3] Broadcom PHY driver updates

2021-02-16 Thread Robert Hancock
MII_BCM54XX_AUXCTL_MISC_WREN in MII_BCM54XX_AUXCTL_SHDWSEL_MISC register Robert Hancock (3): net: phy: broadcom: Set proper 1000BaseX/SGMII interface mode for BCM54616S net: phy: Add is_on_sfp_module flag and phy_on_sfp helper net: phy: broadcom: Do not modify LED configuration for SFP module

[PATCH net-next v2] net: phy: marvell: Ensure SGMII auto-negotiation is enabled for 88E1111

2021-02-16 Thread Robert Hancock
interface. Signed-off-by: Robert Hancock --- Changed since v1: Fixed typo and added more explanation in commit message drivers/net/phy/marvell.c | 13 - 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/drivers/net/phy/marvell.c b/drivers/net/phy/marvell.c index

Re: [PATCH net-next v2 2/2] net: phy: broadcom: Do not modify LED configuration for SFP module PHYs

2021-02-16 Thread Robert Hancock
On Sat, 2021-02-13 at 10:45 +, Russell King - ARM Linux admin wrote: > On Fri, Feb 12, 2021 at 08:18:40PM -0600, Robert Hancock wrote: > > + if (!phydev->sfp_bus && > > + (!phydev->attached_dev || !phydev->attached_dev->sfp_bus)) { > > First

Re: [PATCH net-next 3/3] net: axienet: Support dynamic switching between 1000BaseX and SGMII

2021-02-16 Thread Robert Hancock
On Sat, 2021-02-13 at 17:43 +0100, Andrew Lunn wrote: > On Fri, Feb 12, 2021 at 06:23:56PM -0600, Robert Hancock wrote: > > Newer versions of the Xilinx AXI Ethernet core (specifically version 7.2 or > > later) allow the core to be configured with a PHY interface mode of "B

[PATCH net-next v2 2/2] net: phy: broadcom: Do not modify LED configuration for SFP module PHYs

2021-02-12 Thread Robert Hancock
. Skip this configuration for PHYs which are bound to an SFP bus. Signed-off-by: Robert Hancock --- drivers/net/phy/broadcom.c | 26 +- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/drivers/net/phy/broadcom.c b/drivers/net/phy/broadcom.c index 484791ac236b

[PATCH net-next v2 1/2] net: phy: broadcom: Set proper 1000BaseX/SGMII interface mode for BCM54616S

2021-02-12 Thread Robert Hancock
/datasheets/powersolutions/ds-bps-sfp-1gbt-05-series.pdf https://www.belfuse.com/resources/datasheets/powersolutions/ds-bps-sfp-1gbt-06-series.pdf Signed-off-by: Robert Hancock --- drivers/net/phy/broadcom.c | 84 -- include/linux/brcmphy.h| 4 ++ 2 files changed

[PATCH net-next v2 0/2] Broadcom PHY driver updates

2021-02-12 Thread Robert Hancock
Updates to the Broadcom PHY driver related to use with copper SFP modules. Changed since v1: -Reversed conditional to reduce indentation -Added missing setting of MII_BCM54XX_AUXCTL_MISC_WREN in MII_BCM54XX_AUXCTL_SHDWSEL_MISC register Robert Hancock (2): net: phy: broadcom: Set proper

Re: [PATCH net-next 1/2] net: phy: broadcom: Set proper 1000BaseX/SGMII interface mode for BCM54616S

2021-02-12 Thread Robert Hancock
On Fri, 2021-02-12 at 17:26 -0800, Florian Fainelli wrote: > > On 2/12/2021 4:28 PM, 'Robert Hancock' via BCM-KERNEL-FEEDBACK-LIST,PDL > wrote: > > The default configuration for the BCM54616S PHY may not match the desired > > mode when using 1000BaseX or SGMII inte

Re: [PATCH net-next] net: phy: marvell: Ensure SGMII auto-negotiation is enabled for 88E1111

2021-02-12 Thread Robert Hancock
On Sat, 2021-02-13 at 01:09 +, Russell King - ARM Linux admin wrote: > On Fri, Feb 12, 2021 at 06:26:29PM -0600, Robert Hancock wrote: > > When 88E111 is operating in SGMII mode, auto-negotiation should be enabled > > 88E. yup.. > > > on the SGMII side so th

[PATCH net-next] net: phy: marvell: Ensure SGMII auto-negotiation is enabled for 88E1111

2021-02-12 Thread Robert Hancock
some other mode like 1000BaseX, as may happen in some SFP module situations, it may not be. Call genphy_check_and_restart_aneg on the fiber page to ensure that auto- negotiation is properly enabled on the SGMII interface. Signed-off-by: Robert Hancock --- drivers/net/phy/marvell.c | 13

[PATCH net-next 2/3] dt-bindings: net: xilinx_axienet: add xlnx,switch-x-sgmii attribute

2021-02-12 Thread Robert Hancock
Document the new xlnx,switch-x-sgmii attribute which is used to indicate that the Ethernet core supports dynamic switching between 1000BaseX and SGMII. Signed-off-by: Robert Hancock --- Documentation/devicetree/bindings/net/xilinx_axienet.txt | 4 1 file changed, 4 insertions(+) diff

[PATCH net-next 1/3] net: axienet: hook up nway_reset ethtool operation

2021-02-12 Thread Robert Hancock
Hook up the nway_reset ethtool operation to the corresponding phylink function so that "ethtool -r" can be supported. Signed-off-by: Robert Hancock --- drivers/net/ethernet/xilinx/xilinx_axienet_main.c | 8 1 file changed, 8 insertions(+) diff --git a/drivers/net/ether

[PATCH net-next 0/2] Broadcom PHY driver updates

2021-02-12 Thread Robert Hancock
Updates to the Broadcom PHY driver related to use with copper SFP modules. Robert Hancock (2): net: phy: broadcom: Set proper 1000BaseX/SGMII interface mode for BCM54616S net: phy: broadcom: Do not modify LED configuration for SFP module PHYs drivers/net/phy/broadcom.c | 109

[PATCH net-next 3/3] net: axienet: Support dynamic switching between 1000BaseX and SGMII

2021-02-12 Thread Robert Hancock
plications which can use both fiber and copper SFP modules. Signed-off-by: Robert Hancock --- drivers/net/ethernet/xilinx/xilinx_axienet.h | 29 + .../net/ethernet/xilinx/xilinx_axienet_main.c | 60 --- 2 files changed, 71 insertions(+), 18 deletions(-) diff --git a/d

[PATCH net-next 2/2] net: phy: broadcom: Do not modify LED configuration for SFP module PHYs

2021-02-12 Thread Robert Hancock
. Skip this configuration for PHYs which are bound to an SFP bus. Signed-off-by: Robert Hancock --- drivers/net/phy/broadcom.c | 26 +- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/drivers/net/phy/broadcom.c b/drivers/net/phy/broadcom.c index 78542580f2b2

[PATCH net-next 1/2] net: phy: broadcom: Set proper 1000BaseX/SGMII interface mode for BCM54616S

2021-02-12 Thread Robert Hancock
/datasheets/powersolutions/ds-bps-sfp-1gbt-05-series.pdf https://www.belfuse.com/resources/datasheets/powersolutions/ds-bps-sfp-1gbt-06-series.pdf Signed-off-by: Robert Hancock --- drivers/net/phy/broadcom.c | 83 -- include/linux/brcmphy.h| 4 ++ 2 files changed

[PATCH net] net: axienet: Handle deferred probe on clock properly

2021-02-12 Thread Robert Hancock
using an MDIO bus, as the clock is required in any case. Fixes: 09a0354cadec267be7f ("net: axienet: Use clock framework to get device clock rate") Signed-off-by: Robert Hancock --- .../net/ethernet/xilinx/xilinx_axienet_main.c | 26 +-- 1 file changed, 12 inserti

[PATCH net-next 0/3] Xilinx axienet updates

2021-02-12 Thread Robert Hancock
Updates to the Xilinx AXI Ethernet driver to add support for an additional ethtool operation, and to support dynamic switching between 1000BaseX and SGMII interface modes. Robert Hancock (3): net: axienet: hook up nway_reset ethtool operation dt-bindings: net: xilinx_axienet: add xlnx,switch

Patch for stable: iwlwifi: provide gso_type to GSO packets

2021-01-29 Thread Robert Hancock
Figured I would poke someone to add this patch to the stable queue - I don't see it in https://patchwork.kernel.org/bundle/netdev/stable/?state=* right now. This patch is reported to fix a severe upload speed regression in many Intel wireless adapters existing since kernel 5.9, as described in http

[PATCH net-next v5] net: phy: marvell: add special handling of Finisar modules with 88E1111

2020-10-28 Thread Robert Hancock
://www.finisar.com/sites/default/files/resources/an-2036_1000base-t_sfp_faqreve1.pdf Signed-off-by: Robert Hancock Reviewed-by: Russell King --- Changed since v4: Fixed coding style in m88e_config_init_1000basex. drivers/net/phy/marvell.c | 100 +++- include

[PATCH net-next v3] net: axienet: Properly handle PCS/PMA PHY for 1000BaseX mode

2020-10-28 Thread Robert Hancock
Update the axienet driver to properly support the Xilinx PCS/PMA PHY component which is used for 1000BaseX and SGMII modes, including properly configuring the auto-negotiation mode of the PHY and reading the negotiated state from the PHY. Signed-off-by: Robert Hancock --- Changed since v2

Re: [PATCH net-next v2] net: axienet: Properly handle PCS/PMA PHY for 1000BaseX mode

2020-10-27 Thread Robert Hancock
On Tue, 2020-10-27 at 14:25 +, Radhey Shyam Pandey wrote: > > -Original Message- > > From: Robert Hancock > > Sent: Tuesday, October 27, 2020 1:15 AM > > To: Radhey Shyam Pandey ; da...@davemloft.net; > > k...@kernel.org > > Cc: li...@armlin

Re: [PATCH net-next v2] net: axienet: Properly handle PCS/PMA PHY for 1000BaseX mode

2020-10-26 Thread Robert Hancock
On Mon, 2020-10-26 at 18:57 +, Radhey Shyam Pandey wrote: > Thanks for the patch. > > > -Original Message- > > From: Robert Hancock > > Sent: Monday, October 26, 2020 11:26 PM > > To: Radhey Shyam Pandey ; da...@davemloft.net; > > k...@

[PATCH net-next] net: phylink: disable BMCR_ISOLATE in phylink_mii_c22_pcs_config

2020-10-26 Thread Robert Hancock
The Xilinx PCS/PMA PHY requires that BMCR_ISOLATE be disabled for proper operation in 1000BaseX mode. It should be safe to ensure this bit is disabled in phylink_mii_c22_pcs_config in all cases. Signed-off-by: Robert Hancock Reviewed-by: Russell King --- Resubmit tagged for net-next. drivers

[PATCH net-next v4] net: phy: marvell: add special handling of Finisar modules with 88E1111

2020-10-26 Thread Robert Hancock
://www.finisar.com/sites/default/files/resources/an-2036_1000base-t_sfp_faqreve1.pdf Signed-off-by: Robert Hancock Reviewed-by: Russell King --- Changed in v4: Fixed variable order in m88e_config_aneg, added Russell's Reviewed-by drivers/net/phy/marvell.c

[PATCH net-next v2] net: axienet: Properly handle PCS/PMA PHY for 1000BaseX mode

2020-10-26 Thread Robert Hancock
Update the axienet driver to properly support the Xilinx PCS/PMA PHY component which is used for 1000BaseX and SGMII modes, including properly configuring the auto-negotiation mode of the PHY and reading the negotiated state from the PHY. Signed-off-by: Robert Hancock --- Resubmit of v2 tagged

[PATCH v3] net: phy: marvell: add special handling of Finisar modules with 88E1111

2020-10-20 Thread Robert Hancock
://www.finisar.com/sites/default/files/resources/an-2036_1000base-t_sfp_faqreve1.pdf Signed-off-by: Robert Hancock --- Changed since v2: Renamed 1000BX -> 1000X to avoid confusion with 1000Base-BX drivers/net/phy/marvell.c | 99 - include/linux/marvell_ph

[PATCH] net: phylink: disable BMCR_ISOLATE in phylink_mii_c22_pcs_config

2020-10-20 Thread Robert Hancock
The Xilinx PCS/PMA PHY requires that BMCR_ISOLATE be disabled for proper operation in 1000BaseX mode. It should be safe to ensure this bit is disabled in phylink_mii_c22_pcs_config in all cases. Signed-off-by: Robert Hancock --- drivers/net/phy/phylink.c | 3 ++- 1 file changed, 2 insertions

[PATCH v2] net: phy: marvell: add special handling of Finisar modules with 88E1111

2020-10-20 Thread Robert Hancock
://www.finisar.com/sites/default/files/resources/an-2036_1000base-t_sfp_faqreve1.pdf Signed-off-by: Robert Hancock --- drivers/net/phy/marvell.c | 99 - include/linux/marvell_phy.h | 3 ++ 2 files changed, 101 insertions(+), 1 deletion(-) diff --git a/drivers

[PATCH v2] net: axienet: Properly handle PCS/PMA PHY for 1000BaseX mode

2020-10-20 Thread Robert Hancock
Update the axienet driver to properly support the Xilinx PCS/PMA PHY component which is used for 1000BaseX and SGMII modes, including properly configuring the auto-negotiation mode of the PHY and reading the negotiated state from the PHY. Signed-off-by: Robert Hancock --- drivers/net/ethernet

Re: [PATCH] net: phy: marvell: add special handling of Finisar modules with 81E1111

2020-10-19 Thread Robert Hancock
to a Linux PC on the other end, but unfortunately ethtool doesn't seem to report the link partner advertisements on that adapter, only the host advertisements (Intel 82574L, e1000e). -- Robert Hancock Senior Hardware Designer, Advanced Technologies www.calian.com

Re: [PATCH] net: phy: marvell: add special handling of Finisar modules with 81E1111

2020-10-19 Thread Robert Hancock
estion as I'm not familiar with all the other setups where this part would be used. So I'm inclined to leave that part specific to this ID. -- Robert Hancock Senior Hardware Designer, Advanced Technologies www.calian.com

Re: [PATCH] net: phy: marvell: add special handling of Finisar modules with 81E1111

2020-10-19 Thread Robert Hancock
1000BaseT between the module PHY and the copper link partner. I believe the 88E has some smarts to delay the copper negotiation until it gets the advertisement over 1000BaseX, uses those to figure out its advertisement, and then uses the copper link partner's response to determine the 1000Ba

Re: [PATCH] net: axienet: Properly handle PCS/PMA PHY for 1000BaseX mode

2020-10-19 Thread Robert Hancock
MII_BMCR, BMCR_ISOLATE, 0); > > Hi Robert > > That looks like a layering violation. Maybe move this into > phylink_mii_c22_pcs_config(), it is accessing MII_BMCR anyway. Could do - do we think there's any harm in just disabling BMCR_ISOLATE in all cases in that function? -- Robert Hancock Senior Hardware Designer, Advanced Technologies www.calian.com

Re: [PATCH] net: phy: marvell: add special handling of Finisar modules with 81E1111

2020-10-19 Thread Robert Hancock
g_init could likely be merged into m88e_config_init. Mainly what stopped me from making all of these changes generic to all 88E is that I'm a bit less confident in the different config_aneg behavior, it might be more specific to this SFP copper module case? -- Robert Hancock Senior Hardware Designer, Advanced Technologies www.calian.com

Re: [PATCH] net: phy: marvell: add special handling of Finisar modules with 81E1111

2020-10-19 Thread Robert Hancock
On Mon, 2020-10-19 at 22:08 +0100, Russell King - ARM Linux admin wrote: > On Mon, Oct 19, 2020 at 02:49:13PM -0600, Robert Hancock wrote: > > The Finisar FCLF8520P2BTL 1000BaseT SFP module uses a Marvel > > 81E PHY > > You mean 88E here. > Whoops, will f

[PATCH] net: phy: marvell: add special handling of Finisar modules with 81E1111

2020-10-19 Thread Robert Hancock
Hancock --- drivers/net/phy/marvell.c | 82 + include/linux/marvell_phy.h | 3 ++ 2 files changed, 85 insertions(+) diff --git a/drivers/net/phy/marvell.c b/drivers/net/phy/marvell.c index 5aec673a0120..8d85c96209ad 100644 --- a/drivers/net/phy/marvell.c

[PATCH] net: axienet: Properly handle PCS/PMA PHY for 1000BaseX mode

2020-10-19 Thread Robert Hancock
Update the axienet driver to properly support the Xilinx PCS/PMA PHY component which is used for 1000BaseX and SGMII modes, including properly configuring the auto-negotiation mode of the PHY and reading the negotiated state from the PHY. Signed-off-by: Robert Hancock --- drivers/net/ethernet

Re: Xilinx axienet 1000BaseX support

2020-04-28 Thread Robert Hancock
On 2020-04-28 5:01 p.m., Russell King - ARM Linux admin wrote: On Tue, Apr 28, 2020 at 03:59:45PM -0600, Robert Hancock wrote: On 2020-04-22 1:51 a.m., Russell King - ARM Linux admin wrote: On Tue, Apr 21, 2020 at 07:45:47PM -0600, Robert Hancock wrote: Hi Andre/Russell, Just wondering where

Re: Xilinx axienet 1000BaseX support

2020-04-28 Thread Robert Hancock
On 2020-04-22 1:51 a.m., Russell King - ARM Linux admin wrote: On Tue, Apr 21, 2020 at 07:45:47PM -0600, Robert Hancock wrote: Hi Andre/Russell, Just wondering where things got to with the changes for SGMII on Xilinx axienet that you were discussing (below)? I am looking into our Xilinx setup

[PATCH net-next 0/2] Microchip KSZ driver enhancements

2019-06-12 Thread Robert Hancock
A couple of enhancements to the Microchip KSZ switch driver: one to add PHY register settings for errata workarounds for more stable operation, and another to add a device tree option to change the output clock rate as required by some board designs. Robert Hancock (2): net: dsa: microchip: Add

[PATCH net-next 2/2] net: dsa: microchip: Support optional 125MHz SYNCLKO output

2019-06-12 Thread Robert Hancock
The KSZ9477 series chips have a SYNCLKO pin which by default outputs a 25MHz clock, but some board setups require a 125MHz clock instead. Added a microchip,synclko-125 device tree property to allow indicating a 125MHz clock output is required. Signed-off-by: Robert Hancock --- Documentation

[PATCH net-next 1/2] net: dsa: microchip: Add PHY errata workarounds

2019-06-12 Thread Robert Hancock
: Robert Hancock --- drivers/net/dsa/microchip/ksz9477.c | 62 drivers/net/dsa/microchip/ksz_priv.h | 1 + 2 files changed, 63 insertions(+) diff --git a/drivers/net/dsa/microchip/ksz9477.c b/drivers/net/dsa/microchip/ksz9477.c index c026d15..7be6d84 100644

[PATCH net] net: dsa: microchip: Don't try to read stats for unused ports

2019-06-12 Thread Robert Hancock
counter reading support") Signed-off-by: Robert Hancock --- drivers/net/dsa/microchip/ksz_common.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/net/dsa/microchip/ksz_common.c b/drivers/net/dsa/microchip/ksz_common.c index 39dace8..f46086f 100644 --- a/drivers/net/dsa/microchip

[PATCH net-next] net: phy: Add more 1000BaseX support detection

2019-06-11 Thread Robert Hancock
de in the first place. Add this in. Signed-off-by: Robert Hancock --- drivers/net/phy/phy_device.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/net/phy/phy_device.c b/drivers/net/phy/phy_device.c index 03c885e..5387890 100644 --- a/drivers/net/phy/phy_device.c +++ b/drivers/net/p

net-next: KSZ switch driver oops in ksz_mib_read_work

2019-06-11 Thread Robert Hancock
18.031159] 7fc0: [ 18.031166] 7fe0: 0013 [ 18.031176] Code: 1a06 e51630e0 e0833405 e5933050 (e593302c) [ 18.031279] ---[ end trace ca82392a6c2aa959 ]--- -- Robert Hancock

[PATCH net-next] net: axienet: move use of resource after validity check

2019-06-11 Thread Robert Hancock
We were accessing the pointer returned from platform_get_resource before checking if it was valid, causing an oops if it was not. Move this access after the call to devm_ioremap_resource which does the validity check. Signed-off-by: Robert Hancock --- This bug was introduced in my recent

Re: [PATCH net-next] net: phy: phylink: support using device PHY in fixed or 802.3z mode

2019-06-07 Thread Robert Hancock
link >>> modes - I view what you've done there as a hack rather than proper >>> design. > > I do have the beginnings of a quirk system for the sfp-bus layer, > since I've been conversing with someone with a GPON module that > does appear to follow the SFP MSA, in particular with regard to the > time it takes the module to start responding on I2C, and in regard > of the speeds it actually supports (basically, the EEPROM is > misleading.) So, that should be useful for you as well. > > http://git.armlinux.org.uk/cgit/linux-arm.git/log/?h=phy > > is my playground of patches for SFP, which are in various stages of > maturity, some which have been posted for inclusion (and merged) > others that have been waiting some time. > -- Robert Hancock Senior Software Developer SED Systems, a division of Calian Ltd. Email: hanc...@sedsystems.ca

Re: [PATCH net-next] net: phy: phylink: add fallback from SGMII to 1000BaseX

2019-06-07 Thread Robert Hancock
On 2019-06-02 9:15 a.m., Russell King - ARM Linux admin wrote: > On Fri, May 31, 2019 at 06:17:51PM -0600, Robert Hancock wrote: >> Our device is mainly intended for fiber modules, which is why 1000BaseX >> is being used. The variant of fiber modules we are using (for exam

[PATCH net-next 1/2 v2] net: sfp: Stop SFP polling and interrupt handling during shutdown

2019-06-07 Thread Robert Hancock
interrupts and stop all delayed work in the SFP driver during the shutdown process, so that we ensure that no pending operations are still occurring after the SFP shutdown completes. Signed-off-by: Robert Hancock --- Changed since v1: Free interrupts during shutdown to avoid need for shutdown

[PATCH net-next 2/2] net: sfp: add mutex to prevent concurrent state checks

2019-06-07 Thread Robert Hancock
sm_mutex nests inside of it. Suggested-by: Russell King Signed-off-by: Robert Hancock --- drivers/net/phy/sfp.c | 6 +- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/net/phy/sfp.c b/drivers/net/phy/sfp.c index 01af080..edd2de5 100644 --- a/drivers/net/phy/sfp.c +++ b

[PATCH net-next 0/2] SFP polling fixes

2019-06-07 Thread Robert Hancock
This has an updated version of an earlier patch to ensure that SFP operations are stopped during shutdown, and another patch suggested by Russell King to address a potential concurrency issue with SFP state checks. Robert Hancock (2): net: sfp: Stop SFP polling and interrupt handling during

Re: [PATCH net-next] net: sfp: Stop SFP polling and interrupt handling during shutdown

2019-06-07 Thread Robert Hancock
On 2019-06-07 4:42 a.m., Russell King - ARM Linux admin wrote: > On Thu, Jun 06, 2019 at 02:57:22PM -0600, Robert Hancock wrote: >> The idea there was to deal with the case where GPIO interrupts were >> previously raised before shutdown and not yet handled by the threaded >>

[PATCH net-next v5 18/20] net: axienet: document axistream-connected attribute

2019-06-06 Thread Robert Hancock
The axienet driver requires the use of an axistream-connected attribute, but this isn't documented in the devicetree bindings. Document how this attribute is supposed to be used, including the upcoming change to make the usage of this attribute optional. Signed-off-by: Robert Ha

[PATCH net-next v5 14/20] net: axienet: Make missing MAC address non-fatal

2019-06-06 Thread Robert Hancock
Failing initialization on a missing MAC address property is excessive. We can just fall back to using a random MAC instead, which at least leaves the interface in a functioning state. Signed-off-by: Robert Hancock --- drivers/net/ethernet/xilinx/xilinx_axienet_main.c | 5 +++-- 1 file changed

[PATCH net-next v5 15/20] net: axienet: stop interface during shutdown

2019-06-06 Thread Robert Hancock
Hancock --- drivers/net/ethernet/xilinx/xilinx_axienet_main.c | 14 ++ 1 file changed, 14 insertions(+) diff --git a/drivers/net/ethernet/xilinx/xilinx_axienet_main.c b/drivers/net/ethernet/xilinx/xilinx_axienet_main.c index 6e75c43..d138db8 100644 --- a/drivers/net/ethernet/xilinx

[PATCH net-next v5 09/20] net: axienet: Make RX/TX ring sizes configurable

2019-06-06 Thread Robert Hancock
Add support for setting the RX and TX ring sizes for this driver using ethtool. Also increase the default RX ring size as the previous default was far too low for good performance in some configurations. Signed-off-by: Robert Hancock --- drivers/net/ethernet/xilinx/xilinx_axienet.h | 2

[PATCH net-next v5 05/20] net: axienet: Use clock framework to get device clock rate

2019-06-06 Thread Robert Hancock
clock used for the device in the device tree using the clock framework. If the clock is specified then it will be used when calculating the clock divisor. The previous CPU clock detection method is left for backward compatibility if no clock is specified. Signed-off-by: Robert Hancock

[PATCH net-next v5 10/20] net: axienet: Add DMA registers to ethtool register dump

2019-06-06 Thread Robert Hancock
These registers are important for troubleshooting the state of the DMA cores. Signed-off-by: Robert Hancock --- drivers/net/ethernet/xilinx/xilinx_axienet_main.c | 10 +- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/xilinx/xilinx_axienet_main.c b

[PATCH net-next v5 03/20] net: axienet: fix MDIO bus naming

2019-06-06 Thread Robert Hancock
the actual Ethernet register block. Signed-off-by: Robert Hancock --- drivers/net/ethernet/xilinx/xilinx_axienet.h | 2 ++ drivers/net/ethernet/xilinx/xilinx_axienet_main.c | 1 + drivers/net/ethernet/xilinx/xilinx_axienet_mdio.c | 11 +-- 3 files changed, 8 insertions(+), 6

[PATCH net-next v5 16/20] net: axienet: document device tree mdio child node

2019-06-06 Thread Robert Hancock
The mdio child node for the MDIO bus is generally required when using this driver but was not documented other than being shown in the example. Document it as an optional (but usually required) parameter. Signed-off-by: Robert Hancock --- Documentation/devicetree/bindings/net/xilinx_axienet.txt

[PATCH net-next v5 20/20] net: axienet: convert to phylink API

2019-06-06 Thread Robert Hancock
Convert this driver to use the phylink API rather than the legacy PHY API. This allows for better support for SFP modules connected using a 1000BaseX or SGMII interface. Signed-off-by: Robert Hancock --- drivers/net/ethernet/xilinx/Kconfig | 2 +- drivers/net/ethernet/xilinx

[PATCH net-next v5 07/20] net: axienet: Re-initialize MDIO registers properly after reset

2019-06-06 Thread Robert Hancock
. Also, lock the MDIO bus lock around the device reset process, to avoid MDIO accesses from occurring while the MDIO is disabled during the reset. Signed-off-by: Robert Hancock --- drivers/net/ethernet/xilinx/xilinx_axienet.h | 3 +- drivers/net/ethernet/xilinx/xilinx_axienet_main.c | 38

[PATCH net-next v5 12/20] net: axienet: Add optional support for Ethernet core interrupt

2019-06-06 Thread Robert Hancock
needs to be specified in the device tree. Signed-off-by: Robert Hancock --- .../devicetree/bindings/net/xilinx_axienet.txt | 3 +- drivers/net/ethernet/xilinx/xilinx_axienet.h | 1 + drivers/net/ethernet/xilinx/xilinx_axienet_main.c | 49 ++ 3 files changed, 52

[PATCH net-next v5 17/20] net: axienet: Fix MDIO bus parent node detection

2019-06-06 Thread Robert Hancock
this should be relatively safe. Signed-off-by: Robert Hancock Reviewed-by: Andrew Lunn --- drivers/net/ethernet/xilinx/xilinx_axienet_mdio.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/xilinx/xilinx_axienet_mdio.c b/drivers/net/ethernet/xilinx/xi

[PATCH net-next v5 04/20] net: axienet: add X86 and ARM as supported platforms

2019-06-06 Thread Robert Hancock
This driver should now build on (at least) X86 and ARM platforms, so add them as supported platforms for the driver in Kconfig. Signed-off-by: Robert Hancock Reviewed-by: Andrew Lunn --- drivers/net/ethernet/xilinx/Kconfig | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a

[PATCH net-next v5 11/20] net: axienet: Support shared interrupts

2019-06-06 Thread Robert Hancock
Specify IRQF_SHARED to support shared interrupts. If the interrupt handler is called and the device is not indicating an interrupt, just return IRQ_NONE rather than spewing error messages. Signed-off-by: Robert Hancock --- drivers/net/ethernet/xilinx/xilinx_axienet_main.c | 14 -- 1

[PATCH net-next v5 01/20] net: axienet: Fix casting of pointers to u32

2019-06-06 Thread Robert Hancock
such. Signed-off-by: Robert Hancock Reviewed-by: Andrew Lunn --- drivers/net/ethernet/xilinx/xilinx_axienet.h | 11 +++--- drivers/net/ethernet/xilinx/xilinx_axienet_main.c | 26 --- 2 files changed, 17 insertions(+), 20 deletions(-) diff --git a/drivers/net

[PATCH net-next v5 08/20] net: axienet: Cleanup DMA device reset and halt process

2019-06-06 Thread Robert Hancock
are completely stopped. Signed-off-by: Robert Hancock --- drivers/net/ethernet/xilinx/xilinx_axienet.h | 2 + drivers/net/ethernet/xilinx/xilinx_axienet_main.c | 54 +-- 2 files changed, 42 insertions(+), 14 deletions(-) diff --git a/drivers/net/ethernet/xilinx

[PATCH net-next v5 02/20] net: axienet: Use standard IO accessors

2019-06-06 Thread Robert Hancock
accessors. Signed-off-by: Robert Hancock --- drivers/net/ethernet/xilinx/xilinx_axienet.h | 4 ++-- drivers/net/ethernet/xilinx/xilinx_axienet_main.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/net/ethernet/xilinx/xilinx_axienet.h b/drivers/net/ethernet

[PATCH net-next v5 19/20] net: axienet: make use of axistream-connected attribute optional

2019-06-06 Thread Robert Hancock
te is specified. Signed-off-by: Robert Hancock --- drivers/net/ethernet/xilinx/xilinx_axienet_main.c | 43 +++ 1 file changed, 28 insertions(+), 15 deletions(-) diff --git a/drivers/net/ethernet/xilinx/xilinx_axienet_main.c b/drivers/net/ethernet/xilinx/xilinx_axienet_main.c

[PATCH net-next v5 13/20] net: axienet: Fix race condition causing TX hang

2019-06-06 Thread Robert Hancock
wakeup and the adapter's transmit hanging. To avoid this, after stopping the queue, check again whether there is sufficient space in the TX ring. If so, wake up the queue again. Signed-off-by: Robert Hancock --- drivers/net/ethernet/xilinx/xilinx_axienet_main.c | 20 +--- 1

  1   2   3   >