Re: [PATCH V2 net-next 2/3] net: broadcom: share header defining UniMAC registers

2021-01-08 Thread Doug Berger
(1 << 7) > +#define CMD_RX_PAUSE_IGNORE (1 << 8) > +#define CMD_TX_ADDR_INS (1 << 9) > +#define CMD_HD_EN (1 << 10) > +#define CMD_SW_RESET_OLD(1 << 11) > +#define CMD_SW_RESET(1 << 13) > +#define CMD_LCL_LOOP_EN (1 << 15) > +#define CMD_AUTO_CONFIG (1 << 22) > +#define CMD_CNTL_FRM_EN (1 << 23) > +#define CMD_NO_LEN_CHK (1 << 24) > +#define CMD_RMT_LOOP_EN (1 << 25) > +#define CMD_RX_ERR_DISC (1 << 26) > +#define CMD_PRBL_EN (1 << 27) > +#define CMD_TX_PAUSE_IGNORE (1 << 28) > +#define CMD_TX_RX_EN(1 << 29) > +#define CMD_RUNT_FILTER_DIS (1 << 30) > +#define UMAC_MAC00x00c > +#define UMAC_MAC10x010 > +#define UMAC_MAX_FRAME_LEN 0x014 > +#define UMAC_PAUSE_QUANTA0x018 > +#define UMAC_MODE0x044 > +#define MODE_LINK_STATUS(1 << 5) > +#define UMAC_FRM_TAG00x048 /* outer tag */ > +#define UMAC_FRM_TAG10x04c /* inner tag */ > +#define UMAC_TX_IPG_LEN 0x05c > +#define UMAC_EEE_CTRL0x064 > +#define EN_LPI_RX_PAUSE (1 << 0) > +#define EN_LPI_TX_PFC (1 << 1) > +#define EN_LPI_TX_PAUSE (1 << 2) > +#define EEE_EN (1 << 3) > +#define RX_FIFO_CHECK (1 << 4) > +#define EEE_TX_CLK_DIS (1 << 5) > +#define DIS_EEE_10M (1 << 6) > +#define LP_IDLE_PREDICTION_MODE (1 << 7) > +#define UMAC_EEE_LPI_TIMER 0x068 > +#define UMAC_EEE_WAKE_TIMER 0x06C > +#define UMAC_EEE_REF_COUNT 0x070 > +#define EEE_REFERENCE_COUNT_MASK0x > +#define UMAC_RX_IPG_INV 0x078 > +#define UMAC_MACSEC_PROG_TX_CRC 0x310 > +#define UMAC_MACSEC_CTRL 0x314 > +#define UMAC_PAUSE_CTRL 0x330 > +#define UMAC_TX_FLUSH0x334 > +#define UMAC_RX_FIFO_STATUS 0x338 > +#define UMAC_TX_FIFO_STATUS 0x33c > + > +#endif > Acked-by: Doug Berger Thanks! Doug

Re: [PATCH] net: bcmgenet: fix mask check in bcmgenet_validate_flow()

