| commit 3aeb7d2243e55ddcad3c0b402e7b09619a67f5da |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Wed Jul 20 14:55:25 2011 +0000 |
| |
| bnx2: Fix endian swapping on firmware version string |
| |
| so that ethtool -i will display it correctly on big endian systems. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Reviewed-by: Bhanu Prakash Gollapudi <bprakash@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit cd6340199f65cad63262db0fd561bdcfd69df3bd |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Fri Jul 15 06:53:58 2011 +0000 |
| |
| bnx2: Close device if tx_timeout reset fails |
| |
| Based on original patch and description from Flavio Leitner <fbl@redhat.com> |
| |
| When bnx2_reset_task() is called, it will stop, |
| (re)initialize and start the interface to restore |
| the working condition. |
| |
| The bnx2_init_nic() calls bnx2_reset_nic() which will |
| reset the chip and then calls bnx2_free_skbs() to free |
| all the skbs. |
| |
| The problem happens when bnx2_init_chip() fails because |
| bnx2_reset_nic() will just return skipping the ring |
| initializations at bnx2_init_all_rings(). Later, the |
| reset task starts the interface again and the system |
| crashes due a NULL pointer access (no skb in the ring). |
| |
| To fix it, we call dev_close() if bnx2_init_nic() fails. |
| One minor wrinkle to deal with is the cancel_work_sync() |
| call in bnx2_close() to cancel bnx2_reset_task(). The |
| call will wait forever because it is trying to cancel |
| itself and the workqueue will be stuck. |
| |
| Since bnx2_reset_task() holds the rtnl_lock() and checks |
| for netif_running() before proceeding, there is no need |
| to cancel bnx2_reset_task() in bnx2_close() even if |
| bnx2_close() and bnx2_reset_task() are running concurrently. |
| The rtnl_lock() serializes the 2 calls. |
| |
| We need to move the cancel_work_sync() call to |
| bnx2_remove_one() to make sure it is canceled before freeing |
| the netdev struct. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: Matt Carlson <mcarlson@broadcom.com> |
| Cc: Flavio Leitner <fbl@redhat.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 41c2178adce37b249147063624f8a27b064b471e |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Wed Jul 13 17:24:22 2011 +0000 |
| |
| bnx2: Read iSCSI config from shared memory during ->probe() |
| |
| The scratchpad location that we were reading from has not been |
| initialized yet during ->probe(), so we were getting inaccurate |
| information. |
| |
| Update version to 2.1.10. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Reviewed-by: Matt Carlson <mcarlson@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit ecdbf6e0d555d353188647d1b2dee9a79db69c68 |
| Author: Jeffrey Huang <huangjw@broadcom.com> |
| Date: Wed Jul 13 17:24:21 2011 +0000 |
| |
| bnx2: Add MCP dump |
| |
| to help debug issues related to management firmware. |
| |
| Signed-off-by: Jeffrey Huang <huangjw@broadcom.com> |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Reviewed-by: Matt Carlson <mcarlson@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit e82760e7d6498d24d1a92f22767ba578c8980a6d |
| Author: Jon Mason <jdmason@kudzu.us> |
| Date: Mon Jun 27 07:44:43 2011 +0000 |
| |
| bnx2: remove unnecessary read of PCI_CAP_ID_EXP |
| |
| The PCIE capability offset is saved during PCI bus walking. It will |
| remove an unnecessary search in the PCI configuration space if this |
| value is referenced instead of reacquiring it. Also, pci_is_pcie is a |
| better way of determining if the device is PCIE or not (as it uses the |
| same saved PCIE capability offset). |
| |
| Signed-off-by: Jon Mason <jdmason@kudzu.us> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 7625eb2f2fff7bfae41d3119b472c20b48874895 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Wed Jun 8 19:29:36 2011 +0000 |
| |
| cnic, bnx2: Check iSCSI support early in bnx2_init_one() |
| |
| Based on earlier patch from Neil Horman <nhorman@tuxdriver.com> |
| |
| If iSCSI is not supported on a bnx2 device, bnx2_cnic_probe() will |
| return NULL and the cnic device will not be visible to bnx2i. This |
| will prevent bnx2i from registering and then unregistering during |
| cnic_start() and cause the warning message: |
| |
| bnx2 0003:01:00.1: eth1: Failed waiting for ULP up call to complete |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Cc: Neil Horman <nhorman@tuxdriver.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 707394972093e2056e1e8cc39be19cf9bcb3e7b3 |
| Author: David Decotigny <decot@google.com> |
| Date: Wed Apr 27 18:32:40 2011 +0000 |
| |
| ethtool: cosmetic: Use ethtool ethtool_cmd_speed API |
| |
| This updates the network drivers so that they don't access the |
| ethtool_cmd::speed field directly, but use ethtool_cmd_speed() |
| instead. |
| |
| For most of the drivers, these changes are purely cosmetic and don't |
| fix any problem, such as for those 1GbE/10GbE drivers that indirectly |
| call their own ethtool get_settings()/mii_ethtool_gset(). The changes |
| are meant to enforce code consistency and provide robustness with |
| future larger throughputs, at the expense of a few CPU cycles for each |
| ethtool operation. |
| |
| All drivers compiled with make allyesconfig ion x86_64 have been |
| updated. |
| |
| Tested: make allyesconfig on x86_64 + e1000e/bnx2x work |
| Signed-off-by: David Decotigny <decot@google.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 25db0338813a8915457636b1f6abe6a28fa73f8d |
| Author: David Decotigny <decot@google.com> |
| Date: Wed Apr 27 18:32:39 2011 +0000 |
| |
| ethtool: Use full 32 bit speed range in ethtool's set_settings |
| |
| This makes sure the ethtool's set_settings() callback of network |
| drivers don't ignore the 16 most significant bits when ethtool calls |
| their set_settings(). |
| |
| All drivers compiled with make allyesconfig on x86_64 have been |
| updated. |
| |
| Signed-off-by: David Decotigny <decot@google.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 8333a46ad3877485e4d67ef499c6dda36bfd1f9a |
| Author: Neil Horman <nhorman@tuxdriver.com> |
| Date: Tue Apr 26 10:30:11 2011 +0000 |
| |
| bnx2: cancel timer on device removal |
| |
| This oops was recently reported to me: |
| |
| invalid opcode: 0000 [#1] SMP |
| last sysfs file: |
| /sys/devices/pci0000:00/0000:00:01.0/0000:01:0d.0/0000:02:05.0/device |
| CPU 1 |
| Modules linked in: bnx2(+) sunrpc ipv6 dm_mirror dm_region_hash dm_log sg |
| microcode serio_raw amd64_edac_mod edac_core edac_mce_amd k8temp i2c_piix4 |
| shpchp ext4 mbcache jbd2 sd_mod crc_t10dif mptsas mptscsih mptbase |
| scsi_transport_sas radeon ttm drm_kms_helper drm hwmon i2c_algo_bit i2c_core |
| dm_mod [last unloaded: bnx2] |
| |
| Modules linked in: bnx2(+) sunrpc ipv6 dm_mirror dm_region_hash dm_log sg |
| microcode serio_raw amd64_edac_mod edac_core edac_mce_amd k8temp i2c_piix4 |
| shpchp ext4 mbcache jbd2 sd_mod crc_t10dif mptsas mptscsih mptbase |
| scsi_transport_sas radeon ttm drm_kms_helper drm hwmon i2c_algo_bit i2c_core |
| dm_mod [last unloaded: bnx2] |
| Pid: 23900, comm: pidof Not tainted 2.6.32-130.el6.x86_64 #1 BladeCenter LS21 |
| -[797251Z]- |
| RIP: 0010:[<ffffffffa058b270>] [<ffffffffa058b270>] 0xffffffffa058b270 |
| RSP: 0018:ffff880002083e48 EFLAGS: 00010246 |
| RAX: ffff880002083e90 RBX: ffff88007ccd4000 RCX: 0000000000000000 |
| RDX: 0000000000000100 RSI: dead000000200200 RDI: ffff8800007b8700 |
| RBP: ffff880002083ed0 R08: ffff88000208db40 R09: 0000022d191d27c8 |
| R10: 0000000000000000 R11: 0000000000000000 R12: ffff8800007b9bc8 |
| R13: ffff880002083e90 R14: ffff8800007b8700 R15: ffffffffa058b270 |
| FS: 00007fbb3bcf7700(0000) GS:ffff880002080000(0000) knlGS:0000000000000000 |
| CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 |
| CR2: 0000000001664a98 CR3: 0000000060395000 CR4: 00000000000006e0 |
| DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 |
| DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 |
| Process pidof (pid: 23900, threadinfo ffff8800007e8000, task ffff8800091c0040) |
| Stack: |
| ffffffff81079f77 ffffffff8109e010 ffff88007ccd5c20 ffff88007ccd5820 |
| <0> ffff88007ccd5420 ffff8800007e9fd8 ffff8800007e9fd8 0000010000000000 |
| <0> ffff88007ccd5020 ffff880002083e90 ffff880002083e90 ffffffff8102a00d |
| Call Trace: |
| <IRQ> |
| [<ffffffff81079f77>] ? run_timer_softirq+0x197/0x340 |
| [<ffffffff8109e010>] ? tick_sched_timer+0x0/0xc0 |
| [<ffffffff8102a00d>] ? lapic_next_event+0x1d/0x30 |
| [<ffffffff8106f737>] __do_softirq+0xb7/0x1e0 |
| [<ffffffff81092cc0>] ? hrtimer_interrupt+0x140/0x250 |
| [<ffffffff81185f90>] ? filldir+0x0/0xe0 |
| [<ffffffff8100c2cc>] call_softirq+0x1c/0x30 |
| [<ffffffff8100df05>] do_softirq+0x65/0xa0 |
| [<ffffffff8106f525>] irq_exit+0x85/0x90 |
| [<ffffffff814e3340>] smp_apic_timer_interrupt+0x70/0x9b |
| [<ffffffff8100bc93>] apic_timer_interrupt+0x13/0x20 |
| <EOI> |
| [<ffffffff81211ba5>] ? selinux_file_permission+0x45/0x150 |
| [<ffffffff81262a75>] ? _atomic_dec_and_lock+0x55/0x80 |
| [<ffffffff812050c6>] security_file_permission+0x16/0x20 |
| [<ffffffff811861c1>] vfs_readdir+0x71/0xe0 |
| [<ffffffff81186399>] sys_getdents+0x89/0xf0 |
| [<ffffffff8100b172>] system_call_fastpath+0x16/0x1b |
| |
| It occured during some stress testing, in which the reporter was repeatedly |
| removing and modprobing the bnx2 module while doing various other random |
| operations on the bnx2 registered net device. Noting that this error occured on |
| a serdes based device, we noted that there were a few ethtool operations (most |
| notably self_test and set_phys_id) that have execution paths that lead into |
| bnx2_setup_serdes_phy. This function is notable because it executes a mod_timer |
| call, which starts the bp->timer running. Currently bnx2 is setup to assume |
| that this timer only nees to be stopped when bnx2_close or bnx2_suspend is |
| called. Since the above ethtool operations are not gated on the net device |
| having been opened however, that assumption is incorrect, and can lead to the |
| timer still running after the module has been removed, leading to the oops above |
| (as well as other simmilar oopses). |
| |
| Fix the problem by ensuring that the timer is stopped when pci_device_unregister |
| is called. |
| |
| Signed-off-by: Neil Horman <nhorman@tuxdriver.com> |
| Reported-by: Hushan Jia <hjia@redhat.com> |
| CC: Michael Chan <mchan@broadcom.com> |
| CC: "David S. Miller" <davem@davemloft.net> |
| Acked-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit fce55922f5299a04c0a56b170a141fab34f13465 |
| Author: Allan, Bruce W <bruce.w.allan@intel.com> |
| Date: Wed Apr 13 13:09:10 2011 +0000 |
| |
| ethtool: allow custom interval for physical identification |
| |
| When physical identification of an adapter is done by toggling the |
| mechanism on and off through software utilizing the set_phys_id operation, |
| it is done with a fixed duration for both on and off states. Some drivers |
| may want to set a custom duration for the on/off intervals. This patch |
| changes the API so the return code from the driver's entry point when it |
| is called with ETHTOOL_ID_ACTIVE can specify the frequency at which to |
| cycle the on/off states, and updates the drivers that have already been |
| converted to use the new set_phys_id and use the synchronous method for |
| identifying an adapter. |
| |
| The physical identification frequency set in the updated drivers is based |
| on how it was done prior to the introduction of set_phys_id. |
| |
| Compile tested only. Also fixes a compiler warning in sfc. |
| |
| v2: drivers do not return -EINVAL for ETHOOL_ID_ACTIVE |
| v3: fold patchset into single patch and cleanup per Ben's feedback |
| |
| Signed-off-by: Bruce Allan <bruce.w.allan@intel.com> |
| Cc: Ben Hutchings <bhutchings@solarflare.com> |
| Cc: Sathya Perla <sathya.perla@emulex.com> |
| Cc: Subbu Seetharaman <subbu.seetharaman@emulex.com> |
| Cc: Ajit Khaparde <ajit.khaparde@emulex.com> |
| Cc: Michael Chan <mchan@broadcom.com> |
| Cc: Eilon Greenstein <eilong@broadcom.com> |
| Cc: Divy Le Ray <divy@chelsio.com> |
| Cc: Don Fry <pcnet32@frontier.com> |
| Cc: Jon Mason <jdmason@kudzu.us> |
| Cc: Solarflare linux maintainers <linux-net-drivers@solarflare.com> |
| Cc: Steve Hodgson <shodgson@solarflare.com> |
| Cc: Stephen Hemminger <shemminger@linux-foundation.org> |
| Cc: Matt Carlson <mcarlson@broadcom.com> |
| Acked-by: Jon Mason <jdmason@kudzu.us> |
| Acked-by: Ben Hutchings <bhutchings@solarflare.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 8d7dfc2b57bb2cad0731dedd58ec1d70bcca1ccf |
| Author: Michał Mirosław <mirq-linux@rere.qmqm.pl> |
| Date: Sun Apr 10 04:47:46 2011 +0000 |
| |
| net: bnx2: convert to hw_features |
| |
| Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 2e17e1aa80e914acd8a31a41b9bf1173186a976a |
| Author: stephen hemminger <shemminger@vyatta.com> |
| Date: Mon Apr 4 11:06:36 2011 +0000 |
| |
| bnx2: convert to set_phys_id |
| |
| In this case, need to add element to device private to hold |
| original led state. |
| |
| Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit bc8d7da3f19191f86dcc8274cf1a3f2d6aeb0aaa |
| Author: Balaji G <balajig81@gmail.com> |
| Date: Sun Mar 27 17:15:19 2011 +0000 |
| |
| drivers net: Fix declaration ordering in inline functions. |
| |
| The correct usage should be "static inline void" instead of "static void inline" |
| |
| Signed-off-by: G.Balaji <balajig81@gmail.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit dc187cb381f1bceb30498861ece510245c43ed9f |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Mar 14 15:00:12 2011 -0700 |
| |
| bnx2: Update firmware and version |
| |
| Update 5709 mips firmware to 6.2.1a to fix iSCSI performance |
| regression. There was an unnecessary context read in the fast path |
| affecting performance. |
| |
| Update bnx2 to 2.1.6. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 2ba451421b23636c45fabfa522858c5c124b3673 |
| Author: Vladislav Zolotarov <vladz@broadcom.com> |
| Date: Mon Jan 31 14:39:17 2011 +0000 |
| |
| bnx2x, cnic: Consolidate iSCSI/FCoE shared mem logic in bnx2x |
| |
| Move all shared mem code to bnx2x to avoid code duplication. bnx2x now |
| performs: |
| |
| - Read the FCoE and iSCSI max connection information. |
| - Read the iSCSI and FCoE MACs from NPAR configuration in shmem. |
| - Block the CNIC for the current function if there is neither FCoE nor |
| iSCSI valid configuration by returning NULL from bnx2x_cnic_probe(). |
| |
| Signed-off-by: Vladislav Zolotarov <vladz@broadcom.com> |
| Signed-off-by: Eilon Greenstein <eilong@broadcom.com> |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 13707f9e5e46342b7b16c58be91ad93a476c3ffd |
| Author: Eric Dumazet <eric.dumazet@gmail.com> |
| Date: Wed Jan 26 19:28:23 2011 +0000 |
| |
| drivers/net: remove some rcu sparse warnings |
| |
| Add missing __rcu annotations and helpers. |
| minor : Fix some rcu_dereference() calls in macvtap |
| |
| Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> |
| Acked-by: Arnd Bergmann <arnd@arndb.de> |
| Acked-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 1397e171f143878dd16ad5f8c99f7b9440cc8911 |
| Merge: 144001b 8f2771f |
| Author: David S. Miller <davem@davemloft.net> |
| Date: Thu Jan 27 14:59:08 2011 -0800 |
| |
| Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 |
| |
| commit 4bb9ebc78097376b3734c6d3001a96aecac0f7bb |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Tue Jan 25 22:14:51 2011 +0000 |
| |
| bnx2: Eliminate AER error messages on systems not supporting it |
| |
| On PPC for example, AER is not supported and we see unnecessary AER |
| error message without this patch: |
| |
| bnx2 0003:01:00.1: pci_cleanup_aer_uncorrect_error_status failed 0xfffffffb |
| |
| Reported-by: Breno Leitao <leitao@linux.vnet.ibm.com> |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit b4e69ac670d71b5748dc81e536b2cb103489badd |
| Merge: 144ce87 7cc2edb |
| Author: David S. Miller <davem@davemloft.net> |
| Date: Wed Jan 26 13:49:30 2011 -0800 |
| |
| Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 |
| |
| commit 7c8104774e59549c37dd1cb0a8ec4f131094664c |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Jan 24 12:59:02 2011 +0000 |
| |
| bnx2: Always set ETH_FLAG_TXVLAN |
| |
| TSO does not work if the VLAN tag is in the packet (non-accelerated). |
| We may be able to remove this restriction in future firmware. |
| |
| Reported-by: Eric Dumazet <eric.dumazet@gmail.com> |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 04ed3e741d0f133e02bed7fa5c98edba128f90e7 |
| Author: Michał Mirosław <mirq-linux@rere.qmqm.pl> |
| Date: Mon Jan 24 15:32:47 2011 -0800 |
| |
| net: change netdev->features to u32 |
| |
| Quoting Ben Hutchings: we presumably won't be defining features that |
| can only be enabled on 64-bit architectures. |
| |
| Occurences found by `grep -r` on net/, drivers/net, include/ |
| |
| [ Move features and vlan_features next to each other in |
| struct netdev, as per Eric Dumazet's suggestion -DaveM ] |
| |
| Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 0268102d53c872b42e214f95492065c8058b042e |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Fri Dec 31 11:04:02 2010 -0800 |
| |
| bnx2: Update firmware and version |
| |
| Update MIPS firmware to 6.2.1, with improved small packet performance |
| in RSS mode, and iSCSI CID allocation bug fix on 5708. |
| |
| Update driver version to 2.0.21. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit a29ba9d2d84889686a3af1c5a6023f28be75ccba |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Fri Dec 31 11:03:14 2010 -0800 |
| |
| bnx2: Free IRQ before freeing status block memory |
| |
| When changing ring size, we free all memory including status block |
| memory. If we're in INTA mode and sharing IRQ, the IRQ handler can |
| be called and it will reference the NULL status block pointer. |
| |
| Because of the lockless design of the IRQ handler, there is no simple |
| way to synchronize and prevent this. So we avoid this problem by |
| freeing the IRQ handler before freeing the status block memory. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit cb8f404893bab40431f7eeb2511454031b07e7df |
| Author: Tejun Heo <tj@kernel.org> |
| Date: Tue Dec 14 06:09:59 2010 +0000 |
| |
| bnx2: remove cancel_work_sync() from remove_one |
| |
| Michael pointed out that bnx2_close() already cancels bp->reset_task |
| and thus it is guaranteed to be idle when bnx2_remove_one() is called. |
| Remove the unnecessary cancel_work_sync() in remove_one. |
| |
| Signed-off-by: Tejun Heo <tj@kernel.org> |
| Acked-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit b6bc765067ece933cc3dc7f5e95665a89100b1d5 |
| Author: Joe Perches <joe@perches.com> |
| Date: Tue Dec 21 02:16:08 2010 -0800 |
| |
| drivers/net/*.c: Use static const |
| |
| Using static const generally increases object text and decreases data size. |
| It also generally decreases overall object size. |
| |
| Signed-off-by: Joe Perches <joe@perches.com> |
| |
| commit 23f333a2bfafba80339315b724808982a9de57d9 |
| Author: Tejun Heo <tj@kernel.org> |
| Date: Sun Dec 12 16:45:14 2010 +0100 |
| |
| drivers/net: don't use flush_scheduled_work() |
| |
| flush_scheduled_work() is on its way out. This patch contains simple |
| conversions to replace flush_scheduled_work() usage with direct |
| cancels and flushes. |
| |
| Directly cancel the used works on driver detach and flush them in |
| other cases. |
| |
| The conversions are mostly straight forward and the only dangers are, |
| |
| * Forgetting to cancel/flush one or more used works. |
| |
| * Cancelling when a work should be flushed (ie. the work must be |
| executed once scheduled whether the driver is detaching or not). |
| |
| I've gone over the changes multiple times but it would be much |
| appreciated if you can review with the above points in mind. |
| |
| Signed-off-by: Tejun Heo <tj@kernel.org> |
| Cc: "David S. Miller" <davem@davemloft.net> |
| Cc: Jay Cliburn <jcliburn@gmail.com> |
| Cc: Michael Chan <mchan@broadcom.com> |
| Cc: Divy Le Ray <divy@chelsio.com> |
| Cc: e1000-devel@lists.sourceforge.net |
| Cc: Vasanthy Kolluri <vkolluri@cisco.com> |
| Cc: Samuel Ortiz <samuel@sortiz.org> |
| Cc: Lennert Buytenhek <buytenh@wantstofly.org> |
| Cc: Andrew Gallatin <gallatin@myri.com> |
| Cc: Francois Romieu <romieu@fr.zoreil.com> |
| Cc: Ramkrishna Vepa <ramkrishna.vepa@exar.com> |
| Cc: Matt Carlson <mcarlson@broadcom.com> |
| Cc: David Brownell <dbrownell@users.sourceforge.net> |
| Cc: Shreyas Bhatewara <sbhatewara@vmware.com> |
| Cc: netdev@vger.kernel.org |
| |
| commit be7ff1afec25f2700ca85e3956a2cb3a7b74acd5 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Wed Nov 24 13:48:55 2010 +0000 |
| |
| bnx2: Remove config access to non-standard registers |
| |
| In KVM passthrough mode, the driver may not have config access to |
| non-standard registers. The BNX2_PCICFG_MISC_CONFIG config register |
| access to setup mailbox swapping can be done using MMIO. |
| |
| Update version to 2.0.20. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit a5dac108d57072eec4d6745f32c162524509f2cb |
| Author: Eddie Wai <waie@broadcom.com> |
| Date: Wed Nov 24 13:48:54 2010 +0000 |
| |
| bnx2: Fix reset bug on 5709 |
| |
| The 5709 chip requires the BNX2_MISC_NEW_CORE_CTL_DMA_ENABLE bit to be |
| cleared and polling for pending DMAs to complete before chip reset. |
| Without this step, we've seen NMIs during repeated resets of the chip. |
| |
| Signed-off-by: Eddie Wai <waie@broadcom.com> |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 89bf67f1f080c947c92f8773482d9e57767ca292 |
| Author: Eric Dumazet <eric.dumazet@gmail.com> |
| Date: Mon Nov 22 00:15:06 2010 +0000 |
| |
| drivers/net: use vzalloc() |
| |
| Use vzalloc() and vzalloc_node() in net drivers |
| |
| Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> |
| Acked-by: Jon Mason <jon.mason@exar.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit ec37a48d1d16c30b655ac5280209edf52a6775d4 |
| Author: Jesse Gross <jesse@nicira.com> |
| Date: Thu Oct 21 11:30:43 2010 +0000 |
| |
| bnx2/bnx2x: Unsupported Ethtool operations should return -EINVAL. |
| |
| Some cards don't support changing vlan offloading settings. Make |
| Ethtool set_flags return -EINVAL in those cases. |
| |
| Reported-by: Ben Hutchings <bhutchings@solarflare.com> |
| Signed-off-by: Jesse Gross <jesse@nicira.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 7d0fd2117e3d0550d7987b3aff2bfbc0244cf7c6 |
| Author: Jesse Gross <jesse@nicira.com> |
| Date: Wed Oct 20 13:56:09 2010 +0000 |
| |
| bnx2: Update bnx2 to use new vlan accleration. |
| |
| Make the bnx2 driver use the new vlan accleration model. |
| |
| Signed-off-by: Jesse Gross <jesse@nicira.com> |
| CC: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit eab6d18d20fc5b5ba04a7e7fcd6f357197870e51 |
| Author: Jesse Gross <jesse@nicira.com> |
| Date: Wed Oct 20 13:56:03 2010 +0000 |
| |
| vlan: Don't check for vlan group before vlan_tx_tag_present. |
| |
| Many (but not all) drivers check to see whether there is a vlan |
| group configured before using a tag stored in the skb. There's |
| not much point in this check since it just throws away data that |
| should only be present in the expected circumstances. However, |
| it will soon be legal and expected to get a vlan tag when no |
| vlan group is configured, so remove this check from all drivers |
| to avoid dropping the tags. |
| |
| Signed-off-by: Jesse Gross <jesse@nicira.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit c239f279e571a272c1b32a1e84b8fa037b68f49c |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Oct 11 16:12:28 2010 -0700 |
| |
| bnx2: Enable AER on PCIE devices only |
| |
| To prevent unnecessary error message. pci_save_state() is also moved to |
| the end of ->probe() so that all PCI config, including AER state, will be |
| saved. |
| |
| Update version to 2.0.18. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Reviewed-by: Benjamin Li <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 22fa159d37efbfe781bbb99279efe83f58b87d29 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Oct 11 16:12:00 2010 -0700 |
| |
| bnx2: Update firmware to 6.0.x. |
| |
| - Improved flow control and simplified interface |
| - Use hardware RSS indirection table instead of the slower firmware- |
| based table |
| - Lower latency interrupt on 5709 |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Reviewed-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 657d92fe6d693b9674264bc7546e664714955425 |
| Author: Ben Hutchings <bhutchings@solarflare.com> |
| Date: Mon Sep 27 08:25:16 2010 +0000 |
| |
| bnx2: Use netif_set_real_num_{rx,tx}_queues() |
| |
| Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 807540baae406c84dcb9c1c8ef07a56d2d2ae84a |
| Author: Eric Dumazet <eric.dumazet@gmail.com> |
| Date: Thu Sep 23 05:40:09 2010 +0000 |
| |
| drivers/net: return operator cleanup |
| |
| Change "return (EXPR);" to "return EXPR;" |
| |
| return is not a function, parentheses are not required. |
| |
| Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit bc8acf2c8c3e43fcc192762a9f964b3e9a17748b |
| Author: Eric Dumazet <eric.dumazet@gmail.com> |
| Date: Thu Sep 2 13:07:41 2010 -0700 |
| |
| drivers/net: avoid some skb->ip_summed initializations |
| |
| fresh skbs have ip_summed set to CHECKSUM_NONE (0) |
| |
| We can avoid setting again skb->ip_summed to CHECKSUM_NONE in drivers. |
| |
| Introduce skb_checksum_none_assert() helper so that we keep this |
| assertion documented in driver sources. |
| |
| Change most occurrences of : |
| |
| skb->ip_summed = CHECKSUM_NONE; |
| |
| by : |
| |
| skb_checksum_none_assert(skb); |
| |
| Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit cd709aa90648195e5b5823fa90eb0b3fb0e78ee4 |
| Author: John Feeney <jfeeney@redhat.com> |
| Date: Sun Aug 22 17:45:53 2010 +0000 |
| |
| bnx2: Add PCI Advanced Error Reporting support. |
| |
| Signed-off-by: John Feeney <jfeeney@redhat.com> |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 5ae482e01d60bd4e8fc181f78355047e52999ce8 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Jul 19 14:15:05 2010 +0000 |
| |
| bnx2: Update version to 2.0.17. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 11848b964777af9c68d9160582628c2eb11f46d5 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Jul 19 14:15:04 2010 +0000 |
| |
| bnx2: Remove some unnecessary smp_mb() in tx fast path. |
| |
| smp_mb() inside bnx2_tx_avail() is used twice in the normal |
| bnx2_start_xmit() path (see illustration below). The full memory |
| barrier is only necessary during race conditions with tx completion. |
| We can speed up the tx path by replacing smp_mb() in bnx2_tx_avail() |
| with a compiler barrier. The compiler barrier is to force the |
| compiler to fetch the tx_prod and tx_cons from memory. |
| |
| In the race condition between bnx2_start_xmit() and bnx2_tx_int(), |
| we have the following situation: |
| |
| bnx2_start_xmit() bnx2_tx_int() |
| if (!bnx2_tx_avail()) |
| BUG(); |
| |
| ... |
| |
| if (!bnx2_tx_avail()) |
| netif_tx_stop_queue(); update_tx_index(); |
| smp_mb(); smp_mb(); |
| if (bnx2_tx_avail()) if (netif_tx_queue_stopped() && |
| netif_tx_wake_queue(); bnx2_tx_avail()) |
| |
| With smp_mb() removed from bnx2_tx_avail(), we need to add smp_mb() to |
| bnx2_start_xmit() as shown above to properly order netif_tx_stop_queue() |
| and bnx2_tx_avail() to check the ring index. If it is not strictly |
| ordered, the tx queue can be stopped forever. |
| |
| This improves performance by about 5% with 2 ports running bi-directional |
| 64-byte packets. |
| |
| Reviewed-by: Benjamin Li <benli@broadcom.com> |
| Reviewed-by: Matt Carlson <mcarlson@broadcom.com> |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 379b39a2ad613745bfbfe80256957d19689b7b94 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Jul 19 14:15:03 2010 +0000 |
| |
| bnx2: Call pci_enable_msix() with actual number of vectors. |
| |
| Based on original patch by Breno Leitão <leitao@linux.vnet.ibm.com>. |
| |
| Allocate the actual number of vectors and make use of fewer vectors |
| if pci_enable_msix() returns > 0. We must allocate one additional |
| vector for the cnic driver. |
| |
| Cc: Breno Leitão <leitao@linux.vnet.ibm.com> |
| Reviewed-by: Benjamin Li <benli@broadcom.com> |
| Reviewed-by: Matt Carlson <mcarlson@broadcom.com> |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 6fdae995557f0ad16320951593d6f8f48f57c14a |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Jul 19 14:15:02 2010 +0000 |
| |
| bnx2: Use proper counter for net_device_stats->multicast. |
| |
| We were using the wrong tx multicast counter instead of the rx multicast |
| counter. |
| |
| Reported-by: Peter Snellman <peter.snellman@cinnober.com> |
| Reviewed-by: Benjamin Li <benli@broadcom.com> |
| Reviewed-by: Matt Carlson <mcarlson@broadcom.com> |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 36227e88c2563de73f748aa7d85fffd7afffc1fb |
| Author: Stanislaw Gruszka <sgruszka@redhat.com> |
| Date: Thu Jul 15 04:25:50 2010 +0000 |
| |
| bnx2: use device model DMA API |
| |
| Use DMA API as PCI equivalents will be deprecated. This change also allow |
| to allocate with GFP_KERNEL in some places. |
| |
| Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com> |
| Acked-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit a2df00aa33f741096e977456573ebb08eece0b6f |
| Author: Stanislaw Gruszka <sgruszka@redhat.com> |
| Date: Thu Jul 15 22:55:40 2010 +0000 |
| |
| bnx2: allocate with GFP_KERNEL flag on RX path init |
| |
| Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com> |
| Acked-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 5d07bf264746b7c22d7104e0e2232eeea3d32296 |
| Author: Eric Dumazet <eric.dumazet@gmail.com> |
| Date: Thu Jul 8 04:08:43 2010 +0000 |
| |
| bnx2: 64 bit stats on all arches |
| |
| Now core network is able to handle 64 bit netdevice stats on 32 bit |
| arches, we can provide them for bnx2, since hardware maintains some 64 |
| bit counters. |
| |
| Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> |
| Acked-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit e5a0c1fd155ca0e98ff8995c2e79b654759cb544 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Sat Jul 3 20:42:18 2010 +0000 |
| |
| bnx2: Update version to 2.0.16. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 5804a8fbb8f53759a6c806c2a8da1b47b82f12bc |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Sat Jul 3 20:42:17 2010 +0000 |
| |
| bnx2: Dump some config space registers during TX timeout. |
| |
| These config register values will be useful when the memory registers |
| are returning 0xffffffff which has been reported. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit fdc8541d693a04ba3d6c335dace19b8362ac4e83 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Sat Jul 3 20:42:16 2010 +0000 |
| |
| bnx2: Add support for skb->rxhash. |
| |
| Add skb->rxhash support for TCP packets only because the bnx2 RSS hash |
| does not hash UDP ports. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 3d5f3a7bbd06065b06c7f65f948437ded40255ec |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Sat Jul 3 20:42:15 2010 +0000 |
| |
| bnx2: Always enable MSI-X on 5709. |
| |
| Minor change to use MSI-X even if there is only one CPU. This allows |
| the CNIC driver to always have a dedicated MSI-X vector to handle |
| iSCSI events, instead of sharing the MSI vector. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 8244132ea89cdd128003f5b9980fab50d8d36d72 |
| Merge: 7b2ff18 38000a9 |
| Author: David S. Miller <davem@davemloft.net> |
| Date: Wed Jun 23 18:26:27 2010 -0700 |
| |
| Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 |
| |
| Conflicts: |
| net/ipv4/ip_output.c |
| |
| commit aabef8b240880439b91574c9a9e33dcc44bfd8c7 |
| Author: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> |
| Date: Thu Jun 17 08:56:05 2010 -0700 |
| |
| bnx2: fix dma_get_ops compilation breakage |
| |
| This removes dma_get_ops() prefetch optimization in bnx2. |
| |
| bnx2 uses dma_get_ops() to see if dma_sync_single_for_cpu() is |
| noop. bnx2 does prefetch if it's noop. |
| |
| But dma_get_ops() isn't available on all the architectures (only the |
| architectures that uses dma_map_ops struct have it). Using |
| dma_get_ops() in drivers leads to compilation breakage on many |
| architectures. |
| |
| This patch removes dma_get_ops() and changes bnx2 to do prefetch on |
| all the architectures. This adds useless prefetch on non-coherent |
| architectures but this is harmless. It is also unlikely to cause the |
| performance drop. |
| |
| [ Remove now unused local variable 'pdev' -DaveM ] |
| |
| Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> |
| Acked-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit cbd6890c5987cd7115147e1dd2c10d729afabb08 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Tue Jun 8 07:21:30 2010 +0000 |
| |
| bnx2: Fix compiler warning in bnx2_disable_forced_2g5(). |
| |
| drivers/net/bnx2.c: In function 'bnx2_disable_forced_2g5': |
| drivers/net/bnx2.c:1489: warning: 'bmcr' may be used uninitialized in this function |
| |
| We fix it by checking return values from all bnx2_read_phy() and proceeding |
| to do read-modify-write only if the read operation is successful. |
| |
| The related bnx2_enable_forced_2g5() is also fixed the same way. |
| |
| Reported-by: Prarit Bhargava <prarit@redhat.com> |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit f048fa9c8686119c3858a463cab6121dced7c0bf |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Tue Jun 1 15:05:36 2010 +0000 |
| |
| bnx2: Fix hang during rmmod bnx2. |
| |
| The regression is caused by: |
| |
| commit 4327ba435a56ada13eedf3eb332e583c7a0586a9 |
| bnx2: Fix netpoll crash. |
| |
| If ->open() and ->close() are called multiple times, the same napi structs |
| will be added to dev->napi_list multiple times, corrupting the dev->napi_list. |
| This causes free_netdev() to hang during rmmod. |
| |
| We fix this by calling netif_napi_del() during ->close(). |
| |
| Also, bnx2_init_napi() must not be in the __devinit section since it is |
| called by ->open(). |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit a0ba676008d9f050f1de9ede8d1ee4bf6820bfc9 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon May 17 17:34:43 2010 -0700 |
| |
| bnx2: Use netif_carrier_off() to prevent timeout. |
| |
| Based on original patch from Stanislaw Gruszka <sgruszka@redhat.com>. |
| |
| Using netif_carrier_off() is better than updating all the ->trans_start |
| on all the tx queues. |
| |
| netif_carrier_off() needs to be called after bnx2_disable_int_sync() |
| to guarantee no race conditions with the serdes timers that can |
| modify the carrier state. |
| |
| If the chip or phy is reset, carrier will turn back on when we get the |
| link interrupt. If there is no reset, we need to turn carrier back on |
| in bnx2_netif_start(). Again, the phy_lock prevents race conditions with |
| the serdes timers. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: Matt Carlson <mcarlson@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit a931d294042b5bbd8e390c59741b968c11856ac1 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon May 17 17:33:31 2010 -0700 |
| |
| bnx2: Update 5709 MIPS firmware and version to 2.0.15. |
| |
| New firmware fixes a performance regression on small packets. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit b98eba52784fbd4a96241c5395c2c8d99fdb9433 |
| Author: Eddie Wai <waie@broadcom.com> |
| Date: Mon May 17 17:32:56 2010 -0700 |
| |
| bnx2: Fix register printouts during NETEV_WATCHDOG. |
| |
| Dump the correct MCP registers and add EMAC_RX_STATUS register during |
| NETDEV_WATCHDOG for debugging. |
| |
| Signed-off-by: Eddie Wai <waie@broadcom.com> |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit a33fa66bcf365ffe5b79d1ae1d3582cc261ae56e |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu May 6 08:58:13 2010 +0000 |
| |
| bnx2: Add prefetches to rx path. |
| |
| Add prefetches of the skb and the next rx descriptor to speed up rx path. |
| |
| Use prefetchw() for the skb [suggested by Eric Dumazet]. |
| |
| The rx descriptor is in skb->data which is mapped for streaming mode DMA. |
| Eric Dumazet pointed out that we should not prefetch the data before |
| dma_sync. So we prefetch only if dma_sync is no_op on the system. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit c67938a9e071fa51c91ed17a14382e128368d115 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu May 6 08:58:12 2010 +0000 |
| |
| bnx2: Add GRO support. |
| |
| And turn on NETIF_F_GRO by default [requested by DaveM]. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 7ef527377b88ff05fb122a47619ea506c631c914 |
| Merge: 47d2964 1183f38 |
| Author: David S. Miller <davem@davemloft.net> |
| Date: Sun May 2 21:43:40 2010 -0700 |
| |
| Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 |
| |
| commit 587611d6e4d5c0fb5e9492cb06d9054744d69536 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Tue Apr 27 11:28:11 2010 +0000 |
| |
| bnx2: Update version to 2.0.9. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 212f9934afccf9c97399216b694a7f452526d6da |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Tue Apr 27 11:28:10 2010 +0000 |
| |
| bnx2: Prevent "scheduling while atomic" warning with cnic, bonding and vlan. |
| |
| The bonding driver calls ndo_vlan_rx_register() while holding bond->lock. |
| The bnx2 driver calls bnx2_netif_stop() to stop the rx handling while |
| changing the vlgrp. The call also stops the cnic driver which sleeps |
| while the bond->lock is held and cause the warning. |
| |
| This code path only needs to stop the NAPI rx handling while we are |
| changing the vlgrp. Since no reset is going to occur, there is no need |
| to stop cnic in this case. By adding a parameter to bnx2_netif_stop() |
| to skip stopping cnic, we can avoid the warning. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit c441b8d2cb2194b05550a558d6d95d8944e56a84 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Tue Apr 27 11:28:09 2010 +0000 |
| |
| bnx2: Fix lost MSI-X problem on 5709 NICs. |
| |
| It has been reported that under certain heavy traffic conditions in MSI-X |
| mode, the driver can lose an MSI-X vector causing all packets in the |
| associated rx/tx ring pair to be dropped. The problem is caused by |
| the chip dropping the write to unmask the MSI-X vector by the kernel |
| (when migrating the IRQ for example). |
| |
| This can be prevented by increasing the GRC timeout value for these |
| register read and write operations. |
| |
| Thanks to Dell for helping us debug this problem. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 1a4ccc2d460f252853dfa2fb38b4ea881916713d |
| Author: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> |
| Date: Thu Apr 1 16:56:57 2010 +0000 |
| |
| bnx2: use the dma state API instead of the pci equivalents |
| |
| The DMA API is preferred. |
| |
| Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 4a35ecf8bf1c4b039503fa554100fe85c761de76 |
| Merge: b4d562e fb9e2d8 |
| Author: David S. Miller <davem@davemloft.net> |
| Date: Tue Apr 6 23:53:30 2010 -0700 |
| |
| Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 |
| |
| Conflicts: |
| drivers/net/bonding/bond_main.c |
| drivers/net/via-velocity.c |
| drivers/net/wireless/iwlwifi/iwl-agn.c |
| |
| commit 22bedad3ce112d5ca1eaf043d4990fa2ed698c87 |
| Author: Jiri Pirko <jpirko@redhat.com> |
| Date: Thu Apr 1 21:22:57 2010 +0000 |
| |
| net: convert multicast list to list_head |
| |
| Converts the list and the core manipulating with it to be the same as uc_list. |
| |
| +uses two functions for adding/removing mc address (normal and "global" |
| variant) instead of a function parameter. |
| +removes dev_mcast.c completely. |
| +exposes netdev_hw_addr_list_* macros along with __hw_addr_* functions for |
| manipulation with lists on a sandbox (used in bonding and 80211 drivers) |
| |
| Signed-off-by: Jiri Pirko <jpirko@redhat.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 1bf1e347ef254ed8a13e7971a30e1bf3983da3d1 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Tue Mar 23 13:13:12 2010 +0000 |
| |
| bnx2: Use proper handler during netpoll. |
| |
| Netpoll needs to call the proper handler depending on the IRQ mode |
| and the vector. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 4327ba435a56ada13eedf3eb332e583c7a0586a9 |
| Author: Benjamin Li <benli@broadcom.com> |
| Date: Tue Mar 23 13:13:11 2010 +0000 |
| |
| bnx2: Fix netpoll crash. |
| |
| The bnx2 driver calls netif_napi_add() for all the NAPI structs during |
| ->probe() time but not all of them will be used if we're not in MSI-X |
| mode. This creates a problem for netpoll since it will poll all the |
| NAPI structs in the dev_list whether or not they are scheduled, resulting |
| in a crash when we access structure fields not initialized for that vector. |
| |
| We fix it by moving the netif_napi_add() call to ->open() after the number |
| of IRQ vectors has been determined. |
| |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit df25bc38b5531aa79a20e34549ea9fedf5f3ae36 |
| Author: Matt Carlson <mcarlson@broadcom.com> |
| Date: Fri Feb 26 14:04:44 2010 +0000 |
| |
| bnx2: Remove now useless VPD code |
| |
| Now that the VPD searching code is abstracted away, the outer loop used |
| to detect the read-only large resource data type section is useless. |
| |
| Signed-off-by: Matt Carlson <mcarlson@broadcom.com> |
| Acked-by: Jesse Barnes <jbarnes@virtuousgeek.org> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 4067a8541d397e9d6b443dd2ce0ecb78bfd991db |
| Author: Matt Carlson <mcarlson@broadcom.com> |
| Date: Fri Feb 26 14:04:43 2010 +0000 |
| |
| pci: Add helper to search for VPD keywords |
| |
| This patch adds the pci_vpd_find_info_keyword() helper function to |
| find information field keywords within read-only and read-write large |
| resource data type sections. |
| |
| Signed-off-by: Matt Carlson <mcarlson@broadcom.com> |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Acked-by: Jesse Barnes <jbarnes@virtuousgeek.org> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit e1d5bdabb94da89bdb3c3f2ee105cf61fca88ec8 |
| Author: Matt Carlson <mcarlson@broadcom.com> |
| Date: Fri Feb 26 14:04:42 2010 +0000 |
| |
| pci: Add VPD information field helper functions |
| |
| This patch adds a preprocessor constant to describe the PCI VPD |
| information field header size and an inline function to extract the |
| size of the information field itself. |
| |
| Signed-off-by: Matt Carlson <mcarlson@broadcom.com> |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Acked-by: Jesse Barnes <jbarnes@virtuousgeek.org> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit b55ac1b22690d2e5b02a61cf6d69c2d66969c79d |
| Author: Matt Carlson <mcarlson@broadcom.com> |
| Date: Fri Feb 26 14:04:41 2010 +0000 |
| |
| pci: Add helper to find a VPD resource data type |
| |
| This patch adds the pci_vpd_find_tag() helper function to find VPD |
| resource data types in a buffer. |
| |
| Signed-off-by: Matt Carlson <mcarlson@broadcom.com> |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Acked-by: Jesse Barnes <jbarnes@virtuousgeek.org> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 7ad506fa1adc2da3d394c562f09b8e1b3026c402 |
| Author: Matt Carlson <mcarlson@broadcom.com> |
| Date: Fri Feb 26 14:04:40 2010 +0000 |
| |
| pci: Add large and small resource data type code |
| |
| This patch introduces more VPD preprocessor definitions to identify some |
| small and large resource data type item names. The patch then continues |
| to correct how the tg3 and bnx2 drivers search for the "read-only data" |
| large resource data type. |
| |
| Signed-off-by: Matt Carlson <mcarlson@broadcom.com> |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Acked-by: Jesse Barnes <jbarnes@virtuousgeek.org> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit a2ce766238f72ff7337606c0bc96803c30c9e05c |
| Author: Matt Carlson <mcarlson@broadcom.com> |
| Date: Fri Feb 26 14:04:39 2010 +0000 |
| |
| pci: Add PCI LRDT tag size and section size |
| |
| This patch adds a preprocessor constant to describe the PCI VPD large |
| resource data type tag size and an inline function to extract the large |
| resource section size from the large resource data type tag. |
| |
| Signed-off-by: Matt Carlson <mcarlson@broadcom.com> |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Acked-by: Jesse Barnes <jbarnes@virtuousgeek.org> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 0ddf477b8a9b02412a6cabd51c486998811c7dd1 |
| Author: Jiri Pirko <jpirko@redhat.com> |
| Date: Sat Feb 20 00:13:58 2010 +0000 |
| |
| net: convert multiple drivers to use netdev_for_each_mc_addr, part3 |
| |
| Signed-off-by: Jiri Pirko <jpirko@redhat.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 3a9c6a4915e584663aebdb9016bcb9d3897dd779 |
| Author: Joe Perches <joe@perches.com> |
| Date: Wed Feb 17 15:01:51 2010 +0000 |
| |
| drivers/net/bnx2.c: Use (pr|netdev|netif)_<level> macro helpers |
| |
| Add #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt |
| Remove #define PFX |
| Use pr_<level> |
| Use netdev_<level> |
| Use netif_<level> |
| Remove periods from formats |
| Coalesce long formats |
| Coalesce some printks |
| |
| Signed-off-by: Joe Perches <joe@perches.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit bec92044b73085ba92aabf973cb5aafc251f3a34 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Tue Feb 16 15:19:42 2010 -0800 |
| |
| bnx2: Update firmwares and update version to 2.0.8. |
| |
| - Increase FTQ depth to 256 to ehnabce performance. |
| - Fix RV2P context corruption on 5709 when flow control is enabled. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit c9885fe5a76dea798543f2938a872bc159e8e69a |
| Author: Patrick Rabau <pr2345@gmail.com> |
| Date: Mon Feb 15 19:42:11 2010 +0000 |
| |
| bnx2: Fix bug when saving statistics. |
| |
| This fixes the problem of dropping the carry when adding 2 32-bit values. |
| Switch to use array indexing for better readability. |
| |
| Reported by and fix provided by Patrick Rabau. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit beb499afe3c9c006bb2d66ceaff0f354d0405ff4 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Feb 15 19:42:10 2010 +0000 |
| |
| bnx2: Allow user-specified multiple advertisement speed values. |
| |
| Remove unnecessary code that works around older versions of ethtool |
| that can pass down invalid advertisement speed values. This old |
| code prevents the user from specifying multiple advertisement values. |
| The new code uses simple masking to mask out invalid advertisment bits. |
| |
| Reported-by: Vlad Yasevich <vladislav.yasevich@hp.com> |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 5726026bfffa13e9b1098d7bc177618cbbaa9388 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Feb 15 19:42:09 2010 +0000 |
| |
| bnx2: Adjust flow control water marks. |
| |
| The current water marks are too high and can cause unnecessary flow |
| control frames. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit e9f26c49ce790de0064474f97d6402ce1fefac2a |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Feb 15 19:42:08 2010 +0000 |
| |
| bnx2: Need to call cnic_setup_cnic_irq_info() after MTU change. |
| |
| New status blocks are allocated during MTU change so we need to |
| update this information for the cnic driver. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit efde73a35c2fc88db26a1583b19e0ab0fdfcd4f8 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Feb 15 19:42:07 2010 +0000 |
| |
| bnx2: Check BNX2_FLAG_USING_MSIX flag when setting up MSIX. |
| |
| Checking the flag is more correct than checking bp->irq_nvecs. By |
| accident it is not a problem because we always have more than 1 |
| vectors when using MSIX mode. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 4cd24eaf0c6ee7f0242e34ee77ec899f255e66b5 |
| Author: Jiri Pirko <jpirko@redhat.com> |
| Date: Mon Feb 8 04:30:35 2010 +0000 |
| |
| net: use netdev_mc_count and netdev_mc_empty when appropriate |
| |
| This patch replaces dev->mc_count in all drivers (hopefully I didn't miss |
| anything). Used spatch and did small tweaks and conding style changes when |
| it was suitable. |
| |
| Jirka |
| |
| Signed-off-by: Jiri Pirko <jpirko@redhat.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 257ddbdad13cd3c4f7d03b85af632c508aa8abc9 |
| Author: Alexey Dobriyan <adobriyan@gmail.com> |
| Date: Wed Jan 27 10:17:41 2010 +0000 |
| |
| netdev: remove HAVE_ leftovers |
| |
| Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 32e7bfc41110bc8f29ec0f293c3bcee6645fef34 |
| Author: Jiri Pirko <jpirko@redhat.com> |
| Date: Mon Jan 25 13:36:10 2010 -0800 |
| |
| net: use helpers to access uc list V2 |
| |
| This patch introduces three macros to work with uc list from net drivers. |
| |
| Signed-off-by: Jiri Pirko <jpirko@redhat.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 354fcd7774a00809ebefdba75e747364cb22a940 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Sun Jan 17 07:30:44 2010 +0000 |
| |
| bnx2: Save statistics during reset. |
| |
| MTU changes, ring size changes, etc cause the chip to be reset and the |
| statisctics flushed. To keep track of the accumulated statistics, we |
| add code to save the whole statistics block before reset. We also |
| modify the macros and statistics functions to return the sum of the |
| saved and current counters. |
| |
| Based on original patch by Breno Leitao <leitao@linux.vnet.ibm.com> |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit a47430583dab67b23161b0e75226781deed50138 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Sun Jan 17 07:30:43 2010 +0000 |
| |
| bnx2: Refine statistics code. |
| |
| Refine the statistics macros by passing in just the name of the |
| counter field. This makes it a lot easier and cleaner to add |
| counters saved before the last reset in the next patch. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit e2eb8e38592f28d8be4a518f44d3385272dedddb |
| Author: Benjamin Li <benli@broadcom.com> |
| Date: Fri Jan 8 00:51:21 2010 -0800 |
| |
| bnx2: Flush the register writes which setup the MSI-X table |
| |
| The MSI-X table size needs to be properly set before pci_enable_msix() |
| is called. But on certain machines, the writes are delayed and the |
| MSI-X table size is incorrectly read. By reading the |
| BNX2_PCI_MSIX_CONTROL register, the writes are flushed and now |
| ensure that the MSI-X table is set correctly before MSI-X |
| is enable on the device. |
| |
| This patch was originally diagnosed and authored by |
| Kalyan Ram Chintalapati <kalyanc@vmware.com>. |
| |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: Kalyan Ram Chintalapati <kalyanc@vmware.com> |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit b74665606962456af7f92b1e448cee30ce70967b |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Sun Dec 20 18:40:18 2009 -0800 |
| |
| bnx2: Fix bnx2_netif_stop() merge error. |
| |
| The error was introduced while merging: |
| |
| commit 4529819c45161e4a119134f56ef504e69420bc98 |
| bnx2: reset_task is crashing the kernel. Fixing it. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com>k |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit e6bf95ffa8d6f8f4b7ee33ea01490d95b0bbeb6e |
| Author: Breno Leitao <leitao@linux.vnet.ibm.com> |
| Date: Fri Dec 18 20:35:34 2009 -0800 |
| |
| bnx2: fixing a timout error due not refreshing TX timers correctly |
| |
| When running the following script on an active bnx2 interface: |
| |
| while(true); do ifconfig ethX mtu 9000; ifconfig ethX mtu 1500; done |
| |
| A timeout error appears and dumps the following stack: |
| |
| NETDEV WATCHDOG: eth4 (bnx2): transmit queue 0 timed out |
| ------------[ cut here ]------------ |
| Badness at net/sched/sch_generic.c:261 |
| <snip> |
| |
| This patch just fixes the way that ->trans_start is refreshed. |
| |
| Signed-off-by: Breno Leitao <leitao@linux.vnet.ibm.com> |
| Acked-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 4529819c45161e4a119134f56ef504e69420bc98 |
| Author: Breno Leitao <leitao@linux.vnet.ibm.com> |
| Date: Fri Dec 18 20:29:04 2009 -0800 |
| |
| bnx2: reset_task is crashing the kernel. Fixing it. |
| |
| If bnx2 schedules a reset via the reset_task, e.g., due to a TX |
| timeout, it's possible for the NIC to be disabled with packets |
| pending for transmit. In this case, napi_disable will loop forever, |
| eventually crashing the kernel. This patch moves the disable of |
| the device to after the napi_disable call. |
| |
| Signed-off-by: Breno Leitao <leitao@linux.vnet.ibm.com> |
| Acked-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 012093f6d5d89e6ed6e89c55c383f84b1cff7a78 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Dec 3 15:58:00 2009 -0800 |
| |
| bnx2: Refine VPD logic. |
| |
| - Replace magic values with constants |
| - Simplify length calculation and fix a bug |
| |
| Based on valuable feedback from Ben Hutchings <bhutchings@solarflare.com> |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 55dbabee63462a455d8fb57caf08b69db256b012 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Dec 3 09:46:35 2009 +0000 |
| |
| bnx2: Update version to 2.0.3. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 76d9906170259b581691c3cec6bc5d4ab3aaaede |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Dec 3 09:46:34 2009 +0000 |
| |
| bnx2: Read firmware version from VPD. |
| |
| And display it through ethtool -i. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit b929e53cb7796a8abe47174dfdfdf90cbb65a8bf |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Dec 3 09:46:33 2009 +0000 |
| |
| bnx2: Print warning when unable to allocate the full SKB/page ring. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 20175c57f23cde2049c509eb00a2f9d373478107 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Dec 3 09:46:32 2009 +0000 |
| |
| bnx2: Dump some state during tx timeout. |
| |
| To help debug the problem. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 51bf6bb424c14bfd3590a0de03fbd07fc800435e |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Dec 3 09:46:31 2009 +0000 |
| |
| bnx2: Protect tx timeout reset with rtnl_lock(). |
| |
| To prevent race conditions with other reset events. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit e00484023ebe94dce03fdd1270edf3e191c2bc79 |
| Merge: 3248e16 1f5865e |
| Author: David S. Miller <davem@davemloft.net> |
| Date: Wed Dec 2 22:00:34 2009 -0800 |
| |
| Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 |
| |
| commit e95524a726904a1d2b91552f0577838f67d53c6c |
| Author: Alexander Duyck <alexander.h.duyck@intel.com> |
| Date: Wed Dec 2 16:47:57 2009 +0000 |
| |
| bnx2: remove skb_dma_map/unmap calls from driver |
| |
| Due to the fact that skb_dma_map/unmap do not work correctly when a HW |
| IOMMU is enabled it has been recommended to go about removing the calls |
| from the network device drivers. |
| |
| [ Fix bnx2_free_tx_skbs() ring indexing and use NETDEV_TX_OK return |
| code in bnx2_start_xmit() after cleaning up DMA mapping errors. -Mchan ] |
| |
| Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com> |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 529fab67d78747ddc3a8a2bbd0d1aab1d059439f |
| Author: Breno Leitao <leitao@linux.vnet.ibm.com> |
| Date: Thu Nov 26 07:31:49 2009 +0000 |
| |
| bnx2: EEH is failing with timeout |
| |
| bnx2 is failing when a PCI error is detected. The error is the |
| following: |
| |
| bnx2: Chip not in correct endian mode |
| bnx2: fw sync timeout, reset code = 404001d |
| |
| This error was caused because the way pci_restore_state() is working |
| after commit 4b77b0a2ba27d64f58f16d8d4d48d8319dda36ff ("PCI: Clear |
| saved_state after the state has been restored"). |
| |
| Signed-off-by: Breno Leitao<leitao@linux.vnet.ibm.com> |
| Acked-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit c7079857cd89cb5bc686df1d441db8ef0137abf1 |
| Author: Eric Dumazet <eric.dumazet@gmail.com> |
| Date: Mon Nov 2 23:17:42 2009 +0000 |
| |
| bnx2: avoid compiler warnings |
| |
| drivers/net/bnx2.c: In function ‘bnx2_enable_forced_2g5’: |
| drivers/net/bnx2.c:1447: warning: ‘bmcr’ may be used uninitialized in this function |
| drivers/net/bnx2.c: In function ‘bnx2_disable_forced_2g5’: |
| drivers/net/bnx2.c:1482: warning: ‘bmcr’ may be used uninitialized in this function |
| |
| One fix would be to have an initial value, but a plain return might be better. |
| |
| Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> |
| Acked-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 7ab0f2736bfe137a82a7084bbfb5f809da95cabd |
| Author: Ben Hutchings <bhutchings@solarflare.com> |
| Date: Thu Sep 3 10:39:43 2009 +0000 |
| |
| netdev: Remove redundant checks for CAP_NET_ADMIN in MDIO implementations |
| |
| dev_ioctl() already checks capable(CAP_NET_ADMIN) before calling the |
| driver's implementation of MDIO ioctls. |
| |
| Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 6cdee2f96a97f6da26bd3759c3f8823332fbb438 |
| Merge: 0625491 2fbd3da |
| Author: David S. Miller <davem@davemloft.net> |
| Date: Wed Sep 2 00:32:56 2009 -0700 |
| |
| Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 |
| |
| Conflicts: |
| drivers/net/yellowfin.c |
| |
| commit 61357325f377889a1daffa14962d705dc814dd0e |
| Author: Stephen Hemminger <shemminger@vyatta.com> |
| Date: Mon Aug 31 19:50:58 2009 +0000 |
| |
| netdev: convert bulk of drivers to netdev_tx_t |
| |
| In a couple of cases collapse some extra code like: |
| int retval = NETDEV_TX_OK; |
| ... |
| return retval; |
| into |
| return NETDEV_TX_OK; |
| |
| Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 078b0735881c7969aaf21469f3577831cddd9f8c |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Sat Aug 29 00:02:46 2009 -0700 |
| |
| bnx2: Update firmware to 5.0.0.j3. |
| |
| - Better small packet receive performance. |
| - Better handling of Flow control on 5709. |
| - Fixed iSCSI TMP ABORT TASK problem. |
| - Added iSCSI TCP timestamp option. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 8fea0f0db87a4aaed41a93eed147af61cc5f9e3f |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Fri Aug 21 16:20:50 2009 +0000 |
| |
| bnx2: Update version to 2.0.2. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 0ced9d01d19795f913b95cebedd7d03986671379 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Fri Aug 21 16:20:49 2009 +0000 |
| |
| bnx2: Use const on flash_table structure. |
| |
| The structure, once initialized, never changes. |
| |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit cf7474a6f4eda22603591b7d6253dffc224e4784 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Fri Aug 21 16:20:48 2009 +0000 |
| |
| bnx2: Refine coalescing parameters. |
| |
| - Set the USE_INT_PARAM bit so the rx-frames-irq and tx-frames-irq will take |
| effect on 5709. |
| - Increase the default rx-frames to reduce interrupt count. |
| - Decrease the default rx-frames-irq and tx-frames-irq to catch more events |
| during NAPI poll. |
| |
| All these will reduce interrupts without affecting latency. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 790dab2f671cb477e6179322a6c48c898e311e72 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Fri Aug 21 16:20:47 2009 +0000 |
| |
| bnx2: Report FTQ discard counter. |
| |
| Report this counter to ethtool -S and include it in netstat. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 61d9e3fa7eacabfb7879e3da91709f1a5420c507 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Fri Aug 21 16:20:46 2009 +0000 |
| |
| bnx2: Apply BROKEN_STATS workaround to 5706 and 5708. |
| |
| Add flag to expand the workaround to both chips. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 6fefb65e78f098c09d0ab877b2c70421e4c84116 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Fri Aug 21 16:20:45 2009 +0000 |
| |
| bnx2: Close device if MTU change or ring size change fails. |
| |
| When unable to allocate memory for new MTU or new ring size, we need |
| to close the device to prevent it from crashing. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 3767546cc24de8f104e745d59a0a43a09d9267df |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Fri Aug 21 16:20:44 2009 +0000 |
| |
| bnx2: Check if_running() before touching chip registers. |
| |
| Add this check to bnx2_netif_stop() and bnx2_vlan_rx_register() to |
| prevent bus lockups on some systems when the chip is in low power state. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 155d5561f570c5b3af7a178670061927d89209fb |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Fri Aug 21 16:20:43 2009 +0000 |
| |
| bnx2: Zero out status block before chip reset. |
| |
| In case IRQs are shared, we will not mistakenly start processing |
| the ring based on old status block indices. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit c5a889508203446c1abc1d670599b3a816841813 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Fri Aug 14 15:49:45 2009 +0000 |
| |
| bnx2: Use mutex on slow path cnic calls. |
| |
| The slow path calls to the cnic driver are sleepable calls so we |
| cannot use rcu_read_lock(). Use mutex for these slow path calls |
| instead. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Reviewed-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 2ec3de26d2dc666159b79a8b9394fa00b6f414ae |
| Author: Dean Nelson <dnelson@redhat.com> |
| Date: Fri Jul 31 09:13:18 2009 +0000 |
| |
| bnx2: return PCI_ERS_RESULT_DISCONNECT on permanent failure |
| |
| PCI drivers that implement the struct pci_error_handlers' error_detected |
| callback should return PCI_ERS_RESULT_DISCONNECT if the state passed in is |
| pci_channel_io_perm_failure. This patch fixes the issue for bnx2. |
| |
| Signed-off-by: Dean Nelson <dnelson@redhat.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 72dccb01e8632aa5ffe58070003d0fa19d007116 |
| Author: Eric Dumazet <eric.dumazet@gmail.com> |
| Date: Thu Jul 23 02:01:38 2009 +0000 |
| |
| bnx2: Update vlan_features |
| |
| [PATCH net-next-2.6] bnx2: Update vlan_features |
| |
| In order to get full use of some advanced features of BNX2, we now need to |
| fill dev->vlan_features. |
| |
| Patch successfully tested with vlan devices built on top of bonding. |
| (bond0 : one bnx2 slave, one tg3 slave (not yet vlan_features enabled) |
| |
| Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> |
| Acked-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 7959ea254ed18faee41160b1c50b3c9664735967 |
| Author: Ooiwa Naohiro <nooiwa@miraclelinux.com> |
| Date: Wed Jun 24 00:19:06 2009 -0700 |
| |
| bnx2: Fix the behavior of ethtool when ONBOOT=no |
| |
| I found a little bug. |
| |
| When configure in ifcfg-eth* is ONBOOT=no, |
| the behavior of ethtool command is wrong. |
| |
| # grep ONBOOT /etc/sysconfig/network-scripts/ifcfg-eth2 |
| ONBOOT=no |
| # ethtool eth2 | tail -n1 |
| Link detected: yes |
| |
| I think "Link detected" should be "no". |
| |
| Signed-off-by: Ooiwa Naohiro <nooiwa@miraclelinux.com> |
| Acked-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 31278e71471399beaff9280737e52b47db4dc345 |
| Author: Jiri Pirko <jpirko@redhat.com> |
| Date: Wed Jun 17 01:12:19 2009 +0000 |
| |
| net: group address list and its count |
| |
| This patch is inspired by patch recently posted by Johannes Berg. Basically what |
| my patch does is to group list and a count of addresses into newly introduced |
| structure netdev_hw_addr_list. This brings us two benefits: |
| 1) struct net_device becames a bit nicer. |
| 2) in the future there will be a possibility to operate with lists independently |
| on netdevices (with exporting right functions). |
| I wanted to introduce this patch before I'll post a multicast lists conversion. |
| |
| Signed-off-by: Jiri Pirko <jpirko@redhat.com> |
| |
| drivers/net/bnx2.c | 4 +- |
| drivers/net/e1000/e1000_main.c | 4 +- |
| drivers/net/ixgbe/ixgbe_main.c | 6 +- |
| drivers/net/mv643xx_eth.c | 2 +- |
| drivers/net/niu.c | 4 +- |
| drivers/net/virtio_net.c | 10 ++-- |
| drivers/s390/net/qeth_l2_main.c | 2 +- |
| include/linux/netdevice.h | 17 +++-- |
| net/core/dev.c | 130 ++++++++++++++++++-------------------- |
| 9 files changed, 89 insertions(+), 90 deletions(-) |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 9cbc1cb8cd46ce1f7645b9de249b2ce8460129bb |
| Merge: ca44d6e 45e3e19 |
| Author: David S. Miller <davem@davemloft.net> |
| Date: Mon Jun 15 03:02:23 2009 -0700 |
| |
| Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 |
| |
| Conflicts: |
| Documentation/feature-removal-schedule.txt |
| drivers/scsi/fcoe/fcoe.c |
| net/core/drop_monitor.c |
| net/core/net-traces.c |
| |
| commit 4edd473f208cff77ce1f7ef26d5a41f31fa198e0 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Jun 8 18:14:42 2009 -0700 |
| |
| [SCSI] bnx2: Add support for CNIC driver. |
| |
| Add interface and functions to support a new CNIC driver to drive |
| the Broadcom bnx2 hardware for iSCSI offload. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Acked-by: David S. Miller <davem@davemloft.net> |
| Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com> |
| |
| commit 25b0b999fbf5cc1893b110d530102951795d2f73 |
| Author: Breno Leitao <leitao@linux.vnet.ibm.com> |
| Date: Mon Jun 8 10:30:19 2009 +0000 |
| |
| bnx2: no need to check before vfreeing |
| |
| There is no need to check if a pointer is NULL before calling |
| vfree(), since vfree() function already check for it. |
| |
| Signed-off-by: Breno Leitão <leitao@linux.vnet.ibm.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 042a53a9e437feaf2230dd2cadcecfae9c7bfe05 |
| Author: Eric Dumazet <eric.dumazet@gmail.com> |
| Date: Fri Jun 5 04:04:16 2009 +0000 |
| |
| net: skb_shared_info optimization |
| |
| skb_dma_unmap() is quite expensive for small packets, |
| because we use two different cache lines from skb_shared_info. |
| |
| One to access nr_frags, one to access dma_maps[0] |
| |
| Instead of dma_maps being an array of MAX_SKB_FRAGS + 1 elements, |
| let dma_head alone in a new dma_head field, close to nr_frags, |
| to reduce cache lines misses. |
| |
| Tested on my dev machine (bnx2 & tg3 adapters), nice speedup ! |
| |
| Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit ccffad25b5136958d4769ed6de5e87992dd9c65c |
| Author: Jiri Pirko <jpirko@redhat.com> |
| Date: Fri May 22 23:22:17 2009 +0000 |
| |
| net: convert unicast addr list |
| |
| This patch converts unicast address list to standard list_head using |
| previously introduced struct netdev_hw_addr. It also relaxes the |
| locking. Original spinlock (still used for multicast addresses) is not |
| needed and is no longer used for a protection of this list. All |
| reading and writing takes place under rtnl (with no changes). |
| |
| I also removed a possibility to specify the length of the address |
| while adding or deleting unicast address. It's always dev->addr_len. |
| |
| The convertion touched especially e1000 and ixgbe codes when the |
| change is not so trivial. |
| |
| Signed-off-by: Jiri Pirko <jpirko@redhat.com> |
| |
| drivers/net/bnx2.c | 13 +-- |
| drivers/net/e1000/e1000_main.c | 24 +++-- |
| drivers/net/ixgbe/ixgbe_common.c | 14 ++-- |
| drivers/net/ixgbe/ixgbe_common.h | 4 +- |
| drivers/net/ixgbe/ixgbe_main.c | 6 +- |
| drivers/net/ixgbe/ixgbe_type.h | 4 +- |
| drivers/net/macvlan.c | 11 +- |
| drivers/net/mv643xx_eth.c | 11 +- |
| drivers/net/niu.c | 7 +- |
| drivers/net/virtio_net.c | 7 +- |
| drivers/s390/net/qeth_l2_main.c | 6 +- |
| drivers/scsi/fcoe/fcoe.c | 16 ++-- |
| include/linux/netdevice.h | 18 ++-- |
| net/8021q/vlan.c | 4 +- |
| net/8021q/vlan_dev.c | 10 +- |
| net/core/dev.c | 195 +++++++++++++++++++++++++++----------- |
| net/dsa/slave.c | 10 +- |
| net/packet/af_packet.c | 4 +- |
| 18 files changed, 227 insertions(+), 137 deletions(-) |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit cdd0db058d64f2619b08e7d098ee0014aa0a5bc1 |
| Author: Eric Dumazet <eric.dumazet@gmail.com> |
| Date: Thu May 28 00:00:41 2009 +0000 |
| |
| net: dont update dev->trans_start |
| |
| Second round of drivers for Gb cards (and NIU one I forgot in the 10GB round) |
| |
| Now that core network takes care of trans_start updates, dont do it |
| in drivers themselves, if possible. Drivers can avoid one cache miss |
| (on dev->trans_start) in their start_xmit() handler. |
| |
| Exceptions are NETIF_F_LLTX drivers |
| |
| Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit d62fda082c48b417b47a553860abf75d9cf8b591 |
| Author: Eric Dumazet <dada1@cosmosbay.com> |
| Date: Tue May 12 20:48:02 2009 +0000 |
| |
| bnx2: bnx2_tx_int() optimizations |
| |
| When using bnx2 in a high transmit load, bnx2_tx_int() cost is pretty high. |
| |
| There are two reasons. |
| |
| One is an expensive call to bnx2_get_hw_tx_cons(bnapi) for each freed skb |
| |
| One is cpu stalls when accessing skb_is_gso(skb) / skb_shinfo(skb)->nr_frags |
| because of two cache line misses. |
| (One to get skb->end/head to compute skb_shinfo(skb), |
| one to get is_gso/nr_frags) |
| |
| This patch : |
| |
| 1) avoids calling bnx2_get_hw_tx_cons(bnapi) too many times. |
| |
| 2) makes bnx2_start_xmit() cache is_gso & nr_frags into sw_tx_bd descriptor. |
| This uses a litle bit more ram (256 longs per device on x86), but helps a lot. |
| |
| 3) uses a prefetch(&skb->end) to speedup dev_kfree_skb(), bringing |
| cache line that will be needed in skb_release_data() |
| |
| result is 5 % bandwidth increase in benchmarks, involving UDP or TCP receive |
| & transmits, when a cpu is dedicated to ksoftirqd for bnx2. |
| |
| bnx2_tx_int going from 3.33 % cpu to 0.5 % cpu in oprofile |
| |
| Note : skb_dma_unmap() still very expensive but this is for another patch, |
| not related to bnx2 (2.9 % of cpu, while it does nothing on x86_32) |
| |
| Signed-off-by: Eric Dumazet <dada1@cosmosbay.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 581daf7e00c5e766f26aff80a61a860a17b0d75a |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Wed May 6 16:46:47 2009 -0700 |
| |
| bnx2: Fix panic in bnx2_poll_work(). |
| |
| Add barrier() to bnx2_get_hw_{tx|rx}_cons() to fix this issue: |
| |
| http://bugzilla.kernel.org/show_bug.cgi?id=12698 |
| |
| This issue was reported by multiple i386 users. Without barrier(), |
| the compiled code looks like the following where %eax contains the |
| address of the tx_cons or rx_cons in the DMA status block. The |
| status block contents can change between the cmpb and the movzwl |
| instruction. The driver would crash if the value was not 0xff during |
| the cmpb instruction, but changed to 0xff during the movzwl |
| instruction. |
| |
| 6828: 80 38 ff cmpb $0xff,(%eax) |
| 682b: 0f b7 10 movzwl (%eax),%edx |
| |
| With the added barrier(), the compiled code now looks correct: |
| |
| 683d: 0f b7 10 movzwl (%eax),%edx |
| 6840: 0f b6 c2 movzbl %dl,%eax |
| 6843: 3d ff 00 00 00 cmp $0xff,%eax |
| |
| Thanks to Pascal de Bruijn <pmjdebruijn@pcode.nl> for reporting the |
| problem and Holger Noefer <hnoefer@pironet-ndh.com> for patiently |
| testing test patches for us. |
| |
| Also updated version to 2.0.1. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 5ee1c32628e4baa0d99146a8adc594220f947aad |
| Author: Bastian Blank <waldi@debian.org> |
| Date: Wed Apr 8 15:50:07 2009 -0700 |
| |
| bnx2: Don't use reserved names |
| |
| The mips identifier is reserved by gcc on mips plattforms. Don't use it |
| in the code. |
| |
| Signed-off-by: Bastian Blank <waldi@debian.org> |
| Tested-by: Martin Michlmayr <tbm@cyrius.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 284901a90a9e0b812ca3f5f852cbbfb60d10249d |
| Author: Yang Hongyang <yanghy@cn.fujitsu.com> |
| Date: Mon Apr 6 19:01:15 2009 -0700 |
| |
| dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) |
| |
| Replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) |
| |
| Signed-off-by: Yang Hongyang<yanghy@cn.fujitsu.com> |
| Signed-off-by: Andrew Morton <akpm@linux-foundation.org> |
| Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> |
| |
| commit 50cf156af7dc68a44409bef636585ef88ebbab34 |
| Author: Yang Hongyang <yanghy@cn.fujitsu.com> |
| Date: Mon Apr 6 19:01:14 2009 -0700 |
| |
| dma-mapping: replace all DMA_40BIT_MASK macro with DMA_BIT_MASK(40) |
| |
| Replace all DMA_40BIT_MASK macro with DMA_BIT_MASK(40) |
| |
| Signed-off-by: Yang Hongyang<yanghy@cn.fujitsu.com> |
| Signed-off-by: Andrew Morton <akpm@linux-foundation.org> |
| Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> |
| |
| commit 6a35528a8346f6e6fd32ed7e51f04d1fa4ca2c01 |
| Author: Yang Hongyang <yanghy@cn.fujitsu.com> |
| Date: Mon Apr 6 19:01:13 2009 -0700 |
| |
| dma-mapping: replace all DMA_64BIT_MASK macro with DMA_BIT_MASK(64) |
| |
| Replace all DMA_64BIT_MASK macro with DMA_BIT_MASK(64) |
| |
| Signed-off-by: Yang Hongyang<yanghy@cn.fujitsu.com> |
| Signed-off-by: Andrew Morton <akpm@linux-foundation.org> |
| Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> |
| |
| commit 57579f7629a3d46c307405fbd2ea6bdb650d692f |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Sat Apr 4 16:51:14 2009 -0700 |
| |
| bnx2: Use request_firmware() |
| |
| Based on original patch by Ben Hutchings <ben@decadent.org.uk> and |
| Bastian Blank <waldi@debian.org>, with the following main changes: |
| |
| Separated the mips firmware and rv2p firmware into different files |
| to make it easier to update them separately. |
| |
| Added some code to fixup the rv2p code with run-time information |
| such as PAGE_SIZE. |
| |
| Update version to 2.0.0. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 2b1c4354de72ced917d2f3fe88117613f992234b |
| Merge: 5e140df 170ebf8 |
| Author: David S. Miller <davem@davemloft.net> |
| Date: Fri Mar 20 02:27:41 2009 -0700 |
| |
| Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 |
| |
| Conflicts: |
| drivers/net/virtio_net.c |
| |
| commit 690103137267e9ed893febf7ff061af63e8235a9 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Wed Mar 18 18:11:51 2009 -0700 |
| |
| bnx2: Fix problem of using wrong IRQ handler. |
| |
| The MSI-X handler was chosen before the call to pci_enable_msix(). |
| If MSI-X was not available, the wrong MSI-X handler would be used in |
| INTA mode. This would cause a screaming interrupt problem because |
| INTA would not be cleared by the MSI-X handler. |
| |
| Fixed by assigning MSI-X handler after pci_enable_msix() returns |
| successfully. Also update version to 1.9.3. |
| |
| Thomas Chenault <thomas_chenault@dell.com> helped us find this problem. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 5e30589521518bff36fd2638b3c3d69679c50436 |
| Merge: ac178ef d2f8d7e |
| Author: David S. Miller <davem@davemloft.net> |
| Date: Sat Feb 14 23:12:00 2009 -0800 |
| |
| Merge branch 'master' of /home/davem/src/GIT/linux-2.6/ |
| |
| Conflicts: |
| drivers/net/wireless/iwlwifi/iwl-agn.c |
| drivers/net/wireless/iwlwifi/iwl3945-base.c |
| |
| commit a6952b5299ab506051f05395f7c26ff1352759ad |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Feb 12 16:54:48 2009 -0800 |
| |
| bnx2: Update version to 1.9.2 and copyright. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 990ec3804bb9fd37fcce3e165c95e8b79a783aa3 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Feb 12 16:54:13 2009 -0800 |
| |
| bnx2: Fix jumbo frames error handling. |
| |
| If errors are reported on a frame descriptor, we need to |
| account for the buffer pages that may have been used for this |
| error packet and recycle them. Otherwise, we may get the wrong |
| pages for the next packet. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: Matt Carlson <mcarlson@broadcom.com> |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 0c8dfc830aadd978e461dad66c33741b71c6a0be |
| Author: David S. Miller <davem@davemloft.net> |
| Date: Tue Jan 27 16:22:32 2009 -0800 |
| |
| net: Add skb_record_rx_queue() calls to multiqueue capable drivers. |
| |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 52d07b1f5039f51101a589856d9058e9cc8ce5dc |
| Author: Harvey Harrison <harvey.harrison@gmail.com> |
| Date: Mon Jan 19 17:27:06 2009 -0800 |
| |
| bnx2: annotate bp->phy_lock functions |
| |
| It looks like the locking is OK as the locks were being taken before the |
| various phy setup functions, add the annotations as they release and |
| reacquire the phy_lock. |
| |
| Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 288379f050284087578b77e04f040b57db3db3f8 |
| Author: Ben Hutchings <bhutchings@solarflare.com> |
| Date: Mon Jan 19 16:43:59 2009 -0800 |
| |
| net: Remove redundant NAPI functions |
| |
| Following the removal of the unused struct net_device * parameter from |
| the NAPI functions named *netif_rx_* in commit 908a7a1, they are |
| exactly equivalent to the corresponding *napi_* functions and are |
| therefore redundant. |
| |
| Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> |
| Acked-by: Neil Horman <nhorman@tuxdriver.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 6332178d91ca1a9dbd99bd97cabbcf965d178e9f |
| Merge: 908a7a1 739840d |
| Author: David S. Miller <davem@davemloft.net> |
| Date: Tue Dec 23 17:56:23 2008 -0800 |
| |
| Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 |
| |
| Conflicts: |
| |
| drivers/net/ppp_generic.c |
| |
| commit 908a7a16b852ffd618a9127be8d62432182d81b4 |
| Author: Neil Horman <nhorman@tuxdriver.com> |
| Date: Mon Dec 22 20:43:12 2008 -0800 |
| |
| net: Remove unused netdev arg from some NAPI interfaces. |
| |
| When the napi api was changed to separate its 1:1 binding to the net_device |
| struct, the netif_rx_[prep|schedule|complete] api failed to remove the now |
| vestigual net_device structure parameter. This patch cleans up that api by |
| properly removing it.. |
| |
| Signed-off-by: Neil Horman <nhorman@tuxdriver.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 3298a7388c00227e736d1037328788073c80c7b4 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Wed Dec 17 19:06:08 2008 -0800 |
| |
| bnx2: Fix bug in bnx2_free_rx_mem(). |
| |
| DMA memory for the jumbo rx page rings was freed incorrectly using the |
| wrong local variable as the array index. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 1f2435e532bd64742c3f766b7d5c17cc9d0b8558 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Tue Dec 16 20:28:13 2008 -0800 |
| |
| bnx2: Update version to 1.9.0. |
| |
| And fix the 5716S pci_device_id entry to point to the proper string. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 4e1d0de95c55383f598516ebf82969260c18e4bd |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Tue Dec 16 20:27:45 2008 -0800 |
| |
| bnx2: Rename MSI-X vectors. |
| |
| Change MSI-X vector names to "ethx-%d". |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 730c30ec646bd252a9448a66ecd51d794853513f |
| Merge: 726e07a 0a0755c |
| Author: David S. Miller <davem@davemloft.net> |
| Date: Fri Dec 5 22:54:40 2008 -0800 |
| |
| Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 |
| |
| Conflicts: |
| |
| drivers/net/wireless/iwlwifi/iwl-core.c |
| drivers/net/wireless/iwlwifi/iwl-sta.c |
| |
| commit efba01803c8570bab11d0d6188a630231d0ddccf |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Wed Dec 3 00:36:15 2008 -0800 |
| |
| bnx2: Add workaround to handle missed MSI. |
| |
| The bnx2 chips do not support per MSI vector masking. On 5706/5708, new MSI |
| address/data are stored only when the MSI enable bit is toggled. As a result, |
| SMP affinity no longer works in the latest kernel. A more serious problem is |
| that the driver will no longer receive interrupts when the MSI receiving CPU |
| goes offline. |
| |
| The workaround in this patch only addresses the problem of CPU going offline. |
| When that happens, the driver's timer function will detect that it is making |
| no forward progress on pending interrupt events and will recover from it. |
| |
| Eric Dumazet reported the problem. |
| |
| We also found that if an interrupt is internally asserted while MSI and INTA |
| are disabled, the chip will end up in the same state after MSI is re-enabled. |
| The same workaround is needed for this problem. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Tested-by: Eric Dumazet <dada1@cosmosbay.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit d8e8034dcdef8c8fa94a14c3b555c09e065e742f |
| Author: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi> |
| Date: Fri Nov 28 15:52:43 2008 -0800 |
| |
| bnx2: use net_device_stats nowadays available in net_device |
| |
| Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 0421eae68ffaf5ecfac860ee86e6a92e5b32a992 |
| Author: Stephen Hemminger <shemminger@vyatta.com> |
| Date: Fri Nov 21 17:31:27 2008 -0800 |
| |
| bnx2: convert to net_device_ops |
| |
| Convert driver to new net_device_ops. Compile tested only. |
| |
| Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 198d6ba4d7f48c94f990f4604f0b3d73925e0ded |
| Merge: 9a57f7f 7f0f598 |
| Author: David S. Miller <davem@davemloft.net> |
| Date: Tue Nov 18 23:38:23 2008 -0800 |
| |
| Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 |
| |
| Conflicts: |
| |
| drivers/isdn/i4l/isdn_net.c |
| fs/cifs/connect.c |
| |
| commit b2af2c1d3e4ddeea9d02c46d0df0c322cc7b7061 |
| Author: Neil Horman <nhorman@tuxdriver.com> |
| Date: Wed Nov 12 16:23:44 2008 -0800 |
| |
| bnx2: fix poll_controller to pass proper structures and check all rx queues |
| |
| Fix bnx2 so that netpoll works properly. Specifically: |
| |
| 1) Fix parameters to bnx2_interrupt to be a struct bnx2_napi rather than a |
| struct net_device |
| |
| 2) Fix poll_controller method to check every queue in the rx case so frames |
| aren't missed |
| |
| Signed-off-by: Neil Horman <nhorman@tuxdriver.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit e4412cb8a6b4190cf73ae44c859fd7e3727d8b13 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Wed Nov 12 16:03:05 2008 -0800 |
| |
| bnx2: Update version to 1.8.2. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: Matt Carlson <mcarlson@broadcom.com> |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 40105c0b0753515711318db87d36c8338dc74490 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Wed Nov 12 16:02:45 2008 -0800 |
| |
| bnx2: Reorganize timeout constants. |
| |
| Move all related timeout constants to the same location. BNX2 |
| prefix is also added to make them more consistent. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: Matt Carlson <mcarlson@broadcom.com> |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit d8026d939495c105cf747c0196a8fa738cf2ad20 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Wed Nov 12 16:02:20 2008 -0800 |
| |
| bnx2: Set rx buffer water marks based on MTU. |
| |
| The default rx buffer water marks for XOFF/XON are for 1500 MTU. At |
| larger MTUs, these water marks need to be adjusted for effective |
| flow control. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: Matt Carlson <mcarlson@broadcom.com> |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 5ec6d7bf195c2e70003ff30e4f51390ef7e85a31 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Wed Nov 12 16:01:41 2008 -0800 |
| |
| bnx2: Restrict WoL support. |
| |
| On some quad-port cards that cannot support WoL on all ports due |
| to excessive power consumption, the driver needs to restrict WoL |
| on some ports by checking VAUX_PRESET bit. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: Matt Carlson <mcarlson@broadcom.com> |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 1caacecb7cb2b72e798f06a32b5061075cf397fa |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Wed Nov 12 16:01:12 2008 -0800 |
| |
| bnx2: Add PCI ID for 5716S. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: Matt Carlson <mcarlson@broadcom.com> |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit babcda74e9d96bb58fd9c6c5112dbdbff169e695 |
| Author: David S. Miller <davem@davemloft.net> |
| Date: Mon Nov 3 21:11:17 2008 -0800 |
| |
| drivers/net: Kill now superfluous ->last_rx stores. |
| |
| The generic packet receive code takes care of setting |
| netdev->last_rx when necessary, for the sake of the |
| bonding ARP monitor. |
| |
| Drivers need not do it any more. |
| |
| Some cases had to be skipped over because the drivers |
| were making use of the ->last_rx value themselves. |
| |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit e174961ca1a0b28f7abf0be47973ad57cb74e5f0 |
| Author: Johannes Berg <johannes@sipsolutions.net> |
| Date: Mon Oct 27 15:59:26 2008 -0700 |
| |
| net: convert print_mac to %pM |
| |
| This converts pretty much everything to print_mac. There were |
| a few things that had conflicts which I have just dropped for |
| now, no harm done. |
| |
| I've built an allyesconfig with this and looked at the files |
| that weren't built very carefully, but it's a huge patch. |
| |
| Signed-off-by: Johannes Berg <johannes@sipsolutions.net> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit ec7e6fabbe72f1fe65eed14c106a0fbc00f6c2f1 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Oct 9 12:27:06 2008 -0700 |
| |
| bnx2: Update version to 1.8.1. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 3d16af8665504c89f9ef3aae56f54fb93e48da61 |
| Author: Benjamin Li <benli@broadcom.com> |
| Date: Thu Oct 9 12:26:41 2008 -0700 |
| |
| bnx2: Handle DMA mapping errors. |
| |
| Before, the driver would not care about the return codes from pci_map_* |
| functions. This could be potentially dangerous if a mapping failed. |
| Now, we will check all pci_map_* calls. On the transmit side, we switch |
| to use the new function skb_dma_map(). On the receive side, we add |
| pci_dma_mapping_error(). |
| |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit a1efb4b686babf38e5e63add8b990f18e38becc4 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Oct 9 12:24:39 2008 -0700 |
| |
| bnx2: Eliminate TSO header modifications. |
| |
| This is now possible with updated firmware. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 9f52b564b7162ede5a73a4f4b421ccf93c55b025 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Oct 9 12:21:46 2008 -0700 |
| |
| bnx2: Check netif_running() in all ethtool operations. |
| |
| We need to check netif_running() state in most ethtool operations |
| and properly handle the !netif_running() state where the chip is |
| in an uninitailzed state or low power state that may not accept |
| any MMIO. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: Matt Carlson <mcarlson@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 74bf4ba3d367aacbc04fef167289767f162cd730 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Oct 9 12:21:08 2008 -0700 |
| |
| bnx2: Add bnx2_shutdown_chip(). |
| |
| This logic is used in bnx2_close() and bnx2_suspend() and |
| so should be separated out into a separate function. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: Matt Carlson <mcarlson@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit ac392abce936d78f7b731d90bfbc1001ddb446ea |
| Author: Benjamin Li <benli@broadcom.com> |
| Date: Thu Sep 18 16:40:49 2008 -0700 |
| |
| bnx2: Remove timer_interval field from the bnx2 structure |
| |
| The timer_interval field is only assigned once, and never reassigned. |
| We can safely replace all instances of the timer_interval with a |
| constant value. |
| |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Acked-by: Jeff Garzik <jeff@garzik.org> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit fbbf68b7f88953a9c56b7a7b4019fa5212987b34 |
| Author: Benjamin Li <benli@broadcom.com> |
| Date: Thu Sep 18 16:40:03 2008 -0700 |
| |
| bnx2: Remove name field from bnx2 structure |
| |
| The name of the board is only used during the initialization of |
| the adapter. We can save the space of a pointer by not storing |
| this information. |
| |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Acked-by: Jeff Garzik <jeff@garzik.org> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 453a9c6e995149c4a43e50b5482a48ed0298b0dc |
| Author: Benjamin Li <benli@broadcom.com> |
| Date: Thu Sep 18 16:39:16 2008 -0700 |
| |
| bnx2: Update MODULE_DESCRIPTION to include the 5716 |
| |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Acked-by: Jeff Garzik <jeff@garzik.org> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 344478db5385194ec27f6aaf780ea21c4b4ff02c |
| Author: Benjamin Li <benli@broadcom.com> |
| Date: Thu Sep 18 16:38:24 2008 -0700 |
| |
| bnx2: In bnx2_set_mac_link() return void rather then int |
| |
| bnx2_set_mac_link() doesn't need to return any error codes. And |
| all the callers don't check the return code. It is safe to |
| change the return type to a void. |
| |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Acked-by: Jeff Garzik <jeff@garzik.org> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 08013fa353fdcfc0a03cae805393abfc56722387 |
| Author: David S. Miller <davem@davemloft.net> |
| Date: Fri Aug 15 19:46:01 2008 -0700 |
| |
| bnx2: Fix build with VLAN_8021Q disabled. |
| |
| Reported by Randy Dunlap. |
| |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 0eb8b1fe9238ca4c1797e4c105d5790abda1726f |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Aug 14 15:30:31 2008 -0700 |
| |
| bnx2: Update version to 1.8.0. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit f22828e89f4f3e8c74ca7ffa69b0410afbd80eee |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Aug 14 15:30:14 2008 -0700 |
| |
| bnx2: Reinsert VLAN tag when necessary. |
| |
| In certain cases when ASF or other management firmware is running, the |
| chip may be configured to always strip out the VLAN tag even when |
| VLAN acceleration is not enabled. This causes some VLAN tagged |
| packets to be received by the host stack without any knowledge that |
| the original packet was VLAN tagged. |
| |
| We fix this by re-inserting the VLAN tag into the packet when necessary. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: Matt Carlson <mcarlson@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 729b85cd47f4e63657505cb5c6af104e19250805 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Aug 14 15:29:39 2008 -0700 |
| |
| bnx2: Use proper CONFIG_VLAN_8021Q to compile the VLAN code. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: Matt Carlson <mcarlson@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 7c6337a15e3d4689efe703e8bb65ae82cc13c435 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Aug 14 15:29:09 2008 -0700 |
| |
| bnx2: Fix logic to setup VLAN rx tagging. |
| |
| We should now be checking BNX2_FLAG_CAN_KEEP_VLAN to determine how |
| to set the VLAN rx tagging in the RX_MODE register. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: Matt Carlson <mcarlson@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 3ca4095f246c21c285d9e4be2ea4d3ee7fbacebd |
| Author: Benjamin Li <benli@broadcom.com> |
| Date: Fri Jul 18 17:58:57 2008 -0700 |
| |
| bnx2: Update version to 1.7.9. |
| |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 8a31329eae0949a8a73b64fcead84bb44a350591 |
| Author: Benjamin Li <benli@broadcom.com> |
| Date: Fri Jul 18 17:57:26 2008 -0700 |
| |
| bnx2: Fix Sparse warnings |
| |
| This patch will fix the following sparse warnings: |
| |
| /home/benli/sparse/bnx2.c:297:8: warning: symbol 'val' shadows an earlier one |
| /home/benli/sparse/bnx2.c:286:60: originally declared here |
| /home/benli/sparse/bnx2.c:7461:7: warning: symbol 'i' shadows an earlier one |
| /home/benli/sparse/bnx2.c:7265:10: originally declared here |
| |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 706bf24038ba88ec77503b4829b16da712a32f04 |
| Author: Benjamin Li <benli@broadcom.com> |
| Date: Fri Jul 18 17:55:11 2008 -0700 |
| |
| bnx2: Add TX multiqueue support. |
| |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 3cb29b1bca00736e984ea8ab368af40394a1bca0 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Jul 14 22:40:21 2008 -0700 |
| |
| bnx2: Update version to 1.7.8. |
| |
| Signed-off-by: Michael Chan <mchan@braodcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 5fcaed0124cde73124227542bfce4ed57fccbb50 |
| Author: Benjamin Li <benli@broadcom.com> |
| Date: Mon Jul 14 22:39:52 2008 -0700 |
| |
| bnx2: Support secondary MAC addresses. |
| |
| Add support for configuring secondary unicast addresses. There |
| are 4 additional perfect match filters which can be used for |
| secondary unicast address support. |
| |
| * Modified bnx2_set_mac_addr() to be more generic in handling |
| the setting of the perfect match filters |
| * Changed bnx2_set_rx_mode() to handle the unicast dev_addr_list |
| |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 7c62e83beb1446d690ed921beddb0dcf34c9baa9 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Jul 14 22:39:03 2008 -0700 |
| |
| bnx2: Allow flexible VLAN tag settings. |
| |
| Negotiate with boot code and ASF firmware to see if it can |
| support keeping VLAN tags in the RX packets. If supported |
| by firmware, the VLAN tag will be kept in the RX packet |
| unless VLAN acceleration is registered. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit a2f138900d5c342742c369293edaf92d2173c92e |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Jul 14 22:38:23 2008 -0700 |
| |
| bnx2: Add ack parameter to bnx2_fw_sync(). |
| |
| ack=1 means wait for firmware acknowledgement, and ack=0 |
| means don't wait. All current callers will set it to 1. |
| |
| In the next patch, new calls will set ack=0. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 7bb0a04fcd610e5db59690332b2a46b6068c8bc3 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Jul 14 22:37:47 2008 -0700 |
| |
| bnx2: Add PCI ID for 5716. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: Benjamin Li <Benli@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit d6b14486953d0e8d1c57db29bf6104cea198b884 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Jul 14 22:37:21 2008 -0700 |
| |
| bnx2: Prevent ethtool -s from crashing when device is down. |
| |
| The device may be in D3-hot state and may crash if we try to |
| configure the speed settings by accessing the registers. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 8427f1361225ca27679a6d810c04ddbc357602a7 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Jun 19 16:44:44 2008 -0700 |
| |
| bnx2: Update driver version to 1.7.7. |
| |
| And update module description. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 2739a8bb5b13653999827da09565b1bca5cec67d |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Jun 19 16:44:10 2008 -0700 |
| |
| bnx2: Cleanup error handling in bnx2_open(). |
| |
| All error handling in bnx2_open() can be consolidated. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 5e9ad9e108883503fedfac3279ac101dce00bb56 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Jun 19 16:43:17 2008 -0700 |
| |
| bnx2: Turn on multi rx rings. |
| |
| Enable multiple rx rings if MSI-X vectors are available. We enable |
| up to 7 rx rings. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit f0ea2e63859cf234b7017a2d7bba2a5a1db3bf25 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Jun 19 16:41:57 2008 -0700 |
| |
| bnx2: Use one handler for all MSI-X vectors. |
| |
| Use the same MSI-X handler to schedule NAPI. Change the dev_instance |
| void pointer to the bnx2_napi struct instead so we can have the proper |
| context for each MSI-X vector. |
| |
| Add a new bnx2_poll_msix() that is optimized for handling MSI-X |
| NAPI polling of rx/tx work only. Remove the old bnx2_tx_poll() that |
| is no longer needed. Each MSI-X vector handles 1 tx and 1 rx ring. |
| The first vector handles link events as well. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 43e80b89b65cbc62b5e0fde09b47c9fc572a8b11 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Jun 19 16:41:08 2008 -0700 |
| |
| bnx2: Optimize fast-path tx and rx work. |
| |
| Add hw_tx_cons_ptr and hw_rx_cons_ptr to speed up the retreival of |
| the tx and rx consumer index, since the MSI-X and default status |
| blocks have different structures. |
| |
| Combine status_blk and status_blk_msix into a union. We'll only use |
| one type of status block for each vector. |
| |
| Separate the code to detect more rx and tx work from the code to |
| detect link related work. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit bb4f98abf590cf9899017f14f1a54984f02a0009 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Jun 19 16:38:19 2008 -0700 |
| |
| bnx2: Put rx ring variables in a separate struct. |
| |
| In preparation for multi-ring support, rx ring variables are now put |
| in a separate bnx2_rx_ring_info struct. With MSI-X, we can support |
| multiple rx rings. |
| |
| The functions to allocate/free rx memory and to initialize rx rings |
| are now modified to handle multiple rings. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 35e9010b22503f42cbf88144ffe1feff90ea3835 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Jun 19 16:37:42 2008 -0700 |
| |
| bnx2: Put tx ring variables in a separate struct. |
| |
| In preparation for multi-ring support, tx ring variables are now put |
| in a separate bnx2_tx_ring_info struct. Multi tx ring will not be |
| enabled until it is fully supported by the stack. Only 1 tx ring |
| will be used at the moment. |
| |
| The functions to allocate/free tx memory and to initialize tx rings |
| are now modified to handle multiple rings. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 4ae127d1b6c71f9240dd4245f240e6dd8fc98014 |
| Merge: 875ec43 7775c97 |
| Author: David S. Miller <davem@davemloft.net> |
| Date: Fri Jun 13 20:52:39 2008 -0700 |
| |
| Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 |
| |
| Conflicts: |
| |
| drivers/net/smc911x.c |
| |
| commit 4bb073c0e32a0862bdb5215d11af19f6c0180c98 |
| Author: David S. Miller <davem@davemloft.net> |
| Date: Thu Jun 12 02:22:02 2008 -0700 |
| |
| net: Eliminate flush_scheduled_work() calls while RTNL is held. |
| |
| If the RTNL is held when we invoke flush_scheduled_work() we could |
| deadlock. One such case is linkwatch, it is a work struct which tries |
| to grab the RTNL semaphore. |
| |
| The most common case are net driver ->stop() methods. The |
| simplest conversion is to instead use cancel_{delayed_}work_sync() |
| explicitly on the various work struct the driver uses. |
| |
| This is an OK transformation because these work structs are doing |
| things like resetting the chip, restarting link negotiation, and so |
| forth. And if we're bringing down the device, we're about to turn the |
| chip off and reset it anways. So if we cancel a pending work event, |
| that's fine here. |
| |
| Some drivers were working around this deadlock by using a msleep() |
| polling loop of some sort, and those cases are converted to instead |
| use cancel_{delayed_}work_sync() as well. |
| |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 236ae64063faf7d3398b4f9a889421b0d27a69d2 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Fri May 16 22:20:59 2008 -0700 |
| |
| bnx2: Update version to 1.7.6. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 10343cca2bad3f9fdad214385bed0a9aadf4ffd4 |
| Author: Benjamin Li <benli@broadcom.com> |
| Date: Fri May 16 22:20:27 2008 -0700 |
| |
| bnx2: Pre-initialize struct cpu_reg. |
| |
| Instead of assigning values for the struct cpu_reg's at runtime, |
| we already know these values at compile time. Therefore, we can use |
| designated initializers, to initialize these structures and not have |
| to incur this assignment cost at run-time. |
| |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 601d3d18b2c1e4c197aa3cd902fb77bd99c41f10 |
| Author: Benjamin Li <benli@broadcom.com> |
| Date: Fri May 16 22:19:35 2008 -0700 |
| |
| bnx2: Rename RX_COPY_THRESH to BNX2_RX_COPY_THRESH. |
| |
| To make the bnx2 code more consistent, all instances of |
| RX_COPY_THRESH have been changed to BNX2_RX_COPY_THRESH. |
| |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit d89cb6af41559a601e9cfe081d34de07945b0d8b |
| Author: Benjamin Li <benli@broadcom.com> |
| Date: Fri May 16 22:18:57 2008 -0700 |
| |
| bnx2: Remove the rx_offset field from the bnx2 structure. |
| |
| The rx_offset field is set to a constant value and initialized |
| only once. By replacing all references to the rx_offset field, |
| we can eliminate rx_offset from the bnx2 structure. This will |
| save 4 bytes for every bnx2 instance. |
| |
| [Added parentheses to the definition of BNX2_RX_OFFSET, as noted |
| by Ben Hutchings.] |
| |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 6ff2da49c8a68320c2564006c94a492db58de5cd |
| Author: Wendy Xiong <wendyx@us.ibm.com> |
| Date: Fri May 16 22:18:21 2008 -0700 |
| |
| bnx2: Add EEH PCI recovery. |
| |
| Add PCI recovery functions to the driver. The initial pci state is |
| also saved so the the MSI state can be restored during PCI recovery. |
| |
| Signed-off-by: Wendy Xiong <wendyx@us.ibm.com> |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 9a120bc570627342c17befaa6af9b0a556dfda48 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Fri May 16 22:17:45 2008 -0700 |
| |
| bnx2: Allow phy reset to be skipped during chip reset. |
| |
| Andy Gospodarek <andy@greyhouse.net> found that netconsole would |
| panic when resetting bnx2 devices. |
| |
| >From Andy: |
| "The issue is the bnx2_set_link in bnx2_init_nic will print a link-status |
| message before we are fully initialized and ready to start polling. |
| Polling is currently disabled in this state, but since the |
| __LINK_STATE_RX_SCHED is overloaded to not only try and disable polling |
| but also to make the system aware there is something waiting to be |
| polled, we really have to fix this in drivers. |
| |
| The problematic call is the one to netif_rx_complete as it tries to |
| remove an entry from the poll_list when there isn't one." |
| |
| While this netconsole problem should be fixed separately, we really |
| should not reset the PHY when changing ring sizes, MTU, or other |
| similar settings. The PHY reset causes several seconds of unnecessary |
| link disruptions. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Acked-by: Andy Gospodarek <andy@greyhouse.net> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 705d209168681b4408d10fca7257de3343be573d |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Fri May 2 16:58:18 2008 -0700 |
| |
| bnx2: Update version to 1.7.5. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit d25be1d3ecf0b1b95ae29919786372b87b2bfea6 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Fri May 2 16:57:59 2008 -0700 |
| |
| bnx2: Update RV2P firmware for 5709. |
| |
| The new RV2P firmware fixes 2 issues: |
| |
| 1. The jumbo rx buffer page size is now configurable and set to the |
| proper PAGE_SIZE. Before, it was assumed to be always 4K. |
| |
| 2. Driver sometimes would crash when receiving jumbo packets mixed |
| with firmware management packets. This was caused by the old |
| firmware DMA'ing to the wrong address. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 352f76879ebde543817360ce9c18c973d4300f4f |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Fri May 2 16:57:26 2008 -0700 |
| |
| bnx2: Zero out context memory for 5709. |
| |
| We should zero out the context memory for 5709 before each reset. When |
| we resume after suspend for example, the memory may not be zero and the |
| chip may not function correctly. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 15b169cccff1503a88f12f104e5657c65c53ade7 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Fri May 2 16:57:08 2008 -0700 |
| |
| bnx2: Fix register test on 5709. |
| |
| The register BNX2_CTX_STATUS (0x1004) should be skipped on 5709 as it |
| contains reserved bits. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 543a827d7a5600a71855bd6afacac78536c86822 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Fri May 2 16:56:44 2008 -0700 |
| |
| bnx2: Fix remote PHY initial link state. |
| |
| On some remote PHY blade systems, the driver receives no initial link |
| interrupt. As a result, the GMII/MII MAC mode does not get setup properly. |
| To fix this problem, we add an initial poll of the link state after chip |
| reset. |
| |
| With this change, the setting of the initial carrier state in the init |
| code can be eliminated. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 74ecc62d6e595ca64bbef2471787bf53b94e5d3c |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Fri May 2 16:56:16 2008 -0700 |
| |
| bnx2: Refine remote PHY locking. |
| |
| bnx2_set_remote_link() should be called under bp->phy_lock to protect |
| against concurrent polling and interrupt calls. This change is needed |
| by the next patch which will add one initial poll of the remote PHY |
| link status. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit ab59859de1946a098b091308380179e92dc7683b |
| Author: Harvey Harrison <harvey.harrison@gmail.com> |
| Date: Thu May 1 02:47:38 2008 -0700 |
| |
| net: fix returning void-valued expression warnings |
| |
| drivers/net/8390.c:37:2: warning: returning void-valued expression |
| drivers/net/bnx2.c:1635:3: warning: returning void-valued expression |
| drivers/net/xen-netfront.c:1806:2: warning: returning void-valued expression |
| net/ipv4/tcp_hybla.c:105:3: warning: returning void-valued expression |
| net/ipv4/tcp_vegas.c:171:3: warning: returning void-valued expression |
| net/ipv4/tcp_veno.c:123:3: warning: returning void-valued expression |
| net/sysctl_net.c:85:2: warning: returning void-valued expression |
| |
| Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com> |
| Acked-by: Alan Cox <alan@redhat.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit c73b1d1f26d4c9d54b49526edf9ee958ee5b80c1 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Sat Feb 23 19:49:48 2008 -0800 |
| |
| [BNX2]: Update version to 1.7.4. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 38ea3686f6d1110a3787dfd7c5cf7bad1926818b |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Sat Feb 23 19:48:57 2008 -0800 |
| |
| [BNX2]: Disable parallel detect on an HP blade. |
| |
| Because of some board issues, we need to disable parallel detect on |
| an HP blade. Without this patch, the link state can become stuck |
| when it goes into parallel detect mode. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit a2724e2559a3c41ac6182da6e2446d3abf0720a5 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Sat Feb 23 19:47:44 2008 -0800 |
| |
| [BNX2]: More 5706S link down workaround. |
| |
| The previous patches to workaround the 5706S on an HP blade were not |
| sufficient. The link state still does not change properly in some |
| cases. This patch adds polling to make it completely reliable. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit fefa864530766d8da2b8606235387c5173fb2309 |
| Author: Andrew Morton <akpm@linux-foundation.org> |
| Date: Sat Feb 9 23:17:15 2008 -0800 |
| |
| bnx2: section fix |
| |
| gcc-3.4.4 on powerpc: |
| |
| drivers/net/bnx2.c:67: error: version causes a section type conflict |
| |
| Cc: Jeff Garzik <jeff@garzik.org> |
| Cc: Sam Ravnborg <sam@ravnborg.org> |
| Signed-off-by: Andrew Morton <akpm@linux-foundation.org> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit c26736ec171760a41307d775bbf05983ea45ea9e |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Jan 31 17:07:21 2008 -0800 |
| |
| [BNX2]: Fix ASYM PAUSE advertisement for remote PHY. |
| |
| We were checking for the ASYM_PAUSE bit for 1000Base-X twice instead |
| checking for both the 1000Base-X bit and the 10/100/1000Base-T bit. |
| The purpose of the logic is to tell the firmware that ASYM_PAUSE is |
| set on either the Serdes or Copper interface. |
| |
| Problem was discovered by Roel Kluin <12o3l@tiscali.nl> |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 18c0226e3c0a75b0f1d6828c118bcedf59d7ee99 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Tue Jan 29 21:38:52 2008 -0800 |
| |
| [BNX2]: Update version to 1.7.3. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 83e3fc89bb2b7bb27b3a6da5a541c43ce7706f42 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Tue Jan 29 21:37:17 2008 -0800 |
| |
| [BNX2]: Fine-tune flow control on 5709. |
| |
| Make use of the programmable high/low water marks in 5709 for |
| 802.3 flow control. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 62a8313cddbea04f2a28d1d76acf317c2a56cfae |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Tue Jan 29 21:35:40 2008 -0800 |
| |
| [BNX2]: Remove CTX_WR macro. |
| |
| The CTX_WR macro is unnecessary and obfuscates the code. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 2726d6e126c0c16efeba30356d4ae105f1854d1e |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Tue Jan 29 21:35:05 2008 -0800 |
| |
| [BNX2]: Remove REG_WR_IND/REG_RD_IND macros. |
| |
| The REG_WR_IND/REG_RD_IND macros are unnecessary and obfuscate the |
| code. Many callers to these macros read and write shared memory from |
| the bp->shmem_base, so we add 2 similar functions that automatically |
| add the shared memory base. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 6f743ca052575a26439d796249d9e7740b8192d7 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Tue Jan 29 21:34:08 2008 -0800 |
| |
| [BNX2]: Refine tx coalescing setup. |
| |
| Make the tx coalescing setup code independent of the MSIX vector. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit f3014c0cb60ec15a0a2542cbfae7e8d888aa5cf8 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Tue Jan 29 21:33:03 2008 -0800 |
| |
| [BNX2]: Fix 5706 serdes link down bug. |
| |
| 1. Correct the MII expansion serdes control register definition. |
| 2. Check an additional RUDI_INVALID bit when determining 5706S link. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit b491edd5817f1618f4e06d67638739591a714bdb |
| Author: Al Viro <viro@ftp.linux.org.uk> |
| Date: Sat Dec 22 19:44:51 2007 +0000 |
| |
| bnx2 annotations |
| |
| Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> |
| Signed-off-by: Jeff Garzik <jeff@garzik.org> |
| |
| commit 583c28e5645c464b57b4f5d3d53113c06bb0ac5f |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Jan 21 19:51:35 2008 -0800 |
| |
| [BNX2]: Fix driver phy_flags name space. |
| |
| Prefix "bp->phy_flags" names with BNX2_PHY_FLAG_* for consistency. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit f86e82fb547efe05457391df069cce7ab530b181 |
| Author: David S. Miller <davem@davemloft.net> |
| Date: Mon Jan 21 17:15:40 2008 -0800 |
| |
| [BNX2]: Fix driver software flag namespace. |
| |
| Prefix "bnx2->flags" names with BNX2_* for consistency. |
| |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit feebb33183cee0fdf8e8a9c4f0da3231f0cfa2bb |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Jan 21 17:07:29 2008 -0800 |
| |
| [BNX2] Update version to 1.7.2. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit b2fadeae1334008c1bb4d87bc507141cb7aaf0e8 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Jan 21 17:07:06 2008 -0800 |
| |
| [BNX2]: Add link-down workaround on 5706 serdes. |
| |
| In some blade systems using the 5706 serdes, the hardware sometimes |
| does not properly generate link down interrupts. We add a workaround |
| in the driver's timer to force a link-down when some PHY registers |
| report loss of SYNC. |
| |
| The parallel detect logic is cleaned up slightly to better integrate |
| the workaround. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 1097f5e92107ca3950fabf5e1d724faa80c91e7f |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Jan 21 17:06:41 2008 -0800 |
| |
| [BNX2]: Fix minor bug in bnx2_has_work(). |
| |
| It is more correct to get the status block from the bnx2_napi struct |
| instead of the bnx2 struct. It happens that they are the same in this |
| case because we are using the first MSIX vector. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 2dd201d7b735f252df1a915a3f2e6a71910a3d87 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Jan 21 17:06:09 2008 -0800 |
| |
| [BNX2]: Disable jumbo rx paging on 5709 Ax. |
| |
| The chip has problem running in this mode and needs to be disabled. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 79ea13ce07c951bb4d95471e7300baa0f1be9e78 |
| Author: Al Viro <viro@zeniv.linux.org.uk> |
| Date: Thu Jan 24 02:06:46 2008 -0800 |
| |
| NULL noise in drivers/net |
| |
| Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> |
| Signed-off-by: Jeff Garzik <jeff@garzik.org> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 2ba582b782071c038b312ea330d3090a39f3c66a |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Fri Dec 21 15:04:49 2007 -0800 |
| |
| [BNX2]: Fix compiler warning. |
| |
| Change bnx2_init_napi() to void. |
| |
| Warning was noted by DaveM. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit f13561cb2f97794df43f83d1ee808e46eb5d2405 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Dec 20 20:02:14 2007 -0800 |
| |
| [BNX2]: Update version to 1.7.1. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 57851d84533655db6948e25c54df19ecb673bf2f |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Dec 20 20:01:44 2007 -0800 |
| |
| [BNX2]: Enable new tx ring. |
| |
| Enable new tx ring and add new MSIX handler and NAPI poll function |
| for the new tx ring. Enable MSIX when the hardware supports it. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit c76c04758b8fd24a1c38b19742e3437e954e945b |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Dec 20 20:01:19 2007 -0800 |
| |
| [BNX2]: Add support for a new tx ring. |
| |
| To separate TX IRQs into a different MSIX vector, we need to |
| support a new tx ring. The original tx ring will still be used |
| when not using MSIX. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit b4b360420dcbbffb15f5749fc78225f4113cc7e2 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Dec 20 19:59:30 2007 -0800 |
| |
| [BNX2]: Support multiple MSIX IRQs. |
| |
| Change bnx2_napi struct into an array and add code to manage multiple |
| IRQs. MSIX hardware structures and new registers are also added. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit a1f6019090f2c075b41624c32a825775f6865577 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Dec 20 19:57:19 2007 -0800 |
| |
| [BNX2]: Move rx indexes into bnx2_napi struct. |
| |
| Rx related fields used in NAPI polling are moved from the main |
| bnx2 struct to the bnx2_napi struct. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit a550c99bc39caf292ed214c0c9c2c4d0b9c95161 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Dec 20 19:56:59 2007 -0800 |
| |
| [BNX2]: Move tx indexes into bnx2_napi struct. |
| |
| Tx related fields used in NAPI polling are moved from the main |
| bnx2 struct to the bnx2_napi struct. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 35efa7c1f4aa868d4a948a9069f20ccef1b3b28d |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Dec 20 19:56:37 2007 -0800 |
| |
| [BNX2]: Introduce new bnx2_napi structure. |
| |
| Introduce a bnx2_napi structure that will hold a napi_struct and |
| other fields to handle NAPI polling for the napi_struct. Various tx |
| and rx indexes and status block pointers will be moved from the main |
| bnx2 structure to this bnx2_napi structure. |
| |
| Most NAPI path functions are modified to be passed this bnx2_napi |
| struct pointer. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 6d866ffc69b0c3e584782f212a3f783708d31e9a |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Dec 20 19:56:09 2007 -0800 |
| |
| [BNX2]: Restructure IRQ datastructures. |
| |
| Add a table to keep track of multiple IRQs and restructure the IRQ |
| request and free functions so that they can be easily expanded to |
| handle multiple IRQs. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit ead7270b993bed77cb45a5bc786a879679e2b16a |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Dec 20 19:55:39 2007 -0800 |
| |
| [BNX2]: Add function to fetch hardware tx index. |
| |
| This makes the code cleaner and easier to support different tx rings. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit a0d142c628279c472a3e1ae823e4d30b242f4305 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Wed Dec 12 11:20:22 2007 -0800 |
| |
| [BNX2]: Update version to 1.6.9. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 84eaa1877137def7fe01340f2abbad510aa890f5 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Wed Dec 12 11:19:57 2007 -0800 |
| |
| [BNX2]: Enable S/G for jumbo RX. |
| |
| If the MTU requires more than 1 page for the SKB, enable the page ring |
| and calculate the size of the page ring. This will guarantee order-0 |
| allocation regardless of the MTU size. |
| |
| Fixup loopback test packet size so that we don't deal with the pages |
| during loopback test. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 1db82f2aec0766edd4a4f8d86283e91559350de7 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Wed Dec 12 11:19:35 2007 -0800 |
| |
| [BNX2]: Add fast path code to handle RX pages. |
| |
| Add function to reuse a page in case of allocation or other errors. |
| Add code to construct the completed SKB with the additional data in |
| the pages. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 47bf4246a357d36762c9e7c282d7307152eb92e1 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Wed Dec 12 11:19:12 2007 -0800 |
| |
| [BNX2]: Add init. code to handle RX pages. |
| |
| Add new fields to keep track of the pages and the page rings. |
| Add functions to allocate and free pages. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 110d0ef9907b519fed1607c73b3ae883f270561e |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Wed Dec 12 11:18:34 2007 -0800 |
| |
| [BNX2]: Update firmware to support S/G RX buffers. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 5d5d001504b4a415a008f7ac1adb9fbec1637811 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Wed Dec 12 11:17:43 2007 -0800 |
| |
| [BNX2]: Restructure RX ring init. code. |
| |
| Factor out the common functions that will be used to initialize the |
| normal RX rings and the page rings. |
| |
| Change the copybreak constant RX_COPY_THRESH to 128. This same |
| constant will be used for the max. size of the linear SKB when pages |
| are used. Copybreak will be turned off when pages are used. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 85833c6269016d009ada17b04ac288e2ab9c37ea |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Wed Dec 12 11:17:01 2007 -0800 |
| |
| [BNX2]: Restructure RX fast path handling. |
| |
| Add a new function to handle new SKB allocation and to prepare the |
| completed SKB. This makes it easier to add support for non-linear |
| SKB. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit e343d55c0a624c5bb88cd6821a17586474f20271 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Wed Dec 12 11:16:19 2007 -0800 |
| |
| [BNX2]: Add ring constants. |
| |
| Define the various ring constants to make the code cleaner. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit bbe42974215eb7a483c344fca50652b3b9dd1ae4 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Dec 10 17:18:51 2007 -0800 |
| |
| [BNX2]: Update version to 1.6.9. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit c09c262783dcac62352293912d82b794063cefc3 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Dec 10 17:18:37 2007 -0800 |
| |
| [BNX2]: Fix RX packet rot. |
| |
| Packets can be left in the RX ring if the NAPI budget is reached. |
| This is caused by storing the latest rx index at the beginning of |
| bnx2_rx_int(). We may not process all the work up to this index |
| if the budget is reached and so some packets in the RX ring may rot |
| when we later check for more work using this stored rx index. |
| |
| The fix is to not store this latest hw index and only store the |
| processed rx index. We use a new function bnx2_get_hw_rx_cons() |
| to fetch the latest hw rx index. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit fb0c18bd1f61086fcfac90017b59891a356cc288 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Dec 10 17:18:23 2007 -0800 |
| |
| [BNX2]: Add PHY_DIS_EARLY_DAC workaround. |
| |
| 5709 Ax and Bx chips all need this workaround. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 1977f032722c27ee3730284582fd3991ad9ac81b |
| Author: Jiri Slaby <jirislaby@gmail.com> |
| Date: Thu Oct 18 23:40:25 2007 -0700 |
| |
| remove asm/bitops.h includes |
| |
| remove asm/bitops.h includes |
| |
| including asm/bitops directly may cause compile errors. don't include it |
| and include linux/bitops instead. next patch will deny including asm header |
| directly. |
| |
| Cc: Adrian Bunk <bunk@kernel.org> |
| Signed-off-by: Jiri Slaby <jirislaby@gmail.com> |
| Signed-off-by: Andrew Morton <akpm@linux-foundation.org> |
| Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> |
| |
| commit a57793651ff1a09ef18bade998632435ca2dc13f |
| Merge: 9cf52b2 52f095e |
| Author: Linus Torvalds <torvalds@woody.linux-foundation.org> |
| Date: Thu Oct 18 14:40:30 2007 -0700 |
| |
| Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 |
| |
| * 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: (51 commits) |
| [IPV6]: Fix again the fl6_sock_lookup() fixed locking |
| [NETFILTER]: nf_conntrack_tcp: fix connection reopening fix |
| [IPV6]: Fix race in ipv6_flowlabel_opt() when inserting two labels |
| [IPV6]: Lost locking in fl6_sock_lookup |
| [IPV6]: Lost locking when inserting a flowlabel in ipv6_fl_list |
| [NETFILTER]: xt_sctp: fix mistake to pass a pointer where array is required |
| [NET]: Fix OOPS due to missing check in dev_parse_header(). |
| [TCP]: Remove lost_retrans zero seqno special cases |
| [NET]: fix carrier-on bug? |
| [NET]: Fix uninitialised variable in ip_frag_reasm() |
| [IPSEC]: Rename mode to outer_mode and add inner_mode |
| [IPSEC]: Disallow combinations of RO and AH/ESP/IPCOMP |
| [IPSEC]: Use the top IPv4 route's peer instead of the bottom |
| [IPSEC]: Store afinfo pointer in xfrm_mode |
| [IPSEC]: Add missing BEET checks |
| [IPSEC]: Move type and mode map into xfrm_state.c |
| [IPSEC]: Fix length check in xfrm_parse_spi |
| [IPSEC]: Move ip_summed zapping out of xfrm6_rcv_spi |
| [IPSEC]: Get nexthdr from caller in xfrm6_rcv_spi |
| [IPSEC]: Move tunnel parsing for IPv4 out of xfrm4_input |
| ... |
| |
| commit 898eb71cb17644964c5895fb190e79e3d0c49679 |
| Author: Joe Perches <joe@perches.com> |
| Date: Thu Oct 18 03:06:30 2007 -0700 |
| |
| Add missing newlines to some uses of dev_<level> messages |
| |
| Found these while looking at printk uses. |
| |
| Add missing newlines to dev_<level> uses |
| Add missing KERN_<level> prefixes to multiline dev_<level>s |
| Fixed a wierd->weird spelling typo |
| Added a newline to a printk |
| |
| Signed-off-by: Joe Perches <joe@perches.com> |
| Cc: "Luck, Tony" <tony.luck@intel.com> |
| Cc: Jens Axboe <jens.axboe@oracle.com> |
| Cc: Mark M. Hoffman <mhoffman@lightlink.com> |
| Cc: Roland Dreier <rolandd@cisco.com> |
| Cc: Tilman Schmidt <tilman@imap.cc> |
| Cc: David Woodhouse <dwmw2@infradead.org> |
| Cc: Jeff Garzik <jeff@garzik.org> |
| Cc: Stephen Hemminger <shemminger@linux-foundation.org> |
| Cc: Greg KH <greg@kroah.com> |
| Cc: Jeremy Fitzhardinge <jeremy@goop.org> |
| Cc: Geert Uytterhoeven <geert@linux-m68k.org> |
| Cc: Alessandro Zummo <a.zummo@towertech.it> |
| Cc: David Brownell <david-b@pacbell.net> |
| Cc: James Smart <James.Smart@Emulex.Com> |
| Cc: Andrew Vasquez <andrew.vasquez@qlogic.com> |
| Cc: "Antonino A. Daplas" <adaplas@pol.net> |
| Cc: Evgeniy Polyakov <johnpol@2ka.mipt.ru> |
| Cc: Russell King <rmk@arm.linux.org.uk> |
| Cc: Jaroslav Kysela <perex@suse.cz> |
| Cc: Takashi Iwai <tiwai@suse.de> |
| Signed-off-by: Andrew Morton <akpm@linux-foundation.org> |
| Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> |
| |
| commit 0c2bef49764d0a5a404ae0bd65217f7dadbd1821 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Wed Oct 17 19:26:28 2007 -0700 |
| |
| [BNX2]: Update version to 1.6.8. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 239cd34327d12e84f5528caa7b11c9e651372c39 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Wed Oct 17 19:26:15 2007 -0700 |
| |
| [BNX2]: Fix Serdes WoL bug. |
| |
| The bug is in the code in bnx2_set_power_state() that assumes copper |
| devices when setting up WoL. This is no longer true after adding WoL |
| support for Serdes devices. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 6dee6421581d3484e9a01d403dbf158161942db6 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Fri Oct 12 01:40:38 2007 -0700 |
| |
| [BNX2]: Refine napi poll loop. |
| |
| Need to read and store sblk->status_idx before checking for more work. |
| The status idx is later written back to the hardware when enabling |
| interrupts to acknowledge how much work has been processed. If the |
| order is reversed, we can end up acknowledging work we haven't |
| processed. |
| |
| When completing bnx2_poll(), we should always break out of the while |
| loop and return work_done instead of returning 0. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 6f535763165331bb91277d7519b507fed22034e5 |
| Author: David S. Miller <davem@sunset.davemloft.net> |
| Date: Thu Oct 11 18:08:29 2007 -0700 |
| |
| [NET]: Fix NAPI completion handling in some drivers. |
| |
| In order for the list handling in net_rx_action() to be |
| correct, drivers must follow certain rules as stated by |
| this comment in net_rx_action(): |
| |
| /* Drivers must not modify the NAPI state if they |
| * consume the entire weight. In such cases this code |
| * still "owns" the NAPI instance and therefore can |
| * move the instance around on the list at-will. |
| */ |
| |
| A few drivers do not do this because they mix the budget checks |
| with reading hardware state, resulting in crashes like the one |
| reported by takano@axe-inc.co.jp. |
| |
| BNX2 and TG3 are taken care of here, SKY2 fix is from Stephen |
| Hemminger. |
| |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 32d1316b91424423d7b44944f18cdaca268f3db2 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Wed Oct 10 16:17:11 2007 -0700 |
| |
| [BNX2]: Update version to 1.6.7. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 846f5c622fe033520c775cc2c40c06f3e2adea85 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Wed Oct 10 16:16:51 2007 -0700 |
| |
| [BNX2]: Fix default WoL setting. |
| |
| Change the default WoL setting to match the NVRAM's setting. It |
| always defaulted to WoL disabled before and caused a lot of confusion |
| for users. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 489310a440e606512b1fd79d8562d1da6b715448 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Wed Oct 10 16:16:31 2007 -0700 |
| |
| [BNX2]: Fix remote PHY media detection problems. |
| |
| The remote PHY media type and link status can change between |
| ->probe() and ->open(). For correct operation, we need to get the |
| new status again during ->open(). |
| |
| The ethtool link test and loopback test are also fixed to work with |
| remote PHY. PHY loopback is simply skipped when remote PHY is |
| present. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit f74347d7ac0aa175b2bbd85eb58a13fbe80a3785 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Tue Oct 2 16:28:09 2007 -0700 |
| |
| [BNX2]: Update version to 1.6.6. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit ea1f8d5c3a593a791463c2efc07e5dfebd056500 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Tue Oct 2 16:27:35 2007 -0700 |
| |
| [BNX2]: Optimize firmware loading. |
| |
| This is a follow up to the patches from Denys Vlasenkos |
| <vda.linux@googlemail.com> to further optimize firmware loading. |
| |
| 1. In bnx2_init_cpus(), we allocate memory for decompression once |
| and use it repeatedly instead of doing this for every firmware image. |
| |
| 2. We eliminate the BSS and SBSS firmware sections in bnx2_fw*.h since |
| these are always zeros. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 8336793baf962163c9fab5a3f39614295fdbab27 |
| Author: Denys Vlasenko <vda.linux@googlemail.com> |
| Date: Sun Sep 30 17:56:49 2007 -0700 |
| |
| [ZLIB]: Move bnx2 driver gzip unpacker into zlib. |
| |
| Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com> |
| Acked-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit b3448b0bde5f1a858397fe791f76632e978a1dc8 |
| Author: Denys Vlasenko <vda.linux@googlemail.com> |
| Date: Sun Sep 30 17:55:51 2007 -0700 |
| |
| [BNX2]: factor out gzip unpacker |
| |
| This patch modifies gzip unpacking code in bnx2 driver so that |
| it does not depend on bnx2 internals. I will move this code |
| out of the driver and into zlib in follow-on patch. |
| |
| It can be useful in other drivers which need to store firmwares |
| or any other relatively big binary blobs - fonts, cursor bitmaps, |
| whatever. |
| |
| Patch is run tested by Michael Chan (driver author). |
| |
| Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com> |
| Acked-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit b9f2c0440d806e01968c3ed4def930a43be248ad |
| Author: Jeff Garzik <jeff@garzik.org> |
| Date: Wed Oct 3 18:07:32 2007 -0700 |
| |
| [netdrvr] Stop using legacy hooks ->self_test_count, ->get_stats_count |
| |
| These have been superceded by the new ->get_sset_count() hook. |
| |
| Signed-off-by: Jeff Garzik <jeff@garzik.org> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 0795af5729b18218767fab27c44b1384f72dc9ad |
| Author: Joe Perches <joe@perches.com> |
| Date: Wed Oct 3 17:59:30 2007 -0700 |
| |
| [NET]: Introduce and use print_mac() and DECLARE_MAC_BUF() |
| |
| This is nicer than the MAC_FMT stuff. |
| |
| Signed-off-by: Joe Perches <joe@perches.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 88d3aafdae5c5e1d2dd9489a5c8a24e29d335f2e |
| Author: Jeff Garzik <jeff@garzik.org> |
| Date: Sat Sep 15 14:41:06 2007 -0700 |
| |
| [ETHTOOL] Provide default behaviors for a few ethtool sub-ioctls |
| |
| For the operations |
| get-tx-csum |
| get-sg |
| get-tso |
| get-ufo |
| the default ethtool_op_xxx behavior is fine for all drivers, so we |
| permit op==NULL to imply the default behavior. |
| |
| This provides a more uniform behavior across all drivers, eliminating |
| ethtool(8) "ioctl not supported" errors on older drivers that had |
| not been updated for the latest sub-ioctls. |
| |
| The ethtool_op_xxx() functions are left exported, in case anyone |
| wishes to call them directly from a driver-private implementation -- |
| a not-uncommon case. Should an ethtool_op_xxx() helper remain unused |
| for a while, except by net/core/ethtool.c, we can un-export it at a |
| later date. |
| |
| [ Resolved conflicts with set/get value ethtool patch... -DaveM ] |
| |
| Signed-off-by: Jeff Garzik <jeff@garzik.org> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit ff8ac60948ba819b89e9c87083e8050fc2f89999 |
| Author: Denis Cheng <crquan@gmail.com> |
| Date: Sun Sep 2 18:30:18 2007 +0800 |
| |
| drivers/net/: all drivers/net/ cleanup with ARRAY_SIZE |
| |
| Signed-off-by: Denis Cheng <crquan@gmail.com> |
| Signed-off-by: Jeff Garzik <jeff@garzik.org> |
| |
| commit 10d024c1b2fd58af8362670d7d6e5ae52fc33353 |
| Author: Ralf Baechle <ralf@linux-mips.org> |
| Date: Mon Sep 17 13:11:17 2007 -0700 |
| |
| [NET]: Nuke SET_MODULE_OWNER macro. |
| |
| It's been a useless no-op for long enough in 2.6 so I figured it's time to |
| remove it. The number of people that could object because they're |
| maintaining unified 2.4 and 2.6 drivers is probably rather small. |
| |
| [ Handled drivers added by netdev tree and some missed IRDA cases... -DaveM ] |
| |
| Signed-off-by: Ralf Baechle <ralf@linux-mips.org> |
| Signed-off-by: Jeff Garzik <jeff@garzik.org> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit bea3348eef27e6044b6161fd04c3152215f96411 |
| Author: Stephen Hemminger <shemminger@linux-foundation.org> |
| Date: Wed Oct 3 16:41:36 2007 -0700 |
| |
| [NET]: Make NAPI polling independent of struct net_device objects. |
| |
| Several devices have multiple independant RX queues per net |
| device, and some have a single interrupt doorbell for several |
| queues. |
| |
| In either case, it's easier to support layouts like that if the |
| structure representing the poll is independant from the net |
| device itself. |
| |
| The signature of the ->poll() call back goes from: |
| |
| int foo_poll(struct net_device *dev, int *budget) |
| |
| to |
| |
| int foo_poll(struct napi_struct *napi, int budget) |
| |
| The caller is returned the number of RX packets processed (or |
| the number of "NAPI credits" consumed if you want to get |
| abstract). The callee no longer messes around bumping |
| dev->quota, *budget, etc. because that is all handled in the |
| caller upon return. |
| |
| The napi_struct is to be embedded in the device driver private data |
| structures. |
| |
| Furthermore, it is the driver's responsibility to disable all NAPI |
| instances in it's ->stop() device close handler. Since the |
| napi_struct is privatized into the driver's private data structures, |
| only the driver knows how to get at all of the napi_struct instances |
| it may have per-device. |
| |
| With lots of help and suggestions from Rusty Russell, Roland Dreier, |
| Michael Chan, Jeff Garzik, and Jamal Hadi Salim. |
| |
| Bug fixes from Thomas Graf, Roland Dreier, Peter Zijlstra, |
| Joseph Fannin, Scott Wood, Hans J. Koch, and Michael Chan. |
| |
| [ Ported to current tree and all drivers converted. Integrated |
| Stephen's follow-on kerneldoc additions, and restored poll_list |
| handling to the old style to fix mutual exclusion issues. -DaveM ] |
| |
| Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit cd46171c7297739dc7e46d885862e98023eab9c7 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Sep 20 11:04:58 2007 -0700 |
| |
| [BNX2]: Add PHY workaround for 5709 A1. |
| |
| Add the DIS_EARLY_DAC PHY workaround for 5709 A1. Without it, link |
| sometimes does not come up. |
| |
| Update version to 1.6.5. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 594a9dfae7113d9601b2c353754c40d0b7e00a03 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Tue Aug 28 15:39:42 2007 -0700 |
| |
| [BNX2]: Add write posting comment. |
| |
| Add comment to explain why we cannot read back after chip reset |
| before delaying. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 8e54588161577435d64dfb5cfdf40a73a5705ea0 |
| Author: Arjan van de Ven <arjan@linux.intel.com> |
| Date: Tue Aug 28 14:34:43 2007 -0700 |
| |
| [BNX2]: Use msleep(). |
| |
| bnx2.c (incorrectly) sets current->state directly to |
| TASK_UNINTERRUPTIBLE, without going through set_task_state(). However |
| all the code wants to do is an msleep so just make it do that instead... |
| |
| Signed-off-by: Arjan van de Ven <arjan@linux.intel.com> |
| Acked-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 6caebb02294b503c5eced4a3f90e6166548ce879 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Fri Aug 3 20:57:25 2007 -0700 |
| |
| [BNX2]: Fix suspend/resume problem. |
| |
| The device would not resume properly if it was shutdown before the system |
| was suspended. In such scenario where the netif_running state is 0, |
| bnx2_suspend() would not save the PCI state and so the memory enable bit |
| and bus master enable bit would be lost. |
| |
| We fix this by always saving and restoring the PCI state in |
| bnx2_suspend() and bnx2_resume() regardless of netif_running() state. |
| |
| Update version to 1.6.4. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 313674afa8fdced2fe79f50f38e1c387b63d8790 |
| Author: Matthew Wilcox <matthew@wil.cx> |
| Date: Tue Jul 31 14:00:29 2007 -0700 |
| |
| [NET]: ethtool_perm_addr only has one implementation |
| |
| All drivers implement ethtool get_perm_addr the same way -- by calling |
| the generic function. So we can inline the generic function into the |
| caller and avoid going through the drivers. |
| |
| Signed-off-by: Matthew Wilcox <matthew@wil.cx> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit dd121c4bbf60336773485e91b5cfc57596b45151 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Jul 16 18:27:32 2007 -0700 |
| |
| [BNX2]: Update version to 1.6.3. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 7ea6920ee9480118e2bd2d712d667820703f55cd |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Jul 16 18:27:10 2007 -0700 |
| |
| [BNX2]: Use constants for stats ticks. |
| |
| Change all stats related magic numbers to constants. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit c2d3db8c7cbb94e77461627085b85d74dc64d716 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Jul 16 18:26:43 2007 -0700 |
| |
| [BNX2]: Add delay before reading firmware version. |
| |
| The management firmware may still be loading during bnx2_init_one() |
| because of the D3hot -> D0 transition and the firmware version may |
| not be available without waiting a bit. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit e30372c91273bb5777597362c74e63f96d9cd434 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Jul 16 18:26:23 2007 -0700 |
| |
| [BNX2]: Support NVRAM on 5709. |
| |
| The NVRAM interface is slightly modified on the 5709. To properly |
| support it, we need to change the buffered flag in the flash data |
| structure into multiple flags to indicate buffered operation, address |
| translation, and the use of write enable (WREN). The 5709 flash |
| only requires the buffered operation bit to be set. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 6460d948f3ebf7d5040328a60a0ab7221f69945b |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Sat Jul 14 19:07:52 2007 -0700 |
| |
| [NET]: Add ethtool support for NETIF_F_IPV6_CSUM devices. |
| |
| Add ethtool utility function to set or clear IPV6_CSUM feature flag. |
| Modify tg3.c and bnx2.c to use this function when doing ethtool -K |
| to change tx checksum. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit de081fa517fed81b0369f2e90ca87c30182879c8 |
| Author: Linus Torvalds <torvalds@woody.linux-foundation.org> |
| Date: Thu Jul 12 16:40:08 2007 -0700 |
| |
| Revert "[BNX2]: Seems to not need net/tcp.h" |
| |
| This reverts commit 963bd949b12158d9b5380b718b31c4b33372ed73. The |
| driver _does_ need the networking header files; |
| |
| CC [M] drivers/net/bnx2.o |
| drivers/net/bnx2.c: In function 'bnx2_start_xmit': |
| drivers/net/bnx2.c:5177: warning: implicit declaration of function 'tcp_optlen' |
| drivers/net/bnx2.c:5181: error: invalid application of 'sizeof' to incomplete type 'struct ipv6hdr' |
| drivers/net/bnx2.c:5202: error: invalid application of 'sizeof' to incomplete type 'struct tcphdr' |
| drivers/net/bnx2.c:5207: warning: implicit declaration of function 'tcp_hdr' |
| drivers/net/bnx2.c:5207: error: invalid type argument of '->' |
| make[2]: *** [drivers/net/bnx2.o] Error 1 |
| make[1]: *** [drivers/net] Error 2 |
| make: *** [drivers] Error 2 |
| |
| Cc: Ilpo Jävinen <ilpo.jarvinen@helsinki.fi> |
| Cc: David Miller <davem@davemloft.net> |
| Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> |
| |
| commit 21ba0f88ae56da82a3a15fe54d729208b64c4f4b |
| Merge: dc690d8 36e2359 |
| Author: Linus Torvalds <torvalds@woody.linux-foundation.org> |
| Date: Thu Jul 12 13:40:57 2007 -0700 |
| |
| Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6 |
| |
| * master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6: (34 commits) |
| PCI: Only build PCI syscalls on architectures that want them |
| PCI: limit pci_get_bus_and_slot to domain 0 |
| PCI: hotplug: acpiphp: avoid acpiphp "cannot get bridge info" PCI hotplug failure |
| PCI: hotplug: acpiphp: remove hot plug parameter write to PCI host bridge |
| PCI: hotplug: acpiphp: fix slot poweroff problem on systems without _PS3 |
| PCI: hotplug: pciehp: wait for 1 second after power off slot |
| PCI: pci_set_power_state(): check for PM capabilities earlier |
| PCI: cpci_hotplug: Convert to use the kthread API |
| PCI: add pci_try_set_mwi |
| PCI: pcie: remove SPIN_LOCK_UNLOCKED |
| PCI: ROUND_UP macro cleanup in drivers/pci |
| PCI: remove pci_dac_dma_... APIs |
| PCI: pci-x-pci-express-read-control-interfaces cleanups |
| PCI: Fix typo in include/linux/pci.h |
| PCI: pci_ids, remove double or more empty lines |
| PCI: pci_ids, add atheros and 3com_2 vendors |
| PCI: pci_ids, reorder some entries |
| PCI: i386: traps, change VENDOR to DEVICE |
| PCI: ATM: lanai, change VENDOR to DEVICE |
| PCI: Change all drivers to use pci_device->revision |
| ... |
| |
| commit 44c10138fd4bbc4b6d6bff0873c24902f2a9da65 |
| Author: Auke Kok <auke-jan.h.kok@intel.com> |
| Date: Fri Jun 8 15:46:36 2007 -0700 |
| |
| PCI: Change all drivers to use pci_device->revision |
| |
| Instead of all drivers reading pci config space to get the revision |
| ID, they can now use the pci_device->revision member. |
| |
| This exposes some issues where drivers where reading a word or a dword |
| for the revision number, and adding useless error-handling around the |
| read. Some drivers even just read it for no purpose of all. |
| |
| In devices where the revision ID is being copied over and used in what |
| appears to be the equivalent of hotpath, I have left the copy code |
| and the cached copy as not to influence the driver's performance. |
| |
| Compile tested with make all{yes,mod}config on x86_64 and i386. |
| |
| Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com> |
| Acked-by: Dave Jones <davej@redhat.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| commit 963bd949b12158d9b5380b718b31c4b33372ed73 |
| Author: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi> |
| Date: Sat Jul 7 22:54:56 2007 -0700 |
| |
| [BNX2]: Seems to not need net/tcp.h |
| |
| Got bored to always recompile it for no reason. |
| |
| Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 3a334b34b62d94be0275e5c76fa153cf7fd42770 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Sat Jul 7 22:52:37 2007 -0700 |
| |
| [BNX2]: Update version to 1.6.2. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 58fc2ea4057511f84deaa182b1a3612327ecbf2d |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Sat Jul 7 22:52:02 2007 -0700 |
| |
| [BNX2]: Print management firmware version. |
| |
| Add management firmware version for ethtool -i. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit df149d70e1f34ec4995c8a703dbde38071ff4a05 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Sat Jul 7 22:51:36 2007 -0700 |
| |
| [BNX2]: Enhance the heartbeat. |
| |
| In addition to the periodic heartbeat, we're adding a heartbeat |
| request interrupt when the heartbeat is late. This is needed during |
| netpoll where the timer is not available. -rt kernels will also |
| benefit since the timer is not as accurate. |
| |
| [ We discussed this patch last time and we decided that the -rt |
| kernel problem alone did not justify this patch. I think the |
| netpoll problem makes this patch necessary. ] |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit b8a7ce7bedb2134acb731e08e588ad92087a40ff |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Sat Jul 7 22:51:03 2007 -0700 |
| |
| [BNX2]: Reduce spurious INTA interrupts. |
| |
| Spurious interrupts are often encountered especially on systems |
| using the 8259 PIC mode. This is because the I/O write to deassert |
| the interrupt is posted and won't get to the chip immediately. As |
| a result, the IRQ may remain asserted after the IRQ handler exits, |
| causing spurious interrupts. |
| |
| Add read back to flush the I/O write to deassert the IRQ immediately. |
| We also store the last_status_idx immediately in the IRQ handler to |
| help detect whether the interrupt is ours or not when the IRQ is |
| entered again before ->poll gets called. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 9b1084b8f99a6b5e97c0c9bc1b4455db4fa51a07 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Sat Jul 7 22:50:37 2007 -0700 |
| |
| [BNX2]: Modify link up message. |
| |
| Modify the link up dmesg to report remote copper or Serdes link. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 7b6b83474cb9bdd07dadfb7497a29c3005ad9d1d |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Sat Jul 7 22:50:15 2007 -0700 |
| |
| [BNX2]: Add ethtool support for remote PHY. |
| |
| Modify the driver's ethtool_ops->get_settings and set_settings |
| functions to support remote PHY. Users control the remote copper |
| PHY settings by specifying link settings for the tp (twisted pair) |
| port. |
| |
| The nway_reset function is also modified to support remote PHY. |
| mii-tool operations are not supported on remote PHY and we will |
| return -EOPNOTSUPP. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 0d8a6571051d23c214d7a316976138a6fd8bda1c |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Sat Jul 7 22:49:43 2007 -0700 |
| |
| [BNX2]: Add support for remote PHY. |
| |
| In blade servers, the Serdes PHY in 5708S can control the remote |
| copper PHY through autonegotiation on the backplane. This patch adds |
| the logic to interface with the firmware to control the remote PHY |
| autonegotiation and to handle remote PHY link events. |
| |
| When remote PHY is present, the 5708S Serdes device practically |
| becomes a copper device with full control over the 1000Base-T |
| link settings. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit deaf391b4cc9d9f8e2b2793ebd56da776b54197a |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Sat Jul 7 22:48:00 2007 -0700 |
| |
| [BNX2]: Add bnx2_set_default_link(). |
| |
| Put existing code to setup the default link settings in this new |
| function. This makes it easier to support the remote PHY feature in |
| the next few patches. |
| |
| Also change ETHTOOL_ALL_FIBRE_SPEED to include 2500Mbps if supported. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit d212f87b068c9d72065ef579d85b5ee6b8b59381 |
| Author: Stephen Hemminger <shemminger@linux-foundation.org> |
| Date: Wed Jun 27 00:47:37 2007 -0700 |
| |
| [NET]: IPV6 checksum offloading in network devices |
| |
| The existing model for checksum offload does not correctly handle |
| devices that can offload IPV4 and IPV6 only. The NETIF_F_HW_CSUM flag |
| implies device can do any arbitrary protocol. |
| |
| This patch: |
| * adds NETIF_F_IPV6_CSUM for those devices |
| * fixes bnx2 and tg3 devices that need it |
| * add NETIF_F_IPV6_CSUM to ipv6 output (incl GSO) |
| * fixes assumptions about NETIF_F_ALL_CSUM in nat |
| * adjusts bridge union of checksumming computation |
| |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit b91b9fd11210a7023f37eaee1e977ad9ce532095 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Jun 4 21:24:42 2007 -0700 |
| |
| [BNX2]: Update version and reldate. |
| |
| Update to version 1.5.11. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Acked-by: Jeff Garzik <jeff@garzik.org> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 02537b0676930b1bd9aff2139e0e645c79986931 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Jun 4 21:24:07 2007 -0700 |
| |
| [BNX2]: Fix occasional counter corruption on 5708. |
| |
| The statistics block DMA on 5708 can be messed up occasionally on the |
| average of about once per hour. If the user is reading the counters |
| within one second after the corruption, the counters will be all |
| messed up. One second later, the counters will be ok again until the |
| next corruption occurs. |
| |
| The workaround is to disable the periodic statistics DMA. Instead, |
| we manually trigger the DMA once a second in bnx2_timer(). This |
| manual trigger of the DMA avoids the problem. |
| |
| As a consequence, we can only allow 0 or 1 second settings for |
| ethtool -C statistics block. |
| |
| Thanks to Jean-Daniel Pauget <jd@disjunkt.com> and |
| CaT <cat@zip.com.au> for reporting this rare problem. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Acked-by: Jeff Garzik <jeff@garzik.org> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 0aa38df7cd5b6c5b89f5146f4a2286434bc4a8f3 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Jun 4 21:23:06 2007 -0700 |
| |
| [BNX2]: Enable DMA on 5709. |
| |
| Add missing code to enable DMA on 5709 A1. The bit is a no-op on A0 |
| and therefore can be set on all 5709 chips. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Acked-by: Jeff Garzik <jeff@garzik.org> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 641bdcd56c8bb2110a31da846b2752b11a644050 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Jun 4 21:22:24 2007 -0700 |
| |
| [BNX2]: Add missing wait in bnx2_init_5709_context(). |
| |
| For correctness, we need to wait for the MEM_INIT bit to be cleared |
| in the BNX2_CTX_COMMAND register before proceeding. |
| |
| [Added return -EBUSY when the MEM_INIT bit doesn't clear, suggested |
| by Jeff Garzik.] |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Acked-by: Jeff Garzik <jeff@garzik.org> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 7947b20ebae785ba25154aa1a9a00a98a22de75a |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Jun 4 21:17:10 2007 -0700 |
| |
| [BNX2]: Fix netdev watchdog on 5708. |
| |
| There's a bug in the driver that only initializes half of the context |
| memory on the 5708. Surprisingly, this works most of the time except |
| for some occasional netdev watchdogs when sending a lot of 64-byte |
| packets. The fix is to add the missing code to initialize the 2nd |
| halves of all context memory. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Acked-by: Jeff Garzik <jeff@garzik.org> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 25805dcf9d83098cf5492117ad2669cd14cc9b24 |
| Author: Stephen Hemminger <shemminger@linux-foundation.org> |
| Date: Fri Jun 1 09:44:01 2007 -0700 |
| |
| network drivers: eliminate unneeded kill_vid code |
| |
| Many drivers had code that did kill_vid, but they weren't doing vlan |
| filtering. With new API the stub is unneeded unless device sets |
| NETIF_F_HW_VLAN_FILTER. |
| |
| Bad habit: I couldn't resist fixing a couple of nearby style things |
| in acenic, and forcedeth. |
| |
| Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org> |
| Signed-off-by: Jeff Garzik <jeff@garzik.org> |
| |
| commit fde82055c1d0e64ff660d83c705db0e1abc9d12e |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu May 3 17:23:35 2007 -0700 |
| |
| [BNX2]: Fix TSO problem with small MSS. |
| |
| Remove the check for skb->len greater than MTU when doing TSO. When |
| the destination has a smaller MSS than the source, a TSO packet may |
| be smaller than the MTU at the source and we still need to process it |
| as a TSO packet. |
| |
| Thanks to Brian Ristuccia <bristuccia@starentnetworks.com> for |
| reporting the problem. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 72fbaeb623971c321112de7fe3fa4e24e12ca59e |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu May 3 13:25:32 2007 -0700 |
| |
| [BNX2]: Update version and reldate. |
| |
| Update version to 1.5.10. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 883e51511815930154c64a2645f4df112aa066fb |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu May 3 13:25:11 2007 -0700 |
| |
| [BNX2]: Print bus information for PCIE devices. |
| |
| Fix the code to print PCI or PCIE bus information for all devices. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 8e6a72c435bf8bdd738ad08a746d697abedacfc0 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu May 3 13:24:48 2007 -0700 |
| |
| [BNX2]: Add 1-shot MSI handler for 5709. |
| |
| The 5709 supports the one-shot MSI handler similar to some of the tg3 |
| chips. In this mode, the MSI disables itself automatically until it |
| is re-enabled at the end of NAPI poll. |
| |
| Put the request_irq/free_irq logic in common procedures. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit da3e4fbed21a5d7edab10ffb77a8c04a725f9eff |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu May 3 13:24:23 2007 -0700 |
| |
| [BNX2]: Restructure PHY event handling. |
| |
| Restructure by adding bnx2_phy_event_is_set() to make code cleaner |
| and easier to understand. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 1b8227c48e164655f02aa0eff55862af2d05da51 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu May 3 13:24:05 2007 -0700 |
| |
| [BNX2]: Add indirect spinlock. |
| |
| The indirect register access method will be used by more than one |
| caller in BH context (NAPI poll and timer), so a spinlock is required. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 27a005b883984ef3a3cf24e7ddd78eb78902f494 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu May 3 13:23:41 2007 -0700 |
| |
| [BNX2]: Add support for 5709 Serdes. |
| |
| Add PCI ID and code to support the 5709 Serdes PHY. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 605a9e20aaea23f31a5403e969bd4ab4d0405dab |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu May 3 13:23:13 2007 -0700 |
| |
| [BNX2]: Re-structure the 2.5G Serdes code. |
| |
| Add some common procedures to handle enabling and disabling 2.5G. |
| Add some missing code to resolve flow control. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit ca58c3af99b15f729e56dffe9b74b8b2ce157e8d |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu May 3 13:22:52 2007 -0700 |
| |
| [BNX2]: Put MII register offsets in the bnx2 struct. |
| |
| The 5709 Serdes device uses non-standard MII register offsets. This |
| re-structuring will make it easier to support 5709 Serdes. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 4666f87a82cf74b63737a7f55a8b3b057a7b83df |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu May 3 13:22:28 2007 -0700 |
| |
| [BNX2]: Add ipv6 TSO and checksum for 5709. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 30c517b29130ddede977300235afcda1c256530b |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu May 3 13:20:40 2007 -0700 |
| |
| [BNX2]: Save PCI state during suspend. |
| |
| This is needed to save the MSI state which will be lost during |
| suspend. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 1b2f922f6869eb13dadfe1ba3f8337bd42e50a2e |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu May 3 13:20:19 2007 -0700 |
| |
| [BNX2]: Fix race conditions when calling register_netdev(). |
| |
| Hot-plug scripts can call bnx2_open() as soon as register_netdev() is |
| called in bnx2_init_one(). We need to call pci_set_drvdata() and |
| setup everything before calling register_netdev(). netif_carrier_off() |
| also needs to be moved to bnx2_open() to avoid race conditions with |
| the irq. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 40453c839fdbf86738256cae1c9c1ebe55645d4a |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu May 3 13:19:18 2007 -0700 |
| |
| [BNX2]: Add 40-bit DMA workaround for 5708. |
| |
| The internal PCIE-to-PCIX bridge of the 5708 has the same 40-bit DMA |
| limitation as some of the tg3 chips. Set dma_mask and persistent DMA |
| mask to 40-bit to workaround. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 5bae30c96a3bd09563e484b4ac7211b4b4664679 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu May 3 13:18:46 2007 -0700 |
| |
| [BNX2]: Fix register and memory test on 5709. |
| |
| Tweak registers and memory test range for 5709. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit dad3e452dacd3c6c637e2f7c6469556cc8ffcd94 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu May 3 13:18:03 2007 -0700 |
| |
| [BNX2]: Block MII access when ifdown. |
| |
| The device may be in D3hot state and should not allow MII register |
| access. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit d626f62b11e00c16e81e4308ab93d3f13551812a |
| Author: Arnaldo Carvalho de Melo <acme@redhat.com> |
| Date: Tue Mar 27 18:55:52 2007 -0300 |
| |
| [SK_BUFF]: Introduce skb_copy_from_linear_data{_offset} |
| |
| To clearly state the intent of copying from linear sk_buffs, _offset being a |
| overly long variant but interesting for the sake of saving some bytes. |
| |
| Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> |
| |
| commit aa8223c7bb0b05183e1737881ed21827aa5b9e73 |
| Author: Arnaldo Carvalho de Melo <acme@redhat.com> |
| Date: Tue Apr 10 21:04:22 2007 -0700 |
| |
| [SK_BUFF]: Introduce tcp_hdr(), remove skb->h.th |
| |
| Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit ab6a5bb6b28a970104a34f0f6959b73cf61bdc72 |
| Author: Arnaldo Carvalho de Melo <acme@redhat.com> |
| Date: Sun Mar 18 17:43:48 2007 -0700 |
| |
| [TCP]: Introduce tcp_hdrlen() and tcp_optlen() |
| |
| The ip_hdrlen() buddy, created to reduce the number of skb->h.th-> uses and to |
| avoid the longer, open coded equivalent. |
| |
| Ditched a no-op in bnx2 in the process. |
| |
| I wonder if we should have a BUG_ON(skb->h.th->doff < 5) in tcp_optlen()... |
| |
| Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit eddc9ec53be2ecdbf4efe0efd4a83052594f0ac0 |
| Author: Arnaldo Carvalho de Melo <acme@redhat.com> |
| Date: Fri Apr 20 22:47:35 2007 -0700 |
| |
| [SK_BUFF]: Introduce ip_hdr(), remove skb->nh.iph |
| |
| Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit c9bdd4b5257406b0608385d19c40b5511decf4f6 |
| Author: Arnaldo Carvalho de Melo <acme@redhat.com> |
| Date: Mon Mar 12 20:09:15 2007 -0300 |
| |
| [IP]: Introduce ip_hdrlen() |
| |
| For the common sequence "skb->nh.iph->ihl * 4", removing a good number of open |
| coded skb->nh.iph uses, now to go after the rest... |
| |
| Just out of curiosity, here are the idioms found to get the same result: |
| |
| skb->nh.iph->ihl << 2 |
| skb->nh.iph->ihl<<2 |
| skb->nh.iph->ihl * 4 |
| skb->nh.iph->ihl*4 |
| (skb->nh.iph)->ihl * sizeof(u32) |
| |
| Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 68c9f75a0539db583db074059d54deb607d1a475 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Tue Apr 24 15:35:53 2007 -0700 |
| |
| [BNX2]: Fix occasional NETDEV WATCHDOG on 5709. |
| |
| Tweak a register setting to prevent the tx mailbox from halting. |
| |
| Update version to 1.5.8. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit c873879c4db31bab414655e191cf56019b48c751 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Fri Mar 30 14:53:06 2007 -0700 |
| |
| [BNX2]: Fix nvram write logic. |
| |
| The nvram dword alignment logic was broken when writing less than 4 |
| bytes on a non-aligned offset. It was missing logic to round the |
| length to 4 bytes. |
| |
| The page erase code is also moved so that it is only called when |
| using non-buffered flash for better code clarity. |
| |
| Update version to 1.5.7. |
| |
| Based on initial patch from Tony Cureington <tony.cureington@hp.com>. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit db8b22550d4b83f0910d27a34d05aa16f7f7159f |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Wed Mar 28 14:17:36 2007 -0700 |
| |
| [BNX2]: Fix link interrupt problem. |
| |
| bnx2_has_work()'s logic is flawed and can cause the driver to miss |
| a link event. The fix is to compare the status block's attn_bits |
| and attn_bits_ack to determine if there is a link event. |
| |
| Update version to 1.5.6. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 5c15bdec5c38f4ccf73ef2585fc80a6164de9554 |
| Author: Dan Aloni <da-x@monatomic.org> |
| Date: Fri Mar 2 20:44:51 2007 -0800 |
| |
| [VLAN]: Avoid a 4-order allocation. |
| |
| This patch splits the vlan_group struct into a multi-allocated struct. On |
| x86_64, the size of the original struct is a little more than 32KB, causing |
| a 4-order allocation, which is prune to problems caused by buddy-system |
| external fragmentation conditions. |
| |
| I couldn't just use vmalloc() because vfree() cannot be called in the |
| softirq context of the RCU callback. |
| |
| Signed-off-by: Dan Aloni <da-x@monatomic.org> |
| Acked-by: Jeff Garzik <jeff@garzik.org> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 78149df6d565c36675463352d0bfe0000b02b7a7 |
| Merge: c96e2c9 14719f3 |
| Author: Linus Torvalds <torvalds@woody.linux-foundation.org> |
| Date: Wed Feb 7 19:23:44 2007 -0800 |
| |
| Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6 |
| |
| * master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6: (41 commits) |
| Revert "PCI: remove duplicate device id from ata_piix" |
| msi: Make MSI useable more architectures |
| msi: Kill the msi_desc array. |
| msi: Remove attach_msi_entry. |
| msi: Fix msi_remove_pci_irq_vectors. |
| msi: Remove msi_lock. |
| msi: Kill msi_lookup_irq |
| MSI: Combine pci_(save|restore)_msi/msix_state |
| MSI: Remove pci_scan_msi_device() |
| MSI: Replace pci_msi_quirk with calls to pci_no_msi() |
| PCI: remove duplicate device id from ipr |
| PCI: remove duplicate device id from ata_piix |
| PCI: power management: remove noise on non-manageable hw |
| PCI: cleanup MSI code |
| PCI: make isa_bridge Alpha-only |
| PCI: remove quirk_sis_96x_compatible() |
| PCI: Speed up the Intel SMBus unhiding quirk |
| PCI Quirk: 1k I/O space IOBL_ADR fix on P64H2 |
| shpchp: delete trailing whitespace |
| shpchp: remove DBG_XXX_ROUTINE |
| ... |
| |
| commit 88187dfa4d8bb565df762f272511d2c91e427e0d |
| Author: Michael Ellerman <michael@ellerman.id.au> |
| Date: Thu Jan 25 19:34:07 2007 +1100 |
| |
| MSI: Replace pci_msi_quirk with calls to pci_no_msi() |
| |
| I don't see any reason why we need pci_msi_quirk, quirk code can just |
| call pci_no_msi() instead. |
| |
| Remove the check of pci_msi_quirk in msi_init(). This is safe as all |
| calls to msi_init() are protected by calls to pci_msi_supported(), |
| which checks pci_msi_enable, which is disabled by pci_no_msi(). |
| |
| The pci_disable_msi routines didn't check pci_msi_quirk, only |
| pci_msi_enable, but as far as I can see that was a bug not a feature. |
| |
| Signed-off-by: Michael Ellerman <michael@ellerman.id.au> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| commit 01243ecb794fc008155f257cc25b98e2b8e855e5 |
| Author: Adrian Bunk <bunk@stusta.de> |
| Date: Sat Jan 27 00:00:03 2007 -0800 |
| |
| remove one remaining "#define BCM_TSO 1" |
| |
| Since it's no longer used, this "#define BCM_TSO 1" can now be removed. |
| |
| Signed-off-by: Adrian Bunk <bunk@stusta.de> |
| Cc: Jeff Garzik <jeff@garzik.org> |
| Signed-off-by: Andrew Morton <akpm@osdl.org> |
| Signed-off-by: Jeff Garzik <jeff@garzik.org> |
| |
| commit 1d39ed565cfcc7c4fe586de621aef495c4f94ffb |
| Author: Arjan van de Ven <arjan@linux.intel.com> |
| Date: Tue Dec 12 14:06:23 2006 +0100 |
| |
| remove NETIF_F_TSO ifdefery |
| |
| Remove the NETIF_F_TSO #ifdef-ery in drivers/net; this was |
| for old-old-2.4 compat (even current 2.4 has NETIF_F_TSO) |
| but it's time to get rid of it by now. |
| |
| Signed-off-by: Arjan van de Ven <arjan@linux.intel.com> |
| Signed-off-by: Jeff Garzik <jeff@garzik.org> |
| |
| commit b659f44e4e144bae02c5beaba78a37db60783ba2 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Fri Feb 2 00:46:35 2007 -0800 |
| |
| [BNX2]: PHY workaround for 5709 A0. |
| |
| 5709 A0 copper devices will not link up with some link partners |
| without this workaround. |
| |
| Update driver to 1.5.5. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 24cb230b587cf3aad8794b150682d8d8303a2120 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Jan 25 15:49:56 2007 -0800 |
| |
| [BNX2]: Fix 2nd port's MAC address. |
| |
| On the 5709, we need to add the proper offset to calculate the shared |
| memory base address of the 2nd port correctly. Otherwise, the 2nd |
| port's MAC address and other information will be the same as the 1st |
| port. |
| |
| Update version to 1.5.4. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit d6aa4acebafe3acb0aade7704ec5b2f03742ea14 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Jan 8 19:56:31 2007 -0800 |
| |
| [BNX2]: Update version and reldate. |
| |
| Update version to 1.5.3. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit e6be763f63420c334710a5a0818e6bfcf5d593f8 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Jan 8 19:56:13 2007 -0800 |
| |
| [BNX2]: Fix bug in bnx2_nvram_write(). |
| |
| The bug was a bogus pointer being passed to kfree(). The pointer was |
| incremented in the write loop and then passed to kfree(). |
| |
| The fix is to use align_buf to save the original address. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 253c8b75546c5f21d5321d691df92c1e84d9b0fb |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Jan 8 19:56:01 2007 -0800 |
| |
| [BNX2]: Fix 5709 Serdes detection. |
| |
| 5709 has a new register to detect copper/fiber PHYs. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 261dd5ca05c6f36c9216f2d60b018f59f92620c4 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Jan 8 19:55:46 2007 -0800 |
| |
| [BNX2]: Don't apply CRC PHY workaround to 5709. |
| |
| The workaround is only needed on 5706/5708 and cannot be applied on |
| 5709. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 6634292be47856c571634944dc0f6c8498602032 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Dec 14 15:57:04 2006 -0800 |
| |
| [BNX2]: Fix minor loopback problem. |
| |
| Use the configured MAC address instead of the permanent MAC address |
| for loopback frames. |
| |
| Update version to 1.5.2. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 6a13add1e1b802a29187a9af98a6ca26539dc33d |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Dec 14 15:56:50 2006 -0800 |
| |
| [BNX2]: Fix bug in bnx2_nvram_write(). |
| |
| Length was not calculated correctly if the NVRAM offset is on a non- |
| aligned offset. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit faac9c4b753f420c02bdce0785d2657087830a12 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Dec 14 15:56:32 2006 -0800 |
| |
| [BNX2]: Fix panic in bnx2_tx_int(). |
| |
| There was an off-by-one bug in bnx2_tx_avail(). If the tx ring is |
| completely full, the producer and consumer indices may be apart by |
| 256 even though the ring size is only 255. One entry in the ring is |
| unused and must be properly accounted for when calculating the number |
| of available entries. The bug caused the tx ring entries to be |
| reused by mistake, overwriting active entries, and ultimately causing |
| it to crash. |
| |
| This bug rarely occurs because the tx ring is rarely completely full. |
| We always stop when there is less than MAX_SKB_FRAGS entries available |
| in the ring. |
| |
| Thanks to Corey Kovacs <cjk@techma.com> and Andy Gospodarek |
| <agospoda@redhat.com> for reporting the problem and helping to collect |
| debug information. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 6c1bbcc8836358294c431e0c09e85e3480895659 |
| Author: Adrian Bunk <bunk@stusta.de> |
| Date: Thu Dec 7 15:10:06 2006 -0800 |
| |
| [BNX2]: Add an error check. |
| |
| This patch adds a missing error check spotted by the Coverity checker. |
| |
| Signed-off-by: Adrian Bunk <bunk@stusta.de> |
| Acked-by: Jeff Garzik <jgarzik@pobox.com> |
| Acked-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 4c1ac1b49122b805adfa4efc620592f68dccf5db |
| Merge: c402895 d916faa |
| Author: David Howells <dhowells@redhat.com> |
| Date: Tue Dec 5 14:37:56 2006 +0000 |
| |
| Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 |
| |
| Conflicts: |
| |
| drivers/infiniband/core/iwcm.c |
| drivers/net/chelsio/cxgb2.c |
| drivers/net/wireless/bcm43xx/bcm43xx_main.c |
| drivers/net/wireless/prism54/islpci_eth.c |
| drivers/usb/core/hub.h |
| drivers/usb/input/hid-core.c |
| net/core/netpoll.c |
| |
| Fix up merge failures with Linus's head and fix new compilation failures. |
| |
| Signed-Off-By: David Howells <dhowells@redhat.com> |
| |
| commit f123bc5f800d528e59684c7faffda88b4dd2d38c |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Sun Nov 19 14:15:31 2006 -0800 |
| |
| [BNX2]: Update version and rel date. |
| |
| Update version to 1.5.1. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit bac0dff6cd194f7a28f7e840c9b6a7aa71c6ef97 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Sun Nov 19 14:15:05 2006 -0800 |
| |
| [BNX2]: Add 5709 PCI ID. |
| |
| Add PCI ID and detection for 5709 copper and SerDes chips. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit d43584c8bf851145ed7ec6d148916a01979040f4 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Sun Nov 19 14:14:35 2006 -0800 |
| |
| [BNX2]: Download 5709 firmware. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 234754d5c1ef25bbc64631a420ba66eeb2904633 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Sun Nov 19 14:11:41 2006 -0800 |
| |
| [BNX2]: Add 5709 reset and runtime code. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 59b47d8ad35b9858d63d6fd3db76e698e4a98f36 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Sun Nov 19 14:10:45 2006 -0800 |
| |
| [BNX2]: Add 5709 init code. |
| |
| Add basic support to initialize the 5709 chip. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit af3ee519c5d6bebbda9bf0ca3b81bc50b4dd2163 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Sun Nov 19 14:09:25 2006 -0800 |
| |
| [BNX2]: Re-organize firmware structures. |
| |
| Re-organize the firmware handling code and declarations a bit to make |
| the code more compact. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit a16dda0e67cea666fb7eb708ab1199892c4a1a13 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Sun Nov 19 14:08:56 2006 -0800 |
| |
| [BNX2]: Remove udelay() in copper PHY code. |
| |
| Change a long udelay() in bnx2_setup_copper_phy() to msleep(). |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit f8dd064ee1bd62ef2cdb398cb9cdc8a8f112cb28 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Sun Nov 19 14:08:29 2006 -0800 |
| |
| [BNX2]: Add 5708S parallel detection. |
| |
| Add code to parallel detect 1Gbps and 2.5Gbps link speeds. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 48b01e2d7c83d37321722f1cdd46193d4ca73b41 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Sun Nov 19 14:08:00 2006 -0800 |
| |
| [BNX2]: Add bnx2_5706_serdes_timer(). |
| |
| Separate the 5706S SerDes handling code in bnx2_timer() and put it |
| in a new function. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 80be44348e30b68d2d8c5b6d1b7e53f2c5659134 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Sun Nov 19 14:07:28 2006 -0800 |
| |
| [BNX2]: Improve SerDes handling. |
| |
| 1. Add support for 2.5Gbps forced speed setting. |
| 2. Remove a long udelay() loop and change to msleep(). |
| 3. Other misc. SerDes fixes. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 7510873d8659f4192cb5b3327f748e401d216399 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Sun Nov 19 14:06:40 2006 -0800 |
| |
| [BNX2]: Fix Xen problem. |
| |
| This fixes the problem of not receiving packets in the Xen bridging |
| environment. The Xen script sets the device's MAC address to |
| FE:FF:FF:FF:FF:FF and puts the device in promiscuous mode. The |
| firmware had problem receiving all packets in this configuration. |
| |
| New firmware and setting the PROM_VLAN bit when in promiscuous mode |
| will fix this problem. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit c4028958b6ecad064b1a6303a6a5906d4fe48d73 |
| Author: David Howells <dhowells@redhat.com> |
| Date: Wed Nov 22 14:57:56 2006 +0000 |
| |
| WorkStruct: make allyesconfig |
| |
| Fix up for make allyesconfig. |
| |
| Signed-Off-By: David Howells <dhowells@redhat.com> |
| |
| commit 7d12e780e003f93433d49ce78cfedf4b4c52adc5 |
| Author: David Howells <dhowells@redhat.com> |
| Date: Thu Oct 5 14:55:46 2006 +0100 |
| |
| IRQ: Maintain regs pointer globally rather than passing to IRQ handlers |
| |
| Maintain a per-CPU global "struct pt_regs *" variable which can be used instead |
| of passing regs around manually through all ~1800 interrupt handlers in the |
| Linux kernel. |
| |
| The regs pointer is used in few places, but it potentially costs both stack |
| space and code to pass it around. On the FRV arch, removing the regs parameter |
| from all the genirq function results in a 20% speed up of the IRQ exit path |
| (ie: from leaving timer_interrupt() to leaving do_IRQ()). |
| |
| Where appropriate, an arch may override the generic storage facility and do |
| something different with the variable. On FRV, for instance, the address is |
| maintained in GR28 at all times inside the kernel as part of general exception |
| handling. |
| |
| Having looked over the code, it appears that the parameter may be handed down |
| through up to twenty or so layers of functions. Consider a USB character |
| device attached to a USB hub, attached to a USB controller that posts its |
| interrupts through a cascaded auxiliary interrupt controller. A character |
| device driver may want to pass regs to the sysrq handler through the input |
| layer which adds another few layers of parameter passing. |
| |
| I've build this code with allyesconfig for x86_64 and i386. I've runtested the |
| main part of the code on FRV and i386, though I can't test most of the drivers. |
| I've also done partial conversion for powerpc and MIPS - these at least compile |
| with minimal configurations. |
| |
| This will affect all archs. Mostly the changes should be relatively easy. |
| Take do_IRQ(), store the regs pointer at the beginning, saving the old one: |
| |
| struct pt_regs *old_regs = set_irq_regs(regs); |
| |
| And put the old one back at the end: |
| |
| set_irq_regs(old_regs); |
| |
| Don't pass regs through to generic_handle_irq() or __do_IRQ(). |
| |
| In timer_interrupt(), this sort of change will be necessary: |
| |
| - update_process_times(user_mode(regs)); |
| - profile_tick(CPU_PROFILING, regs); |
| + update_process_times(user_mode(get_irq_regs())); |
| + profile_tick(CPU_PROFILING); |
| |
| I'd like to move update_process_times()'s use of get_irq_regs() into itself, |
| except that i386, alone of the archs, uses something other than user_mode(). |
| |
| Some notes on the interrupt handling in the drivers: |
| |
| (*) input_dev() is now gone entirely. The regs pointer is no longer stored in |
| the input_dev struct. |
| |
| (*) finish_unlinks() in drivers/usb/host/ohci-q.c needs checking. It does |
| something different depending on whether it's been supplied with a regs |
| pointer or not. |
| |
| (*) Various IRQ handler function pointers have been moved to type |
| irq_handler_t. |
| |
| Signed-Off-By: David Howells <dhowells@redhat.com> |
| (cherry picked from 1b16e7ac850969f38b375e511e3fa2f474a33867 commit) |
| |
| commit f9317a40c4e09e20ef01601fc9f5de9e6acb5b96 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Fri Sep 29 17:06:23 2006 -0700 |
| |
| [BNX2]: Disable MSI on 5706 if AMD 8132 bridge is present. |
| |
| MSI is defined to be 32-bit write. The 5706 does 64-bit MSI writes |
| with byte enables disabled on the unused 32-bit word. This is legal |
| but causes problems on the AMD 8132 which will eventually stop |
| responding after a while. |
| |
| Without this patch, the MSI test done by the driver during open will |
| pass, but MSI will eventually stop working after a few MSIs are |
| written by the device. |
| |
| AMD believes this incompatibility is unique to the 5706, and |
| prefers to locally disable MSI rather than globally disabling it |
| using pci_msi_quirk. |
| |
| Update version to 1.4.45. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit a319a2773a13bab56a0d0b3744ba8703324313b5 |
| Merge: e18fa70 1837987 |
| Author: Linus Torvalds <torvalds@g5.osdl.org> |
| Date: Sun Sep 24 10:15:13 2006 -0700 |
| |
| Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 |
| |
| * 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6: (217 commits) |
| net/ieee80211: fix more crypto-related build breakage |
| [PATCH] Spidernet: add ethtool -S (show statistics) |
| [NET] GT96100: Delete bitrotting ethernet driver |
| [PATCH] mv643xx_eth: restrict to 32-bit PPC_MULTIPLATFORM |
| [PATCH] Cirrus Logic ep93xx ethernet driver |
| r8169: the MMIO region of the 8167 stands behin BAR#1 |
| e1000, ixgb: Remove pointless wrappers |
| [PATCH] Remove powerpc specific parts of 3c509 driver |
| [PATCH] s2io: Switch to pci_get_device |
| [PATCH] gt96100: move to pci_get_device API |
| [PATCH] ehea: bugfix for register access functions |
| [PATCH] e1000 disable device on PCI error |
| drivers/net/phy/fixed: #if 0 some incomplete code |
| drivers/net: const-ify ethtool_ops declarations |
| [PATCH] ethtool: allow const ethtool_ops |
| [PATCH] sky2: big endian |
| [PATCH] sky2: fiber support |
| [PATCH] sky2: tx pause bug fix |
| drivers/net: Trim trailing whitespace |
| [PATCH] ehea: IBM eHEA Ethernet Device Driver |
| ... |
| |
| Manually resolved conflicts in drivers/net/ixgb/ixgb_main.c and |
| drivers/net/sky2.c related to CHECKSUM_HW/CHECKSUM_PARTIAL changes by |
| commit 84fa7933a33f806bbbaae6775e87459b1ec584c0 that just happened to be |
| next to unrelated changes in this update. |
| |
| commit 84fa7933a33f806bbbaae6775e87459b1ec584c0 |
| Author: Patrick McHardy <kaber@trash.net> |
| Date: Tue Aug 29 16:44:56 2006 -0700 |
| |
| [NET]: Replace CHECKSUM_HW by CHECKSUM_PARTIAL/CHECKSUM_COMPLETE |
| |
| Replace CHECKSUM_HW by CHECKSUM_PARTIAL (for outgoing packets, whose |
| checksum still needs to be completed) and CHECKSUM_COMPLETE (for |
| incoming packets, device supplied full checksum). |
| |
| Patch originally from Herbert Xu, updated by myself for 2.6.18-rc3. |
| |
| Signed-off-by: Patrick McHardy <kaber@trash.net> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 7282d491ecaee9883233a0e27283c4c79486279a |
| Author: Jeff Garzik <jeff@garzik.org> |
| Date: Wed Sep 13 14:30:00 2006 -0400 |
| |
| drivers/net: const-ify ethtool_ops declarations |
| |
| Signed-off-by: Jeff Garzik <jeff@garzik.org> |
| |
| commit 6aa20a2235535605db6d6d2bd850298b2fe7f31e |
| Author: Jeff Garzik <jeff@garzik.org> |
| Date: Wed Sep 13 13:24:59 2006 -0400 |
| |
| drivers/net: Trim trailing whitespace |
| |
| Signed-off-by: Jeff Garzik <jeff@garzik.org> |
| |
| commit 299176206b266f204be859adf9e66efd06628ab2 |
| Author: Jeff Garzik <jeff@garzik.org> |
| Date: Sat Aug 19 17:48:59 2006 -0400 |
| |
| drivers/net: Remove deprecated use of pci_module_init() |
| |
| From: Michal Piotrowski <michal.k.k.piotrowski@gmail.com> |
| |
| Signed-off-by: Michal Piotrowski <michal.k.k.piotrowski@gmail.com> |
| Signed-off-by: Jeff Garzik <jeff@garzik.org> |
| |
| commit 932f3772cf76cc1b1fd1538ceee3edba9bf2164f |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Tue Aug 15 01:39:36 2006 -0700 |
| |
| [BNX2]: Convert to netdev_alloc_skb() |
| |
| Convert dev_alloc_skb() to netdev_alloc_skb() and increase default |
| rx ring size to 255. The old ring size of 100 was too small. |
| |
| Update version to 1.4.44. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 2f8af120a159a843948749ea88bcacda9779b132 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Tue Aug 15 01:39:10 2006 -0700 |
| |
| [BNX2]: Fix tx race condition. |
| |
| Fix a subtle race condition between bnx2_start_xmit() and bnx2_tx_int() |
| similar to the one in tg3 discovered by Herbert Xu: |
| |
| CPU0 CPU1 |
| bnx2_start_xmit() |
| if (tx_ring_full) { |
| tx_lock |
| bnx2_tx() |
| if (!netif_queue_stopped) |
| netif_stop_queue() |
| if (!tx_ring_full) |
| update_tx_ring |
| netif_wake_queue() |
| tx_unlock |
| } |
| |
| Even though tx_ring is updated before the if statement in bnx2_tx_int() in |
| program order, it can be re-ordered by the CPU as shown above. This |
| scenario can cause the tx queue to be stopped forever if bnx2_tx_int() has |
| just freed up the entire tx_ring. The possibility of this happening |
| should be very rare though. |
| |
| The following changes are made, very much identical to the tg3 fix: |
| |
| 1. Add memory barrier to fix the above race condition. |
| |
| 2. Eliminate the private tx_lock altogether and rely solely on |
| netif_tx_lock. This eliminates one spinlock in bnx2_start_xmit() |
| when the ring is full. |
| |
| 3. Because of 2, use netif_tx_lock in bnx2_tx_int() before calling |
| netif_wake_queue(). |
| |
| 4. Add memory barrier to bnx2_tx_avail(). |
| |
| 5. Add bp->tx_wake_thresh which is set to half the tx ring size. |
| |
| 6. Check for the full wake queue condition before getting |
| netif_tx_lock in tg3_tx(). This reduces the number of unnecessary |
| spinlocks when the tx ring is full in a steady-state condition. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 89114afd435a486deb8583e89f490fc274444d18 |
| Author: Herbert Xu <herbert@gondor.apana.org.au> |
| Date: Sat Jul 8 13:34:32 2006 -0700 |
| |
| [NET] gso: Add skb_is_gso |
| |
| This patch adds the wrapper function skb_is_gso which can be used instead |
| of directly testing skb_shinfo(skb)->gso_size. This makes things a little |
| nicer and allows us to change the primary key for indicating whether an skb |
| is GSO (if we ever want to do that). |
| |
| Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 9b91cf9daac41eeaaea57ecfe68dc13bb0305fa9 |
| Author: Jeff Garzik <jeff@garzik.org> |
| Date: Tue Jun 27 11:39:50 2006 -0400 |
| |
| [netdrvr] use dev_xxx() printk helpers, rather than dev_printk(KERN_xxx, ... |
| |
| Suggested by Jiri Slaby. |
| |
| Signed-off-by: Jeff Garzik <jeff@garzik.org> |
| |
| commit 2e8a538d865de0eb9813c8a0f2284e920299c0cc |
| Author: Jeff Garzik <jeff@garzik.org> |
| Date: Tue Jun 27 10:47:51 2006 -0400 |
| |
| [netdrvr] Use dev_printk() when ethernet interface isn't available |
| |
| For messages prior to register_netdev(), prefer dev_printk() because |
| that prints out both our driver name and our [PCI | whatever] bus id. |
| |
| Updates: 8139{cp,too}, b44, bnx2, cassini, {eepro,epic}100, fealnx, |
| hamachi, ne2k-pci, ns83820, pci-skeleton, r8169. |
| |
| Signed-off-by: Jeff Garzik <jeff@garzik.org> |
| |
| commit 1fb9df5d3069064c037c81c0ab8bf783ffa5e373 |
| Author: Thomas Gleixner <tglx@linutronix.de> |
| Date: Sat Jul 1 19:29:39 2006 -0700 |
| |
| [PATCH] irq-flags: drivers/net: Use the new IRQF_ constants |
| |
| Signed-off-by: Thomas Gleixner <tglx@linutronix.de> |
| Cc: Ingo Molnar <mingo@elte.hu> |
| Cc: "David S. Miller" <davem@davemloft.net> |
| Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> |
| Cc: Jeff Garzik <jeff@garzik.org> |
| Signed-off-by: Andrew Morton <akpm@osdl.org> |
| Signed-off-by: Linus Torvalds <torvalds@osdl.org> |
| |
| commit 6ab3d5624e172c553004ecc862bfeac16d9d68b7 |
| Author: Jörn Engel <joern@wohnheim.fh-wedel.de> |
| Date: Fri Jun 30 19:25:36 2006 +0200 |
| |
| Remove obsolete #include <linux/config.h> |
| |
| Signed-off-by: Jörn Engel <joern@wohnheim.fh-wedel.de> |
| Signed-off-by: Adrian Bunk <bunk@stusta.de> |
| |
| commit 6c4f095eae35e83eb6148dec7f72874eeadf0c9b |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Jun 29 12:38:15 2006 -0700 |
| |
| [BNX2]: Turn off link during shutdown |
| |
| Minor change in shutdown logic to effect a link down. |
| |
| Update version to 1.4.43. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 745720e58303f940e12944bf7fab52bc9ce48bda |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Jun 29 12:37:41 2006 -0700 |
| |
| [BNX2]: Use dev_kfree_skb() instead of the _irq version |
| |
| Change all dev_kfree_skb_irq() and dev_kfree_skb_any() to |
| dev_kfree_skb(). These calls are never used in irq context. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit b11d6213529b33d81c21eeba97343e3b714e62e7 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Jun 29 12:31:21 2006 -0700 |
| |
| [BNX2]: Add NETIF_F_TSO_ECN |
| |
| Add NETIF_F_TSO_ECN feature for all bnx2 hardware. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 7967168cefdbc63bf332d6b1548eca7cd65ebbcc |
| Author: Herbert Xu <herbert@gondor.apana.org.au> |
| Date: Thu Jun 22 02:40:14 2006 -0700 |
| |
| [NET]: Merge TSO/UFO fields in sk_buff |
| |
| Having separate fields in sk_buff for TSO/UFO (tso_size/ufo_size) is not |
| going to scale if we add any more segmentation methods (e.g., DCCP). So |
| let's merge them. |
| |
| They were used to tell the protocol of a packet. This function has been |
| subsumed by the new gso_type field. This is essentially a set of netdev |
| feature bits (shifted by 16 bits) that are required to process a specific |
| skb. As such it's easy to tell whether a given device can process a GSO |
| skb: you just have to and the gso_type field and the netdev's features |
| field. |
| |
| I've made gso_type a conjunction. The idea is that you have a base type |
| (e.g., SKB_GSO_TCPV4) that can be modified further to support new features. |
| For example, if we add a hardware TSO type that supports ECN, they would |
| declare NETIF_F_TSO | NETIF_F_TSO_ECN. All TSO packets with CWR set would |
| have a gso_type of SKB_GSO_TCPV4 | SKB_GSO_TCPV4_ECN while all other TSO |
| packets would be SKB_GSO_TCPV4. This means that only the CWR packets need |
| to be emulated in software. |
| |
| Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 9e1881dec9e3e8f8408551cddfda489857a7ec99 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Tue Jun 13 15:04:12 2006 -0700 |
| |
| [BNX2]: Update version and reldate |
| |
| Update driver version to 1.4.42. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit c86a31f452f7dd132a1765d6d7160b0947f37b14 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Tue Jun 13 15:03:47 2006 -0700 |
| |
| [BNX2]: Use CPU native page size |
| |
| Use CPU native page size to determine various ring sizes. This allows |
| order-0 memory allocations on all systems. |
| |
| Added check to limit the page size to 16K since that's the maximum rx |
| ring size that will be used. This will prevent using unnecessarily |
| large page sizes on some architectures with large page sizes. |
| [Suggested by David Miller] |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit fba9fe911bb4213c3de1d142fe0ee127cd361a78 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Jun 12 22:21:25 2006 -0700 |
| |
| [BNX2]: Add firmware decompression |
| |
| Add functions to decompress firmware before loading to the internal |
| CPUs. Compressing the firmware reduces the driver size significantly. |
| |
| Added file name length sanity check in the gzip header to prevent |
| going past the end of buffer [suggested by DaveM]. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 160882722cb21cbe5cead55cf38a5e70fc3af63e |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Jun 12 22:16:43 2006 -0700 |
| |
| [BNX2]: Allow WoL settings on new 5708 chips |
| |
| Allow WOL settings on 5708 B2 and newer chips that have the problem |
| fixed. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit cea94db9b496d7fe25bbd3ebd0f24afaac2069d5 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Jun 12 22:16:13 2006 -0700 |
| |
| [BNX2]: Add an rx drop counter |
| |
| Add a counter for packets dropped by firmware. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit d1e100ba69131bb788e89a07b94b08f6e006725a |
| Author: Alexey Dobriyan <adobriyan@gmail.com> |
| Date: Sun Jun 11 20:57:17 2006 -0700 |
| |
| [BNX2]: Endian fixes. |
| |
| Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 932ff279a43ab7257942cddff2595acd541cc49b |
| Author: Herbert Xu <herbert@gondor.apana.org.au> |
| Date: Fri Jun 9 12:20:56 2006 -0700 |
| |
| [NET]: Add netif_tx_lock |
| |
| Various drivers use xmit_lock internally to synchronise with their |
| transmission routines. They do so without setting xmit_lock_owner. |
| This is fine as long as netpoll is not in use. |
| |
| With netpoll it is possible for deadlocks to occur if xmit_lock_owner |
| isn't set. This is because if a printk occurs while xmit_lock is held |
| and xmit_lock_owner is not set can cause netpoll to attempt to take |
| xmit_lock recursively. |
| |
| While it is possible to resolve this by getting netpoll to use |
| trylock, it is suboptimal because netpoll's sole objective is to |
| maximise the chance of getting the printk out on the wire. So |
| delaying or dropping the message is to be avoided as much as possible. |
| |
| So the only alternative is to always set xmit_lock_owner. The |
| following patch does this by introducing the netif_tx_lock family of |
| functions that take care of setting/unsetting xmit_lock_owner. |
| |
| I renamed xmit_lock to _xmit_lock to indicate that it should not be |
| used directly. I didn't provide irq versions of the netif_tx_lock |
| functions since xmit_lock is meant to be a BH-disabling lock. |
| |
| This is pretty much a straight text substitution except for a small |
| bug fix in winbond. It currently uses |
| netif_stop_queue/spin_unlock_wait to stop transmission. This is |
| unsafe as an IRQ can potentially wake up the queue. So it is safer to |
| use netif_tx_disable. |
| |
| The hamradio bits used spin_lock_irq but it is unnecessary as |
| xmit_lock must never be taken in an IRQ handler. |
| |
| Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit ae181bc44c65fdc93d0d2d908534b22e43f60f56 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon May 22 16:39:20 2006 -0700 |
| |
| [BNX2]: Use kmalloc instead of array |
| |
| Use kmalloc() instead of a local array in bnx2_nvram_write(). |
| |
| Update version to 1.4.40. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit bae25761c92c5eec781b6ea72bbe7e98fc8382a0 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon May 22 16:38:38 2006 -0700 |
| |
| [BNX2]: Fix bug in bnx2_nvram_write() |
| |
| Fix a bug in bnx2_nvram_write() caused by a counter variable not |
| correctly incremented by 4. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit e19360f2945f54eb44ae170ec9c33910d29834a2 |
| Author: Randy Dunlap <rdunlap@xenotime.net> |
| Date: Mon Apr 10 23:22:06 2006 -0700 |
| |
| [PATCH] net drivers: fix section attributes for gcc |
| |
| If CONFIG_HOTPLUG=n, gcc doesn't like some __initdata to be const (rodata) |
| and other __initdata not const, so make the non-const __initdata const. |
| |
| gcc errors: |
| drivers/net/bnx2.c:66: error: version causes a section type conflict |
| drivers/net/starfire.c:338: error: version causes a section type conflict |
| drivers/net/typhoon.c:137: error: version causes a section type conflict |
| drivers/net/natsemi.c:241: error: version causes a section type conflict |
| |
| Signed-off-by: Randy Dunlap <rdunlap@xenotime.net> |
| Signed-off-by: Andrew Morton <akpm@osdl.org> |
| Signed-off-by: Jeff Garzik <jeff@garzik.org> |
| |
| commit 5e2e71141ca93a3e2543966ced6a6077d4fb8fd8 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Mar 23 01:14:09 2006 -0800 |
| |
| [BNX2]: Update version and reldate |
| |
| Update version to 1.4.39. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 29b12174ac14f110225d6d9ebb66c30df5023baf |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Mar 23 01:13:43 2006 -0800 |
| |
| [BNX2]: Separate tx producer and consumer fields |
| |
| Put the tx producer and consumer fields in separate cache lines in |
| the device structure, similar to the VJ net channel queue structure. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit f2a4f05216e95f3b8c06b858abc0fe9a77500816 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Mar 23 01:13:12 2006 -0800 |
| |
| [BNX2]: Move .h files to bnx2.c |
| |
| Move all #include <> from bnx2.h to bnx2.c. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 0f31f99446270e66c6f18c7d87aadd7db1dad214 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Mar 23 01:12:38 2006 -0800 |
| |
| [BNX2]: Combine small mem allocations |
| |
| Combine two small (56 byte and 320 byte) pci consistent memory |
| allocations into one allocation. Jeff Garzik suggested to store |
| the combined size in the bp structure for later use when freeing |
| the memory. |
| |
| Use kzalloc() instead of kmalloc() + memset(). |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit bf5295bba804a6aead9bc1c0d5970173a9d4e08e |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Mar 23 01:11:56 2006 -0800 |
| |
| [BNX2]: Fix link change handling |
| |
| Fix some link-related problems by doing a coalesce_now after link |
| change interrupt to flush out the transient link status. |
| |
| To facilitate this, the host coalesce cmd register value is cached in |
| the device structure. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 0d36f37bb1e1cbadca6dc90a840bb2bc9ab51c44 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Mar 20 17:55:25 2006 -0800 |
| |
| [BNX2]: include <linux/vmalloc.h> |
| |
| Include <linux/vmalloc.h> so that it compiles properly on all archs. |
| |
| Update version to 1.4.38. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 1d60290f27e7dc4bce2c43922d0bfa9abd246fc9 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Mar 20 17:50:08 2006 -0800 |
| |
| [BNX2]: Update version |
| |
| Update version to 1.4.37. |
| |
| Add missing flush_scheduled_work() in bnx2_suspend as noted by Jeff |
| Garzik. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 3fdfcc2c95ffc7ee04b480a4c1fd4809b5ff2f7c |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Mar 20 17:49:49 2006 -0800 |
| |
| [BNX2]: Support larger rx ring sizes (part 2) |
| |
| Support bigger rx ring sizes (up to 1020) in the rx fast path. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 13daffa2f2ba65674e7816a0e95e7b93246cb686 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Mar 20 17:49:20 2006 -0800 |
| |
| [BNX2]: Support larger rx ring sizes (part 1) |
| |
| Increase maximum receive ring size from 255 to 1020 by supporting |
| up to 4 linked pages of receive descriptors. To accomodate the |
| higher memory usage, each physical descriptor page is allocated |
| separately and the software ring that keeps track of the SKBs and the |
| DMA addresses is allocated using vmalloc. |
| |
| Some of the receive-related fields in the bp structure are re- |
| organized a bit for better locality of reference. |
| |
| The max. was reduced to 1020 from 4080 after discussion with David |
| Miller. |
| |
| This patch contains ring init code changes only. This next patch |
| contains rx data path code changes. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 236b6394bb49ea58465c6f935a286d2342576f8d |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Mar 20 17:49:02 2006 -0800 |
| |
| [BNX2]: Fix bug when rx ring is full |
| |
| Fix the rx code path that does not handle the full rx ring correctly. |
| |
| When the rx ring is set to the max. size (i.e. 255), the consumer and |
| producer indices will be the same when completing an rx packet. Fix |
| the rx code to handle this condition properly. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 244ac4f446ac6a19caf5eb692c4844f29e6478bf |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Mar 20 17:48:46 2006 -0800 |
| |
| [BNX2]: Add ethtool -d support |
| |
| Add ETHTOOL_GREGS support. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 6b39777c5924b9db2406c5769a044da383782d0e |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Mar 20 17:48:32 2006 -0800 |
| |
| [BNX2]: Reduce register test size |
| |
| Eliminate some of the registers in ethtool register test to reduce |
| driver size. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit f71e130966ba429dbd24be08ddbcdf263df9a5ad |
| Author: Arjan van de Ven <arjan@infradead.org> |
| Date: Fri Mar 3 21:33:57 2006 -0500 |
| |
| Massive net driver const-ification. |
| |
| commit 206cc83ccdc29e4a73786e9093f9eeec25868441 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Jan 23 16:14:05 2006 -0800 |
| |
| [BNX2]: Update version and copyright year |
| |
| Update version to 1.4.31 and add 2006 copyright. |
| |
| Skip the last digit when reporting the firmware version. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit bc5a0690e917206b423c7b565c997b06675fb572 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Jan 23 16:13:22 2006 -0800 |
| |
| [BNX2]: Add PHY loopback test |
| |
| Enhance the ethtool loopback test with PHY loopback test. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 972ec0d4ba67bf0ec7f00cd93fbac47452f80d25 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Jan 23 16:12:43 2006 -0800 |
| |
| [BNX2]: Use netdev_priv() |
| |
| Replace dev->priv with netdev_priv(dev) |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 1122db717ab5443ca9043fc0d23c1e862cfb3a61 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Jan 23 16:11:42 2006 -0800 |
| |
| [BNX2]: Fix nvram sizing |
| |
| Add code to correctly determine nvram size. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 1269a8a64a37c8a06af672f4cff4fed16a478734 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Jan 23 16:11:03 2006 -0800 |
| |
| [BNX2]: Workaround hw interrupt bug |
| |
| Add workaround for a hardware interrupt issue. When using INTA, |
| unmasking of the interrupt and the tag update should be done |
| separately to avoid some spurious interrupts, |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit ade2bfe7d1f0ea804d2e63209cc6318ad8bf17ae |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Jan 23 16:09:51 2006 -0800 |
| |
| [BNX2]: Fix UDP checksum verification |
| |
| Fix TCP/UDP checksum verification. Use status bits in the buffer |
| descriptor instead of the checksum value to verify rx checksum. |
| Using the checksum value will be incorrect if the UDP packet has |
| zero in the UDP checksum field. |
| |
| Firmware update required for this fix. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit dda1e390bf9e2889a3abc48590a015b307637753 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Jan 23 16:08:14 2006 -0800 |
| |
| [BNX2]: Misc. fixes |
| |
| Some misc. fixes for WoL, 5708 B1, and a typo '=' instead of '=='. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit b090ae2b59f3db57732340c6af3beceec8d6c148 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Jan 23 16:07:10 2006 -0800 |
| |
| [BNX2]: Improve handshake with firmware |
| |
| Improve handshake with bootcode with the following changes: |
| |
| 1. Increase timeout to 100msec and use msleep instead of udelay. |
| |
| 2. Add more error checking for timeouts and errors. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit e29054f92d7d575631691865c1b95bee5bc974cc |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Jan 23 16:06:06 2006 -0800 |
| |
| [BNX2]: Fix VLAN on ASF |
| |
| Always set up the device to strip incoming VLAN tags when ASF is |
| enabled. ASF firmware will not parse packets correctly if VLAN tags |
| are not stripped. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 1064e944d03eb7a72c0fa11236d5e69cfd877a71 |
| Author: John W. Linville <linville@tuxdriver.com> |
| Date: Thu Nov 10 12:58:24 2005 -0800 |
| |
| [BNX2]: simplify parameter checks in bnx2_{get,set}_eeprom |
| |
| Remove the superfluous parameter checking in bnx2_{get,set}_eeprom. |
| The parameters are already validated in ethtool_{get,set}_eeprom. |
| |
| Signed-off-by: John W. Linville <linville@tuxdriver.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit b6cbc3b6fe588c0ea1341d10413e12c2a96a6032 |
| Author: John W. Linville <linville@tuxdriver.com> |
| Date: Thu Nov 10 12:58:00 2005 -0800 |
| |
| [BNX2]: check return of dev_alloc_skb in bnx2_test_loopback |
| |
| Check return of dev_alloc_skb in bnx2_test_loopback, and handle |
| appropriately. |
| |
| Signed-off-by: John W. Linville <linville@tuxdriver.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 2f23c523f32324e5b5f39565cbcb0a8ff8923019 |
| Author: John W. Linville <linville@tuxdriver.com> |
| Date: Thu Nov 10 12:57:33 2005 -0800 |
| |
| [BNX2]: output driver name as prefix in error message |
| |
| Output driver name as prefix to "Unknown flash/EEPROM type." message. |
| |
| Signed-off-by: John W. Linville <linville@tuxdriver.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 05d0f1cf69fd589634b38b6f6e4b8cfdaace9ca0 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Fri Nov 4 08:53:48 2005 -0800 |
| |
| [PATCH] bnx2: update version and minor fixes |
| |
| Some book keeping and a style fix. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: John W. Linville <linville@tuxdriver.com> |
| |
| commit f4e418f7f3286f854883f9f7e3bbf7005340d2de |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Fri Nov 4 08:53:48 2005 -0800 |
| |
| [PATCH] bnx2: refine bnx2_poll |
| |
| Refine bnx2_poll() logic to write back the most up-to-date status tag |
| when all work has been processed. This eliminates some occasional |
| extra interrupts when a older status tag is written even though all |
| work has been processed. |
| |
| The idea is to read the status tag just before exiting bnx2_poll() and |
| then check again for any new work. If no new work is pending, the |
| status tag written back will not generate any extra interrupt. This |
| logic is similar to the changes David Miller did to tg3_poll(). |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: John W. Linville <linville@tuxdriver.com> |
| |
| commit e3648b3d8de3b37fae7acbb57db1e001a19cd3b7 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Fri Nov 4 08:51:21 2005 -0800 |
| |
| [PATCH] bnx2: update firmware handshake for 5708 |
| |
| Dynamically determine the shared memory location where eeprom |
| parameters are stored instead of using a fixed location. |
| |
| Add speed reporting to management firmware. This allows management |
| firmware to know the current speed without contending for MII |
| registers. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: John W. Linville <linville@tuxdriver.com> |
| |
| commit 371377091dff14090cbe995d0a9291364f8583cb |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Fri Nov 4 08:49:17 2005 -0800 |
| |
| [PATCH] bnx2: update nvram code for 5708 |
| |
| Update bnx2 nvram code with support for 5708. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: John W. Linville <linville@tuxdriver.com> |
| |
| commit 5b0c76ad94faf95ca50fa0de9ab07460bea19568 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Fri Nov 4 08:45:49 2005 -0800 |
| |
| [PATCH] bnx2: add 5708 support |
| |
| Add 5708 copper and serdes basic support, including 2.5 Gbps support |
| on 5708 serdes. SPEED_2500 is also added to ethtool.h |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: John W. Linville <linville@tuxdriver.com> |
| |
| commit b4558ea93d66a43f7990d26f145fd4c54a01c9bf |
| Author: Jesper Juhl <jesper.juhl@gmail.com> |
| Date: Fri Oct 28 16:53:13 2005 -0400 |
| |
| drivers/net: Remove pointless checks for NULL prior to calling kfree() |
| |
| commit 24b8e05dc1b03c1f80828e642838511c16e17250 |
| Author: John W. Linville <linville@tuxdriver.com> |
| Date: Mon Sep 12 14:45:08 2005 -0700 |
| |
| [BNX2]: Add support for ETHTOOL_GPERMADDR. |
| |
| Signed-off-by: John W. Linville <linville@tuxdriver.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit c921e4c4dbb043f9435414c4e661e7f0a783053d |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Sep 8 13:15:32 2005 -0700 |
| |
| [BNX2]: Fix bug in irq handler and add prefetch |
| |
| Fix bug in bnx2_interrupt() that caused an unnecessary register read. |
| The BNX2_PCICFG_MISC_STATUS should only be read when the status tag |
| has not changed. |
| |
| Add prefetch of the status block in bnx2_msi() similar to tg3_msi(). |
| The status block is not touched in bnx2_msi() and prefetching it will |
| speed up bnx2_poll() that will run on the same CPU that received the |
| MSI. |
| |
| Update version. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 829ca9a30a2ddb727981d80fabdbff2ea86bc9ea |
| Author: Pavel Machek <pavel@ucw.cz> |
| Date: Sat Sep 3 15:56:56 2005 -0700 |
| |
| [PATCH] swsusp: fix remaining u32 vs. pm_message_t confusion |
| |
| Fix remaining bits of u32 vs. pm_message confusion. Should not break |
| anything. |
| |
| Signed-off-by: Pavel Machek <pavel@suse.cz> |
| Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl> |
| Signed-off-by: Andrew Morton <akpm@osdl.org> |
| Signed-off-by: Linus Torvalds <torvalds@osdl.org> |
| |
| commit 73eef4cddb2738c4e8c5ef157ebb1b19d6c9272f |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Aug 25 15:39:15 2005 -0700 |
| |
| [BNX2]: update version and minor fixes |
| |
| Update version and add 4 minor fixes, the last 2 were suggested by |
| Jeff Garzik: |
| |
| 1. check for a valid ethernet address before setting it |
| 2. zero out bp->regview if init_one encounters an error and unmaps |
| the IO address. This prevents remove_one from unmapping again. |
| 3. use netif_rx_schedule() instead of hand coding the same. |
| 4. use IRQ_HANDLED and IRQ_NONE. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit c770a65cee7cc250d7bccd99fa55e742988ae4e0 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Aug 25 15:38:39 2005 -0700 |
| |
| [BNX2]: change irq locks to bh locks |
| |
| Change all locks from spin_lock_irqsave() to spin_lock_bh(). All |
| places that require spinlocks are in BH context. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit e89bbf1049aac3625fdafe3657ed8d7d5373d351 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Aug 25 15:36:58 2005 -0700 |
| |
| [BNX2]: remove atomics in tx |
| |
| Remove atomic operations in the fast tx path. Expensive atomic |
| operations were used to keep track of the number of available tx |
| descriptors. The new code uses the difference between the consumer |
| and producer index to determine the number of free tx descriptors. |
| |
| As suggested by Jeff Garzik, the name of the inline function is |
| changed to all lower case. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit cd339a0ed61097d92ce03b6d1042b1e4d58535e7 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Aug 25 15:35:24 2005 -0700 |
| |
| [BNX2]: speedup serdes linkup |
| |
| This speeds up link-up time on 5706 SerDes if the link partner does |
| not autoneg, a rather common scenario in blade servers. Some blade |
| servers use IPMI for keyboard input and it's important to minimize |
| link disruptions. |
| |
| The speedup is achieved by shortening the timer to (HZ / 3) during |
| the transient period right after initiating a SerDes autoneg. If |
| autoneg does not complete, parallel detect can be done sooner. After |
| the transient period is over, the timer goes back to its normal HZ |
| interval. |
| |
| As suggested by Jeff Garzik, the timer initialization is moved to |
| bnx2_init_board() from bnx2_open(). |
| |
| An eeprom bit is also added to allow default forced SerDes speed for |
| even faster link-up time. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit afdc08b9f9a7174d7912a160f657f39d46379b5e |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Aug 25 15:34:29 2005 -0700 |
| |
| [BNX2]: Fix rtnl deadlock in bnx2_close |
| |
| This fixes an rtnl deadlock problem when flush_scheduled_work() is |
| called from bnx2_close(). In rare cases, linkwatch_event() may be on |
| the workqueue from a previous close of a different device and it will |
| try to get the rtnl lock which is already held by dev_close(). |
| |
| The fix is to set a flag if we are in the reset task which is run |
| from the workqueue. bnx2_close() will loop until the flag is cleared. |
| As suggested by Jeff Garzik, the loop is changed to call msleep(1) |
| instead of yield() in the original patch. |
| |
| flush_scheduled_work() is also moved to bnx2_remove_one() before the |
| netdev is freed. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 14ab9b867aa6c107b4886bdc5b23f277ab10792e |
| Author: Peter Hagervall <hager@cs.umu.se> |
| Date: Wed Aug 10 14:18:16 2005 -0700 |
| |
| [BNX2]: Possible sparse fixes, take two |
| |
| This patch contains the following possible cleanups/fixes: |
| |
| - use C99 struct initializers |
| - make a few arrays and structs static |
| - remove a few uses of literal 0 as NULL pointer |
| - use convenience function instead of cast+dereference in bnx2_ioctl() |
| - remove superfluous casts to u8 * in calls to readl/writel |
| |
| Signed-off-by: Peter Hagervall <hager@cs.umu.se> |
| Acked-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit b6016b767397258b58163494a869f8f1199e6897 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu May 26 13:03:09 2005 -0700 |
| |
| [BNX2]: New Broadcom gigabit network driver. |
| |
| A new driver bnx2 for Broadcom bcm5706 is available. |
| |
| The patch also includes new 1000BASE-X advertisement bit definitions in |
| mii.h |
| |
| Thanks to David Miller and Jeff Garzik for reviewing and their valuable |
| feedback. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| commit 7625eb2f2fff7bfae41d3119b472c20b48874895 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Wed Jun 8 19:29:36 2011 +0000 |
| |
| cnic, bnx2: Check iSCSI support early in bnx2_init_one() |
| |
| Based on earlier patch from Neil Horman <nhorman@tuxdriver.com> |
| |
| If iSCSI is not supported on a bnx2 device, bnx2_cnic_probe() will |
| return NULL and the cnic device will not be visible to bnx2i. This |
| will prevent bnx2i from registering and then unregistering during |
| cnic_start() and cause the warning message: |
| |
| bnx2 0003:01:00.1: eth1: Failed waiting for ULP up call to complete |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Cc: Neil Horman <nhorman@tuxdriver.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 8333a46ad3877485e4d67ef499c6dda36bfd1f9a |
| Author: Neil Horman <nhorman@tuxdriver.com> |
| Date: Tue Apr 26 10:30:11 2011 +0000 |
| |
| bnx2: cancel timer on device removal |
| |
| This oops was recently reported to me: |
| |
| invalid opcode: 0000 [#1] SMP |
| last sysfs file: |
| /sys/devices/pci0000:00/0000:00:01.0/0000:01:0d.0/0000:02:05.0/device |
| CPU 1 |
| Modules linked in: bnx2(+) sunrpc ipv6 dm_mirror dm_region_hash dm_log sg |
| microcode serio_raw amd64_edac_mod edac_core edac_mce_amd k8temp i2c_piix4 |
| shpchp ext4 mbcache jbd2 sd_mod crc_t10dif mptsas mptscsih mptbase |
| scsi_transport_sas radeon ttm drm_kms_helper drm hwmon i2c_algo_bit i2c_core |
| dm_mod [last unloaded: bnx2] |
| |
| Modules linked in: bnx2(+) sunrpc ipv6 dm_mirror dm_region_hash dm_log sg |
| microcode serio_raw amd64_edac_mod edac_core edac_mce_amd k8temp i2c_piix4 |
| shpchp ext4 mbcache jbd2 sd_mod crc_t10dif mptsas mptscsih mptbase |
| scsi_transport_sas radeon ttm drm_kms_helper drm hwmon i2c_algo_bit i2c_core |
| dm_mod [last unloaded: bnx2] |
| Pid: 23900, comm: pidof Not tainted 2.6.32-130.el6.x86_64 #1 BladeCenter LS21 |
| -[797251Z]- |
| RIP: 0010:[<ffffffffa058b270>] [<ffffffffa058b270>] 0xffffffffa058b270 |
| RSP: 0018:ffff880002083e48 EFLAGS: 00010246 |
| RAX: ffff880002083e90 RBX: ffff88007ccd4000 RCX: 0000000000000000 |
| RDX: 0000000000000100 RSI: dead000000200200 RDI: ffff8800007b8700 |
| RBP: ffff880002083ed0 R08: ffff88000208db40 R09: 0000022d191d27c8 |
| R10: 0000000000000000 R11: 0000000000000000 R12: ffff8800007b9bc8 |
| R13: ffff880002083e90 R14: ffff8800007b8700 R15: ffffffffa058b270 |
| FS: 00007fbb3bcf7700(0000) GS:ffff880002080000(0000) knlGS:0000000000000000 |
| CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 |
| CR2: 0000000001664a98 CR3: 0000000060395000 CR4: 00000000000006e0 |
| DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 |
| DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 |
| Process pidof (pid: 23900, threadinfo ffff8800007e8000, task ffff8800091c0040) |
| Stack: |
| ffffffff81079f77 ffffffff8109e010 ffff88007ccd5c20 ffff88007ccd5820 |
| <0> ffff88007ccd5420 ffff8800007e9fd8 ffff8800007e9fd8 0000010000000000 |
| <0> ffff88007ccd5020 ffff880002083e90 ffff880002083e90 ffffffff8102a00d |
| Call Trace: |
| <IRQ> |
| [<ffffffff81079f77>] ? run_timer_softirq+0x197/0x340 |
| [<ffffffff8109e010>] ? tick_sched_timer+0x0/0xc0 |
| [<ffffffff8102a00d>] ? lapic_next_event+0x1d/0x30 |
| [<ffffffff8106f737>] __do_softirq+0xb7/0x1e0 |
| [<ffffffff81092cc0>] ? hrtimer_interrupt+0x140/0x250 |
| [<ffffffff81185f90>] ? filldir+0x0/0xe0 |
| [<ffffffff8100c2cc>] call_softirq+0x1c/0x30 |
| [<ffffffff8100df05>] do_softirq+0x65/0xa0 |
| [<ffffffff8106f525>] irq_exit+0x85/0x90 |
| [<ffffffff814e3340>] smp_apic_timer_interrupt+0x70/0x9b |
| [<ffffffff8100bc93>] apic_timer_interrupt+0x13/0x20 |
| <EOI> |
| [<ffffffff81211ba5>] ? selinux_file_permission+0x45/0x150 |
| [<ffffffff81262a75>] ? _atomic_dec_and_lock+0x55/0x80 |
| [<ffffffff812050c6>] security_file_permission+0x16/0x20 |
| [<ffffffff811861c1>] vfs_readdir+0x71/0xe0 |
| [<ffffffff81186399>] sys_getdents+0x89/0xf0 |
| [<ffffffff8100b172>] system_call_fastpath+0x16/0x1b |
| |
| It occured during some stress testing, in which the reporter was repeatedly |
| removing and modprobing the bnx2 module while doing various other random |
| operations on the bnx2 registered net device. Noting that this error occured on |
| a serdes based device, we noted that there were a few ethtool operations (most |
| notably self_test and set_phys_id) that have execution paths that lead into |
| bnx2_setup_serdes_phy. This function is notable because it executes a mod_timer |
| call, which starts the bp->timer running. Currently bnx2 is setup to assume |
| that this timer only nees to be stopped when bnx2_close or bnx2_suspend is |
| called. Since the above ethtool operations are not gated on the net device |
| having been opened however, that assumption is incorrect, and can lead to the |
| timer still running after the module has been removed, leading to the oops above |
| (as well as other simmilar oopses). |
| |
| Fix the problem by ensuring that the timer is stopped when pci_device_unregister |
| is called. |
| |
| Signed-off-by: Neil Horman <nhorman@tuxdriver.com> |
| Reported-by: Hushan Jia <hjia@redhat.com> |
| CC: Michael Chan <mchan@broadcom.com> |
| CC: "David S. Miller" <davem@davemloft.net> |
| Acked-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit fce55922f5299a04c0a56b170a141fab34f13465 |
| Author: Allan, Bruce W <bruce.w.allan@intel.com> |
| Date: Wed Apr 13 13:09:10 2011 +0000 |
| |
| ethtool: allow custom interval for physical identification |
| |
| When physical identification of an adapter is done by toggling the |
| mechanism on and off through software utilizing the set_phys_id operation, |
| it is done with a fixed duration for both on and off states. Some drivers |
| may want to set a custom duration for the on/off intervals. This patch |
| changes the API so the return code from the driver's entry point when it |
| is called with ETHTOOL_ID_ACTIVE can specify the frequency at which to |
| cycle the on/off states, and updates the drivers that have already been |
| converted to use the new set_phys_id and use the synchronous method for |
| identifying an adapter. |
| |
| The physical identification frequency set in the updated drivers is based |
| on how it was done prior to the introduction of set_phys_id. |
| |
| Compile tested only. Also fixes a compiler warning in sfc. |
| |
| v2: drivers do not return -EINVAL for ETHOOL_ID_ACTIVE |
| v3: fold patchset into single patch and cleanup per Ben's feedback |
| |
| Signed-off-by: Bruce Allan <bruce.w.allan@intel.com> |
| Cc: Ben Hutchings <bhutchings@solarflare.com> |
| Cc: Sathya Perla <sathya.perla@emulex.com> |
| Cc: Subbu Seetharaman <subbu.seetharaman@emulex.com> |
| Cc: Ajit Khaparde <ajit.khaparde@emulex.com> |
| Cc: Michael Chan <mchan@broadcom.com> |
| Cc: Eilon Greenstein <eilong@broadcom.com> |
| Cc: Divy Le Ray <divy@chelsio.com> |
| Cc: Don Fry <pcnet32@frontier.com> |
| Cc: Jon Mason <jdmason@kudzu.us> |
| Cc: Solarflare linux maintainers <linux-net-drivers@solarflare.com> |
| Cc: Steve Hodgson <shodgson@solarflare.com> |
| Cc: Stephen Hemminger <shemminger@linux-foundation.org> |
| Cc: Matt Carlson <mcarlson@broadcom.com> |
| Acked-by: Jon Mason <jdmason@kudzu.us> |
| Acked-by: Ben Hutchings <bhutchings@solarflare.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 2e17e1aa80e914acd8a31a41b9bf1173186a976a |
| Author: stephen hemminger <shemminger@vyatta.com> |
| Date: Mon Apr 4 11:06:36 2011 +0000 |
| |
| bnx2: convert to set_phys_id |
| |
| In this case, need to add element to device private to hold |
| original led state. |
| |
| Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit bc8d7da3f19191f86dcc8274cf1a3f2d6aeb0aaa |
| Author: Balaji G <balajig81@gmail.com> |
| Date: Sun Mar 27 17:15:19 2011 +0000 |
| |
| drivers net: Fix declaration ordering in inline functions. |
| |
| The correct usage should be "static inline void" instead of "static void inline" |
| |
| Signed-off-by: G.Balaji <balajig81@gmail.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit dc187cb381f1bceb30498861ece510245c43ed9f |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Mar 14 15:00:12 2011 -0700 |
| |
| bnx2: Update firmware and version |
| |
| Update 5709 mips firmware to 6.2.1a to fix iSCSI performance |
| regression. There was an unnecessary context read in the fast path |
| affecting performance. |
| |
| Update bnx2 to 2.1.6. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 13707f9e5e46342b7b16c58be91ad93a476c3ffd |
| Author: Eric Dumazet <eric.dumazet@gmail.com> |
| Date: Wed Jan 26 19:28:23 2011 +0000 |
| |
| drivers/net: remove some rcu sparse warnings |
| |
| Add missing __rcu annotations and helpers. |
| minor : Fix some rcu_dereference() calls in macvtap |
| |
| Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> |
| Acked-by: Arnd Bergmann <arnd@arndb.de> |
| Acked-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 4bb9ebc78097376b3734c6d3001a96aecac0f7bb |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Tue Jan 25 22:14:51 2011 +0000 |
| |
| bnx2: Eliminate AER error messages on systems not supporting it |
| |
| On PPC for example, AER is not supported and we see unnecessary AER |
| error message without this patch: |
| |
| bnx2 0003:01:00.1: pci_cleanup_aer_uncorrect_error_status failed 0xfffffffb |
| |
| Reported-by: Breno Leitao <leitao@linux.vnet.ibm.com> |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 0268102d53c872b42e214f95492065c8058b042e |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Fri Dec 31 11:04:02 2010 -0800 |
| |
| bnx2: Update firmware and version |
| |
| Update MIPS firmware to 6.2.1, with improved small packet performance |
| in RSS mode, and iSCSI CID allocation bug fix on 5708. |
| |
| Update driver version to 2.0.21. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit a29ba9d2d84889686a3af1c5a6023f28be75ccba |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Fri Dec 31 11:03:14 2010 -0800 |
| |
| bnx2: Free IRQ before freeing status block memory |
| |
| When changing ring size, we free all memory including status block |
| memory. If we're in INTA mode and sharing IRQ, the IRQ handler can |
| be called and it will reference the NULL status block pointer. |
| |
| Because of the lockless design of the IRQ handler, there is no simple |
| way to synchronize and prevent this. So we avoid this problem by |
| freeing the IRQ handler before freeing the status block memory. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit cb8f404893bab40431f7eeb2511454031b07e7df |
| Author: Tejun Heo <tj@kernel.org> |
| Date: Tue Dec 14 06:09:59 2010 +0000 |
| |
| bnx2: remove cancel_work_sync() from remove_one |
| |
| Michael pointed out that bnx2_close() already cancels bp->reset_task |
| and thus it is guaranteed to be idle when bnx2_remove_one() is called. |
| Remove the unnecessary cancel_work_sync() in remove_one. |
| |
| Signed-off-by: Tejun Heo <tj@kernel.org> |
| Acked-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit b6bc765067ece933cc3dc7f5e95665a89100b1d5 |
| Author: Joe Perches <joe@perches.com> |
| Date: Tue Dec 21 02:16:08 2010 -0800 |
| |
| drivers/net/*.c: Use static const |
| |
| Using static const generally increases object text and decreases data size. |
| It also generally decreases overall object size. |
| |
| Signed-off-by: Joe Perches <joe@perches.com> |
| |
| commit 23f333a2bfafba80339315b724808982a9de57d9 |
| Author: Tejun Heo <tj@kernel.org> |
| Date: Sun Dec 12 16:45:14 2010 +0100 |
| |
| drivers/net: don't use flush_scheduled_work() |
| |
| flush_scheduled_work() is on its way out. This patch contains simple |
| conversions to replace flush_scheduled_work() usage with direct |
| cancels and flushes. |
| |
| Directly cancel the used works on driver detach and flush them in |
| other cases. |
| |
| The conversions are mostly straight forward and the only dangers are, |
| |
| * Forgetting to cancel/flush one or more used works. |
| |
| * Cancelling when a work should be flushed (ie. the work must be |
| executed once scheduled whether the driver is detaching or not). |
| |
| I've gone over the changes multiple times but it would be much |
| appreciated if you can review with the above points in mind. |
| |
| Signed-off-by: Tejun Heo <tj@kernel.org> |
| Cc: "David S. Miller" <davem@davemloft.net> |
| Cc: Jay Cliburn <jcliburn@gmail.com> |
| Cc: Michael Chan <mchan@broadcom.com> |
| Cc: Divy Le Ray <divy@chelsio.com> |
| Cc: e1000-devel@lists.sourceforge.net |
| Cc: Vasanthy Kolluri <vkolluri@cisco.com> |
| Cc: Samuel Ortiz <samuel@sortiz.org> |
| Cc: Lennert Buytenhek <buytenh@wantstofly.org> |
| Cc: Andrew Gallatin <gallatin@myri.com> |
| Cc: Francois Romieu <romieu@fr.zoreil.com> |
| Cc: Ramkrishna Vepa <ramkrishna.vepa@exar.com> |
| Cc: Matt Carlson <mcarlson@broadcom.com> |
| Cc: David Brownell <dbrownell@users.sourceforge.net> |
| Cc: Shreyas Bhatewara <sbhatewara@vmware.com> |
| Cc: netdev@vger.kernel.org |
| |
| commit be7ff1afec25f2700ca85e3956a2cb3a7b74acd5 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Wed Nov 24 13:48:55 2010 +0000 |
| |
| bnx2: Remove config access to non-standard registers |
| |
| In KVM passthrough mode, the driver may not have config access to |
| non-standard registers. The BNX2_PCICFG_MISC_CONFIG config register |
| access to setup mailbox swapping can be done using MMIO. |
| |
| Update version to 2.0.20. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit a5dac108d57072eec4d6745f32c162524509f2cb |
| Author: Eddie Wai <waie@broadcom.com> |
| Date: Wed Nov 24 13:48:54 2010 +0000 |
| |
| bnx2: Fix reset bug on 5709 |
| |
| The 5709 chip requires the BNX2_MISC_NEW_CORE_CTL_DMA_ENABLE bit to be |
| cleared and polling for pending DMAs to complete before chip reset. |
| Without this step, we've seen NMIs during repeated resets of the chip. |
| |
| Signed-off-by: Eddie Wai <waie@broadcom.com> |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit c239f279e571a272c1b32a1e84b8fa037b68f49c |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Oct 11 16:12:28 2010 -0700 |
| |
| bnx2: Enable AER on PCIE devices only |
| |
| To prevent unnecessary error message. pci_save_state() is also moved to |
| the end of ->probe() so that all PCI config, including AER state, will be |
| saved. |
| |
| Update version to 2.0.18. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Reviewed-by: Benjamin Li <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 22fa159d37efbfe781bbb99279efe83f58b87d29 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Oct 11 16:12:00 2010 -0700 |
| |
| bnx2: Update firmware to 6.0.x. |
| |
| - Improved flow control and simplified interface |
| - Use hardware RSS indirection table instead of the slower firmware- |
| based table |
| - Lower latency interrupt on 5709 |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Reviewed-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 657d92fe6d693b9674264bc7546e664714955425 |
| Author: Ben Hutchings <bhutchings@solarflare.com> |
| Date: Mon Sep 27 08:25:16 2010 +0000 |
| |
| bnx2: Use netif_set_real_num_{rx,tx}_queues() |
| |
| Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 807540baae406c84dcb9c1c8ef07a56d2d2ae84a |
| Author: Eric Dumazet <eric.dumazet@gmail.com> |
| Date: Thu Sep 23 05:40:09 2010 +0000 |
| |
| drivers/net: return operator cleanup |
| |
| Change "return (EXPR);" to "return EXPR;" |
| |
| return is not a function, parentheses are not required. |
| |
| Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit cd709aa90648195e5b5823fa90eb0b3fb0e78ee4 |
| Author: John Feeney <jfeeney@redhat.com> |
| Date: Sun Aug 22 17:45:53 2010 +0000 |
| |
| bnx2: Add PCI Advanced Error Reporting support. |
| |
| Signed-off-by: John Feeney <jfeeney@redhat.com> |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 5ae482e01d60bd4e8fc181f78355047e52999ce8 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Jul 19 14:15:05 2010 +0000 |
| |
| bnx2: Update version to 2.0.17. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 11848b964777af9c68d9160582628c2eb11f46d5 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Jul 19 14:15:04 2010 +0000 |
| |
| bnx2: Remove some unnecessary smp_mb() in tx fast path. |
| |
| smp_mb() inside bnx2_tx_avail() is used twice in the normal |
| bnx2_start_xmit() path (see illustration below). The full memory |
| barrier is only necessary during race conditions with tx completion. |
| We can speed up the tx path by replacing smp_mb() in bnx2_tx_avail() |
| with a compiler barrier. The compiler barrier is to force the |
| compiler to fetch the tx_prod and tx_cons from memory. |
| |
| In the race condition between bnx2_start_xmit() and bnx2_tx_int(), |
| we have the following situation: |
| |
| bnx2_start_xmit() bnx2_tx_int() |
| if (!bnx2_tx_avail()) |
| BUG(); |
| |
| ... |
| |
| if (!bnx2_tx_avail()) |
| netif_tx_stop_queue(); update_tx_index(); |
| smp_mb(); smp_mb(); |
| if (bnx2_tx_avail()) if (netif_tx_queue_stopped() && |
| netif_tx_wake_queue(); bnx2_tx_avail()) |
| |
| With smp_mb() removed from bnx2_tx_avail(), we need to add smp_mb() to |
| bnx2_start_xmit() as shown above to properly order netif_tx_stop_queue() |
| and bnx2_tx_avail() to check the ring index. If it is not strictly |
| ordered, the tx queue can be stopped forever. |
| |
| This improves performance by about 5% with 2 ports running bi-directional |
| 64-byte packets. |
| |
| Reviewed-by: Benjamin Li <benli@broadcom.com> |
| Reviewed-by: Matt Carlson <mcarlson@broadcom.com> |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 379b39a2ad613745bfbfe80256957d19689b7b94 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Jul 19 14:15:03 2010 +0000 |
| |
| bnx2: Call pci_enable_msix() with actual number of vectors. |
| |
| Based on original patch by Breno Leitão <leitao@linux.vnet.ibm.com>. |
| |
| Allocate the actual number of vectors and make use of fewer vectors |
| if pci_enable_msix() returns > 0. We must allocate one additional |
| vector for the cnic driver. |
| |
| Cc: Breno Leitão <leitao@linux.vnet.ibm.com> |
| Reviewed-by: Benjamin Li <benli@broadcom.com> |
| Reviewed-by: Matt Carlson <mcarlson@broadcom.com> |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 6fdae995557f0ad16320951593d6f8f48f57c14a |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Jul 19 14:15:02 2010 +0000 |
| |
| bnx2: Use proper counter for net_device_stats->multicast. |
| |
| We were using the wrong tx multicast counter instead of the rx multicast |
| counter. |
| |
| Reported-by: Peter Snellman <peter.snellman@cinnober.com> |
| Reviewed-by: Benjamin Li <benli@broadcom.com> |
| Reviewed-by: Matt Carlson <mcarlson@broadcom.com> |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 36227e88c2563de73f748aa7d85fffd7afffc1fb |
| Author: Stanislaw Gruszka <sgruszka@redhat.com> |
| Date: Thu Jul 15 04:25:50 2010 +0000 |
| |
| bnx2: use device model DMA API |
| |
| Use DMA API as PCI equivalents will be deprecated. This change also allow |
| to allocate with GFP_KERNEL in some places. |
| |
| Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com> |
| Acked-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit a2df00aa33f741096e977456573ebb08eece0b6f |
| Author: Stanislaw Gruszka <sgruszka@redhat.com> |
| Date: Thu Jul 15 22:55:40 2010 +0000 |
| |
| bnx2: allocate with GFP_KERNEL flag on RX path init |
| |
| Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com> |
| Acked-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit e5a0c1fd155ca0e98ff8995c2e79b654759cb544 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Sat Jul 3 20:42:18 2010 +0000 |
| |
| bnx2: Update version to 2.0.16. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 5804a8fbb8f53759a6c806c2a8da1b47b82f12bc |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Sat Jul 3 20:42:17 2010 +0000 |
| |
| bnx2: Dump some config space registers during TX timeout. |
| |
| These config register values will be useful when the memory registers |
| are returning 0xffffffff which has been reported. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit fdc8541d693a04ba3d6c335dace19b8362ac4e83 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Sat Jul 3 20:42:16 2010 +0000 |
| |
| bnx2: Add support for skb->rxhash. |
| |
| Add skb->rxhash support for TCP packets only because the bnx2 RSS hash |
| does not hash UDP ports. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 3d5f3a7bbd06065b06c7f65f948437ded40255ec |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Sat Jul 3 20:42:15 2010 +0000 |
| |
| bnx2: Always enable MSI-X on 5709. |
| |
| Minor change to use MSI-X even if there is only one CPU. This allows |
| the CNIC driver to always have a dedicated MSI-X vector to handle |
| iSCSI events, instead of sharing the MSI vector. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit aabef8b240880439b91574c9a9e33dcc44bfd8c7 |
| Author: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> |
| Date: Thu Jun 17 08:56:05 2010 -0700 |
| |
| bnx2: fix dma_get_ops compilation breakage |
| |
| This removes dma_get_ops() prefetch optimization in bnx2. |
| |
| bnx2 uses dma_get_ops() to see if dma_sync_single_for_cpu() is |
| noop. bnx2 does prefetch if it's noop. |
| |
| But dma_get_ops() isn't available on all the architectures (only the |
| architectures that uses dma_map_ops struct have it). Using |
| dma_get_ops() in drivers leads to compilation breakage on many |
| architectures. |
| |
| This patch removes dma_get_ops() and changes bnx2 to do prefetch on |
| all the architectures. This adds useless prefetch on non-coherent |
| architectures but this is harmless. It is also unlikely to cause the |
| performance drop. |
| |
| [ Remove now unused local variable 'pdev' -DaveM ] |
| |
| Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> |
| Acked-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit cbd6890c5987cd7115147e1dd2c10d729afabb08 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Tue Jun 8 07:21:30 2010 +0000 |
| |
| bnx2: Fix compiler warning in bnx2_disable_forced_2g5(). |
| |
| drivers/net/bnx2.c: In function 'bnx2_disable_forced_2g5': |
| drivers/net/bnx2.c:1489: warning: 'bmcr' may be used uninitialized in this function |
| |
| We fix it by checking return values from all bnx2_read_phy() and proceeding |
| to do read-modify-write only if the read operation is successful. |
| |
| The related bnx2_enable_forced_2g5() is also fixed the same way. |
| |
| Reported-by: Prarit Bhargava <prarit@redhat.com> |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit f048fa9c8686119c3858a463cab6121dced7c0bf |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Tue Jun 1 15:05:36 2010 +0000 |
| |
| bnx2: Fix hang during rmmod bnx2. |
| |
| The regression is caused by: |
| |
| commit 4327ba435a56ada13eedf3eb332e583c7a0586a9 |
| bnx2: Fix netpoll crash. |
| |
| If ->open() and ->close() are called multiple times, the same napi structs |
| will be added to dev->napi_list multiple times, corrupting the dev->napi_list. |
| This causes free_netdev() to hang during rmmod. |
| |
| We fix this by calling netif_napi_del() during ->close(). |
| |
| Also, bnx2_init_napi() must not be in the __devinit section since it is |
| called by ->open(). |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit a0ba676008d9f050f1de9ede8d1ee4bf6820bfc9 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon May 17 17:34:43 2010 -0700 |
| |
| bnx2: Use netif_carrier_off() to prevent timeout. |
| |
| Based on original patch from Stanislaw Gruszka <sgruszka@redhat.com>. |
| |
| Using netif_carrier_off() is better than updating all the ->trans_start |
| on all the tx queues. |
| |
| netif_carrier_off() needs to be called after bnx2_disable_int_sync() |
| to guarantee no race conditions with the serdes timers that can |
| modify the carrier state. |
| |
| If the chip or phy is reset, carrier will turn back on when we get the |
| link interrupt. If there is no reset, we need to turn carrier back on |
| in bnx2_netif_start(). Again, the phy_lock prevents race conditions with |
| the serdes timers. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: Matt Carlson <mcarlson@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit a931d294042b5bbd8e390c59741b968c11856ac1 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon May 17 17:33:31 2010 -0700 |
| |
| bnx2: Update 5709 MIPS firmware and version to 2.0.15. |
| |
| New firmware fixes a performance regression on small packets. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit b98eba52784fbd4a96241c5395c2c8d99fdb9433 |
| Author: Eddie Wai <waie@broadcom.com> |
| Date: Mon May 17 17:32:56 2010 -0700 |
| |
| bnx2: Fix register printouts during NETEV_WATCHDOG. |
| |
| Dump the correct MCP registers and add EMAC_RX_STATUS register during |
| NETDEV_WATCHDOG for debugging. |
| |
| Signed-off-by: Eddie Wai <waie@broadcom.com> |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit a33fa66bcf365ffe5b79d1ae1d3582cc261ae56e |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu May 6 08:58:13 2010 +0000 |
| |
| bnx2: Add prefetches to rx path. |
| |
| Add prefetches of the skb and the next rx descriptor to speed up rx path. |
| |
| Use prefetchw() for the skb [suggested by Eric Dumazet]. |
| |
| The rx descriptor is in skb->data which is mapped for streaming mode DMA. |
| Eric Dumazet pointed out that we should not prefetch the data before |
| dma_sync. So we prefetch only if dma_sync is no_op on the system. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit c67938a9e071fa51c91ed17a14382e128368d115 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu May 6 08:58:12 2010 +0000 |
| |
| bnx2: Add GRO support. |
| |
| And turn on NETIF_F_GRO by default [requested by DaveM]. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 587611d6e4d5c0fb5e9492cb06d9054744d69536 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Tue Apr 27 11:28:11 2010 +0000 |
| |
| bnx2: Update version to 2.0.9. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 212f9934afccf9c97399216b694a7f452526d6da |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Tue Apr 27 11:28:10 2010 +0000 |
| |
| bnx2: Prevent "scheduling while atomic" warning with cnic, bonding and vlan. |
| |
| The bonding driver calls ndo_vlan_rx_register() while holding bond->lock. |
| The bnx2 driver calls bnx2_netif_stop() to stop the rx handling while |
| changing the vlgrp. The call also stops the cnic driver which sleeps |
| while the bond->lock is held and cause the warning. |
| |
| This code path only needs to stop the NAPI rx handling while we are |
| changing the vlgrp. Since no reset is going to occur, there is no need |
| to stop cnic in this case. By adding a parameter to bnx2_netif_stop() |
| to skip stopping cnic, we can avoid the warning. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit c441b8d2cb2194b05550a558d6d95d8944e56a84 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Tue Apr 27 11:28:09 2010 +0000 |
| |
| bnx2: Fix lost MSI-X problem on 5709 NICs. |
| |
| It has been reported that under certain heavy traffic conditions in MSI-X |
| mode, the driver can lose an MSI-X vector causing all packets in the |
| associated rx/tx ring pair to be dropped. The problem is caused by |
| the chip dropping the write to unmask the MSI-X vector by the kernel |
| (when migrating the IRQ for example). |
| |
| This can be prevented by increasing the GRC timeout value for these |
| register read and write operations. |
| |
| Thanks to Dell for helping us debug this problem. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 1a4ccc2d460f252853dfa2fb38b4ea881916713d |
| Author: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> |
| Date: Thu Apr 1 16:56:57 2010 +0000 |
| |
| bnx2: use the dma state API instead of the pci equivalents |
| |
| The DMA API is preferred. |
| |
| Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 22bedad3ce112d5ca1eaf043d4990fa2ed698c87 |
| Author: Jiri Pirko <jpirko@redhat.com> |
| Date: Thu Apr 1 21:22:57 2010 +0000 |
| |
| net: convert multicast list to list_head |
| |
| Converts the list and the core manipulating with it to be the same as uc_list. |
| |
| +uses two functions for adding/removing mc address (normal and "global" |
| variant) instead of a function parameter. |
| +removes dev_mcast.c completely. |
| +exposes netdev_hw_addr_list_* macros along with __hw_addr_* functions for |
| manipulation with lists on a sandbox (used in bonding and 80211 drivers) |
| |
| Signed-off-by: Jiri Pirko <jpirko@redhat.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 1bf1e347ef254ed8a13e7971a30e1bf3983da3d1 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Tue Mar 23 13:13:12 2010 +0000 |
| |
| bnx2: Use proper handler during netpoll. |
| |
| Netpoll needs to call the proper handler depending on the IRQ mode |
| and the vector. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 4327ba435a56ada13eedf3eb332e583c7a0586a9 |
| Author: Benjamin Li <benli@broadcom.com> |
| Date: Tue Mar 23 13:13:11 2010 +0000 |
| |
| bnx2: Fix netpoll crash. |
| |
| The bnx2 driver calls netif_napi_add() for all the NAPI structs during |
| ->probe() time but not all of them will be used if we're not in MSI-X |
| mode. This creates a problem for netpoll since it will poll all the |
| NAPI structs in the dev_list whether or not they are scheduled, resulting |
| in a crash when we access structure fields not initialized for that vector. |
| |
| We fix it by moving the netif_napi_add() call to ->open() after the number |
| of IRQ vectors has been determined. |
| |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 0ddf477b8a9b02412a6cabd51c486998811c7dd1 |
| Author: Jiri Pirko <jpirko@redhat.com> |
| Date: Sat Feb 20 00:13:58 2010 +0000 |
| |
| net: convert multiple drivers to use netdev_for_each_mc_addr, part3 |
| |
| Signed-off-by: Jiri Pirko <jpirko@redhat.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 3a9c6a4915e584663aebdb9016bcb9d3897dd779 |
| Author: Joe Perches <joe@perches.com> |
| Date: Wed Feb 17 15:01:51 2010 +0000 |
| |
| drivers/net/bnx2.c: Use (pr|netdev|netif)_<level> macro helpers |
| |
| Add #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt |
| Remove #define PFX |
| Use pr_<level> |
| Use netdev_<level> |
| Use netif_<level> |
| Remove periods from formats |
| Coalesce long formats |
| Coalesce some printks |
| |
| Signed-off-by: Joe Perches <joe@perches.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit bec92044b73085ba92aabf973cb5aafc251f3a34 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Tue Feb 16 15:19:42 2010 -0800 |
| |
| bnx2: Update firmwares and update version to 2.0.8. |
| |
| - Increase FTQ depth to 256 to ehnabce performance. |
| - Fix RV2P context corruption on 5709 when flow control is enabled. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit c9885fe5a76dea798543f2938a872bc159e8e69a |
| Author: Patrick Rabau <pr2345@gmail.com> |
| Date: Mon Feb 15 19:42:11 2010 +0000 |
| |
| bnx2: Fix bug when saving statistics. |
| |
| This fixes the problem of dropping the carry when adding 2 32-bit values. |
| Switch to use array indexing for better readability. |
| |
| Reported by and fix provided by Patrick Rabau. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit beb499afe3c9c006bb2d66ceaff0f354d0405ff4 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Feb 15 19:42:10 2010 +0000 |
| |
| bnx2: Allow user-specified multiple advertisement speed values. |
| |
| Remove unnecessary code that works around older versions of ethtool |
| that can pass down invalid advertisement speed values. This old |
| code prevents the user from specifying multiple advertisement values. |
| The new code uses simple masking to mask out invalid advertisment bits. |
| |
| Reported-by: Vlad Yasevich <vladislav.yasevich@hp.com> |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 5726026bfffa13e9b1098d7bc177618cbbaa9388 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Feb 15 19:42:09 2010 +0000 |
| |
| bnx2: Adjust flow control water marks. |
| |
| The current water marks are too high and can cause unnecessary flow |
| control frames. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit e9f26c49ce790de0064474f97d6402ce1fefac2a |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Feb 15 19:42:08 2010 +0000 |
| |
| bnx2: Need to call cnic_setup_cnic_irq_info() after MTU change. |
| |
| New status blocks are allocated during MTU change so we need to |
| update this information for the cnic driver. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit efde73a35c2fc88db26a1583b19e0ab0fdfcd4f8 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Feb 15 19:42:07 2010 +0000 |
| |
| bnx2: Check BNX2_FLAG_USING_MSIX flag when setting up MSIX. |
| |
| Checking the flag is more correct than checking bp->irq_nvecs. By |
| accident it is not a problem because we always have more than 1 |
| vectors when using MSIX mode. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 4cd24eaf0c6ee7f0242e34ee77ec899f255e66b5 |
| Author: Jiri Pirko <jpirko@redhat.com> |
| Date: Mon Feb 8 04:30:35 2010 +0000 |
| |
| net: use netdev_mc_count and netdev_mc_empty when appropriate |
| |
| This patch replaces dev->mc_count in all drivers (hopefully I didn't miss |
| anything). Used spatch and did small tweaks and conding style changes when |
| it was suitable. |
| |
| Jirka |
| |
| Signed-off-by: Jiri Pirko <jpirko@redhat.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 32e7bfc41110bc8f29ec0f293c3bcee6645fef34 |
| Author: Jiri Pirko <jpirko@redhat.com> |
| Date: Mon Jan 25 13:36:10 2010 -0800 |
| |
| net: use helpers to access uc list V2 |
| |
| This patch introduces three macros to work with uc list from net drivers. |
| |
| Signed-off-by: Jiri Pirko <jpirko@redhat.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 354fcd7774a00809ebefdba75e747364cb22a940 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Sun Jan 17 07:30:44 2010 +0000 |
| |
| bnx2: Save statistics during reset. |
| |
| MTU changes, ring size changes, etc cause the chip to be reset and the |
| statisctics flushed. To keep track of the accumulated statistics, we |
| add code to save the whole statistics block before reset. We also |
| modify the macros and statistics functions to return the sum of the |
| saved and current counters. |
| |
| Based on original patch by Breno Leitao <leitao@linux.vnet.ibm.com> |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit a47430583dab67b23161b0e75226781deed50138 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Sun Jan 17 07:30:43 2010 +0000 |
| |
| bnx2: Refine statistics code. |
| |
| Refine the statistics macros by passing in just the name of the |
| counter field. This makes it a lot easier and cleaner to add |
| counters saved before the last reset in the next patch. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit e2eb8e38592f28d8be4a518f44d3385272dedddb |
| Author: Benjamin Li <benli@broadcom.com> |
| Date: Fri Jan 8 00:51:21 2010 -0800 |
| |
| bnx2: Flush the register writes which setup the MSI-X table |
| |
| The MSI-X table size needs to be properly set before pci_enable_msix() |
| is called. But on certain machines, the writes are delayed and the |
| MSI-X table size is incorrectly read. By reading the |
| BNX2_PCI_MSIX_CONTROL register, the writes are flushed and now |
| ensure that the MSI-X table is set correctly before MSI-X |
| is enable on the device. |
| |
| This patch was originally diagnosed and authored by |
| Kalyan Ram Chintalapati <kalyanc@vmware.com>. |
| |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: Kalyan Ram Chintalapati <kalyanc@vmware.com> |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit b74665606962456af7f92b1e448cee30ce70967b |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Sun Dec 20 18:40:18 2009 -0800 |
| |
| bnx2: Fix bnx2_netif_stop() merge error. |
| |
| The error was introduced while merging: |
| |
| commit 4529819c45161e4a119134f56ef504e69420bc98 |
| bnx2: reset_task is crashing the kernel. Fixing it. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com>k |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit e6bf95ffa8d6f8f4b7ee33ea01490d95b0bbeb6e |
| Author: Breno Leitao <leitao@linux.vnet.ibm.com> |
| Date: Fri Dec 18 20:35:34 2009 -0800 |
| |
| bnx2: fixing a timout error due not refreshing TX timers correctly |
| |
| When running the following script on an active bnx2 interface: |
| |
| while(true); do ifconfig ethX mtu 9000; ifconfig ethX mtu 1500; done |
| |
| A timeout error appears and dumps the following stack: |
| |
| NETDEV WATCHDOG: eth4 (bnx2): transmit queue 0 timed out |
| ------------[ cut here ]------------ |
| Badness at net/sched/sch_generic.c:261 |
| <snip> |
| |
| This patch just fixes the way that ->trans_start is refreshed. |
| |
| Signed-off-by: Breno Leitao <leitao@linux.vnet.ibm.com> |
| Acked-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 4529819c45161e4a119134f56ef504e69420bc98 |
| Author: Breno Leitao <leitao@linux.vnet.ibm.com> |
| Date: Fri Dec 18 20:29:04 2009 -0800 |
| |
| bnx2: reset_task is crashing the kernel. Fixing it. |
| |
| If bnx2 schedules a reset via the reset_task, e.g., due to a TX |
| timeout, it's possible for the NIC to be disabled with packets |
| pending for transmit. In this case, napi_disable will loop forever, |
| eventually crashing the kernel. This patch moves the disable of |
| the device to after the napi_disable call. |
| |
| Signed-off-by: Breno Leitao <leitao@linux.vnet.ibm.com> |
| Acked-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 89f13816d5c24f561be035e6977bcaebfa288114 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Dec 3 14:35:57 2009 -0800 |
| |
| bnx2: Refine VPD logic. |
| |
| - Replace magic values with constants |
| - Simplify length calculation and fix a bug |
| |
| Based on valuable feedback from Ben Hutchings <bhutchings@solarflare.com> |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| |
| commit 55dbabee63462a455d8fb57caf08b69db256b012 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Dec 3 09:46:35 2009 +0000 |
| |
| bnx2: Update version to 2.0.3. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 76d9906170259b581691c3cec6bc5d4ab3aaaede |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Dec 3 09:46:34 2009 +0000 |
| |
| bnx2: Read firmware version from VPD. |
| |
| And display it through ethtool -i. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit b929e53cb7796a8abe47174dfdfdf90cbb65a8bf |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Dec 3 09:46:33 2009 +0000 |
| |
| bnx2: Print warning when unable to allocate the full SKB/page ring. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 20175c57f23cde2049c509eb00a2f9d373478107 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Dec 3 09:46:32 2009 +0000 |
| |
| bnx2: Dump some state during tx timeout. |
| |
| To help debug the problem. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 51bf6bb424c14bfd3590a0de03fbd07fc800435e |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Dec 3 09:46:31 2009 +0000 |
| |
| bnx2: Protect tx timeout reset with rtnl_lock(). |
| |
| To prevent race conditions with other reset events. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit e00484023ebe94dce03fdd1270edf3e191c2bc79 |
| Merge: 3248e16 1f5865e |
| Author: David S. Miller <davem@davemloft.net> |
| Date: Wed Dec 2 22:00:34 2009 -0800 |
| |
| Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 |
| |
| commit e95524a726904a1d2b91552f0577838f67d53c6c |
| Author: Alexander Duyck <alexander.h.duyck@intel.com> |
| Date: Wed Dec 2 16:47:57 2009 +0000 |
| |
| bnx2: remove skb_dma_map/unmap calls from driver |
| |
| Due to the fact that skb_dma_map/unmap do not work correctly when a HW |
| IOMMU is enabled it has been recommended to go about removing the calls |
| from the network device drivers. |
| |
| [ Fix bnx2_free_tx_skbs() ring indexing and use NETDEV_TX_OK return |
| code in bnx2_start_xmit() after cleaning up DMA mapping errors. -Mchan ] |
| |
| Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com> |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 529fab67d78747ddc3a8a2bbd0d1aab1d059439f |
| Author: Breno Leitao <leitao@linux.vnet.ibm.com> |
| Date: Thu Nov 26 07:31:49 2009 +0000 |
| |
| bnx2: EEH is failing with timeout |
| |
| bnx2 is failing when a PCI error is detected. The error is the |
| following: |
| |
| bnx2: Chip not in correct endian mode |
| bnx2: fw sync timeout, reset code = 404001d |
| |
| This error was caused because the way pci_restore_state() is working |
| after commit 4b77b0a2ba27d64f58f16d8d4d48d8319dda36ff ("PCI: Clear |
| saved_state after the state has been restored"). |
| |
| Signed-off-by: Breno Leitao<leitao@linux.vnet.ibm.com> |
| Acked-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit c7079857cd89cb5bc686df1d441db8ef0137abf1 |
| Author: Eric Dumazet <eric.dumazet@gmail.com> |
| Date: Mon Nov 2 23:17:42 2009 +0000 |
| |
| bnx2: avoid compiler warnings |
| |
| drivers/net/bnx2.c: In function ‘bnx2_enable_forced_2g5’: |
| drivers/net/bnx2.c:1447: warning: ‘bmcr’ may be used uninitialized in this function |
| drivers/net/bnx2.c: In function ‘bnx2_disable_forced_2g5’: |
| drivers/net/bnx2.c:1482: warning: ‘bmcr’ may be used uninitialized in this function |
| |
| One fix would be to have an initial value, but a plain return might be better. |
| |
| Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> |
| Acked-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 7ab0f2736bfe137a82a7084bbfb5f809da95cabd |
| Author: Ben Hutchings <bhutchings@solarflare.com> |
| Date: Thu Sep 3 10:39:43 2009 +0000 |
| |
| netdev: Remove redundant checks for CAP_NET_ADMIN in MDIO implementations |
| |
| dev_ioctl() already checks capable(CAP_NET_ADMIN) before calling the |
| driver's implementation of MDIO ioctls. |
| |
| Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 61357325f377889a1daffa14962d705dc814dd0e |
| Author: Stephen Hemminger <shemminger@vyatta.com> |
| Date: Mon Aug 31 19:50:58 2009 +0000 |
| |
| netdev: convert bulk of drivers to netdev_tx_t |
| |
| In a couple of cases collapse some extra code like: |
| int retval = NETDEV_TX_OK; |
| ... |
| return retval; |
| into |
| return NETDEV_TX_OK; |
| |
| Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 078b0735881c7969aaf21469f3577831cddd9f8c |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Sat Aug 29 00:02:46 2009 -0700 |
| |
| bnx2: Update firmware to 5.0.0.j3. |
| |
| - Better small packet receive performance. |
| - Better handling of Flow control on 5709. |
| - Fixed iSCSI TMP ABORT TASK problem. |
| - Added iSCSI TCP timestamp option. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 8fea0f0db87a4aaed41a93eed147af61cc5f9e3f |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Fri Aug 21 16:20:50 2009 +0000 |
| |
| bnx2: Update version to 2.0.2. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 0ced9d01d19795f913b95cebedd7d03986671379 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Fri Aug 21 16:20:49 2009 +0000 |
| |
| bnx2: Use const on flash_table structure. |
| |
| The structure, once initialized, never changes. |
| |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit cf7474a6f4eda22603591b7d6253dffc224e4784 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Fri Aug 21 16:20:48 2009 +0000 |
| |
| bnx2: Refine coalescing parameters. |
| |
| - Set the USE_INT_PARAM bit so the rx-frames-irq and tx-frames-irq will take |
| effect on 5709. |
| - Increase the default rx-frames to reduce interrupt count. |
| - Decrease the default rx-frames-irq and tx-frames-irq to catch more events |
| during NAPI poll. |
| |
| All these will reduce interrupts without affecting latency. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 790dab2f671cb477e6179322a6c48c898e311e72 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Fri Aug 21 16:20:47 2009 +0000 |
| |
| bnx2: Report FTQ discard counter. |
| |
| Report this counter to ethtool -S and include it in netstat. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 61d9e3fa7eacabfb7879e3da91709f1a5420c507 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Fri Aug 21 16:20:46 2009 +0000 |
| |
| bnx2: Apply BROKEN_STATS workaround to 5706 and 5708. |
| |
| Add flag to expand the workaround to both chips. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 6fefb65e78f098c09d0ab877b2c70421e4c84116 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Fri Aug 21 16:20:45 2009 +0000 |
| |
| bnx2: Close device if MTU change or ring size change fails. |
| |
| When unable to allocate memory for new MTU or new ring size, we need |
| to close the device to prevent it from crashing. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 3767546cc24de8f104e745d59a0a43a09d9267df |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Fri Aug 21 16:20:44 2009 +0000 |
| |
| bnx2: Check if_running() before touching chip registers. |
| |
| Add this check to bnx2_netif_stop() and bnx2_vlan_rx_register() to |
| prevent bus lockups on some systems when the chip is in low power state. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 155d5561f570c5b3af7a178670061927d89209fb |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Fri Aug 21 16:20:43 2009 +0000 |
| |
| bnx2: Zero out status block before chip reset. |
| |
| In case IRQs are shared, we will not mistakenly start processing |
| the ring based on old status block indices. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit c5a889508203446c1abc1d670599b3a816841813 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Fri Aug 14 15:49:45 2009 +0000 |
| |
| bnx2: Use mutex on slow path cnic calls. |
| |
| The slow path calls to the cnic driver are sleepable calls so we |
| cannot use rcu_read_lock(). Use mutex for these slow path calls |
| instead. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Reviewed-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 2ec3de26d2dc666159b79a8b9394fa00b6f414ae |
| Author: Dean Nelson <dnelson@redhat.com> |
| Date: Fri Jul 31 09:13:18 2009 +0000 |
| |
| bnx2: return PCI_ERS_RESULT_DISCONNECT on permanent failure |
| |
| PCI drivers that implement the struct pci_error_handlers' error_detected |
| callback should return PCI_ERS_RESULT_DISCONNECT if the state passed in is |
| pci_channel_io_perm_failure. This patch fixes the issue for bnx2. |
| |
| Signed-off-by: Dean Nelson <dnelson@redhat.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 72dccb01e8632aa5ffe58070003d0fa19d007116 |
| Author: Eric Dumazet <eric.dumazet@gmail.com> |
| Date: Thu Jul 23 02:01:38 2009 +0000 |
| |
| bnx2: Update vlan_features |
| |
| [PATCH net-next-2.6] bnx2: Update vlan_features |
| |
| In order to get full use of some advanced features of BNX2, we now need to |
| fill dev->vlan_features. |
| |
| Patch successfully tested with vlan devices built on top of bonding. |
| (bond0 : one bnx2 slave, one tg3 slave (not yet vlan_features enabled) |
| |
| Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> |
| Acked-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 7959ea254ed18faee41160b1c50b3c9664735967 |
| Author: Ooiwa Naohiro <nooiwa@miraclelinux.com> |
| Date: Wed Jun 24 00:19:06 2009 -0700 |
| |
| bnx2: Fix the behavior of ethtool when ONBOOT=no |
| |
| I found a little bug. |
| |
| When configure in ifcfg-eth* is ONBOOT=no, |
| the behavior of ethtool command is wrong. |
| |
| # grep ONBOOT /etc/sysconfig/network-scripts/ifcfg-eth2 |
| ONBOOT=no |
| # ethtool eth2 | tail -n1 |
| Link detected: yes |
| |
| I think "Link detected" should be "no". |
| |
| Signed-off-by: Ooiwa Naohiro <nooiwa@miraclelinux.com> |
| Acked-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 31278e71471399beaff9280737e52b47db4dc345 |
| Author: Jiri Pirko <jpirko@redhat.com> |
| Date: Wed Jun 17 01:12:19 2009 +0000 |
| |
| net: group address list and its count |
| |
| This patch is inspired by patch recently posted by Johannes Berg. Basically what |
| my patch does is to group list and a count of addresses into newly introduced |
| structure netdev_hw_addr_list. This brings us two benefits: |
| 1) struct net_device becames a bit nicer. |
| 2) in the future there will be a possibility to operate with lists independently |
| on netdevices (with exporting right functions). |
| I wanted to introduce this patch before I'll post a multicast lists conversion. |
| |
| Signed-off-by: Jiri Pirko <jpirko@redhat.com> |
| |
| drivers/net/bnx2.c | 4 +- |
| drivers/net/e1000/e1000_main.c | 4 +- |
| drivers/net/ixgbe/ixgbe_main.c | 6 +- |
| drivers/net/mv643xx_eth.c | 2 +- |
| drivers/net/niu.c | 4 +- |
| drivers/net/virtio_net.c | 10 ++-- |
| drivers/s390/net/qeth_l2_main.c | 2 +- |
| include/linux/netdevice.h | 17 +++-- |
| net/core/dev.c | 130 ++++++++++++++++++-------------------- |
| 9 files changed, 89 insertions(+), 90 deletions(-) |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 9cbc1cb8cd46ce1f7645b9de249b2ce8460129bb |
| Merge: ca44d6e... 45e3e19... |
| Author: David S. Miller <davem@davemloft.net> |
| Date: Mon Jun 15 03:02:23 2009 -0700 |
| |
| Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 |
| |
| Conflicts: |
| Documentation/feature-removal-schedule.txt |
| drivers/scsi/fcoe/fcoe.c |
| net/core/drop_monitor.c |
| net/core/net-traces.c |
| |
| commit 4edd473f208cff77ce1f7ef26d5a41f31fa198e0 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Jun 8 18:14:42 2009 -0700 |
| |
| [SCSI] bnx2: Add support for CNIC driver. |
| |
| Add interface and functions to support a new CNIC driver to drive |
| the Broadcom bnx2 hardware for iSCSI offload. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Acked-by: David S. Miller <davem@davemloft.net> |
| Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com> |
| |
| commit d62fda082c48b417b47a553860abf75d9cf8b591 |
| Author: Eric Dumazet <dada1@cosmosbay.com> |
| Date: Tue May 12 20:48:02 2009 +0000 |
| |
| bnx2: bnx2_tx_int() optimizations |
| |
| When using bnx2 in a high transmit load, bnx2_tx_int() cost is pretty high. |
| |
| There are two reasons. |
| |
| One is an expensive call to bnx2_get_hw_tx_cons(bnapi) for each freed skb |
| |
| One is cpu stalls when accessing skb_is_gso(skb) / skb_shinfo(skb)->nr_frags |
| because of two cache line misses. |
| (One to get skb->end/head to compute skb_shinfo(skb), |
| one to get is_gso/nr_frags) |
| |
| This patch : |
| |
| 1) avoids calling bnx2_get_hw_tx_cons(bnapi) too many times. |
| |
| 2) makes bnx2_start_xmit() cache is_gso & nr_frags into sw_tx_bd descriptor. |
| This uses a litle bit more ram (256 longs per device on x86), but helps a lot. |
| |
| 3) uses a prefetch(&skb->end) to speedup dev_kfree_skb(), bringing |
| cache line that will be needed in skb_release_data() |
| |
| result is 5 % bandwidth increase in benchmarks, involving UDP or TCP receive |
| & transmits, when a cpu is dedicated to ksoftirqd for bnx2. |
| |
| bnx2_tx_int going from 3.33 % cpu to 0.5 % cpu in oprofile |
| |
| Note : skb_dma_unmap() still very expensive but this is for another patch, |
| not related to bnx2 (2.9 % of cpu, while it does nothing on x86_32) |
| |
| Signed-off-by: Eric Dumazet <dada1@cosmosbay.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 06d4a1dac60723a1fca2dcd0107a962759749908 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Wed May 6 10:15:34 2009 -0700 |
| |
| bnx2: Fix panic in bnx2_poll_work(). |
| |
| Add barrier() to bnx2_get_hw_{tx|rx}_cons() to fix this issue: |
| |
| http://bugzilla.kernel.org/show_bug.cgi?id=12698 |
| |
| This issue was reported by multiple i386 users. Without barrier(), |
| the compiled code looks like the following where %eax contains the |
| address of the tx_cons or rx_cons in the DMA status block. The |
| status block contents can change between the cmpb and the movzwl |
| instruction. The driver would crash if the value was not 0xff during |
| the cmpb instruction, but changed to 0xff during the movzwl |
| instruction. |
| |
| 6828: 80 38 ff cmpb $0xff,(%eax) |
| 682b: 0f b7 10 movzwl (%eax),%edx |
| |
| With the added barrier(), the compiled code now looks correct: |
| |
| 683d: 0f b7 10 movzwl (%eax),%edx |
| 6840: 0f b6 c2 movzbl %dl,%eax |
| 6843: 3d ff 00 00 00 cmp $0xff,%eax |
| |
| Thanks to Pascal de Bruijn <pmjdebruijn@pcode.nl> for reporting the |
| problem and Holger Noefer <hnoefer@pironet-ndh.com> for patiently |
| testing test patches for us. |
| |
| Also updated version to 2.0.1. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| |
| commit 690103137267e9ed893febf7ff061af63e8235a9 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Wed Mar 18 18:11:51 2009 -0700 |
| |
| bnx2: Fix problem of using wrong IRQ handler. |
| |
| The MSI-X handler was chosen before the call to pci_enable_msix(). |
| If MSI-X was not available, the wrong MSI-X handler would be used in |
| INTA mode. This would cause a screaming interrupt problem because |
| INTA would not be cleared by the MSI-X handler. |
| |
| Fixed by assigning MSI-X handler after pci_enable_msix() returns |
| successfully. Also update version to 1.9.3. |
| |
| Thomas Chenault <thomas_chenault@dell.com> helped us find this problem. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit a6952b5299ab506051f05395f7c26ff1352759ad |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Feb 12 16:54:48 2009 -0800 |
| |
| bnx2: Update version to 1.9.2 and copyright. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 990ec3804bb9fd37fcce3e165c95e8b79a783aa3 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Feb 12 16:54:13 2009 -0800 |
| |
| bnx2: Fix jumbo frames error handling. |
| |
| If errors are reported on a frame descriptor, we need to |
| account for the buffer pages that may have been used for this |
| error packet and recycle them. Otherwise, we may get the wrong |
| pages for the next packet. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: Matt Carlson <mcarlson@broadcom.com> |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 259436a505bedc59a0114f2d17fa56af71d94129 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Feb 12 16:53:48 2009 -0800 |
| |
| bnx2: Update 5709 firmware. |
| |
| New firmware fixes a data corruption issue when receiving and |
| placing jumbo frames into host buffers. In some cases, the |
| buffer descriptor is not updated correctly and this will lead |
| to the driver linking the wrong number of pages into the SKB. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 86f95f9eac4370ca7b9cf5d34dea24faae5e4be6 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Feb 12 16:53:22 2009 -0800 |
| |
| bnx2: Update 5706/5708 firmware. |
| |
| New firmware fixes a data corruption issue when receiving and |
| placing jumbo frames into host buffers. In some cases, the |
| buffer descriptor is not updated correctly and this will lead |
| to the driver linking the wrong number of pages into the SKB. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 0c8dfc830aadd978e461dad66c33741b71c6a0be |
| Author: David S. Miller <davem@davemloft.net> |
| Date: Tue Jan 27 16:22:32 2009 -0800 |
| |
| net: Add skb_record_rx_queue() calls to multiqueue capable drivers. |
| |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 52d07b1f5039f51101a589856d9058e9cc8ce5dc |
| Author: Harvey Harrison <harvey.harrison@gmail.com> |
| Date: Mon Jan 19 17:27:06 2009 -0800 |
| |
| bnx2: annotate bp->phy_lock functions |
| |
| It looks like the locking is OK as the locks were being taken before the |
| various phy setup functions, add the annotations as they release and |
| reacquire the phy_lock. |
| |
| Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 288379f050284087578b77e04f040b57db3db3f8 |
| Author: Ben Hutchings <bhutchings@solarflare.com> |
| Date: Mon Jan 19 16:43:59 2009 -0800 |
| |
| net: Remove redundant NAPI functions |
| |
| Following the removal of the unused struct net_device * parameter from |
| the NAPI functions named *netif_rx_* in commit 908a7a1, they are |
| exactly equivalent to the corresponding *napi_* functions and are |
| therefore redundant. |
| |
| Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> |
| Acked-by: Neil Horman <nhorman@tuxdriver.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 908a7a16b852ffd618a9127be8d62432182d81b4 |
| Author: Neil Horman <nhorman@tuxdriver.com> |
| Date: Mon Dec 22 20:43:12 2008 -0800 |
| |
| net: Remove unused netdev arg from some NAPI interfaces. |
| |
| When the napi api was changed to separate its 1:1 binding to the net_device |
| struct, the netif_rx_[prep|schedule|complete] api failed to remove the now |
| vestigual net_device structure parameter. This patch cleans up that api by |
| properly removing it.. |
| |
| Signed-off-by: Neil Horman <nhorman@tuxdriver.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 3298a7388c00227e736d1037328788073c80c7b4 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Wed Dec 17 19:06:08 2008 -0800 |
| |
| bnx2: Fix bug in bnx2_free_rx_mem(). |
| |
| DMA memory for the jumbo rx page rings was freed incorrectly using the |
| wrong local variable as the array index. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 1f2435e532bd64742c3f766b7d5c17cc9d0b8558 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Tue Dec 16 20:28:13 2008 -0800 |
| |
| bnx2: Update version to 1.9.0. |
| |
| And fix the 5716S pci_device_id entry to point to the proper string. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 4e1d0de95c55383f598516ebf82969260c18e4bd |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Tue Dec 16 20:27:45 2008 -0800 |
| |
| bnx2: Rename MSI-X vectors. |
| |
| Change MSI-X vector names to "ethx-%d". |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit efba01803c8570bab11d0d6188a630231d0ddccf |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Wed Dec 3 00:36:15 2008 -0800 |
| |
| bnx2: Add workaround to handle missed MSI. |
| |
| The bnx2 chips do not support per MSI vector masking. On 5706/5708, new MSI |
| address/data are stored only when the MSI enable bit is toggled. As a result, |
| SMP affinity no longer works in the latest kernel. A more serious problem is |
| that the driver will no longer receive interrupts when the MSI receiving CPU |
| goes offline. |
| |
| The workaround in this patch only addresses the problem of CPU going offline. |
| When that happens, the driver's timer function will detect that it is making |
| no forward progress on pending interrupt events and will recover from it. |
| |
| Eric Dumazet reported the problem. |
| |
| We also found that if an interrupt is internally asserted while MSI and INTA |
| are disabled, the chip will end up in the same state after MSI is re-enabled. |
| The same workaround is needed for this problem. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Tested-by: Eric Dumazet <dada1@cosmosbay.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 0421eae68ffaf5ecfac860ee86e6a92e5b32a992 |
| Author: Stephen Hemminger <shemminger@vyatta.com> |
| Date: Fri Nov 21 17:31:27 2008 -0800 |
| |
| bnx2: convert to net_device_ops |
| |
| Convert driver to new net_device_ops. Compile tested only. |
| |
| Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit b2af2c1d3e4ddeea9d02c46d0df0c322cc7b7061 |
| Author: Neil Horman <nhorman@tuxdriver.com> |
| Date: Wed Nov 12 16:23:44 2008 -0800 |
| |
| bnx2: fix poll_controller to pass proper structures and check all rx queues |
| |
| Fix bnx2 so that netpoll works properly. Specifically: |
| |
| 1) Fix parameters to bnx2_interrupt to be a struct bnx2_napi rather than a |
| struct net_device |
| |
| 2) Fix poll_controller method to check every queue in the rx case so frames |
| aren't missed |
| |
| Signed-off-by: Neil Horman <nhorman@tuxdriver.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit e4412cb8a6b4190cf73ae44c859fd7e3727d8b13 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Wed Nov 12 16:03:05 2008 -0800 |
| |
| bnx2: Update version to 1.8.2. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: Matt Carlson <mcarlson@broadcom.com> |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 40105c0b0753515711318db87d36c8338dc74490 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Wed Nov 12 16:02:45 2008 -0800 |
| |
| bnx2: Reorganize timeout constants. |
| |
| Move all related timeout constants to the same location. BNX2 |
| prefix is also added to make them more consistent. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: Matt Carlson <mcarlson@broadcom.com> |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit d8026d939495c105cf747c0196a8fa738cf2ad20 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Wed Nov 12 16:02:20 2008 -0800 |
| |
| bnx2: Set rx buffer water marks based on MTU. |
| |
| The default rx buffer water marks for XOFF/XON are for 1500 MTU. At |
| larger MTUs, these water marks need to be adjusted for effective |
| flow control. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: Matt Carlson <mcarlson@broadcom.com> |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 5ec6d7bf195c2e70003ff30e4f51390ef7e85a31 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Wed Nov 12 16:01:41 2008 -0800 |
| |
| bnx2: Restrict WoL support. |
| |
| On some quad-port cards that cannot support WoL on all ports due |
| to excessive power consumption, the driver needs to restrict WoL |
| on some ports by checking VAUX_PRESET bit. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: Matt Carlson <mcarlson@broadcom.com> |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 1caacecb7cb2b72e798f06a32b5061075cf397fa |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Wed Nov 12 16:01:12 2008 -0800 |
| |
| bnx2: Add PCI ID for 5716S. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: Matt Carlson <mcarlson@broadcom.com> |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit babcda74e9d96bb58fd9c6c5112dbdbff169e695 |
| Author: David S. Miller <davem@davemloft.net> |
| Date: Mon Nov 3 21:11:17 2008 -0800 |
| |
| drivers/net: Kill now superfluous ->last_rx stores. |
| |
| The generic packet receive code takes care of setting |
| netdev->last_rx when necessary, for the sake of the |
| bonding ARP monitor. |
| |
| Drivers need not do it any more. |
| |
| Some cases had to be skipped over because the drivers |
| were making use of the ->last_rx value themselves. |
| |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit ec7e6fabbe72f1fe65eed14c106a0fbc00f6c2f1 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Oct 9 12:27:06 2008 -0700 |
| |
| bnx2: Update version to 1.8.1. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 3d16af8665504c89f9ef3aae56f54fb93e48da61 |
| Author: Benjamin Li <benli@broadcom.com> |
| Date: Thu Oct 9 12:26:41 2008 -0700 |
| |
| bnx2: Handle DMA mapping errors. |
| |
| Before, the driver would not care about the return codes from pci_map_* |
| functions. This could be potentially dangerous if a mapping failed. |
| Now, we will check all pci_map_* calls. On the transmit side, we switch |
| to use the new function skb_dma_map(). On the receive side, we add |
| pci_dma_mapping_error(). |
| |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit a1efb4b686babf38e5e63add8b990f18e38becc4 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Oct 9 12:24:39 2008 -0700 |
| |
| bnx2: Eliminate TSO header modifications. |
| |
| This is now possible with updated firmware. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit d5321e309c2fd1a1d534fc7bb674a1fff9f25d94 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Oct 9 12:22:38 2008 -0700 |
| |
| bnx2: Update 5706/5708 firmware. |
| |
| With this new firmware, the driver no longer has to modify the |
| TCP/IP header fields when transmitting TSO packets. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 9f52b564b7162ede5a73a4f4b421ccf93c55b025 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Oct 9 12:21:46 2008 -0700 |
| |
| bnx2: Check netif_running() in all ethtool operations. |
| |
| We need to check netif_running() state in most ethtool operations |
| and properly handle the !netif_running() state where the chip is |
| in an uninitailzed state or low power state that may not accept |
| any MMIO. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: Matt Carlson <mcarlson@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 74bf4ba3d367aacbc04fef167289767f162cd730 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Oct 9 12:21:08 2008 -0700 |
| |
| bnx2: Add bnx2_shutdown_chip(). |
| |
| This logic is used in bnx2_close() and bnx2_suspend() and |
| so should be separated out into a separate function. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: Matt Carlson <mcarlson@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit ac392abce936d78f7b731d90bfbc1001ddb446ea |
| Author: Benjamin Li <benli@broadcom.com> |
| Date: Thu Sep 18 16:40:49 2008 -0700 |
| |
| bnx2: Remove timer_interval field from the bnx2 structure |
| |
| The timer_interval field is only assigned once, and never reassigned. |
| We can safely replace all instances of the timer_interval with a |
| constant value. |
| |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Acked-by: Jeff Garzik <jeff@garzik.org> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit fbbf68b7f88953a9c56b7a7b4019fa5212987b34 |
| Author: Benjamin Li <benli@broadcom.com> |
| Date: Thu Sep 18 16:40:03 2008 -0700 |
| |
| bnx2: Remove name field from bnx2 structure |
| |
| The name of the board is only used during the initialization of |
| the adapter. We can save the space of a pointer by not storing |
| this information. |
| |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Acked-by: Jeff Garzik <jeff@garzik.org> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 453a9c6e995149c4a43e50b5482a48ed0298b0dc |
| Author: Benjamin Li <benli@broadcom.com> |
| Date: Thu Sep 18 16:39:16 2008 -0700 |
| |
| bnx2: Update MODULE_DESCRIPTION to include the 5716 |
| |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Acked-by: Jeff Garzik <jeff@garzik.org> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 344478db5385194ec27f6aaf780ea21c4b4ff02c |
| Author: Benjamin Li <benli@broadcom.com> |
| Date: Thu Sep 18 16:38:24 2008 -0700 |
| |
| bnx2: In bnx2_set_mac_link() return void rather then int |
| |
| bnx2_set_mac_link() doesn't need to return any error codes. And |
| all the callers don't check the return code. It is safe to |
| change the return type to a void. |
| |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Acked-by: Jeff Garzik <jeff@garzik.org> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 27ed9ddfde8d2967076c51815e4ce297c4a18139 |
| Author: Benjamin Li <benli@broadcom.com> |
| Date: Thu Sep 18 16:46:11 2008 -0700 |
| |
| bnx2: Promote vector field in bnx2_irq structure from u16 to unsigned int |
| |
| The bnx2 driver stores/uses the irq value from the pci_dev internally. |
| But when it stores the irq value, it has been performing an |
| integer demotion. Because of the recent changes made to |
| arch/x86/kernel/io_apic.c, the new method in creating the irq value |
| (using build_irq_for_pci_dev()) has exposed this bug on x86 systems. |
| |
| Because of this demotion when calling request_irq() from |
| bnx2_request_irq(), the driver would get a return code of -EINVAL. |
| This is because the kernel could not find the requested irq descriptor. |
| By storing the irq value properly, the kernel can find the correct |
| irq descriptor and the bnx2 driver can operate normally. |
| |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 08013fa353fdcfc0a03cae805393abfc56722387 |
| Author: David S. Miller <davem@davemloft.net> |
| Date: Fri Aug 15 19:46:01 2008 -0700 |
| |
| bnx2: Fix build with VLAN_8021Q disabled. |
| |
| Reported by Randy Dunlap. |
| |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 0eb8b1fe9238ca4c1797e4c105d5790abda1726f |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Aug 14 15:30:31 2008 -0700 |
| |
| bnx2: Update version to 1.8.0. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit f22828e89f4f3e8c74ca7ffa69b0410afbd80eee |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Aug 14 15:30:14 2008 -0700 |
| |
| bnx2: Reinsert VLAN tag when necessary. |
| |
| In certain cases when ASF or other management firmware is running, the |
| chip may be configured to always strip out the VLAN tag even when |
| VLAN acceleration is not enabled. This causes some VLAN tagged |
| packets to be received by the host stack without any knowledge that |
| the original packet was VLAN tagged. |
| |
| We fix this by re-inserting the VLAN tag into the packet when necessary. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: Matt Carlson <mcarlson@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 729b85cd47f4e63657505cb5c6af104e19250805 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Aug 14 15:29:39 2008 -0700 |
| |
| bnx2: Use proper CONFIG_VLAN_8021Q to compile the VLAN code. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: Matt Carlson <mcarlson@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 7c6337a15e3d4689efe703e8bb65ae82cc13c435 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Aug 14 15:29:09 2008 -0700 |
| |
| bnx2: Fix logic to setup VLAN rx tagging. |
| |
| We should now be checking BNX2_FLAG_CAN_KEEP_VLAN to determine how |
| to set the VLAN rx tagging in the RX_MODE register. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: Matt Carlson <mcarlson@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 3ca4095f246c21c285d9e4be2ea4d3ee7fbacebd |
| Author: Benjamin Li <benli@broadcom.com> |
| Date: Fri Jul 18 17:58:57 2008 -0700 |
| |
| bnx2: Update version to 1.7.9. |
| |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 8a31329eae0949a8a73b64fcead84bb44a350591 |
| Author: Benjamin Li <benli@broadcom.com> |
| Date: Fri Jul 18 17:57:26 2008 -0700 |
| |
| bnx2: Fix Sparse warnings |
| |
| This patch will fix the following sparse warnings: |
| |
| /home/benli/sparse/bnx2.c:297:8: warning: symbol 'val' shadows an earlier one |
| /home/benli/sparse/bnx2.c:286:60: originally declared here |
| /home/benli/sparse/bnx2.c:7461:7: warning: symbol 'i' shadows an earlier one |
| /home/benli/sparse/bnx2.c:7265:10: originally declared here |
| |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 706bf24038ba88ec77503b4829b16da712a32f04 |
| Author: Benjamin Li <benli@broadcom.com> |
| Date: Fri Jul 18 17:55:11 2008 -0700 |
| |
| bnx2: Add TX multiqueue support. |
| |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 4f83ec19bbd0c78a2158c7a5d28f70d8b4417803 |
| Author: Benjamin Li <benli@broadcom.com> |
| Date: Fri Jul 18 17:54:17 2008 -0700 |
| |
| bnx2: Update TPAT firmware |
| |
| This change allows the first TX ring (CID 16) and the first TSS TX ring |
| (CID 32) to be used concurrently. Before this change, we could get TSO |
| errors when both TX rings were used concurrently. |
| |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 3cb29b1bca00736e984ea8ab368af40394a1bca0 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Jul 14 22:40:21 2008 -0700 |
| |
| bnx2: Update version to 1.7.8. |
| |
| Signed-off-by: Michael Chan <mchan@braodcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 5fcaed0124cde73124227542bfce4ed57fccbb50 |
| Author: Benjamin Li <benli@broadcom.com> |
| Date: Mon Jul 14 22:39:52 2008 -0700 |
| |
| bnx2: Support secondary MAC addresses. |
| |
| Add support for configuring secondary unicast addresses. There |
| are 4 additional perfect match filters which can be used for |
| secondary unicast address support. |
| |
| * Modified bnx2_set_mac_addr() to be more generic in handling |
| the setting of the perfect match filters |
| * Changed bnx2_set_rx_mode() to handle the unicast dev_addr_list |
| |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 7c62e83beb1446d690ed921beddb0dcf34c9baa9 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Jul 14 22:39:03 2008 -0700 |
| |
| bnx2: Allow flexible VLAN tag settings. |
| |
| Negotiate with boot code and ASF firmware to see if it can |
| support keeping VLAN tags in the RX packets. If supported |
| by firmware, the VLAN tag will be kept in the RX packet |
| unless VLAN acceleration is registered. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit a2f138900d5c342742c369293edaf92d2173c92e |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Jul 14 22:38:23 2008 -0700 |
| |
| bnx2: Add ack parameter to bnx2_fw_sync(). |
| |
| ack=1 means wait for firmware acknowledgement, and ack=0 |
| means don't wait. All current callers will set it to 1. |
| |
| In the next patch, new calls will set ack=0. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 7bb0a04fcd610e5db59690332b2a46b6068c8bc3 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Jul 14 22:37:47 2008 -0700 |
| |
| bnx2: Add PCI ID for 5716. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: Benjamin Li <Benli@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit d6b14486953d0e8d1c57db29bf6104cea198b884 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Jul 14 22:37:21 2008 -0700 |
| |
| bnx2: Prevent ethtool -s from crashing when device is down. |
| |
| The device may be in D3-hot state and may crash if we try to |
| configure the speed settings by accessing the registers. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 8427f1361225ca27679a6d810c04ddbc357602a7 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Jun 19 16:44:44 2008 -0700 |
| |
| bnx2: Update driver version to 1.7.7. |
| |
| And update module description. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 2739a8bb5b13653999827da09565b1bca5cec67d |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Jun 19 16:44:10 2008 -0700 |
| |
| bnx2: Cleanup error handling in bnx2_open(). |
| |
| All error handling in bnx2_open() can be consolidated. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 5e9ad9e108883503fedfac3279ac101dce00bb56 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Jun 19 16:43:17 2008 -0700 |
| |
| bnx2: Turn on multi rx rings. |
| |
| Enable multiple rx rings if MSI-X vectors are available. We enable |
| up to 7 rx rings. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit f0ea2e63859cf234b7017a2d7bba2a5a1db3bf25 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Jun 19 16:41:57 2008 -0700 |
| |
| bnx2: Use one handler for all MSI-X vectors. |
| |
| Use the same MSI-X handler to schedule NAPI. Change the dev_instance |
| void pointer to the bnx2_napi struct instead so we can have the proper |
| context for each MSI-X vector. |
| |
| Add a new bnx2_poll_msix() that is optimized for handling MSI-X |
| NAPI polling of rx/tx work only. Remove the old bnx2_tx_poll() that |
| is no longer needed. Each MSI-X vector handles 1 tx and 1 rx ring. |
| The first vector handles link events as well. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 43e80b89b65cbc62b5e0fde09b47c9fc572a8b11 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Jun 19 16:41:08 2008 -0700 |
| |
| bnx2: Optimize fast-path tx and rx work. |
| |
| Add hw_tx_cons_ptr and hw_rx_cons_ptr to speed up the retreival of |
| the tx and rx consumer index, since the MSI-X and default status |
| blocks have different structures. |
| |
| Combine status_blk and status_blk_msix into a union. We'll only use |
| one type of status block for each vector. |
| |
| Separate the code to detect more rx and tx work from the code to |
| detect link related work. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit bb4f98abf590cf9899017f14f1a54984f02a0009 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Jun 19 16:38:19 2008 -0700 |
| |
| bnx2: Put rx ring variables in a separate struct. |
| |
| In preparation for multi-ring support, rx ring variables are now put |
| in a separate bnx2_rx_ring_info struct. With MSI-X, we can support |
| multiple rx rings. |
| |
| The functions to allocate/free rx memory and to initialize rx rings |
| are now modified to handle multiple rings. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 35e9010b22503f42cbf88144ffe1feff90ea3835 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Jun 19 16:37:42 2008 -0700 |
| |
| bnx2: Put tx ring variables in a separate struct. |
| |
| In preparation for multi-ring support, tx ring variables are now put |
| in a separate bnx2_tx_ring_info struct. Multi tx ring will not be |
| enabled until it is fully supported by the stack. Only 1 tx ring |
| will be used at the moment. |
| |
| The functions to allocate/free tx memory and to initialize tx rings |
| are now modified to handle multiple rings. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 4ae127d1b6c71f9240dd4245f240e6dd8fc98014 |
| Merge: 875ec43... 7775c97... |
| Author: David S. Miller <davem@davemloft.net> |
| Date: Fri Jun 13 20:52:39 2008 -0700 |
| |
| Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 |
| |
| Conflicts: |
| |
| drivers/net/smc911x.c |
| |
| commit 4bb073c0e32a0862bdb5215d11af19f6c0180c98 |
| Author: David S. Miller <davem@davemloft.net> |
| Date: Thu Jun 12 02:22:02 2008 -0700 |
| |
| net: Eliminate flush_scheduled_work() calls while RTNL is held. |
| |
| If the RTNL is held when we invoke flush_scheduled_work() we could |
| deadlock. One such case is linkwatch, it is a work struct which tries |
| to grab the RTNL semaphore. |
| |
| The most common case are net driver ->stop() methods. The |
| simplest conversion is to instead use cancel_{delayed_}work_sync() |
| explicitly on the various work struct the driver uses. |
| |
| This is an OK transformation because these work structs are doing |
| things like resetting the chip, restarting link negotiation, and so |
| forth. And if we're bringing down the device, we're about to turn the |
| chip off and reset it anways. So if we cancel a pending work event, |
| that's fine here. |
| |
| Some drivers were working around this deadlock by using a msleep() |
| polling loop of some sort, and those cases are converted to instead |
| use cancel_{delayed_}work_sync() as well. |
| |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 236ae64063faf7d3398b4f9a889421b0d27a69d2 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Fri May 16 22:20:59 2008 -0700 |
| |
| bnx2: Update version to 1.7.6. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 10343cca2bad3f9fdad214385bed0a9aadf4ffd4 |
| Author: Benjamin Li <benli@broadcom.com> |
| Date: Fri May 16 22:20:27 2008 -0700 |
| |
| bnx2: Pre-initialize struct cpu_reg. |
| |
| Instead of assigning values for the struct cpu_reg's at runtime, |
| we already know these values at compile time. Therefore, we can use |
| designated initializers, to initialize these structures and not have |
| to incur this assignment cost at run-time. |
| |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 601d3d18b2c1e4c197aa3cd902fb77bd99c41f10 |
| Author: Benjamin Li <benli@broadcom.com> |
| Date: Fri May 16 22:19:35 2008 -0700 |
| |
| bnx2: Rename RX_COPY_THRESH to BNX2_RX_COPY_THRESH. |
| |
| To make the bnx2 code more consistent, all instances of |
| RX_COPY_THRESH have been changed to BNX2_RX_COPY_THRESH. |
| |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit d89cb6af41559a601e9cfe081d34de07945b0d8b |
| Author: Benjamin Li <benli@broadcom.com> |
| Date: Fri May 16 22:18:57 2008 -0700 |
| |
| bnx2: Remove the rx_offset field from the bnx2 structure. |
| |
| The rx_offset field is set to a constant value and initialized |
| only once. By replacing all references to the rx_offset field, |
| we can eliminate rx_offset from the bnx2 structure. This will |
| save 4 bytes for every bnx2 instance. |
| |
| [Added parentheses to the definition of BNX2_RX_OFFSET, as noted |
| by Ben Hutchings.] |
| |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 6ff2da49c8a68320c2564006c94a492db58de5cd |
| Author: Wendy Xiong <wendyx@us.ibm.com> |
| Date: Fri May 16 22:18:21 2008 -0700 |
| |
| bnx2: Add EEH PCI recovery. |
| |
| Add PCI recovery functions to the driver. The initial pci state is |
| also saved so the the MSI state can be restored during PCI recovery. |
| |
| Signed-off-by: Wendy Xiong <wendyx@us.ibm.com> |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 9a120bc570627342c17befaa6af9b0a556dfda48 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Fri May 16 22:17:45 2008 -0700 |
| |
| bnx2: Allow phy reset to be skipped during chip reset. |
| |
| Andy Gospodarek <andy@greyhouse.net> found that netconsole would |
| panic when resetting bnx2 devices. |
| |
| >From Andy: |
| "The issue is the bnx2_set_link in bnx2_init_nic will print a link-status |
| message before we are fully initialized and ready to start polling. |
| Polling is currently disabled in this state, but since the |
| __LINK_STATE_RX_SCHED is overloaded to not only try and disable polling |
| but also to make the system aware there is something waiting to be |
| polled, we really have to fix this in drivers. |
| |
| The problematic call is the one to netif_rx_complete as it tries to |
| remove an entry from the poll_list when there isn't one." |
| |
| While this netconsole problem should be fixed separately, we really |
| should not reset the PHY when changing ring sizes, MTU, or other |
| similar settings. The PHY reset causes several seconds of unnecessary |
| link disruptions. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Acked-by: Andy Gospodarek <andy@greyhouse.net> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 705d209168681b4408d10fca7257de3343be573d |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Fri May 2 16:58:18 2008 -0700 |
| |
| bnx2: Update version to 1.7.5. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit d25be1d3ecf0b1b95ae29919786372b87b2bfea6 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Fri May 2 16:57:59 2008 -0700 |
| |
| bnx2: Update RV2P firmware for 5709. |
| |
| The new RV2P firmware fixes 2 issues: |
| |
| 1. The jumbo rx buffer page size is now configurable and set to the |
| proper PAGE_SIZE. Before, it was assumed to be always 4K. |
| |
| 2. Driver sometimes would crash when receiving jumbo packets mixed |
| with firmware management packets. This was caused by the old |
| firmware DMA'ing to the wrong address. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 352f76879ebde543817360ce9c18c973d4300f4f |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Fri May 2 16:57:26 2008 -0700 |
| |
| bnx2: Zero out context memory for 5709. |
| |
| We should zero out the context memory for 5709 before each reset. When |
| we resume after suspend for example, the memory may not be zero and the |
| chip may not function correctly. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 15b169cccff1503a88f12f104e5657c65c53ade7 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Fri May 2 16:57:08 2008 -0700 |
| |
| bnx2: Fix register test on 5709. |
| |
| The register BNX2_CTX_STATUS (0x1004) should be skipped on 5709 as it |
| contains reserved bits. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 543a827d7a5600a71855bd6afacac78536c86822 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Fri May 2 16:56:44 2008 -0700 |
| |
| bnx2: Fix remote PHY initial link state. |
| |
| On some remote PHY blade systems, the driver receives no initial link |
| interrupt. As a result, the GMII/MII MAC mode does not get setup properly. |
| To fix this problem, we add an initial poll of the link state after chip |
| reset. |
| |
| With this change, the setting of the initial carrier state in the init |
| code can be eliminated. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 74ecc62d6e595ca64bbef2471787bf53b94e5d3c |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Fri May 2 16:56:16 2008 -0700 |
| |
| bnx2: Refine remote PHY locking. |
| |
| bnx2_set_remote_link() should be called under bp->phy_lock to protect |
| against concurrent polling and interrupt calls. This change is needed |
| by the next patch which will add one initial poll of the remote PHY |
| link status. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: Benjamin Li <benli@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit ab59859de1946a098b091308380179e92dc7683b |
| Author: Harvey Harrison <harvey.harrison@gmail.com> |
| Date: Thu May 1 02:47:38 2008 -0700 |
| |
| net: fix returning void-valued expression warnings |
| |
| drivers/net/8390.c:37:2: warning: returning void-valued expression |
| drivers/net/bnx2.c:1635:3: warning: returning void-valued expression |
| drivers/net/xen-netfront.c:1806:2: warning: returning void-valued expression |
| net/ipv4/tcp_hybla.c:105:3: warning: returning void-valued expression |
| net/ipv4/tcp_vegas.c:171:3: warning: returning void-valued expression |
| net/ipv4/tcp_veno.c:123:3: warning: returning void-valued expression |
| net/sysctl_net.c:85:2: warning: returning void-valued expression |
| |
| Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com> |
| Acked-by: Alan Cox <alan@redhat.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit c73b1d1f26d4c9d54b49526edf9ee958ee5b80c1 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Sat Feb 23 19:49:48 2008 -0800 |
| |
| [BNX2]: Update version to 1.7.4. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 38ea3686f6d1110a3787dfd7c5cf7bad1926818b |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Sat Feb 23 19:48:57 2008 -0800 |
| |
| [BNX2]: Disable parallel detect on an HP blade. |
| |
| Because of some board issues, we need to disable parallel detect on |
| an HP blade. Without this patch, the link state can become stuck |
| when it goes into parallel detect mode. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit a2724e2559a3c41ac6182da6e2446d3abf0720a5 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Sat Feb 23 19:47:44 2008 -0800 |
| |
| [BNX2]: More 5706S link down workaround. |
| |
| The previous patches to workaround the 5706S on an HP blade were not |
| sufficient. The link state still does not change properly in some |
| cases. This patch adds polling to make it completely reliable. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit fefa864530766d8da2b8606235387c5173fb2309 |
| Author: Andrew Morton <akpm@linux-foundation.org> |
| Date: Sat Feb 9 23:17:15 2008 -0800 |
| |
| bnx2: section fix |
| |
| gcc-3.4.4 on powerpc: |
| |
| drivers/net/bnx2.c:67: error: version causes a section type conflict |
| |
| Cc: Jeff Garzik <jeff@garzik.org> |
| Cc: Sam Ravnborg <sam@ravnborg.org> |
| Signed-off-by: Andrew Morton <akpm@linux-foundation.org> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit c26736ec171760a41307d775bbf05983ea45ea9e |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Jan 31 17:07:21 2008 -0800 |
| |
| [BNX2]: Fix ASYM PAUSE advertisement for remote PHY. |
| |
| We were checking for the ASYM_PAUSE bit for 1000Base-X twice instead |
| checking for both the 1000Base-X bit and the 10/100/1000Base-T bit. |
| The purpose of the logic is to tell the firmware that ASYM_PAUSE is |
| set on either the Serdes or Copper interface. |
| |
| Problem was discovered by Roel Kluin <12o3l@tiscali.nl> |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 18c0226e3c0a75b0f1d6828c118bcedf59d7ee99 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Tue Jan 29 21:38:52 2008 -0800 |
| |
| [BNX2]: Update version to 1.7.3. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit df7f1ed6b85b936a4dd341c48e30aa207697997c |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Tue Jan 29 21:38:06 2008 -0800 |
| |
| [BNX2]: Update firmware. |
| |
| Update firmware to support programmable flow control. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 83e3fc89bb2b7bb27b3a6da5a541c43ce7706f42 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Tue Jan 29 21:37:17 2008 -0800 |
| |
| [BNX2]: Fine-tune flow control on 5709. |
| |
| Make use of the programmable high/low water marks in 5709 for |
| 802.3 flow control. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 62a8313cddbea04f2a28d1d76acf317c2a56cfae |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Tue Jan 29 21:35:40 2008 -0800 |
| |
| [BNX2]: Remove CTX_WR macro. |
| |
| The CTX_WR macro is unnecessary and obfuscates the code. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 2726d6e126c0c16efeba30356d4ae105f1854d1e |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Tue Jan 29 21:35:05 2008 -0800 |
| |
| [BNX2]: Remove REG_WR_IND/REG_RD_IND macros. |
| |
| The REG_WR_IND/REG_RD_IND macros are unnecessary and obfuscate the |
| code. Many callers to these macros read and write shared memory from |
| the bp->shmem_base, so we add 2 similar functions that automatically |
| add the shared memory base. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 6f743ca052575a26439d796249d9e7740b8192d7 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Tue Jan 29 21:34:08 2008 -0800 |
| |
| [BNX2]: Refine tx coalescing setup. |
| |
| Make the tx coalescing setup code independent of the MSIX vector. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit f3014c0cb60ec15a0a2542cbfae7e8d888aa5cf8 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Tue Jan 29 21:33:03 2008 -0800 |
| |
| [BNX2]: Fix 5706 serdes link down bug. |
| |
| 1. Correct the MII expansion serdes control register definition. |
| 2. Check an additional RUDI_INVALID bit when determining 5706S link. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit b491edd5817f1618f4e06d67638739591a714bdb |
| Author: Al Viro <viro@ftp.linux.org.uk> |
| Date: Sat Dec 22 19:44:51 2007 +0000 |
| |
| bnx2 annotations |
| |
| Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> |
| Signed-off-by: Jeff Garzik <jeff@garzik.org> |
| |
| commit 583c28e5645c464b57b4f5d3d53113c06bb0ac5f |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Jan 21 19:51:35 2008 -0800 |
| |
| [BNX2]: Fix driver phy_flags name space. |
| |
| Prefix "bp->phy_flags" names with BNX2_PHY_FLAG_* for consistency. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit f86e82fb547efe05457391df069cce7ab530b181 |
| Author: David S. Miller <davem@davemloft.net> |
| Date: Mon Jan 21 17:15:40 2008 -0800 |
| |
| [BNX2]: Fix driver software flag namespace. |
| |
| Prefix "bnx2->flags" names with BNX2_* for consistency. |
| |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit feebb33183cee0fdf8e8a9c4f0da3231f0cfa2bb |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Jan 21 17:07:29 2008 -0800 |
| |
| [BNX2] Update version to 1.7.2. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit b2fadeae1334008c1bb4d87bc507141cb7aaf0e8 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Jan 21 17:07:06 2008 -0800 |
| |
| [BNX2]: Add link-down workaround on 5706 serdes. |
| |
| In some blade systems using the 5706 serdes, the hardware sometimes |
| does not properly generate link down interrupts. We add a workaround |
| in the driver's timer to force a link-down when some PHY registers |
| report loss of SYNC. |
| |
| The parallel detect logic is cleaned up slightly to better integrate |
| the workaround. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 1097f5e92107ca3950fabf5e1d724faa80c91e7f |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Jan 21 17:06:41 2008 -0800 |
| |
| [BNX2]: Fix minor bug in bnx2_has_work(). |
| |
| It is more correct to get the status block from the bnx2_napi struct |
| instead of the bnx2 struct. It happens that they are the same in this |
| case because we are using the first MSIX vector. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 2dd201d7b735f252df1a915a3f2e6a71910a3d87 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Jan 21 17:06:09 2008 -0800 |
| |
| [BNX2]: Disable jumbo rx paging on 5709 Ax. |
| |
| The chip has problem running in this mode and needs to be disabled. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 79ea13ce07c951bb4d95471e7300baa0f1be9e78 |
| Author: Al Viro <viro@zeniv.linux.org.uk> |
| Date: Thu Jan 24 02:06:46 2008 -0800 |
| |
| NULL noise in drivers/net |
| |
| Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> |
| Signed-off-by: Jeff Garzik <jeff@garzik.org> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 2ba582b782071c038b312ea330d3090a39f3c66a |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Fri Dec 21 15:04:49 2007 -0800 |
| |
| [BNX2]: Fix compiler warning. |
| |
| Change bnx2_init_napi() to void. |
| |
| Warning was noted by DaveM. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 66a85fbe780c1c63778f0f56921b568f66f85202 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Dec 20 20:02:14 2007 -0800 |
| |
| [BNX2]: Update version to 1.7.1. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 8147c82e94c16aca4f54e0618ac9895227929118 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Dec 20 20:01:44 2007 -0800 |
| |
| [BNX2]: Enable new tx ring. |
| |
| Enable new tx ring and add new MSIX handler and NAPI poll function |
| for the new tx ring. Enable MSIX when the hardware supports it. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 3fa6295d85117d39292ae7fe156a750a9ed12dcf |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Dec 20 20:01:19 2007 -0800 |
| |
| [BNX2]: Add support for a new tx ring. |
| |
| To separate TX IRQs into a different MSIX vector, we need to |
| support a new tx ring. The original tx ring will still be used |
| when not using MSIX. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 849b0261c0132a0c658eb5a7de23438f4a64975a |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Dec 20 19:59:30 2007 -0800 |
| |
| [BNX2]: Support multiple MSIX IRQs. |
| |
| Change bnx2_napi struct into an array and add code to manage multiple |
| IRQs. MSIX hardware structures and new registers are also added. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 24020b2831d5e1a718ce3084f8cf9d35f6eb94c4 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Dec 20 19:57:19 2007 -0800 |
| |
| [BNX2]: Move rx indexes into bnx2_napi struct. |
| |
| Rx related fields used in NAPI polling are moved from the main |
| bnx2 struct to the bnx2_napi struct. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit f0395c3e8bb8c92f5a1bd6635319a6b27b6e138f |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Dec 20 19:56:59 2007 -0800 |
| |
| [BNX2]: Move tx indexes into bnx2_napi struct. |
| |
| Tx related fields used in NAPI polling are moved from the main |
| bnx2 struct to the bnx2_napi struct. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit bc68ce52acc25ab3c199c04ad24ccaca49c8d07c |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Dec 20 19:56:37 2007 -0800 |
| |
| [BNX2]: Introduce new bnx2_napi structure. |
| |
| Introduce a bnx2_napi structure that will hold a napi_struct and |
| other fields to handle NAPI polling for the napi_struct. Various tx |
| and rx indexes and status block pointers will be moved from the main |
| bnx2 structure to this bnx2_napi structure. |
| |
| Most NAPI path functions are modified to be passed this bnx2_napi |
| struct pointer. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 7b3ba00e5614b549013978dce4189780e04df3f3 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Dec 20 19:56:09 2007 -0800 |
| |
| [BNX2]: Restructure IRQ datastructures. |
| |
| Add a table to keep track of multiple IRQs and restructure the IRQ |
| request and free functions so that they can be easily expanded to |
| handle multiple IRQs. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit a8d05ac5cb6b6f4fb5fd341248c52a2792fbc77a |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Dec 20 19:55:39 2007 -0800 |
| |
| [BNX2]: Add function to fetch hardware tx index. |
| |
| This makes the code cleaner and easier to support different tx rings. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit dc2d76df54c8211df766819749beb802f69733fc |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Wed Dec 12 11:20:22 2007 -0800 |
| |
| [BNX2]: Update version to 1.6.9. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit eb5015797535422720a2258b01770ca20ae124a4 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Wed Dec 12 11:19:57 2007 -0800 |
| |
| [BNX2]: Enable S/G for jumbo RX. |
| |
| If the MTU requires more than 1 page for the SKB, enable the page ring |
| and calculate the size of the page ring. This will guarantee order-0 |
| allocation regardless of the MTU size. |
| |
| Fixup loopback test packet size so that we don't deal with the pages |
| during loopback test. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit c2d60259485422c436f82d52038313031db0e9d0 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Wed Dec 12 11:19:35 2007 -0800 |
| |
| [BNX2]: Add fast path code to handle RX pages. |
| |
| Add function to reuse a page in case of allocation or other errors. |
| Add code to construct the completed SKB with the additional data in |
| the pages. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit d98b035a014eb6a93719a5daee83994b4dfbd91b |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Wed Dec 12 11:19:12 2007 -0800 |
| |
| [BNX2]: Add init. code to handle RX pages. |
| |
| Add new fields to keep track of the pages and the page rings. |
| Add functions to allocate and free pages. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit ce8dcd8f8e771515778143ca3d503aa4804412a8 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Wed Dec 12 11:18:34 2007 -0800 |
| |
| [BNX2]: Update firmware to support S/G RX buffers. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit ce4585172ba03e808364a352fe6142293f950155 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Wed Dec 12 11:17:43 2007 -0800 |
| |
| [BNX2]: Restructure RX ring init. code. |
| |
| Factor out the common functions that will be used to initialize the |
| normal RX rings and the page rings. |
| |
| Change the copybreak constant RX_COPY_THRESH to 128. This same |
| constant will be used for the max. size of the linear SKB when pages |
| are used. Copybreak will be turned off when pages are used. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 08bacdc7d57c4db4a57b948e3ff711483c64d7fe |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Wed Dec 12 11:17:01 2007 -0800 |
| |
| [BNX2]: Restructure RX fast path handling. |
| |
| Add a new function to handle new SKB allocation and to prepare the |
| completed SKB. This makes it easier to add support for non-linear |
| SKB. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 736a4da6abcb164bfc2aecafd214bc009ab9dbd4 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Wed Dec 12 11:16:19 2007 -0800 |
| |
| [BNX2]: Add ring constants. |
| |
| Define the various ring constants to make the code cleaner. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit bbe42974215eb7a483c344fca50652b3b9dd1ae4 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Dec 10 17:18:51 2007 -0800 |
| |
| [BNX2]: Update version to 1.6.9. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit c09c262783dcac62352293912d82b794063cefc3 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Dec 10 17:18:37 2007 -0800 |
| |
| [BNX2]: Fix RX packet rot. |
| |
| Packets can be left in the RX ring if the NAPI budget is reached. |
| This is caused by storing the latest rx index at the beginning of |
| bnx2_rx_int(). We may not process all the work up to this index |
| if the budget is reached and so some packets in the RX ring may rot |
| when we later check for more work using this stored rx index. |
| |
| The fix is to not store this latest hw index and only store the |
| processed rx index. We use a new function bnx2_get_hw_rx_cons() |
| to fetch the latest hw rx index. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit fb0c18bd1f61086fcfac90017b59891a356cc288 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Dec 10 17:18:23 2007 -0800 |
| |
| [BNX2]: Add PHY_DIS_EARLY_DAC workaround. |
| |
| 5709 Ax and Bx chips all need this workaround. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 1977f032722c27ee3730284582fd3991ad9ac81b |
| Author: Jiri Slaby <jirislaby@gmail.com> |
| Date: Thu Oct 18 23:40:25 2007 -0700 |
| |
| remove asm/bitops.h includes |
| |
| remove asm/bitops.h includes |
| |
| including asm/bitops directly may cause compile errors. don't include it |
| and include linux/bitops instead. next patch will deny including asm header |
| directly. |
| |
| Cc: Adrian Bunk <bunk@kernel.org> |
| Signed-off-by: Jiri Slaby <jirislaby@gmail.com> |
| Signed-off-by: Andrew Morton <akpm@linux-foundation.org> |
| Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> |
| |
| commit 898eb71cb17644964c5895fb190e79e3d0c49679 |
| Author: Joe Perches <joe@perches.com> |
| Date: Thu Oct 18 03:06:30 2007 -0700 |
| |
| Add missing newlines to some uses of dev_<level> messages |
| |
| Found these while looking at printk uses. |
| |
| Add missing newlines to dev_<level> uses |
| Add missing KERN_<level> prefixes to multiline dev_<level>s |
| Fixed a wierd->weird spelling typo |
| Added a newline to a printk |
| |
| Signed-off-by: Joe Perches <joe@perches.com> |
| Cc: "Luck, Tony" <tony.luck@intel.com> |
| Cc: Jens Axboe <jens.axboe@oracle.com> |
| Cc: Mark M. Hoffman <mhoffman@lightlink.com> |
| Cc: Roland Dreier <rolandd@cisco.com> |
| Cc: Tilman Schmidt <tilman@imap.cc> |
| Cc: David Woodhouse <dwmw2@infradead.org> |
| Cc: Jeff Garzik <jeff@garzik.org> |
| Cc: Stephen Hemminger <shemminger@linux-foundation.org> |
| Cc: Greg KH <greg@kroah.com> |
| Cc: Jeremy Fitzhardinge <jeremy@goop.org> |
| Cc: Geert Uytterhoeven <geert@linux-m68k.org> |
| Cc: Alessandro Zummo <a.zummo@towertech.it> |
| Cc: David Brownell <david-b@pacbell.net> |
| Cc: James Smart <James.Smart@Emulex.Com> |
| Cc: Andrew Vasquez <andrew.vasquez@qlogic.com> |
| Cc: "Antonino A. Daplas" <adaplas@pol.net> |
| Cc: Evgeniy Polyakov <johnpol@2ka.mipt.ru> |
| Cc: Russell King <rmk@arm.linux.org.uk> |
| Cc: Jaroslav Kysela <perex@suse.cz> |
| Cc: Takashi Iwai <tiwai@suse.de> |
| Signed-off-by: Andrew Morton <akpm@linux-foundation.org> |
| Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> |
| |
| commit 0c2bef49764d0a5a404ae0bd65217f7dadbd1821 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Wed Oct 17 19:26:28 2007 -0700 |
| |
| [BNX2]: Update version to 1.6.8. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 239cd34327d12e84f5528caa7b11c9e651372c39 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Wed Oct 17 19:26:15 2007 -0700 |
| |
| [BNX2]: Fix Serdes WoL bug. |
| |
| The bug is in the code in bnx2_set_power_state() that assumes copper |
| devices when setting up WoL. This is no longer true after adding WoL |
| support for Serdes devices. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 8499fb594ad34ccde38058d7c3ae8093058b346a |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Wed Oct 17 19:25:27 2007 -0700 |
| |
| [BNX2]: Update 5709 firmware to 3.7.1. |
| |
| This firmware update fixes a problem running with IPMI management |
| firmware. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 6dee6421581d3484e9a01d403dbf158161942db6 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Fri Oct 12 01:40:38 2007 -0700 |
| |
| [BNX2]: Refine napi poll loop. |
| |
| Need to read and store sblk->status_idx before checking for more work. |
| The status idx is later written back to the hardware when enabling |
| interrupts to acknowledge how much work has been processed. If the |
| order is reversed, we can end up acknowledging work we haven't |
| processed. |
| |
| When completing bnx2_poll(), we should always break out of the while |
| loop and return work_done instead of returning 0. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 6f535763165331bb91277d7519b507fed22034e5 |
| Author: David S. Miller <davem@sunset.davemloft.net> |
| Date: Thu Oct 11 18:08:29 2007 -0700 |
| |
| [NET]: Fix NAPI completion handling in some drivers. |
| |
| In order for the list handling in net_rx_action() to be |
| correct, drivers must follow certain rules as stated by |
| this comment in net_rx_action(): |
| |
| /* Drivers must not modify the NAPI state if they |
| * consume the entire weight. In such cases this code |
| * still "owns" the NAPI instance and therefore can |
| * move the instance around on the list at-will. |
| */ |
| |
| A few drivers do not do this because they mix the budget checks |
| with reading hardware state, resulting in crashes like the one |
| reported by takano@axe-inc.co.jp. |
| |
| BNX2 and TG3 are taken care of here, SKY2 fix is from Stephen |
| Hemminger. |
| |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 32d1316b91424423d7b44944f18cdaca268f3db2 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Wed Oct 10 16:17:11 2007 -0700 |
| |
| [BNX2]: Update version to 1.6.7. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 846f5c622fe033520c775cc2c40c06f3e2adea85 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Wed Oct 10 16:16:51 2007 -0700 |
| |
| [BNX2]: Fix default WoL setting. |
| |
| Change the default WoL setting to match the NVRAM's setting. It |
| always defaulted to WoL disabled before and caused a lot of confusion |
| for users. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 489310a440e606512b1fd79d8562d1da6b715448 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Wed Oct 10 16:16:31 2007 -0700 |
| |
| [BNX2]: Fix remote PHY media detection problems. |
| |
| The remote PHY media type and link status can change between |
| ->probe() and ->open(). For correct operation, we need to get the |
| new status again during ->open(). |
| |
| The ethtool link test and loopback test are also fixed to work with |
| remote PHY. PHY loopback is simply skipped when remote PHY is |
| present. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit f74347d7ac0aa175b2bbd85eb58a13fbe80a3785 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Tue Oct 2 16:28:09 2007 -0700 |
| |
| [BNX2]: Update version to 1.6.6. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit ea1f8d5c3a593a791463c2efc07e5dfebd056500 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Tue Oct 2 16:27:35 2007 -0700 |
| |
| [BNX2]: Optimize firmware loading. |
| |
| This is a follow up to the patches from Denys Vlasenkos |
| <vda.linux@googlemail.com> to further optimize firmware loading. |
| |
| 1. In bnx2_init_cpus(), we allocate memory for decompression once |
| and use it repeatedly instead of doing this for every firmware image. |
| |
| 2. We eliminate the BSS and SBSS firmware sections in bnx2_fw*.h since |
| these are always zeros. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 8336793baf962163c9fab5a3f39614295fdbab27 |
| Author: Denys Vlasenko <vda.linux@googlemail.com> |
| Date: Sun Sep 30 17:56:49 2007 -0700 |
| |
| [ZLIB]: Move bnx2 driver gzip unpacker into zlib. |
| |
| Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com> |
| Acked-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit b3448b0bde5f1a858397fe791f76632e978a1dc8 |
| Author: Denys Vlasenko <vda.linux@googlemail.com> |
| Date: Sun Sep 30 17:55:51 2007 -0700 |
| |
| [BNX2]: factor out gzip unpacker |
| |
| This patch modifies gzip unpacking code in bnx2 driver so that |
| it does not depend on bnx2 internals. I will move this code |
| out of the driver and into zlib in follow-on patch. |
| |
| It can be useful in other drivers which need to store firmwares |
| or any other relatively big binary blobs - fonts, cursor bitmaps, |
| whatever. |
| |
| Patch is run tested by Michael Chan (driver author). |
| |
| Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com> |
| Acked-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit b9f2c0440d806e01968c3ed4def930a43be248ad |
| Author: Jeff Garzik <jeff@garzik.org> |
| Date: Wed Oct 3 18:07:32 2007 -0700 |
| |
| [netdrvr] Stop using legacy hooks ->self_test_count, ->get_stats_count |
| |
| These have been superceded by the new ->get_sset_count() hook. |
| |
| Signed-off-by: Jeff Garzik <jeff@garzik.org> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 0795af5729b18218767fab27c44b1384f72dc9ad |
| Author: Joe Perches <joe@perches.com> |
| Date: Wed Oct 3 17:59:30 2007 -0700 |
| |
| [NET]: Introduce and use print_mac() and DECLARE_MAC_BUF() |
| |
| This is nicer than the MAC_FMT stuff. |
| |
| Signed-off-by: Joe Perches <joe@perches.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 88d3aafdae5c5e1d2dd9489a5c8a24e29d335f2e |
| Author: Jeff Garzik <jeff@garzik.org> |
| Date: Sat Sep 15 14:41:06 2007 -0700 |
| |
| [ETHTOOL] Provide default behaviors for a few ethtool sub-ioctls |
| |
| For the operations |
| get-tx-csum |
| get-sg |
| get-tso |
| get-ufo |
| the default ethtool_op_xxx behavior is fine for all drivers, so we |
| permit op==NULL to imply the default behavior. |
| |
| This provides a more uniform behavior across all drivers, eliminating |
| ethtool(8) "ioctl not supported" errors on older drivers that had |
| not been updated for the latest sub-ioctls. |
| |
| The ethtool_op_xxx() functions are left exported, in case anyone |
| wishes to call them directly from a driver-private implementation -- |
| a not-uncommon case. Should an ethtool_op_xxx() helper remain unused |
| for a while, except by net/core/ethtool.c, we can un-export it at a |
| later date. |
| |
| [ Resolved conflicts with set/get value ethtool patch... -DaveM ] |
| |
| Signed-off-by: Jeff Garzik <jeff@garzik.org> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit ff8ac60948ba819b89e9c87083e8050fc2f89999 |
| Author: Denis Cheng <crquan@gmail.com> |
| Date: Sun Sep 2 18:30:18 2007 +0800 |
| |
| drivers/net/: all drivers/net/ cleanup with ARRAY_SIZE |
| |
| Signed-off-by: Denis Cheng <crquan@gmail.com> |
| Signed-off-by: Jeff Garzik <jeff@garzik.org> |
| |
| commit 10d024c1b2fd58af8362670d7d6e5ae52fc33353 |
| Author: Ralf Baechle <ralf@linux-mips.org> |
| Date: Mon Sep 17 13:11:17 2007 -0700 |
| |
| [NET]: Nuke SET_MODULE_OWNER macro. |
| |
| It's been a useless no-op for long enough in 2.6 so I figured it's time to |
| remove it. The number of people that could object because they're |
| maintaining unified 2.4 and 2.6 drivers is probably rather small. |
| |
| [ Handled drivers added by netdev tree and some missed IRDA cases... -DaveM ] |
| |
| Signed-off-by: Ralf Baechle <ralf@linux-mips.org> |
| Signed-off-by: Jeff Garzik <jeff@garzik.org> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit bea3348eef27e6044b6161fd04c3152215f96411 |
| Author: Stephen Hemminger <shemminger@linux-foundation.org> |
| Date: Wed Oct 3 16:41:36 2007 -0700 |
| |
| [NET]: Make NAPI polling independent of struct net_device objects. |
| |
| Several devices have multiple independant RX queues per net |
| device, and some have a single interrupt doorbell for several |
| queues. |
| |
| In either case, it's easier to support layouts like that if the |
| structure representing the poll is independant from the net |
| device itself. |
| |
| The signature of the ->poll() call back goes from: |
| |
| int foo_poll(struct net_device *dev, int *budget) |
| |
| to |
| |
| int foo_poll(struct napi_struct *napi, int budget) |
| |
| The caller is returned the number of RX packets processed (or |
| the number of "NAPI credits" consumed if you want to get |
| abstract). The callee no longer messes around bumping |
| dev->quota, *budget, etc. because that is all handled in the |
| caller upon return. |
| |
| The napi_struct is to be embedded in the device driver private data |
| structures. |
| |
| Furthermore, it is the driver's responsibility to disable all NAPI |
| instances in it's ->stop() device close handler. Since the |
| napi_struct is privatized into the driver's private data structures, |
| only the driver knows how to get at all of the napi_struct instances |
| it may have per-device. |
| |
| With lots of help and suggestions from Rusty Russell, Roland Dreier, |
| Michael Chan, Jeff Garzik, and Jamal Hadi Salim. |
| |
| Bug fixes from Thomas Graf, Roland Dreier, Peter Zijlstra, |
| Joseph Fannin, Scott Wood, Hans J. Koch, and Michael Chan. |
| |
| [ Ported to current tree and all drivers converted. Integrated |
| Stephen's follow-on kerneldoc additions, and restored poll_list |
| handling to the old style to fix mutual exclusion issues. -DaveM ] |
| |
| Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit cd46171c7297739dc7e46d885862e98023eab9c7 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Sep 20 11:04:58 2007 -0700 |
| |
| [BNX2]: Add PHY workaround for 5709 A1. |
| |
| Add the DIS_EARLY_DAC PHY workaround for 5709 A1. Without it, link |
| sometimes does not come up. |
| |
| Update version to 1.6.5. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 594a9dfae7113d9601b2c353754c40d0b7e00a03 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Tue Aug 28 15:39:42 2007 -0700 |
| |
| [BNX2]: Add write posting comment. |
| |
| Add comment to explain why we cannot read back after chip reset |
| before delaying. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 8e54588161577435d64dfb5cfdf40a73a5705ea0 |
| Author: Arjan van de Ven <arjan@linux.intel.com> |
| Date: Tue Aug 28 14:34:43 2007 -0700 |
| |
| [BNX2]: Use msleep(). |
| |
| bnx2.c (incorrectly) sets current->state directly to |
| TASK_UNINTERRUPTIBLE, without going through set_task_state(). However |
| all the code wants to do is an msleep so just make it do that instead... |
| |
| Signed-off-by: Arjan van de Ven <arjan@linux.intel.com> |
| Acked-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 6caebb02294b503c5eced4a3f90e6166548ce879 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Fri Aug 3 20:57:25 2007 -0700 |
| |
| [BNX2]: Fix suspend/resume problem. |
| |
| The device would not resume properly if it was shutdown before the system |
| was suspended. In such scenario where the netif_running state is 0, |
| bnx2_suspend() would not save the PCI state and so the memory enable bit |
| and bus master enable bit would be lost. |
| |
| We fix this by always saving and restoring the PCI state in |
| bnx2_suspend() and bnx2_resume() regardless of netif_running() state. |
| |
| Update version to 1.6.4. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 313674afa8fdced2fe79f50f38e1c387b63d8790 |
| Author: Matthew Wilcox <matthew@wil.cx> |
| Date: Tue Jul 31 14:00:29 2007 -0700 |
| |
| [NET]: ethtool_perm_addr only has one implementation |
| |
| All drivers implement ethtool get_perm_addr the same way -- by calling |
| the generic function. So we can inline the generic function into the |
| caller and avoid going through the drivers. |
| |
| Signed-off-by: Matthew Wilcox <matthew@wil.cx> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit dd121c4bbf60336773485e91b5cfc57596b45151 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Jul 16 18:27:32 2007 -0700 |
| |
| [BNX2]: Update version to 1.6.3. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 7ea6920ee9480118e2bd2d712d667820703f55cd |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Jul 16 18:27:10 2007 -0700 |
| |
| [BNX2]: Use constants for stats ticks. |
| |
| Change all stats related magic numbers to constants. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit c2d3db8c7cbb94e77461627085b85d74dc64d716 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Jul 16 18:26:43 2007 -0700 |
| |
| [BNX2]: Add delay before reading firmware version. |
| |
| The management firmware may still be loading during bnx2_init_one() |
| because of the D3hot -> D0 transition and the firmware version may |
| not be available without waiting a bit. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit e30372c91273bb5777597362c74e63f96d9cd434 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Jul 16 18:26:23 2007 -0700 |
| |
| [BNX2]: Support NVRAM on 5709. |
| |
| The NVRAM interface is slightly modified on the 5709. To properly |
| support it, we need to change the buffered flag in the flash data |
| structure into multiple flags to indicate buffered operation, address |
| translation, and the use of write enable (WREN). The 5709 flash |
| only requires the buffered operation bit to be set. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 6460d948f3ebf7d5040328a60a0ab7221f69945b |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Sat Jul 14 19:07:52 2007 -0700 |
| |
| [NET]: Add ethtool support for NETIF_F_IPV6_CSUM devices. |
| |
| Add ethtool utility function to set or clear IPV6_CSUM feature flag. |
| Modify tg3.c and bnx2.c to use this function when doing ethtool -K |
| to change tx checksum. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit de081fa517fed81b0369f2e90ca87c30182879c8 |
| Author: Linus Torvalds <torvalds@woody.linux-foundation.org> |
| Date: Thu Jul 12 16:40:08 2007 -0700 |
| |
| Revert "[BNX2]: Seems to not need net/tcp.h" |
| |
| This reverts commit 963bd949b12158d9b5380b718b31c4b33372ed73. The |
| driver _does_ need the networking header files; |
| |
| CC [M] drivers/net/bnx2.o |
| drivers/net/bnx2.c: In function 'bnx2_start_xmit': |
| drivers/net/bnx2.c:5177: warning: implicit declaration of function 'tcp_optlen' |
| drivers/net/bnx2.c:5181: error: invalid application of 'sizeof' to incomplete type 'struct ipv6hdr' |
| drivers/net/bnx2.c:5202: error: invalid application of 'sizeof' to incomplete type 'struct tcphdr' |
| drivers/net/bnx2.c:5207: warning: implicit declaration of function 'tcp_hdr' |
| drivers/net/bnx2.c:5207: error: invalid type argument of '->' |
| make[2]: *** [drivers/net/bnx2.o] Error 1 |
| make[1]: *** [drivers/net] Error 2 |
| make: *** [drivers] Error 2 |
| |
| Cc: Ilpo Jävinen <ilpo.jarvinen@helsinki.fi> |
| Cc: David Miller <davem@davemloft.net> |
| Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> |
| |
| commit 963bd949b12158d9b5380b718b31c4b33372ed73 |
| Author: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi> |
| Date: Sat Jul 7 22:54:56 2007 -0700 |
| |
| [BNX2]: Seems to not need net/tcp.h |
| |
| Got bored to always recompile it for no reason. |
| |
| Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 3a334b34b62d94be0275e5c76fa153cf7fd42770 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Sat Jul 7 22:52:37 2007 -0700 |
| |
| [BNX2]: Update version to 1.6.2. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 58fc2ea4057511f84deaa182b1a3612327ecbf2d |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Sat Jul 7 22:52:02 2007 -0700 |
| |
| [BNX2]: Print management firmware version. |
| |
| Add management firmware version for ethtool -i. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit df149d70e1f34ec4995c8a703dbde38071ff4a05 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Sat Jul 7 22:51:36 2007 -0700 |
| |
| [BNX2]: Enhance the heartbeat. |
| |
| In addition to the periodic heartbeat, we're adding a heartbeat |
| request interrupt when the heartbeat is late. This is needed during |
| netpoll where the timer is not available. -rt kernels will also |
| benefit since the timer is not as accurate. |
| |
| [ We discussed this patch last time and we decided that the -rt |
| kernel problem alone did not justify this patch. I think the |
| netpoll problem makes this patch necessary. ] |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit b8a7ce7bedb2134acb731e08e588ad92087a40ff |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Sat Jul 7 22:51:03 2007 -0700 |
| |
| [BNX2]: Reduce spurious INTA interrupts. |
| |
| Spurious interrupts are often encountered especially on systems |
| using the 8259 PIC mode. This is because the I/O write to deassert |
| the interrupt is posted and won't get to the chip immediately. As |
| a result, the IRQ may remain asserted after the IRQ handler exits, |
| causing spurious interrupts. |
| |
| Add read back to flush the I/O write to deassert the IRQ immediately. |
| We also store the last_status_idx immediately in the IRQ handler to |
| help detect whether the interrupt is ours or not when the IRQ is |
| entered again before ->poll gets called. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 9b1084b8f99a6b5e97c0c9bc1b4455db4fa51a07 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Sat Jul 7 22:50:37 2007 -0700 |
| |
| [BNX2]: Modify link up message. |
| |
| Modify the link up dmesg to report remote copper or Serdes link. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 7b6b83474cb9bdd07dadfb7497a29c3005ad9d1d |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Sat Jul 7 22:50:15 2007 -0700 |
| |
| [BNX2]: Add ethtool support for remote PHY. |
| |
| Modify the driver's ethtool_ops->get_settings and set_settings |
| functions to support remote PHY. Users control the remote copper |
| PHY settings by specifying link settings for the tp (twisted pair) |
| port. |
| |
| The nway_reset function is also modified to support remote PHY. |
| mii-tool operations are not supported on remote PHY and we will |
| return -EOPNOTSUPP. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 0d8a6571051d23c214d7a316976138a6fd8bda1c |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Sat Jul 7 22:49:43 2007 -0700 |
| |
| [BNX2]: Add support for remote PHY. |
| |
| In blade servers, the Serdes PHY in 5708S can control the remote |
| copper PHY through autonegotiation on the backplane. This patch adds |
| the logic to interface with the firmware to control the remote PHY |
| autonegotiation and to handle remote PHY link events. |
| |
| When remote PHY is present, the 5708S Serdes device practically |
| becomes a copper device with full control over the 1000Base-T |
| link settings. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit deaf391b4cc9d9f8e2b2793ebd56da776b54197a |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Sat Jul 7 22:48:00 2007 -0700 |
| |
| [BNX2]: Add bnx2_set_default_link(). |
| |
| Put existing code to setup the default link settings in this new |
| function. This makes it easier to support the remote PHY feature in |
| the next few patches. |
| |
| Also change ETHTOOL_ALL_FIBRE_SPEED to include 2500Mbps if supported. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit d212f87b068c9d72065ef579d85b5ee6b8b59381 |
| Author: Stephen Hemminger <shemminger@linux-foundation.org> |
| Date: Wed Jun 27 00:47:37 2007 -0700 |
| |
| [NET]: IPV6 checksum offloading in network devices |
| |
| The existing model for checksum offload does not correctly handle |
| devices that can offload IPV4 and IPV6 only. The NETIF_F_HW_CSUM flag |
| implies device can do any arbitrary protocol. |
| |
| This patch: |
| * adds NETIF_F_IPV6_CSUM for those devices |
| * fixes bnx2 and tg3 devices that need it |
| * add NETIF_F_IPV6_CSUM to ipv6 output (incl GSO) |
| * fixes assumptions about NETIF_F_ALL_CSUM in nat |
| * adjusts bridge union of checksumming computation |
| |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 5befdf807a6574a53e1b8c3af543ad6b4ed74c40 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Jun 4 21:24:42 2007 -0700 |
| |
| [BNX2]: Update version and reldate. |
| |
| Update to version 1.5.11. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Acked-by: Jeff Garzik <jeff@garzik.org> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit c3e9c5db307359cf98885f12f566ef87679f4e4f |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Jun 4 21:24:07 2007 -0700 |
| |
| [BNX2]: Fix occasional counter corruption on 5708. |
| |
| The statistics block DMA on 5708 can be messed up occasionally on the |
| average of about once per hour. If the user is reading the counters |
| within one second after the corruption, the counters will be all |
| messed up. One second later, the counters will be ok again until the |
| next corruption occurs. |
| |
| The workaround is to disable the periodic statistics DMA. Instead, |
| we manually trigger the DMA once a second in bnx2_timer(). This |
| manual trigger of the DMA avoids the problem. |
| |
| As a consequence, we can only allow 0 or 1 second settings for |
| ethtool -C statistics block. |
| |
| Thanks to Jean-Daniel Pauget <jd@disjunkt.com> and |
| CaT <cat@zip.com.au> for reporting this rare problem. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Acked-by: Jeff Garzik <jeff@garzik.org> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 80e945a500f68558d8236a107d4ee03b4a1eca88 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Jun 4 21:23:06 2007 -0700 |
| |
| [BNX2]: Enable DMA on 5709. |
| |
| Add missing code to enable DMA on 5709 A1. The bit is a no-op on A0 |
| and therefore can be set on all 5709 chips. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Acked-by: Jeff Garzik <jeff@garzik.org> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit f0e8602f418a597d73865af2854b90cd24c90d6f |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Jun 4 21:22:24 2007 -0700 |
| |
| [BNX2]: Add missing wait in bnx2_init_5709_context(). |
| |
| For correctness, we need to wait for the MEM_INIT bit to be cleared |
| in the BNX2_CTX_COMMAND register before proceeding. |
| |
| [Added return -EBUSY when the MEM_INIT bit doesn't clear, suggested |
| by Jeff Garzik.] |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Acked-by: Jeff Garzik <jeff@garzik.org> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 19322456884bffde9703f0fec8df3581d41fc244 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Jun 4 21:17:10 2007 -0700 |
| |
| [BNX2]: Fix netdev watchdog on 5708. |
| |
| There's a bug in the driver that only initializes half of the context |
| memory on the 5708. Surprisingly, this works most of the time except |
| for some occasional netdev watchdogs when sending a lot of 64-byte |
| packets. The fix is to add the missing code to initialize the 2nd |
| halves of all context memory. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Acked-by: Jeff Garzik <jeff@garzik.org> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 25805dcf9d83098cf5492117ad2669cd14cc9b24 |
| Author: Stephen Hemminger <shemminger@linux-foundation.org> |
| Date: Fri Jun 1 09:44:01 2007 -0700 |
| |
| network drivers: eliminate unneeded kill_vid code |
| |
| Many drivers had code that did kill_vid, but they weren't doing vlan |
| filtering. With new API the stub is unneeded unless device sets |
| NETIF_F_HW_VLAN_FILTER. |
| |
| Bad habit: I couldn't resist fixing a couple of nearby style things |
| in acenic, and forcedeth. |
| |
| Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org> |
| Signed-off-by: Jeff Garzik <jeff@garzik.org> |
| |
| commit fde82055c1d0e64ff660d83c705db0e1abc9d12e |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu May 3 17:23:35 2007 -0700 |
| |
| [BNX2]: Fix TSO problem with small MSS. |
| |
| Remove the check for skb->len greater than MTU when doing TSO. When |
| the destination has a smaller MSS than the source, a TSO packet may |
| be smaller than the MTU at the source and we still need to process it |
| as a TSO packet. |
| |
| Thanks to Brian Ristuccia <bristuccia@starentnetworks.com> for |
| reporting the problem. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 72fbaeb623971c321112de7fe3fa4e24e12ca59e |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu May 3 13:25:32 2007 -0700 |
| |
| [BNX2]: Update version and reldate. |
| |
| Update version to 1.5.10. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 883e51511815930154c64a2645f4df112aa066fb |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu May 3 13:25:11 2007 -0700 |
| |
| [BNX2]: Print bus information for PCIE devices. |
| |
| Fix the code to print PCI or PCIE bus information for all devices. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 8e6a72c435bf8bdd738ad08a746d697abedacfc0 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu May 3 13:24:48 2007 -0700 |
| |
| [BNX2]: Add 1-shot MSI handler for 5709. |
| |
| The 5709 supports the one-shot MSI handler similar to some of the tg3 |
| chips. In this mode, the MSI disables itself automatically until it |
| is re-enabled at the end of NAPI poll. |
| |
| Put the request_irq/free_irq logic in common procedures. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit da3e4fbed21a5d7edab10ffb77a8c04a725f9eff |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu May 3 13:24:23 2007 -0700 |
| |
| [BNX2]: Restructure PHY event handling. |
| |
| Restructure by adding bnx2_phy_event_is_set() to make code cleaner |
| and easier to understand. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 1b8227c48e164655f02aa0eff55862af2d05da51 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu May 3 13:24:05 2007 -0700 |
| |
| [BNX2]: Add indirect spinlock. |
| |
| The indirect register access method will be used by more than one |
| caller in BH context (NAPI poll and timer), so a spinlock is required. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 27a005b883984ef3a3cf24e7ddd78eb78902f494 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu May 3 13:23:41 2007 -0700 |
| |
| [BNX2]: Add support for 5709 Serdes. |
| |
| Add PCI ID and code to support the 5709 Serdes PHY. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 605a9e20aaea23f31a5403e969bd4ab4d0405dab |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu May 3 13:23:13 2007 -0700 |
| |
| [BNX2]: Re-structure the 2.5G Serdes code. |
| |
| Add some common procedures to handle enabling and disabling 2.5G. |
| Add some missing code to resolve flow control. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit ca58c3af99b15f729e56dffe9b74b8b2ce157e8d |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu May 3 13:22:52 2007 -0700 |
| |
| [BNX2]: Put MII register offsets in the bnx2 struct. |
| |
| The 5709 Serdes device uses non-standard MII register offsets. This |
| re-structuring will make it easier to support 5709 Serdes. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 4666f87a82cf74b63737a7f55a8b3b057a7b83df |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu May 3 13:22:28 2007 -0700 |
| |
| [BNX2]: Add ipv6 TSO and checksum for 5709. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 874bb672fdd939aec37ad3a06b50be4ff8b4feac |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu May 3 13:21:48 2007 -0700 |
| |
| [BNX2]: Update 5709 firmware. |
| |
| Add ipv6 TSO support in firmware. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 41ccf61cf09c9a042415c04ccf0dc3c198623a9a |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu May 3 13:21:13 2007 -0700 |
| |
| [BNX2]: Update 5708 firmware. |
| |
| This fixes the problem of not counting all dropped multicast packets. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 30c517b29130ddede977300235afcda1c256530b |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu May 3 13:20:40 2007 -0700 |
| |
| [BNX2]: Save PCI state during suspend. |
| |
| This is needed to save the MSI state which will be lost during |
| suspend. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 1b2f922f6869eb13dadfe1ba3f8337bd42e50a2e |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu May 3 13:20:19 2007 -0700 |
| |
| [BNX2]: Fix race conditions when calling register_netdev(). |
| |
| Hot-plug scripts can call bnx2_open() as soon as register_netdev() is |
| called in bnx2_init_one(). We need to call pci_set_drvdata() and |
| setup everything before calling register_netdev(). netif_carrier_off() |
| also needs to be moved to bnx2_open() to avoid race conditions with |
| the irq. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 40453c839fdbf86738256cae1c9c1ebe55645d4a |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu May 3 13:19:18 2007 -0700 |
| |
| [BNX2]: Add 40-bit DMA workaround for 5708. |
| |
| The internal PCIE-to-PCIX bridge of the 5708 has the same 40-bit DMA |
| limitation as some of the tg3 chips. Set dma_mask and persistent DMA |
| mask to 40-bit to workaround. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 5bae30c96a3bd09563e484b4ac7211b4b4664679 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu May 3 13:18:46 2007 -0700 |
| |
| [BNX2]: Fix register and memory test on 5709. |
| |
| Tweak registers and memory test range for 5709. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit dad3e452dacd3c6c637e2f7c6469556cc8ffcd94 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu May 3 13:18:03 2007 -0700 |
| |
| [BNX2]: Block MII access when ifdown. |
| |
| The device may be in D3hot state and should not allow MII register |
| access. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit aa8223c7bb0b05183e1737881ed21827aa5b9e73 |
| Author: Arnaldo Carvalho de Melo <acme@redhat.com> |
| Date: Tue Apr 10 21:04:22 2007 -0700 |
| |
| [SK_BUFF]: Introduce tcp_hdr(), remove skb->h.th |
| |
| Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit ab6a5bb6b28a970104a34f0f6959b73cf61bdc72 |
| Author: Arnaldo Carvalho de Melo <acme@redhat.com> |
| Date: Sun Mar 18 17:43:48 2007 -0700 |
| |
| [TCP]: Introduce tcp_hdrlen() and tcp_optlen() |
| |
| The ip_hdrlen() buddy, created to reduce the number of skb->h.th-> uses and to |
| avoid the longer, open coded equivalent. |
| |
| Ditched a no-op in bnx2 in the process. |
| |
| I wonder if we should have a BUG_ON(skb->h.th->doff < 5) in tcp_optlen()... |
| |
| Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit eddc9ec53be2ecdbf4efe0efd4a83052594f0ac0 |
| Author: Arnaldo Carvalho de Melo <acme@redhat.com> |
| Date: Fri Apr 20 22:47:35 2007 -0700 |
| |
| [SK_BUFF]: Introduce ip_hdr(), remove skb->nh.iph |
| |
| Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit c9bdd4b5257406b0608385d19c40b5511decf4f6 |
| Author: Arnaldo Carvalho de Melo <acme@redhat.com> |
| Date: Mon Mar 12 20:09:15 2007 -0300 |
| |
| [IP]: Introduce ip_hdrlen() |
| |
| For the common sequence "skb->nh.iph->ihl * 4", removing a good number of open |
| coded skb->nh.iph uses, now to go after the rest... |
| |
| Just out of curiosity, here are the idioms found to get the same result: |
| |
| skb->nh.iph->ihl << 2 |
| skb->nh.iph->ihl<<2 |
| skb->nh.iph->ihl * 4 |
| skb->nh.iph->ihl*4 |
| (skb->nh.iph)->ihl * sizeof(u32) |
| |
| Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 68c9f75a0539db583db074059d54deb607d1a475 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Tue Apr 24 15:35:53 2007 -0700 |
| |
| [BNX2]: Fix occasional NETDEV WATCHDOG on 5709. |
| |
| Tweak a register setting to prevent the tx mailbox from halting. |
| |
| Update version to 1.5.8. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit c873879c4db31bab414655e191cf56019b48c751 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Fri Mar 30 14:53:06 2007 -0700 |
| |
| [BNX2]: Fix nvram write logic. |
| |
| The nvram dword alignment logic was broken when writing less than 4 |
| bytes on a non-aligned offset. It was missing logic to round the |
| length to 4 bytes. |
| |
| The page erase code is also moved so that it is only called when |
| using non-buffered flash for better code clarity. |
| |
| Update version to 1.5.7. |
| |
| Based on initial patch from Tony Cureington <tony.cureington@hp.com>. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit db8b22550d4b83f0910d27a34d05aa16f7f7159f |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Wed Mar 28 14:17:36 2007 -0700 |
| |
| [BNX2]: Fix link interrupt problem. |
| |
| bnx2_has_work()'s logic is flawed and can cause the driver to miss |
| a link event. The fix is to compare the status block's attn_bits |
| and attn_bits_ack to determine if there is a link event. |
| |
| Update version to 1.5.6. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 5c15bdec5c38f4ccf73ef2585fc80a6164de9554 |
| Author: Dan Aloni <da-x@monatomic.org> |
| Date: Fri Mar 2 20:44:51 2007 -0800 |
| |
| [VLAN]: Avoid a 4-order allocation. |
| |
| This patch splits the vlan_group struct into a multi-allocated struct. On |
| x86_64, the size of the original struct is a little more than 32KB, causing |
| a 4-order allocation, which is prune to problems caused by buddy-system |
| external fragmentation conditions. |
| |
| I couldn't just use vmalloc() because vfree() cannot be called in the |
| softirq context of the RCU callback. |
| |
| Signed-off-by: Dan Aloni <da-x@monatomic.org> |
| Acked-by: Jeff Garzik <jeff@garzik.org> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 78149df6d565c36675463352d0bfe0000b02b7a7 |
| Merge: c96e2c9... 14719f3... |
| Author: Linus Torvalds <torvalds@woody.linux-foundation.org> |
| Date: Wed Feb 7 19:23:44 2007 -0800 |
| |
| Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6 |
| |
| * master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6: (41 commits) |
| Revert "PCI: remove duplicate device id from ata_piix" |
| msi: Make MSI useable more architectures |
| msi: Kill the msi_desc array. |
| msi: Remove attach_msi_entry. |
| msi: Fix msi_remove_pci_irq_vectors. |
| msi: Remove msi_lock. |
| msi: Kill msi_lookup_irq |
| MSI: Combine pci_(save|restore)_msi/msix_state |
| MSI: Remove pci_scan_msi_device() |
| MSI: Replace pci_msi_quirk with calls to pci_no_msi() |
| PCI: remove duplicate device id from ipr |
| PCI: remove duplicate device id from ata_piix |
| PCI: power management: remove noise on non-manageable hw |
| PCI: cleanup MSI code |
| PCI: make isa_bridge Alpha-only |
| PCI: remove quirk_sis_96x_compatible() |
| PCI: Speed up the Intel SMBus unhiding quirk |
| PCI Quirk: 1k I/O space IOBL_ADR fix on P64H2 |
| shpchp: delete trailing whitespace |
| shpchp: remove DBG_XXX_ROUTINE |
| ... |
| |
| commit 88187dfa4d8bb565df762f272511d2c91e427e0d |
| Author: Michael Ellerman <michael@ellerman.id.au> |
| Date: Thu Jan 25 19:34:07 2007 +1100 |
| |
| MSI: Replace pci_msi_quirk with calls to pci_no_msi() |
| |
| I don't see any reason why we need pci_msi_quirk, quirk code can just |
| call pci_no_msi() instead. |
| |
| Remove the check of pci_msi_quirk in msi_init(). This is safe as all |
| calls to msi_init() are protected by calls to pci_msi_supported(), |
| which checks pci_msi_enable, which is disabled by pci_no_msi(). |
| |
| The pci_disable_msi routines didn't check pci_msi_quirk, only |
| pci_msi_enable, but as far as I can see that was a bug not a feature. |
| |
| Signed-off-by: Michael Ellerman <michael@ellerman.id.au> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| commit b659f44e4e144bae02c5beaba78a37db60783ba2 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Fri Feb 2 00:46:35 2007 -0800 |
| |
| [BNX2]: PHY workaround for 5709 A0. |
| |
| 5709 A0 copper devices will not link up with some link partners |
| without this workaround. |
| |
| Update driver to 1.5.5. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 24cb230b587cf3aad8794b150682d8d8303a2120 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Jan 25 15:49:56 2007 -0800 |
| |
| [BNX2]: Fix 2nd port's MAC address. |
| |
| On the 5709, we need to add the proper offset to calculate the shared |
| memory base address of the 2nd port correctly. Otherwise, the 2nd |
| port's MAC address and other information will be the same as the 1st |
| port. |
| |
| Update version to 1.5.4. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit d6aa4acebafe3acb0aade7704ec5b2f03742ea14 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Jan 8 19:56:31 2007 -0800 |
| |
| [BNX2]: Update version and reldate. |
| |
| Update version to 1.5.3. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit e6be763f63420c334710a5a0818e6bfcf5d593f8 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Jan 8 19:56:13 2007 -0800 |
| |
| [BNX2]: Fix bug in bnx2_nvram_write(). |
| |
| The bug was a bogus pointer being passed to kfree(). The pointer was |
| incremented in the write loop and then passed to kfree(). |
| |
| The fix is to use align_buf to save the original address. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 253c8b75546c5f21d5321d691df92c1e84d9b0fb |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Jan 8 19:56:01 2007 -0800 |
| |
| [BNX2]: Fix 5709 Serdes detection. |
| |
| 5709 has a new register to detect copper/fiber PHYs. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 261dd5ca05c6f36c9216f2d60b018f59f92620c4 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Jan 8 19:55:46 2007 -0800 |
| |
| [BNX2]: Don't apply CRC PHY workaround to 5709. |
| |
| The workaround is only needed on 5706/5708 and cannot be applied on |
| 5709. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 6634292be47856c571634944dc0f6c8498602032 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Dec 14 15:57:04 2006 -0800 |
| |
| [BNX2]: Fix minor loopback problem. |
| |
| Use the configured MAC address instead of the permanent MAC address |
| for loopback frames. |
| |
| Update version to 1.5.2. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 6a13add1e1b802a29187a9af98a6ca26539dc33d |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Dec 14 15:56:50 2006 -0800 |
| |
| [BNX2]: Fix bug in bnx2_nvram_write(). |
| |
| Length was not calculated correctly if the NVRAM offset is on a non- |
| aligned offset. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit faac9c4b753f420c02bdce0785d2657087830a12 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Dec 14 15:56:32 2006 -0800 |
| |
| [BNX2]: Fix panic in bnx2_tx_int(). |
| |
| There was an off-by-one bug in bnx2_tx_avail(). If the tx ring is |
| completely full, the producer and consumer indices may be apart by |
| 256 even though the ring size is only 255. One entry in the ring is |
| unused and must be properly accounted for when calculating the number |
| of available entries. The bug caused the tx ring entries to be |
| reused by mistake, overwriting active entries, and ultimately causing |
| it to crash. |
| |
| This bug rarely occurs because the tx ring is rarely completely full. |
| We always stop when there is less than MAX_SKB_FRAGS entries available |
| in the ring. |
| |
| Thanks to Corey Kovacs <cjk@techma.com> and Andy Gospodarek |
| <agospoda@redhat.com> for reporting the problem and helping to collect |
| debug information. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 6c1bbcc8836358294c431e0c09e85e3480895659 |
| Author: Adrian Bunk <bunk@stusta.de> |
| Date: Thu Dec 7 15:10:06 2006 -0800 |
| |
| [BNX2]: Add an error check. |
| |
| This patch adds a missing error check spotted by the Coverity checker. |
| |
| Signed-off-by: Adrian Bunk <bunk@stusta.de> |
| Acked-by: Jeff Garzik <jgarzik@pobox.com> |
| Acked-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit a49ec9f0df6da3ea2b316cba333ff2a03417ca4c |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Sun Nov 19 14:15:31 2006 -0800 |
| |
| [BNX2]: Update version and rel date. |
| |
| Update version to 1.5.1. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 699e9760f3bf0171da9c6238f7c4a03428a650be |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Sun Nov 19 14:15:05 2006 -0800 |
| |
| [BNX2]: Add 5709 PCI ID. |
| |
| Add PCI ID and detection for 5709 copper and SerDes chips. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit c002ceca7d1ffd9c9b6b84dbc8d7de8099465e33 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Sun Nov 19 14:14:35 2006 -0800 |
| |
| [BNX2]: Download 5709 firmware. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 6a81f85b845c0e73a8e7fba294dc520cc044e053 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Sun Nov 19 14:13:52 2006 -0800 |
| |
| [BNX2]: New firmware to support 5709 (part 4). |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 1b9338fea4e2560e909a6a8e092d6b9b951db9fb |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Sun Nov 19 14:13:23 2006 -0800 |
| |
| [BNX2]: New firmware to support 5709 (part 3). |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit c57d62d5963deae42db5a1a623ff0a4b50f2b0b4 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Sun Nov 19 14:12:55 2006 -0800 |
| |
| [BNX2]: New firmware to support 5709 (part 2). |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 775795f207bf197e3e23e50ca7c7f8f45547a64b |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Sun Nov 19 14:12:28 2006 -0800 |
| |
| [BNX2]: New firmware to support 5709 (part 1). |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 7976227c57d5f3b2847df87775f2eba04feb85f7 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Sun Nov 19 14:11:41 2006 -0800 |
| |
| [BNX2]: Add 5709 reset and runtime code. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 39008dbc89aff49407d0e71ab3e2262c76ea2268 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Sun Nov 19 14:10:45 2006 -0800 |
| |
| [BNX2]: Add 5709 init code. |
| |
| Add basic support to initialize the 5709 chip. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 421d4e096f0cf3a34bd18cc53ddb42cda43974f8 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Sun Nov 19 14:10:12 2006 -0800 |
| |
| [BNX2]: Add new 5709 registers (part 2). |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 9276b3445d3146a61b18c473738f407623d2f14e |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Sun Nov 19 14:09:48 2006 -0800 |
| |
| [BNX2]: Add new 5709 registers (part 1). |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit e051495ae3bf9d4b36e3b8611930c6bdf2193702 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Sun Nov 19 14:09:25 2006 -0800 |
| |
| [BNX2]: Re-organize firmware structures. |
| |
| Re-organize the firmware handling code and declarations a bit to make |
| the code more compact. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit b62c8680c0694969cb206ff9971cf0e246454569 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Sun Nov 19 14:08:56 2006 -0800 |
| |
| [BNX2]: Remove udelay() in copper PHY code. |
| |
| Change a long udelay() in bnx2_setup_copper_phy() to msleep(). |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 3092dd42615b8e8ec1dfe8c242a2835fb43862f7 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Sun Nov 19 14:08:29 2006 -0800 |
| |
| [BNX2]: Add 5708S parallel detection. |
| |
| Add code to parallel detect 1Gbps and 2.5Gbps link speeds. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 2e5f34adf1cfd7c5dc076a3a3ca49ede52993688 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Sun Nov 19 14:08:00 2006 -0800 |
| |
| [BNX2]: Add bnx2_5706_serdes_timer(). |
| |
| Separate the 5706S SerDes handling code in bnx2_timer() and put it |
| in a new function. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 275adaf3765cd9fc6df270f963d2554fe4f60331 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Sun Nov 19 14:07:28 2006 -0800 |
| |
| [BNX2]: Improve SerDes handling. |
| |
| 1. Add support for 2.5Gbps forced speed setting. |
| 2. Remove a long udelay() loop and change to msleep(). |
| 3. Other misc. SerDes fixes. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit fdfbd1e956322b44d9fcba0bb2832cca29cbf4aa |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Sun Nov 19 14:06:40 2006 -0800 |
| |
| [BNX2]: Fix Xen problem. |
| |
| This fixes the problem of not receiving packets in the Xen bridging |
| environment. The Xen script sets the device's MAC address to |
| FE:FF:FF:FF:FF:FF and puts the device in promiscuous mode. The |
| firmware had problem receiving all packets in this configuration. |
| |
| New firmware and setting the PROM_VLAN bit when in promiscuous mode |
| will fix this problem. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 7d12e780e003f93433d49ce78cfedf4b4c52adc5 |
| Author: David Howells <dhowells@redhat.com> |
| Date: Thu Oct 5 14:55:46 2006 +0100 |
| |
| IRQ: Maintain regs pointer globally rather than passing to IRQ handlers |
| |
| Maintain a per-CPU global "struct pt_regs *" variable which can be used instead |
| of passing regs around manually through all ~1800 interrupt handlers in the |
| Linux kernel. |
| |
| The regs pointer is used in few places, but it potentially costs both stack |
| space and code to pass it around. On the FRV arch, removing the regs parameter |
| from all the genirq function results in a 20% speed up of the IRQ exit path |
| (ie: from leaving timer_interrupt() to leaving do_IRQ()). |
| |
| Where appropriate, an arch may override the generic storage facility and do |
| something different with the variable. On FRV, for instance, the address is |
| maintained in GR28 at all times inside the kernel as part of general exception |
| handling. |
| |
| Having looked over the code, it appears that the parameter may be handed down |
| through up to twenty or so layers of functions. Consider a USB character |
| device attached to a USB hub, attached to a USB controller that posts its |
| interrupts through a cascaded auxiliary interrupt controller. A character |
| device driver may want to pass regs to the sysrq handler through the input |
| layer which adds another few layers of parameter passing. |
| |
| I've build this code with allyesconfig for x86_64 and i386. I've runtested the |
| main part of the code on FRV and i386, though I can't test most of the drivers. |
| I've also done partial conversion for powerpc and MIPS - these at least compile |
| with minimal configurations. |
| |
| This will affect all archs. Mostly the changes should be relatively easy. |
| Take do_IRQ(), store the regs pointer at the beginning, saving the old one: |
| |
| struct pt_regs *old_regs = set_irq_regs(regs); |
| |
| And put the old one back at the end: |
| |
| set_irq_regs(old_regs); |
| |
| Don't pass regs through to generic_handle_irq() or __do_IRQ(). |
| |
| In timer_interrupt(), this sort of change will be necessary: |
| |
| - update_process_times(user_mode(regs)); |
| - profile_tick(CPU_PROFILING, regs); |
| + update_process_times(user_mode(get_irq_regs())); |
| + profile_tick(CPU_PROFILING); |
| |
| I'd like to move update_process_times()'s use of get_irq_regs() into itself, |
| except that i386, alone of the archs, uses something other than user_mode(). |
| |
| Some notes on the interrupt handling in the drivers: |
| |
| (*) input_dev() is now gone entirely. The regs pointer is no longer stored in |
| the input_dev struct. |
| |
| (*) finish_unlinks() in drivers/usb/host/ohci-q.c needs checking. It does |
| something different depending on whether it's been supplied with a regs |
| pointer or not. |
| |
| (*) Various IRQ handler function pointers have been moved to type |
| irq_handler_t. |
| |
| Signed-Off-By: David Howells <dhowells@redhat.com> |
| (cherry picked from 1b16e7ac850969f38b375e511e3fa2f474a33867 commit) |
| |
| commit f9317a40c4e09e20ef01601fc9f5de9e6acb5b96 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Fri Sep 29 17:06:23 2006 -0700 |
| |
| [BNX2]: Disable MSI on 5706 if AMD 8132 bridge is present. |
| |
| MSI is defined to be 32-bit write. The 5706 does 64-bit MSI writes |
| with byte enables disabled on the unused 32-bit word. This is legal |
| but causes problems on the AMD 8132 which will eventually stop |
| responding after a while. |
| |
| Without this patch, the MSI test done by the driver during open will |
| pass, but MSI will eventually stop working after a few MSIs are |
| written by the device. |
| |
| AMD believes this incompatibility is unique to the 5706, and |
| prefers to locally disable MSI rather than globally disabling it |
| using pci_msi_quirk. |
| |
| Update version to 1.4.45. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 84fa7933a33f806bbbaae6775e87459b1ec584c0 |
| Author: Patrick McHardy <kaber@trash.net> |
| Date: Tue Aug 29 16:44:56 2006 -0700 |
| |
| [NET]: Replace CHECKSUM_HW by CHECKSUM_PARTIAL/CHECKSUM_COMPLETE |
| |
| Replace CHECKSUM_HW by CHECKSUM_PARTIAL (for outgoing packets, whose |
| checksum still needs to be completed) and CHECKSUM_COMPLETE (for |
| incoming packets, device supplied full checksum). |
| |
| Patch originally from Herbert Xu, updated by myself for 2.6.18-rc3. |
| |
| Signed-off-by: Patrick McHardy <kaber@trash.net> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 7282d491ecaee9883233a0e27283c4c79486279a |
| Author: Jeff Garzik <jeff@garzik.org> |
| Date: Wed Sep 13 14:30:00 2006 -0400 |
| |
| drivers/net: const-ify ethtool_ops declarations |
| |
| Signed-off-by: Jeff Garzik <jeff@garzik.org> |
| |
| commit 6aa20a2235535605db6d6d2bd850298b2fe7f31e |
| Author: Jeff Garzik <jeff@garzik.org> |
| Date: Wed Sep 13 13:24:59 2006 -0400 |
| |
| drivers/net: Trim trailing whitespace |
| |
| Signed-off-by: Jeff Garzik <jeff@garzik.org> |
| |
| commit 299176206b266f204be859adf9e66efd06628ab2 |
| Author: Jeff Garzik <jeff@garzik.org> |
| Date: Sat Aug 19 17:48:59 2006 -0400 |
| |
| drivers/net: Remove deprecated use of pci_module_init() |
| |
| From: Michal Piotrowski <michal.k.k.piotrowski@gmail.com> |
| |
| Signed-off-by: Michal Piotrowski <michal.k.k.piotrowski@gmail.com> |
| Signed-off-by: Jeff Garzik <jeff@garzik.org> |
| |
| commit 38f26d7e0b77770bf537d475fcc80174f51e2b4a |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Tue Aug 15 01:39:36 2006 -0700 |
| |
| [BNX2]: Convert to netdev_alloc_skb() |
| |
| Convert dev_alloc_skb() to netdev_alloc_skb() and increase default |
| rx ring size to 255. The old ring size of 100 was too small. |
| |
| Update version to 1.4.44. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit b1952e0f3691835620b3629e0674c80255b56def |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Tue Aug 15 01:39:10 2006 -0700 |
| |
| [BNX2]: Fix tx race condition. |
| |
| Fix a subtle race condition between bnx2_start_xmit() and bnx2_tx_int() |
| similar to the one in tg3 discovered by Herbert Xu: |
| |
| CPU0 CPU1 |
| bnx2_start_xmit() |
| if (tx_ring_full) { |
| tx_lock |
| bnx2_tx() |
| if (!netif_queue_stopped) |
| netif_stop_queue() |
| if (!tx_ring_full) |
| update_tx_ring |
| netif_wake_queue() |
| tx_unlock |
| } |
| |
| Even though tx_ring is updated before the if statement in bnx2_tx_int() in |
| program order, it can be re-ordered by the CPU as shown above. This |
| scenario can cause the tx queue to be stopped forever if bnx2_tx_int() has |
| just freed up the entire tx_ring. The possibility of this happening |
| should be very rare though. |
| |
| The following changes are made, very much identical to the tg3 fix: |
| |
| 1. Add memory barrier to fix the above race condition. |
| |
| 2. Eliminate the private tx_lock altogether and rely solely on |
| netif_tx_lock. This eliminates one spinlock in bnx2_start_xmit() |
| when the ring is full. |
| |
| 3. Because of 2, use netif_tx_lock in bnx2_tx_int() before calling |
| netif_wake_queue(). |
| |
| 4. Add memory barrier to bnx2_tx_avail(). |
| |
| 5. Add bp->tx_wake_thresh which is set to half the tx ring size. |
| |
| 6. Check for the full wake queue condition before getting |
| netif_tx_lock in tg3_tx(). This reduces the number of unnecessary |
| spinlocks when the tx ring is full in a steady-state condition. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 89114afd435a486deb8583e89f490fc274444d18 |
| Author: Herbert Xu <herbert@gondor.apana.org.au> |
| Date: Sat Jul 8 13:34:32 2006 -0700 |
| |
| [NET] gso: Add skb_is_gso |
| |
| This patch adds the wrapper function skb_is_gso which can be used instead |
| of directly testing skb_shinfo(skb)->gso_size. This makes things a little |
| nicer and allows us to change the primary key for indicating whether an skb |
| is GSO (if we ever want to do that). |
| |
| Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 9b91cf9daac41eeaaea57ecfe68dc13bb0305fa9 |
| Author: Jeff Garzik <jeff@garzik.org> |
| Date: Tue Jun 27 11:39:50 2006 -0400 |
| |
| [netdrvr] use dev_xxx() printk helpers, rather than dev_printk(KERN_xxx, ... |
| |
| Suggested by Jiri Slaby. |
| |
| Signed-off-by: Jeff Garzik <jeff@garzik.org> |
| |
| commit 2e8a538d865de0eb9813c8a0f2284e920299c0cc |
| Author: Jeff Garzik <jeff@garzik.org> |
| Date: Tue Jun 27 10:47:51 2006 -0400 |
| |
| [netdrvr] Use dev_printk() when ethernet interface isn't available |
| |
| For messages prior to register_netdev(), prefer dev_printk() because |
| that prints out both our driver name and our [PCI | whatever] bus id. |
| |
| Updates: 8139{cp,too}, b44, bnx2, cassini, {eepro,epic}100, fealnx, |
| hamachi, ne2k-pci, ns83820, pci-skeleton, r8169. |
| |
| Signed-off-by: Jeff Garzik <jeff@garzik.org> |
| |
| commit 1fb9df5d3069064c037c81c0ab8bf783ffa5e373 |
| Author: Thomas Gleixner <tglx@linutronix.de> |
| Date: Sat Jul 1 19:29:39 2006 -0700 |
| |
| [PATCH] irq-flags: drivers/net: Use the new IRQF_ constants |
| |
| Signed-off-by: Thomas Gleixner <tglx@linutronix.de> |
| Cc: Ingo Molnar <mingo@elte.hu> |
| Cc: "David S. Miller" <davem@davemloft.net> |
| Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> |
| Cc: Jeff Garzik <jeff@garzik.org> |
| Signed-off-by: Andrew Morton <akpm@osdl.org> |
| Signed-off-by: Linus Torvalds <torvalds@osdl.org> |
| |
| commit 6ab3d5624e172c553004ecc862bfeac16d9d68b7 |
| Author: Jörn Engel <joern@wohnheim.fh-wedel.de> |
| Date: Fri Jun 30 19:25:36 2006 +0200 |
| |
| Remove obsolete #include <linux/config.h> |
| |
| Signed-off-by: Jörn Engel <joern@wohnheim.fh-wedel.de> |
| Signed-off-by: Adrian Bunk <bunk@stusta.de> |
| |
| commit 6c4f095eae35e83eb6148dec7f72874eeadf0c9b |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Jun 29 12:38:15 2006 -0700 |
| |
| [BNX2]: Turn off link during shutdown |
| |
| Minor change in shutdown logic to effect a link down. |
| |
| Update version to 1.4.43. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 745720e58303f940e12944bf7fab52bc9ce48bda |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Jun 29 12:37:41 2006 -0700 |
| |
| [BNX2]: Use dev_kfree_skb() instead of the _irq version |
| |
| Change all dev_kfree_skb_irq() and dev_kfree_skb_any() to |
| dev_kfree_skb(). These calls are never used in irq context. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit b11d6213529b33d81c21eeba97343e3b714e62e7 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Jun 29 12:31:21 2006 -0700 |
| |
| [BNX2]: Add NETIF_F_TSO_ECN |
| |
| Add NETIF_F_TSO_ECN feature for all bnx2 hardware. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 7967168cefdbc63bf332d6b1548eca7cd65ebbcc |
| Author: Herbert Xu <herbert@gondor.apana.org.au> |
| Date: Thu Jun 22 02:40:14 2006 -0700 |
| |
| [NET]: Merge TSO/UFO fields in sk_buff |
| |
| Having separate fields in sk_buff for TSO/UFO (tso_size/ufo_size) is not |
| going to scale if we add any more segmentation methods (e.g., DCCP). So |
| let's merge them. |
| |
| They were used to tell the protocol of a packet. This function has been |
| subsumed by the new gso_type field. This is essentially a set of netdev |
| feature bits (shifted by 16 bits) that are required to process a specific |
| skb. As such it's easy to tell whether a given device can process a GSO |
| skb: you just have to and the gso_type field and the netdev's features |
| field. |
| |
| I've made gso_type a conjunction. The idea is that you have a base type |
| (e.g., SKB_GSO_TCPV4) that can be modified further to support new features. |
| For example, if we add a hardware TSO type that supports ECN, they would |
| declare NETIF_F_TSO | NETIF_F_TSO_ECN. All TSO packets with CWR set would |
| have a gso_type of SKB_GSO_TCPV4 | SKB_GSO_TCPV4_ECN while all other TSO |
| packets would be SKB_GSO_TCPV4. This means that only the CWR packets need |
| to be emulated in software. |
| |
| Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 9e1881dec9e3e8f8408551cddfda489857a7ec99 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Tue Jun 13 15:04:12 2006 -0700 |
| |
| [BNX2]: Update version and reldate |
| |
| Update driver version to 1.4.42. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit c86a31f452f7dd132a1765d6d7160b0947f37b14 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Tue Jun 13 15:03:47 2006 -0700 |
| |
| [BNX2]: Use CPU native page size |
| |
| Use CPU native page size to determine various ring sizes. This allows |
| order-0 memory allocations on all systems. |
| |
| Added check to limit the page size to 16K since that's the maximum rx |
| ring size that will be used. This will prevent using unnecessarily |
| large page sizes on some architectures with large page sizes. |
| [Suggested by David Miller] |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit fba9fe911bb4213c3de1d142fe0ee127cd361a78 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Jun 12 22:21:25 2006 -0700 |
| |
| [BNX2]: Add firmware decompression |
| |
| Add functions to decompress firmware before loading to the internal |
| CPUs. Compressing the firmware reduces the driver size significantly. |
| |
| Added file name length sanity check in the gzip header to prevent |
| going past the end of buffer [suggested by DaveM]. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 160882722cb21cbe5cead55cf38a5e70fc3af63e |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Jun 12 22:16:43 2006 -0700 |
| |
| [BNX2]: Allow WoL settings on new 5708 chips |
| |
| Allow WOL settings on 5708 B2 and newer chips that have the problem |
| fixed. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit cea94db9b496d7fe25bbd3ebd0f24afaac2069d5 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Jun 12 22:16:13 2006 -0700 |
| |
| [BNX2]: Add an rx drop counter |
| |
| Add a counter for packets dropped by firmware. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit d1e100ba69131bb788e89a07b94b08f6e006725a |
| Author: Alexey Dobriyan <adobriyan@gmail.com> |
| Date: Sun Jun 11 20:57:17 2006 -0700 |
| |
| [BNX2]: Endian fixes. |
| |
| Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 932ff279a43ab7257942cddff2595acd541cc49b |
| Author: Herbert Xu <herbert@gondor.apana.org.au> |
| Date: Fri Jun 9 12:20:56 2006 -0700 |
| |
| [NET]: Add netif_tx_lock |
| |
| Various drivers use xmit_lock internally to synchronise with their |
| transmission routines. They do so without setting xmit_lock_owner. |
| This is fine as long as netpoll is not in use. |
| |
| With netpoll it is possible for deadlocks to occur if xmit_lock_owner |
| isn't set. This is because if a printk occurs while xmit_lock is held |
| and xmit_lock_owner is not set can cause netpoll to attempt to take |
| xmit_lock recursively. |
| |
| While it is possible to resolve this by getting netpoll to use |
| trylock, it is suboptimal because netpoll's sole objective is to |
| maximise the chance of getting the printk out on the wire. So |
| delaying or dropping the message is to be avoided as much as possible. |
| |
| So the only alternative is to always set xmit_lock_owner. The |
| following patch does this by introducing the netif_tx_lock family of |
| functions that take care of setting/unsetting xmit_lock_owner. |
| |
| I renamed xmit_lock to _xmit_lock to indicate that it should not be |
| used directly. I didn't provide irq versions of the netif_tx_lock |
| functions since xmit_lock is meant to be a BH-disabling lock. |
| |
| This is pretty much a straight text substitution except for a small |
| bug fix in winbond. It currently uses |
| netif_stop_queue/spin_unlock_wait to stop transmission. This is |
| unsafe as an IRQ can potentially wake up the queue. So it is safer to |
| use netif_tx_disable. |
| |
| The hamradio bits used spin_lock_irq but it is unnecessary as |
| xmit_lock must never be taken in an IRQ handler. |
| |
| Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit ae181bc44c65fdc93d0d2d908534b22e43f60f56 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon May 22 16:39:20 2006 -0700 |
| |
| [BNX2]: Use kmalloc instead of array |
| |
| Use kmalloc() instead of a local array in bnx2_nvram_write(). |
| |
| Update version to 1.4.40. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| |
| commit bae25761c92c5eec781b6ea72bbe7e98fc8382a0 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon May 22 16:38:38 2006 -0700 |
| |
| [BNX2]: Fix bug in bnx2_nvram_write() |
| |
| Fix a bug in bnx2_nvram_write() caused by a counter variable not |
| correctly incremented by 4. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| |
| commit e19360f2945f54eb44ae170ec9c33910d29834a2 |
| Author: Randy Dunlap <rdunlap@xenotime.net> |
| Date: Mon Apr 10 23:22:06 2006 -0700 |
| |
| [PATCH] net drivers: fix section attributes for gcc |
| |
| If CONFIG_HOTPLUG=n, gcc doesn't like some __initdata to be const (rodata) |
| and other __initdata not const, so make the non-const __initdata const. |
| |
| gcc errors: |
| drivers/net/bnx2.c:66: error: version causes a section type conflict |
| drivers/net/starfire.c:338: error: version causes a section type conflict |
| drivers/net/typhoon.c:137: error: version causes a section type conflict |
| drivers/net/natsemi.c:241: error: version causes a section type conflict |
| |
| Signed-off-by: Randy Dunlap <rdunlap@xenotime.net> |
| Signed-off-by: Andrew Morton <akpm@osdl.org> |
| Signed-off-by: Jeff Garzik <jeff@garzik.org> |
| |
| commit 5e2e71141ca93a3e2543966ced6a6077d4fb8fd8 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Mar 23 01:14:09 2006 -0800 |
| |
| [BNX2]: Update version and reldate |
| |
| Update version to 1.4.39. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 29b12174ac14f110225d6d9ebb66c30df5023baf |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Mar 23 01:13:43 2006 -0800 |
| |
| [BNX2]: Separate tx producer and consumer fields |
| |
| Put the tx producer and consumer fields in separate cache lines in |
| the device structure, similar to the VJ net channel queue structure. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit f2a4f05216e95f3b8c06b858abc0fe9a77500816 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Mar 23 01:13:12 2006 -0800 |
| |
| [BNX2]: Move .h files to bnx2.c |
| |
| Move all #include <> from bnx2.h to bnx2.c. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 0f31f99446270e66c6f18c7d87aadd7db1dad214 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Mar 23 01:12:38 2006 -0800 |
| |
| [BNX2]: Combine small mem allocations |
| |
| Combine two small (56 byte and 320 byte) pci consistent memory |
| allocations into one allocation. Jeff Garzik suggested to store |
| the combined size in the bp structure for later use when freeing |
| the memory. |
| |
| Use kzalloc() instead of kmalloc() + memset(). |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit bf5295bba804a6aead9bc1c0d5970173a9d4e08e |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Mar 23 01:11:56 2006 -0800 |
| |
| [BNX2]: Fix link change handling |
| |
| Fix some link-related problems by doing a coalesce_now after link |
| change interrupt to flush out the transient link status. |
| |
| To facilitate this, the host coalesce cmd register value is cached in |
| the device structure. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 0d36f37bb1e1cbadca6dc90a840bb2bc9ab51c44 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Mar 20 17:55:25 2006 -0800 |
| |
| [BNX2]: include <linux/vmalloc.h> |
| |
| Include <linux/vmalloc.h> so that it compiles properly on all archs. |
| |
| Update version to 1.4.38. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 1d60290f27e7dc4bce2c43922d0bfa9abd246fc9 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Mar 20 17:50:08 2006 -0800 |
| |
| [BNX2]: Update version |
| |
| Update version to 1.4.37. |
| |
| Add missing flush_scheduled_work() in bnx2_suspend as noted by Jeff |
| Garzik. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 3fdfcc2c95ffc7ee04b480a4c1fd4809b5ff2f7c |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Mar 20 17:49:49 2006 -0800 |
| |
| [BNX2]: Support larger rx ring sizes (part 2) |
| |
| Support bigger rx ring sizes (up to 1020) in the rx fast path. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 13daffa2f2ba65674e7816a0e95e7b93246cb686 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Mar 20 17:49:20 2006 -0800 |
| |
| [BNX2]: Support larger rx ring sizes (part 1) |
| |
| Increase maximum receive ring size from 255 to 1020 by supporting |
| up to 4 linked pages of receive descriptors. To accomodate the |
| higher memory usage, each physical descriptor page is allocated |
| separately and the software ring that keeps track of the SKBs and the |
| DMA addresses is allocated using vmalloc. |
| |
| Some of the receive-related fields in the bp structure are re- |
| organized a bit for better locality of reference. |
| |
| The max. was reduced to 1020 from 4080 after discussion with David |
| Miller. |
| |
| This patch contains ring init code changes only. This next patch |
| contains rx data path code changes. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 236b6394bb49ea58465c6f935a286d2342576f8d |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Mar 20 17:49:02 2006 -0800 |
| |
| [BNX2]: Fix bug when rx ring is full |
| |
| Fix the rx code path that does not handle the full rx ring correctly. |
| |
| When the rx ring is set to the max. size (i.e. 255), the consumer and |
| producer indices will be the same when completing an rx packet. Fix |
| the rx code to handle this condition properly. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 244ac4f446ac6a19caf5eb692c4844f29e6478bf |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Mar 20 17:48:46 2006 -0800 |
| |
| [BNX2]: Add ethtool -d support |
| |
| Add ETHTOOL_GREGS support. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 6b39777c5924b9db2406c5769a044da383782d0e |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Mar 20 17:48:32 2006 -0800 |
| |
| [BNX2]: Reduce register test size |
| |
| Eliminate some of the registers in ethtool register test to reduce |
| driver size. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit f71e130966ba429dbd24be08ddbcdf263df9a5ad |
| Author: Arjan van de Ven <arjan@infradead.org> |
| Date: Fri Mar 3 21:33:57 2006 -0500 |
| |
| Massive net driver const-ification. |
| |
| commit 206cc83ccdc29e4a73786e9093f9eeec25868441 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Jan 23 16:14:05 2006 -0800 |
| |
| [BNX2]: Update version and copyright year |
| |
| Update version to 1.4.31 and add 2006 copyright. |
| |
| Skip the last digit when reporting the firmware version. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit bc5a0690e917206b423c7b565c997b06675fb572 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Jan 23 16:13:22 2006 -0800 |
| |
| [BNX2]: Add PHY loopback test |
| |
| Enhance the ethtool loopback test with PHY loopback test. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 972ec0d4ba67bf0ec7f00cd93fbac47452f80d25 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Jan 23 16:12:43 2006 -0800 |
| |
| [BNX2]: Use netdev_priv() |
| |
| Replace dev->priv with netdev_priv(dev) |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 1122db717ab5443ca9043fc0d23c1e862cfb3a61 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Jan 23 16:11:42 2006 -0800 |
| |
| [BNX2]: Fix nvram sizing |
| |
| Add code to correctly determine nvram size. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 1269a8a64a37c8a06af672f4cff4fed16a478734 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Jan 23 16:11:03 2006 -0800 |
| |
| [BNX2]: Workaround hw interrupt bug |
| |
| Add workaround for a hardware interrupt issue. When using INTA, |
| unmasking of the interrupt and the tag update should be done |
| separately to avoid some spurious interrupts, |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit ade2bfe7d1f0ea804d2e63209cc6318ad8bf17ae |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Jan 23 16:09:51 2006 -0800 |
| |
| [BNX2]: Fix UDP checksum verification |
| |
| Fix TCP/UDP checksum verification. Use status bits in the buffer |
| descriptor instead of the checksum value to verify rx checksum. |
| Using the checksum value will be incorrect if the UDP packet has |
| zero in the UDP checksum field. |
| |
| Firmware update required for this fix. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit dda1e390bf9e2889a3abc48590a015b307637753 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Jan 23 16:08:14 2006 -0800 |
| |
| [BNX2]: Misc. fixes |
| |
| Some misc. fixes for WoL, 5708 B1, and a typo '=' instead of '=='. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit b090ae2b59f3db57732340c6af3beceec8d6c148 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Jan 23 16:07:10 2006 -0800 |
| |
| [BNX2]: Improve handshake with firmware |
| |
| Improve handshake with bootcode with the following changes: |
| |
| 1. Increase timeout to 100msec and use msleep instead of udelay. |
| |
| 2. Add more error checking for timeouts and errors. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit e29054f92d7d575631691865c1b95bee5bc974cc |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Mon Jan 23 16:06:06 2006 -0800 |
| |
| [BNX2]: Fix VLAN on ASF |
| |
| Always set up the device to strip incoming VLAN tags when ASF is |
| enabled. ASF firmware will not parse packets correctly if VLAN tags |
| are not stripped. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 1064e944d03eb7a72c0fa11236d5e69cfd877a71 |
| Author: John W. Linville <linville@tuxdriver.com> |
| Date: Thu Nov 10 12:58:24 2005 -0800 |
| |
| [BNX2]: simplify parameter checks in bnx2_{get,set}_eeprom |
| |
| Remove the superfluous parameter checking in bnx2_{get,set}_eeprom. |
| The parameters are already validated in ethtool_{get,set}_eeprom. |
| |
| Signed-off-by: John W. Linville <linville@tuxdriver.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit b6cbc3b6fe588c0ea1341d10413e12c2a96a6032 |
| Author: John W. Linville <linville@tuxdriver.com> |
| Date: Thu Nov 10 12:58:00 2005 -0800 |
| |
| [BNX2]: check return of dev_alloc_skb in bnx2_test_loopback |
| |
| Check return of dev_alloc_skb in bnx2_test_loopback, and handle |
| appropriately. |
| |
| Signed-off-by: John W. Linville <linville@tuxdriver.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 2f23c523f32324e5b5f39565cbcb0a8ff8923019 |
| Author: John W. Linville <linville@tuxdriver.com> |
| Date: Thu Nov 10 12:57:33 2005 -0800 |
| |
| [BNX2]: output driver name as prefix in error message |
| |
| Output driver name as prefix to "Unknown flash/EEPROM type." message. |
| |
| Signed-off-by: John W. Linville <linville@tuxdriver.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 05d0f1cf69fd589634b38b6f6e4b8cfdaace9ca0 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Fri Nov 4 08:53:48 2005 -0800 |
| |
| [PATCH] bnx2: update version and minor fixes |
| |
| Some book keeping and a style fix. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: John W. Linville <linville@tuxdriver.com> |
| |
| commit f4e418f7f3286f854883f9f7e3bbf7005340d2de |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Fri Nov 4 08:53:48 2005 -0800 |
| |
| [PATCH] bnx2: refine bnx2_poll |
| |
| Refine bnx2_poll() logic to write back the most up-to-date status tag |
| when all work has been processed. This eliminates some occasional |
| extra interrupts when a older status tag is written even though all |
| work has been processed. |
| |
| The idea is to read the status tag just before exiting bnx2_poll() and |
| then check again for any new work. If no new work is pending, the |
| status tag written back will not generate any extra interrupt. This |
| logic is similar to the changes David Miller did to tg3_poll(). |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: John W. Linville <linville@tuxdriver.com> |
| |
| commit e3648b3d8de3b37fae7acbb57db1e001a19cd3b7 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Fri Nov 4 08:51:21 2005 -0800 |
| |
| [PATCH] bnx2: update firmware handshake for 5708 |
| |
| Dynamically determine the shared memory location where eeprom |
| parameters are stored instead of using a fixed location. |
| |
| Add speed reporting to management firmware. This allows management |
| firmware to know the current speed without contending for MII |
| registers. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: John W. Linville <linville@tuxdriver.com> |
| |
| commit 371377091dff14090cbe995d0a9291364f8583cb |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Fri Nov 4 08:49:17 2005 -0800 |
| |
| [PATCH] bnx2: update nvram code for 5708 |
| |
| Update bnx2 nvram code with support for 5708. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: John W. Linville <linville@tuxdriver.com> |
| |
| commit 5b0c76ad94faf95ca50fa0de9ab07460bea19568 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Fri Nov 4 08:45:49 2005 -0800 |
| |
| [PATCH] bnx2: add 5708 support |
| |
| Add 5708 copper and serdes basic support, including 2.5 Gbps support |
| on 5708 serdes. SPEED_2500 is also added to ethtool.h |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: John W. Linville <linville@tuxdriver.com> |
| |
| commit b4558ea93d66a43f7990d26f145fd4c54a01c9bf |
| Author: Jesper Juhl <jesper.juhl@gmail.com> |
| Date: Fri Oct 28 16:53:13 2005 -0400 |
| |
| drivers/net: Remove pointless checks for NULL prior to calling kfree() |
| |
| commit 24b8e05dc1b03c1f80828e642838511c16e17250 |
| Author: John W. Linville <linville@tuxdriver.com> |
| Date: Mon Sep 12 14:45:08 2005 -0700 |
| |
| [BNX2]: Add support for ETHTOOL_GPERMADDR. |
| |
| Signed-off-by: John W. Linville <linville@tuxdriver.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit c921e4c4dbb043f9435414c4e661e7f0a783053d |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Sep 8 13:15:32 2005 -0700 |
| |
| [BNX2]: Fix bug in irq handler and add prefetch |
| |
| Fix bug in bnx2_interrupt() that caused an unnecessary register read. |
| The BNX2_PCICFG_MISC_STATUS should only be read when the status tag |
| has not changed. |
| |
| Add prefetch of the status block in bnx2_msi() similar to tg3_msi(). |
| The status block is not touched in bnx2_msi() and prefetching it will |
| speed up bnx2_poll() that will run on the same CPU that received the |
| MSI. |
| |
| Update version. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 829ca9a30a2ddb727981d80fabdbff2ea86bc9ea |
| Author: Pavel Machek <pavel@ucw.cz> |
| Date: Sat Sep 3 15:56:56 2005 -0700 |
| |
| [PATCH] swsusp: fix remaining u32 vs. pm_message_t confusion |
| |
| Fix remaining bits of u32 vs. pm_message confusion. Should not break |
| anything. |
| |
| Signed-off-by: Pavel Machek <pavel@suse.cz> |
| Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl> |
| Signed-off-by: Andrew Morton <akpm@osdl.org> |
| Signed-off-by: Linus Torvalds <torvalds@osdl.org> |
| |
| commit 73eef4cddb2738c4e8c5ef157ebb1b19d6c9272f |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Aug 25 15:39:15 2005 -0700 |
| |
| [BNX2]: update version and minor fixes |
| |
| Update version and add 4 minor fixes, the last 2 were suggested by |
| Jeff Garzik: |
| |
| 1. check for a valid ethernet address before setting it |
| 2. zero out bp->regview if init_one encounters an error and unmaps |
| the IO address. This prevents remove_one from unmapping again. |
| 3. use netif_rx_schedule() instead of hand coding the same. |
| 4. use IRQ_HANDLED and IRQ_NONE. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit c770a65cee7cc250d7bccd99fa55e742988ae4e0 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Aug 25 15:38:39 2005 -0700 |
| |
| [BNX2]: change irq locks to bh locks |
| |
| Change all locks from spin_lock_irqsave() to spin_lock_bh(). All |
| places that require spinlocks are in BH context. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit e89bbf1049aac3625fdafe3657ed8d7d5373d351 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Aug 25 15:36:58 2005 -0700 |
| |
| [BNX2]: remove atomics in tx |
| |
| Remove atomic operations in the fast tx path. Expensive atomic |
| operations were used to keep track of the number of available tx |
| descriptors. The new code uses the difference between the consumer |
| and producer index to determine the number of free tx descriptors. |
| |
| As suggested by Jeff Garzik, the name of the inline function is |
| changed to all lower case. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit cd339a0ed61097d92ce03b6d1042b1e4d58535e7 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Aug 25 15:35:24 2005 -0700 |
| |
| [BNX2]: speedup serdes linkup |
| |
| This speeds up link-up time on 5706 SerDes if the link partner does |
| not autoneg, a rather common scenario in blade servers. Some blade |
| servers use IPMI for keyboard input and it's important to minimize |
| link disruptions. |
| |
| The speedup is achieved by shortening the timer to (HZ / 3) during |
| the transient period right after initiating a SerDes autoneg. If |
| autoneg does not complete, parallel detect can be done sooner. After |
| the transient period is over, the timer goes back to its normal HZ |
| interval. |
| |
| As suggested by Jeff Garzik, the timer initialization is moved to |
| bnx2_init_board() from bnx2_open(). |
| |
| An eeprom bit is also added to allow default forced SerDes speed for |
| even faster link-up time. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit afdc08b9f9a7174d7912a160f657f39d46379b5e |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu Aug 25 15:34:29 2005 -0700 |
| |
| [BNX2]: Fix rtnl deadlock in bnx2_close |
| |
| This fixes an rtnl deadlock problem when flush_scheduled_work() is |
| called from bnx2_close(). In rare cases, linkwatch_event() may be on |
| the workqueue from a previous close of a different device and it will |
| try to get the rtnl lock which is already held by dev_close(). |
| |
| The fix is to set a flag if we are in the reset task which is run |
| from the workqueue. bnx2_close() will loop until the flag is cleared. |
| As suggested by Jeff Garzik, the loop is changed to call msleep(1) |
| instead of yield() in the original patch. |
| |
| flush_scheduled_work() is also moved to bnx2_remove_one() before the |
| netdev is freed. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit 14ab9b867aa6c107b4886bdc5b23f277ab10792e |
| Author: Peter Hagervall <hager@cs.umu.se> |
| Date: Wed Aug 10 14:18:16 2005 -0700 |
| |
| [BNX2]: Possible sparse fixes, take two |
| |
| This patch contains the following possible cleanups/fixes: |
| |
| - use C99 struct initializers |
| - make a few arrays and structs static |
| - remove a few uses of literal 0 as NULL pointer |
| - use convenience function instead of cast+dereference in bnx2_ioctl() |
| - remove superfluous casts to u8 * in calls to readl/writel |
| |
| Signed-off-by: Peter Hagervall <hager@cs.umu.se> |
| Acked-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| commit b6016b767397258b58163494a869f8f1199e6897 |
| Author: Michael Chan <mchan@broadcom.com> |
| Date: Thu May 26 13:03:09 2005 -0700 |
| |
| [BNX2]: New Broadcom gigabit network driver. |
| |
| A new driver bnx2 for Broadcom bcm5706 is available. |
| |
| The patch also includes new 1000BASE-X advertisement bit definitions in |
| mii.h |
| |
| Thanks to David Miller and Jeff Garzik for reviewing and their valuable |
| feedback. |
| |
| Signed-off-by: Michael Chan <mchan@broadcom.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |