Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 421355de authored by David S. Miller's avatar David S. Miller
Browse files

Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6

parents aace4959 0fe7463a
Loading
Loading
Loading
Loading
+8 −0
Original line number Original line Diff line number Diff line
@@ -3654,6 +3654,7 @@ NETWORKING [GENERAL]
M:	"David S. Miller" <davem@davemloft.net>
M:	"David S. Miller" <davem@davemloft.net>
L:	netdev@vger.kernel.org
L:	netdev@vger.kernel.org
W:	http://www.linuxfoundation.org/en/Net
W:	http://www.linuxfoundation.org/en/Net
W:	http://patchwork.ozlabs.org/project/netdev/list/
T:	git git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6.git
T:	git git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6.git
S:	Maintained
S:	Maintained
F:	net/
F:	net/
@@ -5635,6 +5636,13 @@ S: Maintained
F:	drivers/vlynq/vlynq.c
F:	drivers/vlynq/vlynq.c
F:	include/linux/vlynq.h
F:	include/linux/vlynq.h


VMWARE VMXNET3 ETHERNET DRIVER
M:     Shreyas Bhatewara <sbhatewara@vmware.com>
M:     VMware, Inc. <pv-drivers@vmware.com>
L:     netdev@vger.kernel.org
S:     Maintained
F:     drivers/net/vmxnet3/

VOLTAGE AND CURRENT REGULATOR FRAMEWORK
VOLTAGE AND CURRENT REGULATOR FRAMEWORK
M:	Liam Girdwood <lrg@slimlogic.co.uk>
M:	Liam Girdwood <lrg@slimlogic.co.uk>
M:	Mark Brown <broonie@opensource.wolfsonmicro.com>
M:	Mark Brown <broonie@opensource.wolfsonmicro.com>
+8 −0
Original line number Original line Diff line number Diff line
@@ -3230,4 +3230,12 @@ config VIRTIO_NET
	  This is the virtual network driver for virtio.  It can be used with
	  This is the virtual network driver for virtio.  It can be used with
          lguest or QEMU based VMMs (like KVM or Xen).  Say Y or M.
          lguest or QEMU based VMMs (like KVM or Xen).  Say Y or M.


config VMXNET3
       tristate "VMware VMXNET3 ethernet driver"
       depends on PCI && X86
       help
         This driver supports VMware's vmxnet3 virtual ethernet NIC.
         To compile this driver as a module, choose M here: the
         module will be called vmxnet3.

endif # NETDEVICES
endif # NETDEVICES
+1 −0
Original line number Original line Diff line number Diff line
@@ -30,6 +30,7 @@ obj-$(CONFIG_TEHUTI) += tehuti.o
obj-$(CONFIG_ENIC) += enic/
obj-$(CONFIG_ENIC) += enic/
obj-$(CONFIG_JME) += jme.o
obj-$(CONFIG_JME) += jme.o
obj-$(CONFIG_BE2NET) += benet/
obj-$(CONFIG_BE2NET) += benet/
obj-$(CONFIG_VMXNET3) += vmxnet3/


gianfar_driver-objs := gianfar.o \
gianfar_driver-objs := gianfar.o \
		gianfar_ethtool.o \
		gianfar_ethtool.o \
+2 −1
Original line number Original line Diff line number Diff line
@@ -1209,7 +1209,8 @@ static int __devinit ace_init(struct net_device *dev)
	memset(ap->info, 0, sizeof(struct ace_info));
	memset(ap->info, 0, sizeof(struct ace_info));
	memset(ap->skb, 0, sizeof(struct ace_skb));
	memset(ap->skb, 0, sizeof(struct ace_skb));


	if (ace_load_firmware(dev))
	ecode = ace_load_firmware(dev);
	if (ecode)
		goto init_error;
		goto init_error;


	ap->fw_running = 0;
	ap->fw_running = 0;
+24 −12
Original line number Original line Diff line number Diff line
@@ -330,6 +330,9 @@ static const char emac_version_string[] = "TI DaVinci EMAC Linux v6.1";
#define EMAC_DM646X_MAC_EOI_C0_RXEN	(0x01)
#define EMAC_DM646X_MAC_EOI_C0_RXEN	(0x01)
#define EMAC_DM646X_MAC_EOI_C0_TXEN	(0x02)
#define EMAC_DM646X_MAC_EOI_C0_TXEN	(0x02)


/* EMAC Stats Clear Mask */
#define EMAC_STATS_CLR_MASK    (0xFFFFFFFF)

/** net_buf_obj: EMAC network bufferdata structure
/** net_buf_obj: EMAC network bufferdata structure
 *
 *
 * EMAC network buffer data structure
 * EMAC network buffer data structure
@@ -2544,40 +2547,49 @@ static int emac_dev_stop(struct net_device *ndev)
static struct net_device_stats *emac_dev_getnetstats(struct net_device *ndev)
static struct net_device_stats *emac_dev_getnetstats(struct net_device *ndev)
{
{
	struct emac_priv *priv = netdev_priv(ndev);
	struct emac_priv *priv = netdev_priv(ndev);
	u32 mac_control;
	u32 stats_clear_mask;


	/* update emac hardware stats and reset the registers*/
	/* update emac hardware stats and reset the registers*/


	mac_control = emac_read(EMAC_MACCONTROL);

	if (mac_control & EMAC_MACCONTROL_GMIIEN)
		stats_clear_mask = EMAC_STATS_CLR_MASK;
	else
		stats_clear_mask = 0;

	priv->net_dev_stats.multicast += emac_read(EMAC_RXMCASTFRAMES);
	priv->net_dev_stats.multicast += emac_read(EMAC_RXMCASTFRAMES);
	emac_write(EMAC_RXMCASTFRAMES, EMAC_ALL_MULTI_REG_VALUE);
	emac_write(EMAC_RXMCASTFRAMES, stats_clear_mask);


	priv->net_dev_stats.collisions += (emac_read(EMAC_TXCOLLISION) +
	priv->net_dev_stats.collisions += (emac_read(EMAC_TXCOLLISION) +
					   emac_read(EMAC_TXSINGLECOLL) +
					   emac_read(EMAC_TXSINGLECOLL) +
					   emac_read(EMAC_TXMULTICOLL));
					   emac_read(EMAC_TXMULTICOLL));
	emac_write(EMAC_TXCOLLISION, EMAC_ALL_MULTI_REG_VALUE);
	emac_write(EMAC_TXCOLLISION, stats_clear_mask);
	emac_write(EMAC_TXSINGLECOLL, EMAC_ALL_MULTI_REG_VALUE);
	emac_write(EMAC_TXSINGLECOLL, stats_clear_mask);
	emac_write(EMAC_TXMULTICOLL, EMAC_ALL_MULTI_REG_VALUE);
	emac_write(EMAC_TXMULTICOLL, stats_clear_mask);


	priv->net_dev_stats.rx_length_errors += (emac_read(EMAC_RXOVERSIZED) +
	priv->net_dev_stats.rx_length_errors += (emac_read(EMAC_RXOVERSIZED) +
						emac_read(EMAC_RXJABBER) +
						emac_read(EMAC_RXJABBER) +
						emac_read(EMAC_RXUNDERSIZED));
						emac_read(EMAC_RXUNDERSIZED));
	emac_write(EMAC_RXOVERSIZED, EMAC_ALL_MULTI_REG_VALUE);
	emac_write(EMAC_RXOVERSIZED, stats_clear_mask);
	emac_write(EMAC_RXJABBER, EMAC_ALL_MULTI_REG_VALUE);
	emac_write(EMAC_RXJABBER, stats_clear_mask);
	emac_write(EMAC_RXUNDERSIZED, EMAC_ALL_MULTI_REG_VALUE);
	emac_write(EMAC_RXUNDERSIZED, stats_clear_mask);


	priv->net_dev_stats.rx_over_errors += (emac_read(EMAC_RXSOFOVERRUNS) +
	priv->net_dev_stats.rx_over_errors += (emac_read(EMAC_RXSOFOVERRUNS) +
					       emac_read(EMAC_RXMOFOVERRUNS));
					       emac_read(EMAC_RXMOFOVERRUNS));
	emac_write(EMAC_RXSOFOVERRUNS, EMAC_ALL_MULTI_REG_VALUE);
	emac_write(EMAC_RXSOFOVERRUNS, stats_clear_mask);
	emac_write(EMAC_RXMOFOVERRUNS, EMAC_ALL_MULTI_REG_VALUE);
	emac_write(EMAC_RXMOFOVERRUNS, stats_clear_mask);


	priv->net_dev_stats.rx_fifo_errors += emac_read(EMAC_RXDMAOVERRUNS);
	priv->net_dev_stats.rx_fifo_errors += emac_read(EMAC_RXDMAOVERRUNS);
	emac_write(EMAC_RXDMAOVERRUNS, EMAC_ALL_MULTI_REG_VALUE);
	emac_write(EMAC_RXDMAOVERRUNS, stats_clear_mask);


	priv->net_dev_stats.tx_carrier_errors +=
	priv->net_dev_stats.tx_carrier_errors +=
		emac_read(EMAC_TXCARRIERSENSE);
		emac_read(EMAC_TXCARRIERSENSE);
	emac_write(EMAC_TXCARRIERSENSE, EMAC_ALL_MULTI_REG_VALUE);
	emac_write(EMAC_TXCARRIERSENSE, stats_clear_mask);


	priv->net_dev_stats.tx_fifo_errors = emac_read(EMAC_TXUNDERRUN);
	priv->net_dev_stats.tx_fifo_errors = emac_read(EMAC_TXUNDERRUN);
	emac_write(EMAC_TXUNDERRUN, EMAC_ALL_MULTI_REG_VALUE);
	emac_write(EMAC_TXUNDERRUN, stats_clear_mask);


	return &priv->net_dev_stats;
	return &priv->net_dev_stats;
}
}
Loading