2020-09-02 Thread Doug Berger
;h_source) || > + if (VALIDATE_MASK(eth_mask->h_dest) || > VALIDATE_MASK(eth_mask->h_source) || > VALIDATE_MASK(eth_mask->h_proto)) { > netdev_err(dev, "rxnfc: Unsupported mask\n"); > Well spotted. Thanks! Acked-by: Doug Berger

Re: [PATCH RFC net-next 0/3] Restructure drivers/net/phy

2020-07-28 Thread Doug Berger
On 7/28/2020 9:28 AM, Ioana Ciornei wrote: >> Subject: Re: [PATCH RFC net-next 0/3] Restructure drivers/net/phy >> >>> I think that the MAINTAINERS file should also be updated to mention >>> the new path to the drivers. Just did a quick grep after 'drivers/net/phy': >>> F: drivers/net/phy/adin

Re: [PATCH net] net: bcmgenet: add missed clk_disable_unprepare in bcmgenet_probe

2020-07-20 Thread Doug Berger
t; > priv->clk_eee = devm_clk_get_optional(&priv->pdev->dev, "enet-eee"); > if (IS_ERR(priv->clk_eee)) { > dev_dbg(&priv->pdev->dev, "failed to get enet-eee clock\n"); > err = PTR_ERR(priv->clk_eee); > - goto err; > + goto err_clk_disable; > } > > /* If this is an internal GPHY, power it on now, before UniMAC is > Acked-by: Doug Berger Thanks!

Re: [PATCH net] net: bcmgenet: fix error returns in bcmgenet_probe()

2020-07-20 Thread Doug Berger
err = dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(32)); > if (err) > - goto err; > + goto err_clk_disable; > > /* Mii wait queue */ > init_waitqueue_head(&priv->wq); > Acked-by: Doug Berger Thanks!

Re: [PATCH net-next] net: bcmgenet: fix error returns in bcmgenet_probe()

2020-07-17 Thread Doug Berger
hanges into a pull-request with fixes tag: Fixes: c80d36ff63a5 ("net: bcmgenet: Use devm_clk_get_optional() to get the clocks") Resubmit the pull-requests with [PATCH net]. That will make them easier to apply to stable branches. Otherwise: Acked-by: Doug Berger Thanks!

[PATCH net 2/3] net: bcmgenet: test RBUF_ACPI_EN when resuming

2020-07-16 Thread Doug Berger
that the GENET hardware must have been reset so the remainder of the hardware programming is bypassed. Fixes: f50932cca632 ("net: bcmgenet: add WAKE_FILTER support") Signed-off-by: Doug Berger --- drivers/net/ethernet/broadcom/genet/bcmgenet_wol.c | 10 +++--- 1 file changed, 7 insert

[PATCH net 3/3] net: bcmgenet: restore HFB filters on resume

2020-07-16 Thread Doug Berger
the bcmgenet_hfb_create_rxnfc_filter() function is modified to access the register space directly so that it can't fail due to memory allocation issues. Fixes: f50932cca632 ("net: bcmgenet: add WAKE_FILTER support") Signed-off-by: Doug Berger --- drivers/net/ethernet/broadcom/g

[PATCH net 0/3] net: bcmgenet: fix WAKE_FILTER resume from deep sleep

2020-07-16 Thread Doug Berger
testing suspend and resume from these deep sleep states. Doug Berger (3): net: bcmgenet: test MPD_EN when resuming net: bcmgenet: test RBUF_ACPI_EN when resuming net: bcmgenet: restore HFB filters on resume drivers/net/ethernet/broadcom/genet/bcmgenet.c | 138 + drivers

[PATCH net 1/3] net: bcmgenet: test MPD_EN when resuming

2020-07-16 Thread Doug Berger
that the GENET hardware must have been reset so the remainder of the hardware programming is bypassed. Fixes: 1a1d5106c1e3 ("net: bcmgenet: move clk_wol management to bcmgenet_wol") Signed-off-by: Doug Berger --- drivers/net/ethernet/broadcom/genet/bcmgenet_wol.c | 12 1 file

[PATCH net 1/3] net: bcmgenet: re-remove bcmgenet_hfb_add_filter

2020-06-24 Thread Doug Berger
n is still unused and the kbuild test robot dutifully reported the warning. This commit once again removes the remaining unused hfb functions. Fixes: 14da1510fedc ("Revert "net: bcmgenet: remove unused function in bcmgenet.c"") Reported-by: kbuild test robot Signed-off-by:

[PATCH net 3/3] net: bcmgenet: use hardware padding of runt frames

2020-06-24 Thread Doug Berger
t;net: bcmgenet: fix skb_len in bcmgenet_xmit_single()") we can remove the software padding all together and make use of hardware padding of short frames as long as the hardware also always appends the FCS value to the frame. Fixes: 474ea9cafc45 ("net: bcmgenet: correctly pad short pack

[PATCH net 2/3] net: bcmgenet: use __be16 for htons(ETH_P_IP)

2020-06-24 Thread Doug Berger
The 16-bit value that holds a short in network byte order should be declared as a restricted big endian type to allow type checks to succeed during assignment. Fixes: 3e370952287c ("net: bcmgenet: add support for ethtool rxnfc flows") Reported-by: kbuild test robot Signed-off-by: D

[PATCH net 0/3] net: bcmgenet: use hardware padding of runt frames

2020-06-24 Thread Doug Berger
hardware to add the pad bytes if necessary. The first two commits resolve warnings observed by the kbuild test robot and are included here for simplicity of application. Doug Berger (3): net: bcmgenet: re-remove bcmgenet_hfb_add_filter net: bcmgenet: use __be16 for htons(ETH_P_IP) net: bcmgenet

[PATCH net-next] net: phy: simplify phy_link_change arguments

2020-05-18 Thread Doug Berger
needs its second argument. Signed-off-by: Doug Berger --- drivers/net/phy/phy.c| 12 ++-- drivers/net/phy/phy_device.c | 12 +--- drivers/net/phy/phylink.c| 3 +-- include/linux/phy.h | 2 +- 4 files changed, 13 insertions(+), 16 deletions(-) diff --git a

Re: [PATCH net-next 1/4] net: ethernet: validate pause autoneg setting

2020-05-13 Thread Doug Berger
On 5/13/2020 6:49 AM, Andrew Lunn wrote: >> So, I think consistency of implementation is more important than fixing >> this; the current behaviour has been established for many years now. > > Hi Russell, Doug > > With netlink ethtool we have the possibility of adding a new API to > control this.

Re: [PATCH net-next 4/4] net: bcmgenet: add support for ethtool flow control

2020-05-13 Thread Doug Berger
On 5/13/2020 2:52 AM, Russell King - ARM Linux admin wrote: > On Mon, May 11, 2020 at 05:24:10PM -0700, Doug Berger wrote: >> diff --git a/drivers/net/ethernet/broadcom/genet/bcmmii.c >> b/drivers/net/ethernet/broadcom/genet/bcmmii.c >> index 511d553a4d11..788da1ecea0c 100644

Re: [PATCH net-next 3/4] net: ethernet: introduce phy_set_pause

2020-05-13 Thread Doug Berger
On 5/13/2020 2:42 AM, Russell King - ARM Linux admin wrote: > On Mon, May 11, 2020 at 05:24:09PM -0700, Doug Berger wrote: >> This commit introduces the phy_set_pause function to the phylib as >> a helper to support the set_pauseparam ethtool method. >> >> It is

Re: [PATCH net-next 1/4] net: ethernet: validate pause autoneg setting

2020-05-13 Thread Doug Berger
On 5/13/2020 2:20 AM, Russell King - ARM Linux admin wrote: > On Wed, May 13, 2020 at 06:34:05AM +0100, Russell King - ARM Linux admin > wrote: >> On Tue, May 12, 2020 at 08:48:22PM -0700, Doug Berger wrote: >>> On 5/12/2020 11:55 AM, Russell King - ARM Linux admin wrote

Re: [PATCH net-next 1/4] net: ethernet: validate pause autoneg setting

2020-05-13 Thread Doug Berger
On 5/12/2020 10:34 PM, Russell King - ARM Linux admin wrote: > On Tue, May 12, 2020 at 08:48:22PM -0700, Doug Berger wrote: >> On 5/12/2020 11:55 AM, Russell King - ARM Linux admin wrote: >>> On Tue, May 12, 2020 at 11:31:39AM -0700, Doug Berger wrote: >>>> Thi

Re: [PATCH net-next 1/4] net: ethernet: validate pause autoneg setting

2020-05-12 Thread Doug Berger
On 5/12/2020 11:55 AM, Russell King - ARM Linux admin wrote: > On Tue, May 12, 2020 at 11:31:39AM -0700, Doug Berger wrote: >> This was intended as a fix, but I thought it would be better to keep it >> as part of this set for context and since net-next is currently open. >&

Re: [PATCH net-next 1/4] net: ethernet: validate pause autoneg setting

2020-05-12 Thread Doug Berger
On 5/12/2020 12:08 PM, Michal Kubecek wrote: > On Tue, May 12, 2020 at 11:31:39AM -0700, Doug Berger wrote: >> On 5/11/2020 5:47 PM, Andrew Lunn wrote: >>> On Mon, May 11, 2020 at 05:24:07PM -0700, Doug Berger wrote: >>>> A comment in uapi/linux/ethtool.h states &qu

Re: [PATCH net-next 3/4] net: ethernet: introduce phy_set_pause

2020-05-12 Thread Doug Berger
On 5/11/2020 5:51 PM, Andrew Lunn wrote: > On Mon, May 11, 2020 at 05:24:09PM -0700, Doug Berger wrote: >> This commit introduces the phy_set_pause function to the phylib as >> a helper to support the set_pauseparam ethtool method. >> >> It is hoped that the new

Re: [PATCH net-next 1/4] net: ethernet: validate pause autoneg setting

2020-05-12 Thread Doug Berger
On 5/11/2020 5:47 PM, Andrew Lunn wrote: > On Mon, May 11, 2020 at 05:24:07PM -0700, Doug Berger wrote: >> A comment in uapi/linux/ethtool.h states "Drivers should reject a >> non-zero setting of @autoneg when autoneogotiation is disabled (or >> not supported) for t

[PATCH net-next 1/4] net: ethernet: validate pause autoneg setting

2020-05-11 Thread Doug Berger
: ethernet: Add helper to determine if pause configuration is supported") Signed-off-by: Doug Berger --- drivers/net/phy/phy_device.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/net/phy/phy_device.c b/drivers/net/phy/phy_device.c index c3a107cf578e..5a9618ba232e 100644 -

[PATCH net-next 2/4] net: add autoneg parameter to linkmode_set_pause

2020-05-11 Thread Doug Berger
ement") Signed-off-by: Doug Berger --- drivers/net/phy/linkmode.c | 104 +-- drivers/net/phy/phy_device.c | 3 +- drivers/net/phy/phylink.c| 6 +-- include/linux/linkmode.h | 3 +- 4 files changed, 88 insertions(+), 28 deletions(-) di

[PATCH net-next 3/4] net: ethernet: introduce phy_set_pause

2020-05-11 Thread Doug Berger
functions are retained for all existing users and for any desenting opinions on my interpretation of the functionality. Signed-off-by: Doug Berger --- drivers/net/phy/phy_device.c | 31 +++ include/linux/phy.h | 1 + 2 files changed, 32 insertions(+) diff --git a

[PATCH net-next 4/4] net: bcmgenet: add support for ethtool flow control

2020-05-11 Thread Doug Berger
. Signed-off-by: Doug Berger --- drivers/net/ethernet/broadcom/genet/bcmgenet.c | 54 ++ drivers/net/ethernet/broadcom/genet/bcmgenet.h | 4 ++ drivers/net/ethernet/broadcom/genet/bcmmii.c | 38 ++ 3 files changed, 89 insertions(+), 7 deletions(-) diff

[PATCH net-next 0/4] Extend phylib implementation of pause support

2020-05-11 Thread Doug Berger
nd the changes to the phylib will make it easier for them to support. Many thanks to Russell King and Andrew Lunn for their efforts to clean up and centralize support for pause and to document its shortcommings. Doug Berger (4): net: ethernet: validate pause autoneg setting net: add autone

[PATCH net-next] net: bcmgenet: Move wake-up event out of side band ISR

2020-04-30 Thread Doug Berger
the clocks have been disabled. Signed-off-by: Doug Berger --- drivers/net/ethernet/broadcom/genet/bcmgenet.c | 72 ++ drivers/net/ethernet/broadcom/genet/bcmgenet.h | 2 + drivers/net/ethernet/broadcom/genet/bcmgenet_wol.c | 6 ++ 3 files changed, 67 insertions(+), 13

Re: [PATCH net-next v2 0/7] net: bcmgenet: add support for Wake on Filter

2020-04-29 Thread Doug Berger
On 4/29/20 3:07 PM, Doug Berger wrote: > On 4/29/20 1:01 PM, Doug Berger wrote: >> Changes in v2: >> Corrected Signed-off-by for commit 3/7. >> >> This commit set adds support for waking from 'standby' using a >> Rx Network Flow Classification fil

Re: [PATCH net-next v2 0/7] net: bcmgenet: add support for Wake on Filter

2020-04-29 Thread Doug Berger
On 4/29/20 1:01 PM, Doug Berger wrote: > Changes in v2: > Corrected Signed-off-by for commit 3/7. > > This commit set adds support for waking from 'standby' using a > Rx Network Flow Classification filter specified with ethtool. > > The first two commi

[PATCH net-next v2 3/7] net: bcmgenet: move clk_wol management to bcmgenet_wol

2020-04-29 Thread Doug Berger
sleep. Signed-off-by: Doug Berger --- drivers/net/ethernet/broadcom/genet/bcmgenet.c | 19 +++ drivers/net/ethernet/broadcom/genet/bcmgenet.h | 3 ++- drivers/net/ethernet/broadcom/genet/bcmgenet_wol.c | 14 +++--- 3 files changed, 20 insertions(+), 16 deletions(-)

[PATCH net-next v2 7/7] net: bcmgenet: add WAKE_FILTER support

2020-04-29 Thread Doug Berger
the RX_CLS_FLOW_WAKE action (i.e. -2) can wake the system from the 'standby' power state when the WAKE_FILTER WoL method is enabled. Signed-off-by: Doug Berger --- drivers/net/ethernet/broadcom/genet/bcmgenet.c | 5 ++- drivers/net/ethernet/broadcom/genet/bcmgenet_wol.c | 43 +

[PATCH net-next v2 6/7] net: bcmgenet: add support for ethtool rxnfc flows

2020-04-29 Thread Doug Berger
implementation action 0 behaves no differently from not specifying a rule. The rules can be seen with ethtool commands of this form: ethtool -n|-u|--show-nfc|--show-ntuple devname [rule N] Signed-off-by: Doug Berger --- drivers/net/ethernet/broadcom/genet/bcmgenet.c | 483

[PATCH net-next v2 0/7] net: bcmgenet: add support for Wake on Filter

2020-04-29 Thread Doug Berger
ior to the 4.9 kernel release. The following commit relocates the functions in the file to prevent the need for additional forward declarations. Next, support for the Rx Network Flow Classification interface of ethtool is added. Finally, support for the WAKE_FILTER wol method is added. Doug

[PATCH net-next v2 5/7] net: bcmgenet: code movement

2020-04-29 Thread Doug Berger
The Hardware Filter Block code will be used by ethtool functions when defining flow types so this commit moves the functions in the file to prevent the need for prototype declarations. This is broken out to facilitate review. Signed-off-by: Doug Berger --- drivers/net/ethernet/broadcom/genet

[PATCH net-next v2 2/7] net: bcmgenet: Fix WoL with password after deep sleep

2020-04-29 Thread Doug Berger
by keeping a software copy of the password and program it during suspend. Fixes: c51de7f3976b ("net: bcmgenet: add Wake-on-LAN support code") Suggested-by: Florian Fainelli Signed-off-by: Doug Berger --- drivers/net/ethernet/broadcom/genet/bcmgenet.h | 2 ++ drivers/net/etherne

[PATCH net-next v2 1/7] net: bcmgenet: set Rx mode before starting netif

2020-04-29 Thread Doug Berger
promiscuous mode are properly restored by the driver after the MAC may have been reset. Fixes: b6e978e50444 ("net: bcmgenet: add suspend/resume callbacks") Signed-off-by: Doug Berger --- drivers/net/ethernet/broadcom/genet/bcmgenet.c | 4 1 file changed, 4 insertions(+) diff --git a/d

[PATCH net-next v2 4/7] Revert "net: bcmgenet: remove unused function in bcmgenet.c"

2020-04-29 Thread Doug Berger
This reverts commit e2072600a24161b7ddcfb26814f69f5fbc8ef85a. This commit restores the previous implementation of Hardware Filter Block functions to the file for use in subsequent commits. Signed-off-by: Doug Berger --- drivers/net/ethernet/broadcom/genet/bcmgenet.c | 122

[PATCH net-next 3/7] net: bcmgenet: move clk_wol management to bcmgenet_wol

2020-04-29 Thread Doug Berger
From: Doug Berger The GENET_POWER_WOL_MAGIC power up and power down code configures the device for WoL when suspending and disables the WoL logic when resuming. It makes sense that this code should also manage the WoL clocking. This commit consolidates the logic and moves it earlier in the

[PATCH net-next 1/7] net: bcmgenet: set Rx mode before starting netif

2020-04-29 Thread Doug Berger
promiscuous mode are properly restored by the driver after the MAC may have been reset. Fixes: b6e978e50444 ("net: bcmgenet: add suspend/resume callbacks") Signed-off-by: Doug Berger --- drivers/net/ethernet/broadcom/genet/bcmgenet.c | 4 1 file changed, 4 insertions(+) diff --git a/d

[PATCH net-next 2/7] net: bcmgenet: Fix WoL with password after deep sleep

2020-04-29 Thread Doug Berger
by keeping a software copy of the password and program it during suspend. Fixes: c51de7f3976b ("net: bcmgenet: add Wake-on-LAN support code") Suggested-by: Florian Fainelli Signed-off-by: Doug Berger --- drivers/net/ethernet/broadcom/genet/bcmgenet.h | 2 ++ drivers/net/etherne

[PATCH net-next 4/7] Revert "net: bcmgenet: remove unused function in bcmgenet.c"

2020-04-29 Thread Doug Berger
This reverts commit e2072600a24161b7ddcfb26814f69f5fbc8ef85a. This commit restores the previous implementation of Hardware Filter Block functions to the file for use in subsequent commits. Signed-off-by: Doug Berger --- drivers/net/ethernet/broadcom/genet/bcmgenet.c | 122

[PATCH net-next 5/7] net: bcmgenet: code movement

2020-04-29 Thread Doug Berger
The Hardware Filter Block code will be used by ethtool functions when defining flow types so this commit moves the functions in the file to prevent the need for prototype declarations. This is broken out to facilitate review. Signed-off-by: Doug Berger --- drivers/net/ethernet/broadcom/genet

[PATCH net-next 6/7] net: bcmgenet: add support for ethtool rxnfc flows

2020-04-29 Thread Doug Berger
implementation action 0 behaves no differently from not specifying a rule. The rules can be seen with ethtool commands of this form: ethtool -n|-u|--show-nfc|--show-ntuple devname [rule N] Signed-off-by: Doug Berger --- drivers/net/ethernet/broadcom/genet/bcmgenet.c | 483

[PATCH net-next 0/7] net: bcmgenet: add support for Wake on Filter

2020-04-29 Thread Doug Berger
functions in the file to prevent the need for additional forward declarations. Next, support for the Rx Network Flow Classification interface of ethtool is added. Finally, support for the WAKE_FILTER wol method is added. Doug Berger (7): net: bcmgenet: set Rx mode before starting netif net

[PATCH net-next 7/7] net: bcmgenet: add WAKE_FILTER support

2020-04-29 Thread Doug Berger
the RX_CLS_FLOW_WAKE action (i.e. -2) can wake the system from the 'standby' power state when the WAKE_FILTER WoL method is enabled. Signed-off-by: Doug Berger --- drivers/net/ethernet/broadcom/genet/bcmgenet.c | 5 ++- drivers/net/ethernet/broadcom/genet/bcmgenet_wol.c | 43 +

Re: [PATCH net-next 3/3] net: bcmgenet: Fix coalescing settings handling

2018-03-29 Thread Doug Berger
On 03/29/2018 10:51 AM, Doug Berger wrote: > On 03/27/2018 12:47 PM, Florian Fainelli wrote: >> There were a number of issues with setting the RX coalescing parameters: >> >> - we would not be preserving values that would have been configured >> across close/open cal

Re: [PATCH net-next 3/3] net: bcmgenet: Fix coalescing settings handling

2018-03-29 Thread Doug Berger
On 03/27/2018 12:47 PM, Florian Fainelli wrote: > There were a number of issues with setting the RX coalescing parameters: > > - we would not be preserving values that would have been configured > across close/open calls, instead we would always reset to no timeout > and 1 interrupt per packet

Re: [PATCH 02/10] net: bcmgenet: free netdev on of_match_node() error

2017-12-04 Thread Doug Berger
On 12/02/2017 11:26 AM, Arvind Yadav wrote: > The change is to call free_netdev(), If of_match_node() will fail. > > Signed-off-by: Arvind Yadav > --- > drivers/net/ethernet/broadcom/genet/bcmgenet.c | 6 -- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/drivers/net/ethe

Re: [PATCH 1/7 v2] net: bcmgenet: Fix platform_get_irq's error checking

2017-12-04 Thread Doug Berger
On 12/04/2017 09:48 AM, Arvind Yadav wrote: > The platform_get_irq() function returns negative number if an error occurs, > Zero if No irq is found and positive number if irq gets successful. > platform_get_irq() error checking only for zero is not correct. > > Signed-off-by: Arvind Yadav > --- >

Re: [PATCH net-next] net: bcmgenet: Avoid calling platform_device_put() twice in bcmgenet_mii_exit()

2017-10-30 Thread Doug Berger
ut(priv->phy_dn); > platform_device_unregister(priv->mii_pdev); > - platform_device_put(priv->mii_pdev); > } > Acked-by: Doug Berger

