* Bad sky2 interrupt handling?
From: Jesse Barnes @ 2009-07-16 23:25 UTC (permalink / raw)
To: Stephen Hemminger, netdev
I was debugging what I thought was a graphics driver problem today (some
page flipping code I'm working on was only flipping at about 10Hz
rather than ~60Hz) but it appears it's actually due to a bad
interaction with the Marvell 88E8036 controller on this machine.
MSI fails on this box (haven't looked too much at why yet), so the i915
driver shares an interrupt with USB, firewire, sdhci and the NIC.
Is sky2 the wrong driver to be using here? Or is there some way of
reducing its overhead when (presumably) it doesn't have anything to do?
--
Jesse Barnes, Intel Open Source Technology Center
^ permalink raw reply
* Re: Bad sky2 interrupt handling?
From: Stephen Hemminger @ 2009-07-16 23:37 UTC (permalink / raw)
To: Jesse Barnes; +Cc: netdev
In-Reply-To: <20090716162552.7f7b3031@jbarnes-g45>
On Thu, 16 Jul 2009 16:25:52 -0700
Jesse Barnes <jbarnes@virtuousgeek.org> wrote:
> I was debugging what I thought was a graphics driver problem today (some
> page flipping code I'm working on was only flipping at about 10Hz
> rather than ~60Hz) but it appears it's actually due to a bad
> interaction with the Marvell 88E8036 controller on this machine.
>
> MSI fails on this box (haven't looked too much at why yet), so the i915
> driver shares an interrupt with USB, firewire, sdhci and the NIC.
>
> Is sky2 the wrong driver to be using here? Or is there some way of
> reducing its overhead when (presumably) it doesn't have anything to do?
No, that is the right driver. If MSI fails, does the driver still think
it can use MSI?
--
^ permalink raw reply
* [net-2.6 PATCH 1/2] ixgbe: clear mac address data block in DCB mode
From: Jeff Kirsher @ 2009-07-16 23:43 UTC (permalink / raw)
To: davem; +Cc: netdev, gospo, Lucy Liu, Peter P Waskiewicz Jr, Jeff Kirsher
From: Lucy Liu <lucy.liu@intel.com>
This change clears the address data block memory space, which is needed for
the 82598 which does not have a SAN MAC.
Signed-off-by: Lucy Liu <lucy.liu@intel.com>
Acked-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
drivers/net/ixgbe/ixgbe_dcb_nl.c | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/drivers/net/ixgbe/ixgbe_dcb_nl.c b/drivers/net/ixgbe/ixgbe_dcb_nl.c
index 7c5978a..5b8dab2 100644
--- a/drivers/net/ixgbe/ixgbe_dcb_nl.c
+++ b/drivers/net/ixgbe/ixgbe_dcb_nl.c
@@ -175,6 +175,8 @@ static void ixgbe_dcbnl_get_perm_hw_addr(struct net_device *netdev,
struct ixgbe_adapter *adapter = netdev_priv(netdev);
int i, j;
+ memset(perm_addr, 0xff, MAX_ADDR_LEN);
+
for (i = 0; i < netdev->addr_len; i++)
perm_addr[i] = adapter->hw.mac.perm_addr[i];
^ permalink raw reply related
* [net-2.6 PATCH 2/2] ixgbe: Remove DPRINTK messages in DCB mode
From: Jeff Kirsher @ 2009-07-16 23:43 UTC (permalink / raw)
To: davem; +Cc: netdev, gospo, Lucy Liu, Peter P Waskiewicz Jr, Jeff Kirsher
In-Reply-To: <20090716234303.23595.85275.stgit@localhost.localdomain>
From: Lucy Liu <lucy.liu@intel.com>
Remove debug DPRINTK in DCB mode netlink interface.
Signed-off-by: Lucy Liu <lucy.liu@intel.com>
Acked-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
drivers/net/ixgbe/ixgbe_dcb_nl.c | 4 ----
1 files changed, 0 insertions(+), 4 deletions(-)
diff --git a/drivers/net/ixgbe/ixgbe_dcb_nl.c b/drivers/net/ixgbe/ixgbe_dcb_nl.c
index 5b8dab2..da2c851 100644
--- a/drivers/net/ixgbe/ixgbe_dcb_nl.c
+++ b/drivers/net/ixgbe/ixgbe_dcb_nl.c
@@ -106,8 +106,6 @@ static u8 ixgbe_dcbnl_get_state(struct net_device *netdev)
{
struct ixgbe_adapter *adapter = netdev_priv(netdev);
- DPRINTK(DRV, INFO, "Get DCB Admin Mode.\n");
-
return !!(adapter->flags & IXGBE_FLAG_DCB_ENABLED);
}
@@ -116,8 +114,6 @@ static u8 ixgbe_dcbnl_set_state(struct net_device *netdev, u8 state)
u8 err = 0;
struct ixgbe_adapter *adapter = netdev_priv(netdev);
- DPRINTK(DRV, INFO, "Set DCB Admin Mode.\n");
-
if (state > 0) {
/* Turn on DCB */
if (adapter->flags & IXGBE_FLAG_DCB_ENABLED)
^ permalink raw reply related
* Re: Bad sky2 interrupt handling?
From: Jesse Barnes @ 2009-07-16 23:57 UTC (permalink / raw)
To: Stephen Hemminger; +Cc: netdev
In-Reply-To: <20090716163727.666db0cc@nehalam>
On Thu, 16 Jul 2009 16:37:27 -0700
Stephen Hemminger <shemminger@vyatta.com> wrote:
> On Thu, 16 Jul 2009 16:25:52 -0700
> Jesse Barnes <jbarnes@virtuousgeek.org> wrote:
>
> > I was debugging what I thought was a graphics driver problem today
> > (some page flipping code I'm working on was only flipping at about
> > 10Hz rather than ~60Hz) but it appears it's actually due to a bad
> > interaction with the Marvell 88E8036 controller on this machine.
> >
> > MSI fails on this box (haven't looked too much at why yet), so the
> > i915 driver shares an interrupt with USB, firewire, sdhci and the
> > NIC.
> >
> > Is sky2 the wrong driver to be using here? Or is there some way of
> > reducing its overhead when (presumably) it doesn't have anything to
> > do?
>
> No, that is the right driver. If MSI fails, does the driver still
> think it can use MSI?
No, I think it's falling back correctly... lemme get the log.
...
sky2 driver version 1.23
sky2 0000:01:00.0: PCI INT A -> Link[LNKA] -> GSI 11 (level, low) -> IRQ 11 sky2 0000:01:00.0: setting latency timer to 64 sky2
0000:01:00.0: Yukon-2 FE chip revision 1 sky2 0000:01:00.0: irq 18 for MSI/MSI-X
sky2 0000:01:00.0: No interrupt generated using MSI,
switching to INTx mode.
sky2 eth0: addr 00:a0:d1:bb:88:52
...
sky2 skge: enabling interface
sky2 skge: Link is up at 100 Mbps, full duplex, flow control both
at least it looks like it.
--
Jesse Barnes, Intel Open Source Technology Center
^ permalink raw reply
* Re: RFC: VETH patch to zero timestamp.
From: Eric W. Biederman @ 2009-07-17 0:01 UTC (permalink / raw)
To: Ben Greear; +Cc: NetDev, xemul, Linux Containers
In-Reply-To: <4A5F9B1D.1050505@candelatech.com>
Ben Greear <greearb@candelatech.com> writes:
> The patch below helps when using VETH and bridge(s)
> This makes sure that the pkt timestamp is properly (re)calculated on
> receiving the packet on the peer veth device.
>
> I'm sure this patch is white-space damaged. If this looks
> useful, I'll generate a clean patch and send as attachment.
We reset everything else that needs to be reset. So we might as well
reset the timestamps as well. Unless there is a big performance
impact by doing so.
> Signed-off-by: Ben Greear<greearb@candelatech.com>
>
>
> diff --git a/drivers/net/veth.c b/drivers/net/veth.c
> index 1097c72..e9136af 100644
> --- a/drivers/net/veth.c
> +++ b/drivers/net/veth.c
> @@ -170,7 +173,12 @@ static int veth_xmit(struct sk_buff *skb, struct net_device *dev)
>
> if (skb->len > (rcv->mtu + MTU_PAD))
> goto rx_drop;
> -
> +
> + /* Zero out the time-stamp so that receiving code is forced
> + * to recalculate it.
> + */
> + skb->tstamp.tv64 = 0;
> +
> skb->pkt_type = PACKET_HOST;
> skb->protocol = eth_type_trans(skb, rcv);
> if (dev->features & NETIF_F_NO_CSUM)
>
>
> Thanks,
> Ben
>
> --
> Ben Greear <greearb@candelatech.com>
> Candela Technologies Inc http://www.candelatech.com
^ permalink raw reply
* Re: [PATCH] imwc3200: move iwmc3200 SDIO ids to sdio_ids.h
From: Marcel Holtmann @ 2009-07-17 0:07 UTC (permalink / raw)
To: David Miller
Cc: tomasw, yi.zhu, drzeus-list, netdev, linux-wireless, linux-kernel
In-Reply-To: <20090716.130726.220404456.davem@davemloft.net>
Hi Dave,
> >> > > Subject: RE: [PATCH] imwc3200: move iwmc3200 SDIO ids to sdio_ids.h
> >> >
> >> > BTW, subject should be "iwmc3200".
> >>
> >> Thanks. I'll address all comments although I'm not sure how to split
> >> the patch since adding SDIO_VENDOR_ID_INTEL to sdio_ids.h it affects
> >> all the drivers anyhow, so I'm suggesting to route it through netdev.
> >
> > I think it is best that you take the whole patch via net-next-2.6 to
> > avoid breakage during the next merge window.
>
> Fair enough.
after Tomas sent the revised version of course :)
Regards
Marcel
^ permalink raw reply
* Re: netfilter 00/03: netfilter fixes
From: David Miller @ 2009-07-17 0:37 UTC (permalink / raw)
To: kaber; +Cc: netdev, netfilter-devel
In-Reply-To: <20090716122638.23343.77832.sendpatchset@x2.localnet>
From: Patrick McHardy <kaber@trash.net>
Date: Thu, 16 Jul 2009 14:26:44 +0200 (MEST)
> following are two netfilter fixes for 2.6.31 and a MAINTAINERS update:
>
> - a fix for the nf_conntrack_alloc() race from Eric
> - a fix for incorrect invocation of nf_log_packet() in the new osf match
> - a patch to add my netfilter git tree to MAINTAINERS
>
> Please apply or pull from:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-2.6.git master
Pulled, thanks a lot Patrick!
^ permalink raw reply
* Re: [PATCH] atl1c: add missing parentheses
From: David Miller @ 2009-07-17 1:08 UTC (permalink / raw)
To: roel.kluin; +Cc: jcliburn, atl1-devel, akpm, netdev
In-Reply-To: <4A5A5852.4010901@gmail.com>
From: Roel Kluin <roel.kluin@gmail.com>
Date: Sun, 12 Jul 2009 23:40:34 +0200
> Parentheses are required or the comparison occurs before the bitand.
>
> Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
I'm sick and tired of waiting for someone to test this and it's so
damn obvious, so, applied. Thanks!
^ permalink raw reply
* Re: [PATCH] atl1c: misplaced parenthesis
From: David Miller @ 2009-07-17 1:08 UTC (permalink / raw)
To: roel.kluin; +Cc: jcliburn, atl1-devel, akpm, netdev
In-Reply-To: <4A5A6A62.6070707@gmail.com>
From: Roel Kluin <roel.kluin@gmail.com>
Date: Mon, 13 Jul 2009 00:57:38 +0200
> Fix misplaced parenthesis
>
> Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Applied.
^ permalink raw reply
* Re: [PATCH] bonding: clean muticast addresses when bevice changes type
From: David Miller @ 2009-07-17 1:09 UTC (permalink / raw)
To: fubar; +Cc: monis, rdreier, bonding-devel, netdev
In-Reply-To: <29772.1247777879@death.nxdomain.ibm.com>
From: Jay Vosburgh <fubar@us.ibm.com>
Date: Thu, 16 Jul 2009 13:57:59 -0700
>>Signed-off-by: Moni Shoua <monis@voltaire.com>
>
> I checked the discussion noted in a separate email, and the
> rationale seems reasonable.
>
> Signed-off-by: Jay Vosburgh <fubar@us.ibm.com>
Applied.
^ permalink raw reply
* Re: Debounce code vs. dma_sync_single_range_for_cpu() and e100 driver.
From: David Miller @ 2009-07-17 1:09 UTC (permalink / raw)
To: jeffrey.t.kirsher
Cc: khc, netdev, jesse.brandeburg, bruce.w.allan,
peter.p.waskiewicz.jr, john.ronciak, e1000-devel
In-Reply-To: <9929d2390907161527v6ae2751fy31957b643ee0cd88@mail.gmail.com>
From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Thu, 16 Jul 2009 15:27:01 -0700
> On Tue, Jul 14, 2009 at 2:05 PM, David Miller<davem@davemloft.net> wrote:
>> From: Krzysztof Halasa <khc@pm.waw.pl>
>> Date: Tue, 14 Jul 2009 23:01:54 +0200
>>
>>> Maybe you apply the workaround for 2.6.31 and I (or someone) will
>>> convert e100 to coherent allocs for packet descriptors, post-31?
>>
>> I think that's a good plan.
>>
>> Will give a few days for Intel folks to chime in before applying
>> your patch for 2.6.31, but otherwise that's my plan.
>
> Acked-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Applied, and queued for -stable, thanks everyone.
^ permalink raw reply
* Re: [PATCH] net: sock_copy() fixes
From: David Miller @ 2009-07-17 1:09 UTC (permalink / raw)
To: eric.dumazet; +Cc: kaber, netdev, paulmck
In-Reply-To: <4A5EEF26.5040209@gmail.com>
From: Eric Dumazet <eric.dumazet@gmail.com>
Date: Thu, 16 Jul 2009 11:13:10 +0200
> [PATCH] net: sock_copy() fixes
>
> Commit e912b1142be8f1e2c71c71001dc992c6e5eb2ec1
> (net: sk_prot_alloc() should not blindly overwrite memory)
> took care of not zeroing whole new socket at allocation time.
>
> sock_copy() is another spot where we should be very careful.
> We should not set refcnt to a non null value, until
> we are sure other fields are correctly setup, or
> a lockless reader could catch this socket by mistake,
> while not fully (re)initialized.
>
> This patch puts sk_node & sk_refcnt to the very beginning
> of struct sock to ease sock_copy() & sk_prot_alloc() job.
>
> We add appropriate smp_wmb() before sk_refcnt initializations
> to match our RCU requirements (changes to sock keys should
> be committed to memory before sk_refcnt setting)
>
> Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Applied and queued for -stable, thanks!
^ permalink raw reply
* Re: [PATCH] cdc-eem: bad crc checking
From: David Miller @ 2009-07-17 1:10 UTC (permalink / raw)
To: vincent.cuissard; +Cc: netdev
In-Reply-To: <5ca532980907160908k3c18fd16k18e17f92a18de5a8@mail.gmail.com>
From: Vincent CUISSARD <vincent.cuissard@gmail.com>
Date: Thu, 16 Jul 2009 18:08:58 +0200
> When the driver received an EEM packet with CRC option enabled, driver must
> compute and check the CRC of the Ethernet data. Previous version computes CRC
> on Ethernet data plus the original CRC value. Skbuff is correctly trimed but
> the old length is used when CRC is computed.
>
>
> Signed-off-by: Vincent CUISSARD <vincent.cuissard@gmail.com>
Applied, but you need to fix your patch submission so that your
email client doesn't corrupt the patch by splitting up longer
lines like it did here.
Thanks.
^ permalink raw reply
* Re: [PATCH] sky2: revert shutdown changes
From: David Miller @ 2009-07-17 1:10 UTC (permalink / raw)
To: shemminger; +Cc: netdev
In-Reply-To: <20090716162057.20cd3ef1@nehalam>
From: Stephen Hemminger <shemminger@vyatta.com>
Date: Thu, 16 Jul 2009 16:20:57 -0700
> The commit changes to shutdown path broke startup on some systems.
>
> revert commit c0bad0f2e4366d5bbfe0c4a7a80bca8f4b05272b
>
> Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Applied.
^ permalink raw reply
* Re: [net-2.6 PATCH 1/2] ixgbe: clear mac address data block in DCB mode
From: David Miller @ 2009-07-17 1:10 UTC (permalink / raw)
To: jeffrey.t.kirsher; +Cc: netdev, gospo, lucy.liu, peter.p.waskiewicz.jr
In-Reply-To: <20090716234303.23595.85275.stgit@localhost.localdomain>
From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Thu, 16 Jul 2009 16:43:10 -0700
> This change clears the address data block memory space, which is needed for
> the 82598 which does not have a SAN MAC.
>
> Signed-off-by: Lucy Liu <lucy.liu@intel.com>
> Acked-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>
> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Applied.
^ permalink raw reply
* Re: [net-2.6 PATCH 2/2] ixgbe: Remove DPRINTK messages in DCB mode
From: David Miller @ 2009-07-17 1:11 UTC (permalink / raw)
To: jeffrey.t.kirsher; +Cc: netdev, gospo, lucy.liu, peter.p.waskiewicz.jr
In-Reply-To: <20090716234331.23595.48405.stgit@localhost.localdomain>
From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Thu, 16 Jul 2009 16:43:31 -0700
> Remove debug DPRINTK in DCB mode netlink interface.
>
> Signed-off-by: Lucy Liu <lucy.liu@intel.com>
> Acked-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>
> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Applied.
^ permalink raw reply
* [net-next-2.6 PATCH 1/4] ixgbe: Remove legacy descriptor support
From: Jeff Kirsher @ 2009-07-17 1:50 UTC (permalink / raw)
To: davem; +Cc: netdev, gospo, Peter P Waskiewicz Jr, Jeff Kirsher
From: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>
The ethtool offline test is the only consumer of the legacy descriptors.
Update that path to only use advanced descriptors, and remove all support
for legacy descriptors.
Signed-off-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
drivers/net/ixgbe/ixgbe.h | 4 ----
drivers/net/ixgbe/ixgbe_ethtool.c | 33 +++++++++++++++++++--------------
drivers/net/ixgbe/ixgbe_type.h | 31 -------------------------------
3 files changed, 19 insertions(+), 49 deletions(-)
diff --git a/drivers/net/ixgbe/ixgbe.h b/drivers/net/ixgbe/ixgbe.h
index cd22323..2a93e11 100644
--- a/drivers/net/ixgbe/ixgbe.h
+++ b/drivers/net/ixgbe/ixgbe.h
@@ -229,10 +229,6 @@ struct ixgbe_q_vector {
#define IXGBE_TX_CTXTDESC_ADV(R, i) \
(&(((struct ixgbe_adv_tx_context_desc *)((R).desc))[i]))
-#define IXGBE_GET_DESC(R, i, type) (&(((struct type *)((R).desc))[i]))
-#define IXGBE_TX_DESC(R, i) IXGBE_GET_DESC(R, i, ixgbe_legacy_tx_desc)
-#define IXGBE_RX_DESC(R, i) IXGBE_GET_DESC(R, i, ixgbe_legacy_rx_desc)
-
#define IXGBE_MAX_JUMBO_FRAME_SIZE 16128
#ifdef IXGBE_FCOE
/* Use 3K as the baby jumbo frame size for FCoE */
diff --git a/drivers/net/ixgbe/ixgbe_ethtool.c b/drivers/net/ixgbe/ixgbe_ethtool.c
index 2a97800..1464b33 100644
--- a/drivers/net/ixgbe/ixgbe_ethtool.c
+++ b/drivers/net/ixgbe/ixgbe_ethtool.c
@@ -1440,7 +1440,7 @@ static int ixgbe_setup_desc_rings(struct ixgbe_adapter *adapter)
goto err_nomem;
}
- tx_ring->size = tx_ring->count * sizeof(struct ixgbe_legacy_tx_desc);
+ tx_ring->size = tx_ring->count * sizeof(union ixgbe_adv_tx_desc);
tx_ring->size = ALIGN(tx_ring->size, 4096);
if (!(tx_ring->desc = pci_alloc_consistent(pdev, tx_ring->size,
&tx_ring->dma))) {
@@ -1454,7 +1454,7 @@ static int ixgbe_setup_desc_rings(struct ixgbe_adapter *adapter)
IXGBE_WRITE_REG(&adapter->hw, IXGBE_TDBAH(0),
((u64) tx_ring->dma >> 32));
IXGBE_WRITE_REG(&adapter->hw, IXGBE_TDLEN(0),
- tx_ring->count * sizeof(struct ixgbe_legacy_tx_desc));
+ tx_ring->count * sizeof(union ixgbe_adv_tx_desc));
IXGBE_WRITE_REG(&adapter->hw, IXGBE_TDH(0), 0);
IXGBE_WRITE_REG(&adapter->hw, IXGBE_TDT(0), 0);
@@ -1472,7 +1472,7 @@ static int ixgbe_setup_desc_rings(struct ixgbe_adapter *adapter)
IXGBE_WRITE_REG(&adapter->hw, IXGBE_TXDCTL(0), reg_data);
for (i = 0; i < tx_ring->count; i++) {
- struct ixgbe_legacy_tx_desc *desc = IXGBE_TX_DESC(*tx_ring, i);
+ union ixgbe_adv_tx_desc *desc = IXGBE_TX_DESC_ADV(*tx_ring, i);
struct sk_buff *skb;
unsigned int size = 1024;
@@ -1486,13 +1486,18 @@ static int ixgbe_setup_desc_rings(struct ixgbe_adapter *adapter)
tx_ring->tx_buffer_info[i].length = skb->len;
tx_ring->tx_buffer_info[i].dma =
pci_map_single(pdev, skb->data, skb->len,
- PCI_DMA_TODEVICE);
- desc->buffer_addr = cpu_to_le64(tx_ring->tx_buffer_info[i].dma);
- desc->lower.data = cpu_to_le32(skb->len);
- desc->lower.data |= cpu_to_le32(IXGBE_TXD_CMD_EOP |
- IXGBE_TXD_CMD_IFCS |
- IXGBE_TXD_CMD_RS);
- desc->upper.data = 0;
+ PCI_DMA_TODEVICE);
+ desc->read.buffer_addr =
+ cpu_to_le64(tx_ring->tx_buffer_info[i].dma);
+ desc->read.cmd_type_len = cpu_to_le32(skb->len);
+ desc->read.cmd_type_len |= cpu_to_le32(IXGBE_TXD_CMD_EOP |
+ IXGBE_TXD_CMD_IFCS |
+ IXGBE_TXD_CMD_RS);
+ desc->read.olinfo_status = 0;
+ if (adapter->hw.mac.type == ixgbe_mac_82599EB)
+ desc->read.olinfo_status |=
+ (skb->len << IXGBE_ADVTXD_PAYLEN_SHIFT);
+
}
/* Setup Rx Descriptor ring and Rx buffers */
@@ -1508,7 +1513,7 @@ static int ixgbe_setup_desc_rings(struct ixgbe_adapter *adapter)
goto err_nomem;
}
- rx_ring->size = rx_ring->count * sizeof(struct ixgbe_legacy_rx_desc);
+ rx_ring->size = rx_ring->count * sizeof(union ixgbe_adv_rx_desc);
rx_ring->size = ALIGN(rx_ring->size, 4096);
if (!(rx_ring->desc = pci_alloc_consistent(pdev, rx_ring->size,
&rx_ring->dma))) {
@@ -1566,8 +1571,8 @@ static int ixgbe_setup_desc_rings(struct ixgbe_adapter *adapter)
IXGBE_WRITE_REG(&adapter->hw, IXGBE_RXCTRL, rctl);
for (i = 0; i < rx_ring->count; i++) {
- struct ixgbe_legacy_rx_desc *rx_desc =
- IXGBE_RX_DESC(*rx_ring, i);
+ union ixgbe_adv_rx_desc *rx_desc =
+ IXGBE_RX_DESC_ADV(*rx_ring, i);
struct sk_buff *skb;
skb = alloc_skb(IXGBE_RXBUFFER_2048 + NET_IP_ALIGN, GFP_KERNEL);
@@ -1580,7 +1585,7 @@ static int ixgbe_setup_desc_rings(struct ixgbe_adapter *adapter)
rx_ring->rx_buffer_info[i].dma =
pci_map_single(pdev, skb->data, IXGBE_RXBUFFER_2048,
PCI_DMA_FROMDEVICE);
- rx_desc->buffer_addr =
+ rx_desc->read.pkt_addr =
cpu_to_le64(rx_ring->rx_buffer_info[i].dma);
memset(skb->data, 0x00, skb->len);
}
diff --git a/drivers/net/ixgbe/ixgbe_type.h b/drivers/net/ixgbe/ixgbe_type.h
index fa87309..8fb6ade 100644
--- a/drivers/net/ixgbe/ixgbe_type.h
+++ b/drivers/net/ixgbe/ixgbe_type.h
@@ -1893,27 +1893,6 @@ enum ixgbe_fdir_pballoc_type {
#define IXGBE_FDIR_INIT_DONE_POLL 10
#define IXGBE_FDIRCMD_CMD_POLL 10
-/* Transmit Descriptor - Legacy */
-struct ixgbe_legacy_tx_desc {
- u64 buffer_addr; /* Address of the descriptor's data buffer */
- union {
- __le32 data;
- struct {
- __le16 length; /* Data buffer length */
- u8 cso; /* Checksum offset */
- u8 cmd; /* Descriptor control */
- } flags;
- } lower;
- union {
- __le32 data;
- struct {
- u8 status; /* Descriptor status */
- u8 css; /* Checksum start */
- __le16 vlan;
- } fields;
- } upper;
-};
-
/* Transmit Descriptor - Advanced */
union ixgbe_adv_tx_desc {
struct {
@@ -1928,16 +1907,6 @@ union ixgbe_adv_tx_desc {
} wb;
};
-/* Receive Descriptor - Legacy */
-struct ixgbe_legacy_rx_desc {
- __le64 buffer_addr; /* Address of the descriptor's data buffer */
- __le16 length; /* Length of data DMAed into data buffer */
- __le16 csum; /* Packet checksum */
- u8 status; /* Descriptor status */
- u8 errors; /* Descriptor Errors */
- __le16 vlan;
-};
-
/* Receive Descriptor - Advanced */
union ixgbe_adv_rx_desc {
struct {
^ permalink raw reply related
* [net-next-2.6 PATCH 2/4] ixgbe: Make sure boolean assignments from bitwise operations done correctly
From: Jeff Kirsher @ 2009-07-17 1:50 UTC (permalink / raw)
To: davem; +Cc: netdev, gospo, Peter P Waskiewicz Jr, Jeff Kirsher
In-Reply-To: <20090717014951.24074.75893.stgit@localhost.localdomain>
From: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>
When the link comes up, the driver detects which flow control settings are
active. This is done using bitwise operations directly from the hardware
registers, and assumes the proper boolean assignment. Make this an
explicit boolean value before assignment to the bool.
Signed-off-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
drivers/net/ixgbe/ixgbe_main.c | 8 ++++----
1 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/net/ixgbe/ixgbe_main.c b/drivers/net/ixgbe/ixgbe_main.c
index e3442f4..09394c1 100644
--- a/drivers/net/ixgbe/ixgbe_main.c
+++ b/drivers/net/ixgbe/ixgbe_main.c
@@ -4643,13 +4643,13 @@ static void ixgbe_watchdog_task(struct work_struct *work)
if (hw->mac.type == ixgbe_mac_82599EB) {
u32 mflcn = IXGBE_READ_REG(hw, IXGBE_MFLCN);
u32 fccfg = IXGBE_READ_REG(hw, IXGBE_FCCFG);
- flow_rx = (mflcn & IXGBE_MFLCN_RFCE);
- flow_tx = (fccfg & IXGBE_FCCFG_TFCE_802_3X);
+ flow_rx = !!(mflcn & IXGBE_MFLCN_RFCE);
+ flow_tx = !!(fccfg & IXGBE_FCCFG_TFCE_802_3X);
} else {
u32 frctl = IXGBE_READ_REG(hw, IXGBE_FCTRL);
u32 rmcs = IXGBE_READ_REG(hw, IXGBE_RMCS);
- flow_rx = (frctl & IXGBE_FCTRL_RFCE);
- flow_tx = (rmcs & IXGBE_RMCS_TFCE_802_3X);
+ flow_rx = !!(frctl & IXGBE_FCTRL_RFCE);
+ flow_tx = !!(rmcs & IXGBE_RMCS_TFCE_802_3X);
}
printk(KERN_INFO "ixgbe: %s NIC Link is Up %s, "
^ permalink raw reply related
* [net-next-2.6 PATCH 3/4] ixgbe: Add device support for a new copper 82598 device
From: Jeff Kirsher @ 2009-07-17 1:50 UTC (permalink / raw)
To: davem; +Cc: netdev, gospo, Peter P Waskiewicz Jr, Jeff Kirsher
In-Reply-To: <20090717014951.24074.75893.stgit@localhost.localdomain>
From: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>
This adds support for a new copper device for 82598, device id 0x150b.
Signed-off-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
drivers/net/ixgbe/ixgbe_82598.c | 1 +
drivers/net/ixgbe/ixgbe_main.c | 2 ++
drivers/net/ixgbe/ixgbe_type.h | 1 +
3 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/drivers/net/ixgbe/ixgbe_82598.c b/drivers/net/ixgbe/ixgbe_82598.c
index b992304..ed0bb3b 100644
--- a/drivers/net/ixgbe/ixgbe_82598.c
+++ b/drivers/net/ixgbe/ixgbe_82598.c
@@ -269,6 +269,7 @@ static enum ixgbe_media_type ixgbe_get_media_type_82598(struct ixgbe_hw *hw)
media_type = ixgbe_media_type_fiber;
break;
case IXGBE_DEV_ID_82598AT:
+ case IXGBE_DEV_ID_82598AT2:
media_type = ixgbe_media_type_copper;
break;
default:
diff --git a/drivers/net/ixgbe/ixgbe_main.c b/drivers/net/ixgbe/ixgbe_main.c
index 09394c1..a3bbcfd 100644
--- a/drivers/net/ixgbe/ixgbe_main.c
+++ b/drivers/net/ixgbe/ixgbe_main.c
@@ -74,6 +74,8 @@ static struct pci_device_id ixgbe_pci_tbl[] = {
board_82598 },
{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82598AT),
board_82598 },
+ {PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82598AT2),
+ board_82598 },
{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82598EB_CX4),
board_82598 },
{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82598_CX4_DUAL_PORT),
diff --git a/drivers/net/ixgbe/ixgbe_type.h b/drivers/net/ixgbe/ixgbe_type.h
index 8fb6ade..17ee389 100644
--- a/drivers/net/ixgbe/ixgbe_type.h
+++ b/drivers/net/ixgbe/ixgbe_type.h
@@ -42,6 +42,7 @@
#define IXGBE_DEV_ID_82598AF_SINGLE_PORT 0x10C7
#define IXGBE_DEV_ID_82598EB_SFP_LOM 0x10DB
#define IXGBE_DEV_ID_82598AT 0x10C8
+#define IXGBE_DEV_ID_82598AT2 0x150B
#define IXGBE_DEV_ID_82598EB_CX4 0x10DD
#define IXGBE_DEV_ID_82598_CX4_DUAL_PORT 0x10EC
#define IXGBE_DEV_ID_82598_DA_DUAL_PORT 0x10F1
^ permalink raw reply related
* [net-next-2.6 PATCH 4/4] ixgbe: Bump version number
From: Jeff Kirsher @ 2009-07-17 1:51 UTC (permalink / raw)
To: davem; +Cc: netdev, gospo, Peter P Waskiewicz Jr, Jeff Kirsher
In-Reply-To: <20090717014951.24074.75893.stgit@localhost.localdomain>
From: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>
Keep the version number marching along as updates come in.
Signed-off-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
drivers/net/ixgbe/ixgbe_main.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/net/ixgbe/ixgbe_main.c b/drivers/net/ixgbe/ixgbe_main.c
index a3bbcfd..79f60e8 100644
--- a/drivers/net/ixgbe/ixgbe_main.c
+++ b/drivers/net/ixgbe/ixgbe_main.c
@@ -48,7 +48,7 @@ char ixgbe_driver_name[] = "ixgbe";
static const char ixgbe_driver_string[] =
"Intel(R) 10 Gigabit PCI Express Network Driver";
-#define DRV_VERSION "2.0.34-k2"
+#define DRV_VERSION "2.0.37-k2"
const char ixgbe_driver_version[] = DRV_VERSION;
static char ixgbe_copyright[] = "Copyright (c) 1999-2009 Intel Corporation.";
^ permalink raw reply related
* Re: [PATCH] Add mac resource support for w90p910
From: Wan ZongShun @ 2009-07-17 2:01 UTC (permalink / raw)
To: Trilok Soni
Cc: David S. Miller, linux-netdev, linux-arm-kernel, Russell King,
Eric.miao
In-Reply-To: <5d5443650907160609j742c407dpffaf818e5552a7e1@mail.gmail.com>
Dear Trilok,
Thanks for your reviewing, I fixed up and resubmitted this patch.
patch text:
Add mac resource support for w90p910 mac driver
Signed-off-by: Wan ZongShun <mcuos.com@gmail.com>
---
arch/arm/mach-w90x900/mach-w90p910evb.c | 28 ++++++++++++++++++++++++++++
1 files changed, 28 insertions(+), 0 deletions(-)
diff --git a/arch/arm/mach-w90x900/mach-w90p910evb.c b/arch/arm/mach-w90x900/mach-w90p910evb.c
index 7a62bd3..3becabb 100644
--- a/arch/arm/mach-w90x900/mach-w90p910evb.c
+++ b/arch/arm/mach-w90x900/mach-w90p910evb.c
@@ -228,6 +228,33 @@ struct platform_device w90x900_device_usbgadget = {
};
EXPORT_SYMBOL(w90x900_device_usbgadget);
+/* USB mac device */
+
+static struct resource w90x900_emc_resource[] = {
+ [0] = {
+ .start = W90X900_PA_EMC,
+ .end = W90X900_PA_EMC + W90X900_SZ_EMC - 1,
+ .flags = IORESOURCE_MEM,
+ },
+ [1] = {
+ .start = IRQ_EMCTX,
+ .end = IRQ_EMCTX,
+ .flags = IORESOURCE_IRQ,
+ },
+ [2] = {
+ .start = IRQ_EMCRX,
+ .end = IRQ_EMCRX,
+ .flags = IORESOURCE_IRQ,
+ }
+};
+
+static struct platform_device w90p910_device_emc = {
+ .name = "w90p910-emc",
+ .id = -1,
+ .num_resources = ARRAY_SIZE(w90x900_emc_resource),
+ .resource = w90x900_emc_resource,
+};
+
static struct map_desc w90p910_iodesc[] __initdata = {
};
@@ -242,6 +269,7 @@ static struct platform_device *w90p910evb_dev[] __initdata = {
&w90x900_device_rtc,
&w90x900_device_kpi,
&w90x900_device_usbgadget,
+ &w90p910_device_emc,
};
static void __init w90p910evb_map_io(void)
--
1.5.6.3
> Hi Wan,
>
> On Thu, Jul 16, 2009 at 6:19 PM, Wan ZongShun<mcuos.com@gmail.com> wrote:
>> +
>> +struct platform_device w90p910_device_emc = {
>
> static?
>
^ permalink raw reply related
* Re: [Bugme-new] [Bug 13467] New: Cannot set larger mtu on vlan then on underlying untagged device
From: David Miller @ 2009-07-17 2:30 UTC (permalink / raw)
To: herbert; +Cc: akpm, netdev, bugzilla-daemon, bugme-daemon, tomek
In-Reply-To: <20090706101950.GA18953@gondor.apana.org.au>
From: Herbert Xu <herbert@gondor.apana.org.au>
Date: Mon, 6 Jul 2009 18:19:50 +0800
> Andrew Morton <akpm@linux-foundation.org> wrote:
>>
>>> Summary: Cannot set larger mtu on vlan then on underlying
>>> untagged device
>
> Please try this patch.
>
> vlan: Propagate physical MTU changes
>
> When the physical MTU changes we want to ensure that all existing
> VLAN device MTUs do not exceed the new underlying MTU. This patch
> adds that propagation.
>
> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Please can we have some test results for this patch? It's been
more than a week since this patch and request for testing was
posted.
Thanks.
^ permalink raw reply
* Re: [PATCH v2] Receive Packet Steering
From: David Miller @ 2009-07-17 2:48 UTC (permalink / raw)
To: therbert; +Cc: netdev
In-Reply-To: <65634d660907141628g671812f9t4219cc8b6a493425@mail.gmail.com>
From: Tom Herbert <therbert@google.com>
Date: Tue, 14 Jul 2009 16:28:01 -0700
> Using the Toeplitz hash in steering lookup has given us about 10% more
> maximum pps (2 different NICs), and we haven't really noticed negative
> effects because of the extra descriptor overhead-- so I'm not going to
> give up on it too easily!
Do you have any idea why? Does Toeplitz distribute better?
If so, that could be merely because either:
1) Our modulus avoidance scheme somehow decreases the distribution
features of the hash
2) The way we feed data into the hash has a similar effect
It's worth checking out.
>> I had no choice, as I'm giving a presentation on this stuff tomorrow
>> night here in NYC :-)
>
> Cool, do you happen to have slides.... :-)
I'll post them soon.
^ permalink raw reply
* net-2.6 merged into net-next-2.6
From: David Miller @ 2009-07-17 4:04 UTC (permalink / raw)
To: netdev; +Cc: sfr
To resolve some conflicts I merged net-2.6 into net-next-2.6 just now.
Let me know if this results in any problems, thanks.
^ permalink raw reply
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).