Merge branch 'stmmac-next'
Giuseppe Cavallaro says: ==================== stmmac: review driver Koptions Recently many Koption options have been added to have new glue logic on several platforms. The main goal behind this work is to guarantee that the driver built fine on all the branches where it is present independently of which glue logic is selected. IMHO, it is better to remove all the not necessary Koption(s) that can hide build problems when something changes in the driver and especially when the DT compatibility allows us to manage all the platform data. I compiled the driver w/o any issue on net-next Git for: x86, arm and sh4. In case of there are build problems on some repos now it will be easy to catch them and cherry-pick patches from mainstream. For sure, do not hesitate to contact me in case of issue. Also this set removes STMMAC_DEBUG_FS and BUS_MODE_DA. The latter is useless and the former can be replaced by DEBUG_FS (always to make safe the build). V2: patch-set re-based on top of the latest updates for net-next ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
commit
890b7916d0
|
@ -18,56 +18,14 @@ config STMMAC_PLATFORM
|
|||
depends on STMMAC_ETH
|
||||
default y
|
||||
---help---
|
||||
This selects the platform specific bus support for
|
||||
the stmmac device driver. This is the driver used
|
||||
on many embedded STM platforms based on ARM and SuperH
|
||||
processors.
|
||||
This selects the platform specific bus support for the stmmac driver.
|
||||
This is the driver used on several SoCs:
|
||||
STi, Allwinner, Amlogic Meson, Altera SOCFPGA.
|
||||
|
||||
If you have a controller with this interface, say Y or M here.
|
||||
|
||||
If unsure, say N.
|
||||
|
||||
config DWMAC_MESON
|
||||
bool "Amlogic Meson dwmac support"
|
||||
depends on STMMAC_PLATFORM && ARCH_MESON
|
||||
help
|
||||
Support for Ethernet controller on Amlogic Meson SoCs.
|
||||
|
||||
This selects the Amlogic Meson SoC glue layer support for
|
||||
the stmmac device driver. This driver is used for Meson6 and
|
||||
Meson8 SoCs.
|
||||
|
||||
config DWMAC_SOCFPGA
|
||||
bool "SOCFPGA dwmac support"
|
||||
depends on STMMAC_PLATFORM && MFD_SYSCON && (ARCH_SOCFPGA || COMPILE_TEST)
|
||||
help
|
||||
Support for ethernet controller on Altera SOCFPGA
|
||||
|
||||
This selects the Altera SOCFPGA SoC glue layer support
|
||||
for the stmmac device driver. This driver is used for
|
||||
arria5 and cyclone5 FPGA SoCs.
|
||||
|
||||
config DWMAC_SUNXI
|
||||
bool "Allwinner GMAC support"
|
||||
depends on STMMAC_PLATFORM && ARCH_SUNXI
|
||||
default y
|
||||
---help---
|
||||
Support for Allwinner A20/A31 GMAC ethernet controllers.
|
||||
|
||||
This selects Allwinner SoC glue layer support for the
|
||||
stmmac device driver. This driver is used for A20/A31
|
||||
GMAC ethernet controller.
|
||||
|
||||
config DWMAC_STI
|
||||
bool "STi GMAC support"
|
||||
depends on STMMAC_PLATFORM && ARCH_STI
|
||||
default y
|
||||
---help---
|
||||
Support for ethernet controller on STi SOCs.
|
||||
|
||||
This selects STi SoC glue layer support for the stmmac
|
||||
device driver. This driver is used on for the STi series
|
||||
SOCs GMAC ethernet controller.
|
||||
|
||||
config STMMAC_PCI
|
||||
bool "STMMAC PCI bus support"
|
||||
depends on STMMAC_ETH && PCI
|
||||
|
@ -79,22 +37,4 @@ config STMMAC_PCI
|
|||
D1215994A VIRTEX FPGA board.
|
||||
|
||||
If unsure, say N.
|
||||
|
||||
config STMMAC_DEBUG_FS
|
||||
bool "Enable monitoring via sysFS "
|
||||
default n
|
||||
depends on STMMAC_ETH && DEBUG_FS
|
||||
---help---
|
||||
The stmmac entry in /sys reports DMA TX/RX rings
|
||||
or (if supported) the HW cap register.
|
||||
|
||||
config STMMAC_DA
|
||||
bool "STMMAC DMA arbitration scheme"
|
||||
default n
|
||||
---help---
|
||||
Selecting this option, rx has priority over Tx (only for Giga
|
||||
Ethernet device).
|
||||
By default, the DMA arbitration scheme is based on Round-robin
|
||||
(rx:tx priority is 1:1).
|
||||
|
||||
endif
|
||||
|
|
|
@ -1,10 +1,8 @@
|
|||
obj-$(CONFIG_STMMAC_ETH) += stmmac.o
|
||||
stmmac-$(CONFIG_STMMAC_PLATFORM) += stmmac_platform.o
|
||||
stmmac-$(CONFIG_STMMAC_PCI) += stmmac_pci.o
|
||||
stmmac-$(CONFIG_DWMAC_MESON) += dwmac-meson.o
|
||||
stmmac-$(CONFIG_DWMAC_SUNXI) += dwmac-sunxi.o
|
||||
stmmac-$(CONFIG_DWMAC_STI) += dwmac-sti.o
|
||||
stmmac-$(CONFIG_DWMAC_SOCFPGA) += dwmac-socfpga.o
|
||||
stmmac-$(CONFIG_STMMAC_PLATFORM) += stmmac_platform.o dwmac-meson.o \
|
||||
dwmac-sunxi.o dwmac-sti.o \
|
||||
dwmac-socfpga.o
|
||||
stmmac-objs:= stmmac_main.o stmmac_ethtool.o stmmac_mdio.o ring_mode.o \
|
||||
chain_mode.o dwmac_lib.o dwmac1000_core.o dwmac1000_dma.o \
|
||||
dwmac100_core.o dwmac100_dma.o enh_desc.o norm_desc.o \
|
||||
|
|
|
@ -70,10 +70,6 @@ static int dwmac1000_dma_init(void __iomem *ioaddr, int pbl, int fb, int mb,
|
|||
if (mb)
|
||||
value |= DMA_BUS_MODE_MB;
|
||||
|
||||
#ifdef CONFIG_STMMAC_DA
|
||||
value |= DMA_BUS_MODE_DA; /* Rx has priority over tx */
|
||||
#endif
|
||||
|
||||
if (atds)
|
||||
value |= DMA_BUS_MODE_ATDS;
|
||||
|
||||
|
|
|
@ -137,20 +137,13 @@ void stmmac_disable_eee_mode(struct stmmac_priv *priv);
|
|||
bool stmmac_eee_init(struct stmmac_priv *priv);
|
||||
|
||||
#ifdef CONFIG_STMMAC_PLATFORM
|
||||
#ifdef CONFIG_DWMAC_MESON
|
||||
extern const struct stmmac_of_data meson6_dwmac_data;
|
||||
#endif
|
||||
#ifdef CONFIG_DWMAC_SUNXI
|
||||
extern const struct stmmac_of_data sun7i_gmac_data;
|
||||
#endif
|
||||
#ifdef CONFIG_DWMAC_STI
|
||||
extern const struct stmmac_of_data stih4xx_dwmac_data;
|
||||
extern const struct stmmac_of_data stid127_dwmac_data;
|
||||
#endif
|
||||
#ifdef CONFIG_DWMAC_SOCFPGA
|
||||
extern const struct stmmac_of_data socfpga_gmac_data;
|
||||
#endif
|
||||
extern struct platform_driver stmmac_pltfr_driver;
|
||||
|
||||
static inline int stmmac_register_platform(void)
|
||||
{
|
||||
int err;
|
||||
|
|
|
@ -44,10 +44,10 @@
|
|||
#include <linux/slab.h>
|
||||
#include <linux/prefetch.h>
|
||||
#include <linux/pinctrl/consumer.h>
|
||||
#ifdef CONFIG_STMMAC_DEBUG_FS
|
||||
#ifdef CONFIG_DEBUG_FS
|
||||
#include <linux/debugfs.h>
|
||||
#include <linux/seq_file.h>
|
||||
#endif /* CONFIG_STMMAC_DEBUG_FS */
|
||||
#endif /* CONFIG_DEBUG_FS */
|
||||
#include <linux/net_tstamp.h>
|
||||
#include "stmmac_ptp.h"
|
||||
#include "stmmac.h"
|
||||
|
@ -116,7 +116,7 @@ MODULE_PARM_DESC(chain_mode, "To use chain instead of ring mode");
|
|||
|
||||
static irqreturn_t stmmac_interrupt(int irq, void *dev_id);
|
||||
|
||||
#ifdef CONFIG_STMMAC_DEBUG_FS
|
||||
#ifdef CONFIG_DEBUG_FS
|
||||
static int stmmac_init_fs(struct net_device *dev);
|
||||
static void stmmac_exit_fs(void);
|
||||
#endif
|
||||
|
@ -1688,7 +1688,7 @@ static int stmmac_hw_setup(struct net_device *dev)
|
|||
if (ret && ret != -EOPNOTSUPP)
|
||||
pr_warn("%s: failed PTP initialisation\n", __func__);
|
||||
|
||||
#ifdef CONFIG_STMMAC_DEBUG_FS
|
||||
#ifdef CONFIG_DEBUG_FS
|
||||
ret = stmmac_init_fs(dev);
|
||||
if (ret < 0)
|
||||
pr_warn("%s: failed debugFS registration\n", __func__);
|
||||
|
@ -1866,7 +1866,7 @@ static int stmmac_release(struct net_device *dev)
|
|||
|
||||
netif_carrier_off(dev);
|
||||
|
||||
#ifdef CONFIG_STMMAC_DEBUG_FS
|
||||
#ifdef CONFIG_DEBUG_FS
|
||||
stmmac_exit_fs();
|
||||
#endif
|
||||
|
||||
|
@ -2453,7 +2453,7 @@ static int stmmac_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
|
|||
return ret;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_STMMAC_DEBUG_FS
|
||||
#ifdef CONFIG_DEBUG_FS
|
||||
static struct dentry *stmmac_fs_dir;
|
||||
static struct dentry *stmmac_rings_status;
|
||||
static struct dentry *stmmac_dma_cap;
|
||||
|
@ -2638,7 +2638,7 @@ static void stmmac_exit_fs(void)
|
|||
debugfs_remove(stmmac_dma_cap);
|
||||
debugfs_remove(stmmac_fs_dir);
|
||||
}
|
||||
#endif /* CONFIG_STMMAC_DEBUG_FS */
|
||||
#endif /* CONFIG_DEBUG_FS */
|
||||
|
||||
static const struct net_device_ops stmmac_netdev_ops = {
|
||||
.ndo_open = stmmac_open,
|
||||
|
|
|
@ -30,22 +30,14 @@
|
|||
#include "stmmac.h"
|
||||
|
||||
static const struct of_device_id stmmac_dt_ids[] = {
|
||||
#ifdef CONFIG_DWMAC_MESON
|
||||
/* SoC specific glue layers should come before generic bindings */
|
||||
{ .compatible = "amlogic,meson6-dwmac", .data = &meson6_dwmac_data},
|
||||
#endif
|
||||
#ifdef CONFIG_DWMAC_SUNXI
|
||||
{ .compatible = "allwinner,sun7i-a20-gmac", .data = &sun7i_gmac_data},
|
||||
#endif
|
||||
#ifdef CONFIG_DWMAC_STI
|
||||
{ .compatible = "st,stih415-dwmac", .data = &stih4xx_dwmac_data},
|
||||
{ .compatible = "st,stih416-dwmac", .data = &stih4xx_dwmac_data},
|
||||
{ .compatible = "st,stid127-dwmac", .data = &stid127_dwmac_data},
|
||||
{ .compatible = "st,stih407-dwmac", .data = &stih4xx_dwmac_data},
|
||||
#endif
|
||||
#ifdef CONFIG_DWMAC_SOCFPGA
|
||||
{ .compatible = "altr,socfpga-stmmac", .data = &socfpga_gmac_data },
|
||||
#endif
|
||||
/* SoC specific glue layers should come before generic bindings */
|
||||
{ .compatible = "st,spear600-gmac"},
|
||||
{ .compatible = "snps,dwmac-3.610"},
|
||||
{ .compatible = "snps,dwmac-3.70a"},
|
||||
|
|
Loading…
Reference in New Issue