[PATCH net-next 1/9] net: bcmgenet: correct bad merge

2017-10-25 Thread Doug Berger
correct that. [1] https://lkml.org/lkml/2017/3/13/1145 [2] https://lkml.org/lkml/2017/3/9/890 Fixes: 101c431492d2 ("Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net") Signed-off-by: Doug Berger --- drivers/net/ethernet/broadcom/genet/bcmgenet.c | 18 +- 1 fi

[PATCH net-next 2/9] net: bcmgenet: prevent duplicate calls of bcmgenet_dma_teardown

2017-10-25 Thread Doug Berger
is called before bcmgenet_fini_dma in all paths of execution. Fixes: 4a0c081eff43 ("net: bcmgenet: call bcmgenet_dma_teardown in bcmgenet_fini_dma") Signed-off-by: Doug Berger --- drivers/net/ethernet/broadcom/genet/bcmgenet.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-)

[PATCH net-next 5/9] net: bcmgenet: cleanup ring interrupt masking and unmasking

2017-10-25 Thread Doug Berger
er in bcmgenet_netif_stop(). The interrupts can still be enabled in the functions bcmgenet_enable_tx_napi() and bcmgenet_enable_rx_napi(), but use the ring context int_enable() method to keep the functionality consistent and the code cleaner. Signed-off-by: Doug Berger --- drivers/net/ethernet/broadcom/

