diff options
author | Rafał Miłecki <rafal@milecki.pl> | 2016-08-17 07:45:48 +0200 |
---|---|---|
committer | Rafał Miłecki <rafal@milecki.pl> | 2016-08-17 09:31:45 +0200 |
commit | 533d16822c84bf33ff5d18b775dafd3ab4810b17 (patch) | |
tree | 782f1d25143fcfa695756a34cdf83ba0bd321538 /target/linux/generic/patches-4.4/773-bgmac-add-srab-switch.patch | |
parent | df4f41261cf9da3cb1681c7495c51badfe1d999c (diff) | |
download | upstream-533d16822c84bf33ff5d18b775dafd3ab4810b17.tar.gz upstream-533d16822c84bf33ff5d18b775dafd3ab4810b17.tar.bz2 upstream-533d16822c84bf33ff5d18b775dafd3ab4810b17.zip |
kernel: bgmac: backport patch switching to feature_flags
It was needed upstream to avoid bcma references in the main code. To
match this new code our patch adding SRAB was also updated.
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Diffstat (limited to 'target/linux/generic/patches-4.4/773-bgmac-add-srab-switch.patch')
-rw-r--r-- | target/linux/generic/patches-4.4/773-bgmac-add-srab-switch.patch | 26 |
1 files changed, 21 insertions, 5 deletions
diff --git a/target/linux/generic/patches-4.4/773-bgmac-add-srab-switch.patch b/target/linux/generic/patches-4.4/773-bgmac-add-srab-switch.patch index 29e7892662..13d3305dec 100644 --- a/target/linux/generic/patches-4.4/773-bgmac-add-srab-switch.patch +++ b/target/linux/generic/patches-4.4/773-bgmac-add-srab-switch.patch @@ -12,7 +12,7 @@ Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> #include <linux/bcm47xx_nvram.h> static const struct bcma_device_id bgmac_bcma_tbl[] = { -@@ -1403,6 +1404,17 @@ static const struct ethtool_ops bgmac_et +@@ -1408,6 +1409,17 @@ static const struct ethtool_ops bgmac_et .get_drvinfo = bgmac_get_drvinfo, }; @@ -30,11 +30,19 @@ Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> /************************************************** * MII **************************************************/ -@@ -1630,6 +1642,14 @@ static int bgmac_probe(struct bcma_devic +@@ -1656,6 +1668,7 @@ static int bgmac_probe(struct bcma_devic + bgmac->feature_flags |= BGMAC_FEAT_CLKCTLST; + bgmac->feature_flags |= BGMAC_FEAT_NO_RESET; + bgmac->feature_flags |= BGMAC_FEAT_FORCE_SPEED_2500; ++ bgmac->feature_flags |= BGMAC_FEAT_SRAB; + break; + default: + bgmac->feature_flags |= BGMAC_FEAT_CLKCTLST; +@@ -1703,6 +1716,14 @@ static int bgmac_probe(struct bcma_devic net_dev->hw_features = net_dev->features; net_dev->vlan_features = net_dev->features; -+ if (bgmac_is_bcm4707_family(bgmac) && !bgmac_b53_pdata.regs) { ++ if ((bgmac->feature_flags & BGMAC_FEAT_SRAB) && !bgmac_b53_pdata.regs) { + bgmac_b53_pdata.regs = ioremap_nocache(0x18007000, 0x1000); + + err = platform_device_register(&bgmac_b53_dev); @@ -45,7 +53,7 @@ Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> err = register_netdev(bgmac->net_dev); if (err) { dev_err(bgmac->dev, "Cannot register net device\n"); -@@ -1657,6 +1677,10 @@ static void bgmac_remove(struct bcma_dev +@@ -1730,6 +1751,10 @@ static void bgmac_remove(struct bcma_dev { struct bgmac *bgmac = bcma_get_drvdata(core); @@ -58,7 +66,15 @@ Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> bcma_mdio_mii_unregister(bgmac->mii_bus); --- a/drivers/net/ethernet/broadcom/bgmac.h +++ b/drivers/net/ethernet/broadcom/bgmac.h -@@ -454,6 +454,9 @@ struct bgmac { +@@ -392,6 +392,7 @@ + #define BGMAC_FEAT_NO_CLR_MIB BIT(13) + #define BGMAC_FEAT_FORCE_SPEED_2500 BIT(14) + #define BGMAC_FEAT_CMDCFG_SR_REV4 BIT(15) ++#define BGMAC_FEAT_SRAB BIT(16) + + struct bgmac_slot_info { + union { +@@ -473,6 +474,9 @@ struct bgmac { bool has_robosw; bool loopback; |