[PATCH net-next 3/9] net: bcmgenet: enable loopback during UniMAC sw_reset

2017-10-25 Thread Doug Berger
associated bug) are removed so reset_umac no longer needs to return a result, and that means init_umac that calls reset_umac does not need to as well. Fixes: 1c1008c793fa ("net: bcmgenet: add main driver file") Signed-off-by: Doug Berger --- drivers/net/ethernet/broadcom/genet/bcmge

[PATCH net-next 6/9] net: bcmgenet: rework bcmgenet_netif_start and bcmgenet_netif_stop

2017-10-25 Thread Doug Berger
This commit consolidates more common functionality from bcmgenet_close and bcmgenet_suspend into bcmgenet_netif_stop and modifies the start and stop sequences to better suit the design of the GENET hardware. Signed-off-by: Doug Berger --- drivers/net/ethernet/broadcom/genet/bcmgenet.c | 49

[PATCH net-next 4/9] net: bcmgenet: move NAPI initialization to ring initialization

2017-10-25 Thread Doug Berger
Since each ring has its own NAPI instance it might as well be initialized along with the other ring context. Signed-off-by: Doug Berger --- drivers/net/ethernet/broadcom/genet/bcmgenet.c | 42 +- 1 file changed, 8 insertions(+), 34 deletions(-) diff --git a/drivers/net

[PATCH net-next 9/9] net: bcmgenet: use dev->phydev instead of priv->phydev

2017-10-25 Thread Doug Berger
a PHY component, an explicit check is made to prevent accessing an invalid phydev pointer when one is not attached (e.g. interface is down). Signed-off-by: Doug Berger --- drivers/net/ethernet/broadcom/genet/bcmgenet.c | 47 +- drivers/net/ethernet/broadcom/genet/bcmge

[PATCH net-next 7/9] net: bcmgenet: relax lock constraints to reduce IRQ latency

2017-10-25 Thread Doug Berger
Since the ring locks are not used in a hard IRQ context it is often not necessary to disable global IRQs while waiting on a lock. Using less restrictive lock and unlock calls improves the real-time responsiveness of the system. Signed-off-by: Doug Berger --- drivers/net/ethernet/broadcom/genet

[PATCH net-next 8/9] Revert "net: bcmgenet: Software reset EPHY after power on"

2017-10-25 Thread Doug Berger
ware reset EPHY after power on"). Signed-off-by: Doug Berger --- drivers/net/ethernet/broadcom/genet/bcmgenet.c | 1 - drivers/net/ethernet/broadcom/genet/bcmgenet.h | 1 - drivers/net/ethernet/broadcom/genet/bcmmii.c | 16 3 files changed, 18 deletions(-) diff --git a/

[PATCH net-next 0/9] net: bcmgenet: start/stop sequence refinement

2017-10-25 Thread Doug Berger
on top of the fixes. The first fix is provided as justification for why the set isn't split between a net submission and a net-next submission. Doug Berger (9): net: bcmgenet: correct bad merge net: bcmgenet: prevent duplicate calls of bcmgenet_dma_teardown net: bcmgenet: enable loo

Re: [PATCH net] Revert "net: bcmgenet: Remove init parameter from bcmgenet_mii_config"

2017-07-31 Thread Doug Berger
s\n", phy_name); > > return 0; > } > @@ -375,7 +376,7 @@ int bcmgenet_mii_probe(struct net_device *dev) >* PHY speed which is needed for bcmgenet_mii_config() to configure > * things appropriately. >*/ > - ret = bcmgenet_mii_config(dev); > + ret = bcmgenet_mii_config(dev, true); > if (ret) { > phy_disconnect(priv->phydev); > return ret; > Looks good to me. Reviewed-by: Doug Berger

[PATCH net 1/2] net: bcmgenet: Fix unmapping of fragments in bcmgenet_xmit()

2017-07-14 Thread Doug Berger
bcmgenet_xmit_single() and bcmgenet_xmit_frag() into the bcmgenet_xmit() function to make the unmapping of control blocks cleaner. Fixes: 1c1008c793fa ("net: bcmgenet: add main driver file") Suggested-by: Florian Fainelli Signed-off-by: Doug Berger --- drivers/net/ethernet/broa

[PATCH net 0/2] Fragmented SKB corrections

2017-07-14 Thread Doug Berger
to reuse of memory that is still in use by hardware. Doug Berger (2): net: bcmgenet: Fix unmapping of fragments in bcmgenet_xmit() net: bcmgenet: Free skb after last Tx frag drivers/net/ethernet/broadcom/genet/bcmgenet.c | 299 + drivers/net/ethernet/broadcom/genet

[PATCH net 2/2] net: bcmgenet: Free skb after last Tx frag

2017-07-14 Thread Doug Berger
the unmapping of dma mapped memory and cleaning up the corresponding control block structure so that the skb is only freed after the last associated transmit control block is reclaimed. Fixes: 1c1008c793fa ("net: bcmgenet: add main driver file") Signed-off-by: Doug Berger --- drivers/ne

[PATCH net] net: bcmgenet: remove bcmgenet_internal_phy_setup()

2017-03-21 Thread Doug Berger
6ac3ce8295e6 ("net: bcmgenet: Remove excessive PHY reset") Signed-off-by: Doug Berger --- drivers/net/ethernet/broadcom/genet/bcmmii.c | 15 --- 1 file changed, 15 deletions(-) diff --git a/drivers/net/ethernet/broadcom/genet/bcmmii.c b/drivers/net/ethernet/broadcom/genet/

Re: [PATCH net-next 09/12] net: bcmgenet: return EOPNOTSUPP for unknown ioctl commands

2017-03-14 Thread Doug Berger
On 03/14/2017 04:04 AM, David Laight wrote: > From: Doug Berger >> Sent: 14 March 2017 00:42 >> This commit changes the ioctl handling behavior to return the >> EOPNOTSUPP error code instead of the EINVAL error code when an >> unknown ioctl command value is detected.

Re: [PATCH net-next 02/12] net: phy: bcm7xxx: add support for 28nm EPHY

2017-03-14 Thread Doug Berger
On 03/13/2017 07:43 PM, Andrew Lunn wrote: > On Mon, Mar 13, 2017 at 07:06:25PM -0700, Doug Berger wrote: >> On 03/13/2017 06:06 PM, Andrew Lunn wrote: >>> On Mon, Mar 13, 2017 at 05:41:32PM -0700, Doug Berger wrote: >>>> +static int bcm7xxx_28nm_ephy_01_afe_config_

Re: [PATCH net-next 02/12] net: phy: bcm7xxx: add support for 28nm EPHY

2017-03-13 Thread Doug Berger
On 03/13/2017 06:06 PM, Andrew Lunn wrote: > On Mon, Mar 13, 2017 at 05:41:32PM -0700, Doug Berger wrote: >> +static int bcm7xxx_28nm_ephy_01_afe_config_init(struct phy_device *phydev) >> +{ >> +int ret; >> + >> +/* set shadow mode 2 */ >

[PATCH net-next 02/12] net: phy: bcm7xxx: add support for 28nm EPHY

2017-03-13 Thread Doug Berger
This commit adds support for the internal fast ethernet 10/100 PHY found in the BCM7260, BCM7268, and BCM7271 devices. Signed-off-by: Doug Berger --- drivers/net/phy/bcm7xxx.c | 215 +- include/linux/brcmphy.h | 3 + 2 files changed, 216

[PATCH net-next 00/12] net: bcmgenet: add support for GENETv5

2017-03-13 Thread Doug Berger
: decouple flow control from bcmgenet_tx_reclaim Doug Berger (12): net: phy: bcm-phylib: replace obsolete EEE macro references net: phy: bcm7xxx: add support for 28nm EPHY net: bcmgenet: simplify circular pointer arithmetic net: bcmgenet: remove meaningless lines net: bcmgenet: manage dma

[PATCH net-next 03/12] net: bcmgenet: simplify circular pointer arithmetic

2017-03-13 Thread Doug Berger
A 2's complement subtraction will always do a borrow, so masking off the sign bits is the same as conditionally adding (mask+1). Signed-off-by: Doug Berger --- drivers/net/ethernet/broadcom/genet/bcmgenet.c | 19 +-- 1 file changed, 5 insertions(+), 14 deletions(-) diff --

[PATCH net-next 01/12] net: phy: bcm-phylib: replace obsolete EEE macro references

2017-03-13 Thread Doug Berger
The macros MDIO_AN_EEE_ADV_100TX and MDIO_AN_EEE_ADV_1000T are now considered obsolete and are replaced in the kernel with the generic macros MDIO_EEE_100TX and MDIO_EEE_1000T respectively. Signed-off-by: Doug Berger --- drivers/net/phy/bcm-phy-lib.c | 6 +++--- 1 file changed, 3 insertions

[PATCH net-next 06/12] net: bcmgenet: remove handling of wol interrupts from isr0

2017-03-13 Thread Doug Berger
is removed by this commit. Signed-off-by: Doug Berger --- drivers/net/ethernet/broadcom/genet/bcmgenet.c | 10 +- drivers/net/ethernet/broadcom/genet/bcmgenet_wol.c | 15 +-- 2 files changed, 2 insertions(+), 23 deletions(-) diff --git a/drivers/net/ethernet/broadcom

[PATCH net-next 04/12] net: bcmgenet: remove meaningless lines

2017-03-13 Thread Doug Berger
An assortment of non-functional lines are removed to reduce confusion and some typos in comments are corrected. Signed-off-by: Doug Berger --- drivers/net/ethernet/broadcom/genet/bcmgenet.c | 13 +++-- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/drivers/net/ethernet

[PATCH net-next 11/12] dt-bindings: net: update bcmgenet binding for GENETv5

2017-03-13 Thread Doug Berger
The device tree documentation must be updated to reflect the new compatible strings "brcm,genet-v5" and "brcm,genet-mdio-v5" used by the GENETv5 driver. Signed-off-by: Doug Berger --- Documentation/devicetree/bindings/net/brcm,bcmgenet.txt| 10 +- Documentation

[PATCH net-next 05/12] net: bcmgenet: manage dma interrupts in napi code

2017-03-13 Thread Doug Berger
This commit moves DMA interrupt enabling out of init_umac() and adds the masking of these interrupts to the napi enable and disable code. Signed-off-by: Doug Berger --- drivers/net/ethernet/broadcom/genet/bcmgenet.c | 39 +++--- 1 file changed, 22 insertions(+), 17 deletions

[PATCH net-next 10/12] dt-bindings: net: document bcmgenet WoL interrupt

2017-03-13 Thread Doug Berger
A third interrupt cell can be provided to optionally specify the interrupt used for handling Wake on LAN events. Typically the wake up handling uses a separate interrupt controller, so the interrupts-extended property is used to accommodate this. Signed-off-by: Doug Berger --- Documentation

[PATCH net-next 12/12] net: bcmgenet: add support for the GENETv5 hardware

2017-03-13 Thread Doug Berger
GENET_VER_FMT is expected for GENETv5. Signed-off-by: Doug Berger --- drivers/net/ethernet/broadcom/genet/bcmgenet.c | 91 -- drivers/net/ethernet/broadcom/genet/bcmgenet.h | 12 +++- drivers/net/ethernet/broadcom/genet/bcmmii.c | 62 ++ drivers/net/phy/mdio-bcm

[PATCH net-next 07/12] net: bcmgenet: clear status to reduce spurious interrupts

2017-03-13 Thread Doug Berger
unmasked at a later time. Signed-off-by: Doug Berger --- drivers/net/ethernet/broadcom/genet/bcmgenet.c | 21 - 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/broadcom/genet/bcmgenet.c b/drivers/net/ethernet/broadcom/genet/bcmgenet.c index

[PATCH net-next 09/12] net: bcmgenet: return EOPNOTSUPP for unknown ioctl commands

2017-03-13 Thread Doug Berger
: Doug Berger --- drivers/net/ethernet/broadcom/genet/bcmgenet.c | 19 +++ 1 file changed, 3 insertions(+), 16 deletions(-) diff --git a/drivers/net/ethernet/broadcom/genet/bcmgenet.c b/drivers/net/ethernet/broadcom/genet/bcmgenet.c index d90d366b286f..3b49c14128e2 100644 --- a

[PATCH net-next 08/12] net: bcmgenet: correct return value of __bcmgenet_tx_reclaim

2017-03-13 Thread Doug Berger
transmit stream. Signed-off-by: Doug Berger --- drivers/net/ethernet/broadcom/genet/bcmgenet.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/ethernet/broadcom/genet/bcmgenet.c b/drivers/net/ethernet/broadcom/genet/bcmgenet.c index 1f94ba1773dd..d90d366b286f

[PATCH v2 net 0/8] net: bcmgenet: minor bug fixes

2017-03-09 Thread Doug Berger
testing: net: bcmgenet: power down internal phy if open or resume fails net: bcmgenet: Power up the internal PHY before probing the MII net: bcmgenet: decouple flow control from bcmgenet_tx_reclaim net: bcmgenet: add begin/complete ethtool ops Doug Berger (7): net: bcmgenet: correct the

[PATCH v2 net 1/8] net: bcmgenet: correct the RBUF_OVFL_CNT and RBUF_ERR_CNT MIB values

2017-03-09 Thread Doug Berger
The location of the RBUF overflow and error counters has moved between different version of the GENET MAC. This commit corrects the driver to read from the correct locations depending on the version of the GENET MAC. Fixes: 1c1008c793fa ("net: bcmgenet: add main driver file") Signed-of

[PATCH v2 net 3/8] net: bcmgenet: reserved phy revisions must be checked first

2017-03-09 Thread Doug Berger
The reserved gphy_rev value of 0x01ff must be tested before the old or new scheme for GPHY major versioning are tested, otherwise it will be treated as 0xff00 according to the old scheme. Fixes: b04a2f5b9ff5 ("net: bcmgenet: add support for new GENET PHY revision scheme") Signed-of

[PATCH v2 net 2/8] net: bcmgenet: correct MIB access of UniMAC RUNT counters

2017-03-09 Thread Doug Berger
The gap between the Tx status counters and the Rx RUNT counters is now being added to allow correct reporting of the registers. Fixes: 1c1008c793fa ("net: bcmgenet: add main driver file") Signed-off-by: Doug Berger --- drivers/net/ethernet/broadcom/genet/bcmgenet.c | 11 +++--

[PATCH v2 net 6/8] net: bcmgenet: Power up the internal PHY before probing the MII

2017-03-09 Thread Doug Berger
be detected and the Ethernet link will not be established. This commit explicitly powers up the internal PHY when the GENET driver is probed to correct this behavior. Fixes: 1c1008c793fa ("net: bcmgenet: add main driver file") Signed-off-by: Doug Berger --- drivers/net/ethernet/broa

[PATCH v2 net 7/8] net: bcmgenet: add begin/complete ethtool ops

2017-03-09 Thread Doug Berger
From: Edwin Chan Make sure clock is enabled for ethtool ops. Fixes: 1c1008c793fa ("net: bcmgenet: add main driver file") Signed-off-by: Edwin Chan Signed-off-by: Doug Berger --- drivers/net/ethernet/broadcom/genet/bcmgenet.c | 18 ++ 1 file changed, 18 insertion

[PATCH v2 net 8/8] net: bcmgenet: decouple flow control from bcmgenet_tx_reclaim

2017-03-09 Thread Doug Berger
it is more appropriate. Fixes: 1c1008c793fa ("net: bcmgenet: add main driver file") Signed-off-by: Doug Berger --- drivers/net/ethernet/broadcom/genet/bcmgenet.c | 20 +++- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/drivers/net/ethernet/broa

[PATCH v2 net 4/8] net: bcmgenet: power down internal phy if open or resume fails

2017-03-09 Thread Doug Berger
Since the internal PHY is powered up during the open and resume functions it should be powered back down if the functions fail. Fixes: 1c1008c793fa ("net: bcmgenet: add main driver file") Signed-off-by: Doug Berger --- drivers/net/ethernet/broadcom/genet/bcmgenet.c | 4 1 file

[PATCH v2 net 5/8] net: bcmgenet: synchronize irq0 status between the isr and task

2017-03-09 Thread Doug Berger
ned-off-by: Doug Berger --- drivers/net/ethernet/broadcom/genet/bcmgenet.c | 73 ++ drivers/net/ethernet/broadcom/genet/bcmgenet.h | 6 ++- 2 files changed, 44 insertions(+), 35 deletions(-) diff --git a/drivers/net/ethernet/broadcom/genet/bcmgenet.c b/drivers/net/etherne

[PATCH net 0/8] net: bcmgenet: minor bug fixes

2017-03-09 Thread Doug Berger
open or resume fails net: bcmgenet: Power up the internal PHY before probing the MII net: bcmgenet: decouple flow control from bcmgenet_tx_reclaim net: bcmgenet: add begin/complete ethtool ops Doug Berger (7): net: bcmgenet: correct the RBUF_OVFL_CNT and RBUF_ERR_CNT MIB values net

[PATCH net 1/8] net: bcmgenet: correct the RBUF_OVFL_CNT and RBUF_ERR_CNT MIB values

2017-03-09 Thread Doug Berger
From: Doug Berger The location of the RBUF overflow and error counters has moved between different version of the GENET MAC. This commit corrects the driver to read from the correct locations depending on the version of the GENET MAC. refs #SWLINUX-4311 Fixes: 1c1008c793fa ("net: bcm

[PATCH net 3/8] net: bcmgenet: reserved phy revisions must be checked first

2017-03-09 Thread Doug Berger
From: Doug Berger The reserved gphy_rev value of 0x01ff must be tested before the old or new scheme for GPHY major versioning are tested, otherwise it will be treated as 0xff00 according to the old scheme. refs #SWLINUX-4311 Fixes: b04a2f5b9ff5 ("net: bcmgenet: add support for new GENE

[PATCH net 4/8] net: bcmgenet: power down internal phy if open or resume fails

2017-03-09 Thread Doug Berger
From: Doug Berger Since the internal PHY is powered up during the open and resume functions it should be powered back down if the functions fail. refs #SWLINUX-4311 Fixes: 1c1008c793fa ("net: bcmgenet: add main driver file") Signed-off-by: Doug Berger --- drivers/net/ethernet/broa

[PATCH net 6/8] net: bcmgenet: Power up the internal PHY before probing the MII

2017-03-09 Thread Doug Berger
From: Doug Berger When using the internal PHY it must be powered up when the MII is probed or the PHY will not be detected. Since the PHY is powered up at reset this has not been a problem. However, when the kernel is restarted with kexec the PHY will likely be powered down when the kernel

[PATCH net 2/8] net: bcmgenet: correct MIB access of UniMAC RUNT counters

2017-03-09 Thread Doug Berger
From: Doug Berger The gap between the Tx status counters and the Rx RUNT counters is now being added to allow correct reporting of the registers. refs #SWLINUX-4311 Fixes: 1c1008c793fa ("net: bcmgenet: add main driver file") Signed-off-by: Doug Berger --- drivers/net/ethernet/broa

[PATCH net 8/8] net: bcmgenet: decouple flow control from bcmgenet_tx_reclaim

2017-03-09 Thread Doug Berger
From: Doug Berger The bcmgenet_tx_reclaim() function is used to reclaim transmit resources in different places within the driver. Most of them should not affect the state of the transmit flow control. This commit relocates the logic for waking tx queues based on freed resources to the napi

  1   2   >