An error occurred fetching the project authors.
- 26 Aug, 2017 2 commits
-
-
Florian Fainelli authored
rtl_tx() is the TX reclamation process whereas rtl8169_tx_clear_range() does the TX ring cleaning during shutdown, both of these functions should call dev_consume_skb_any() to be drop monitor friendly. Fixes: cac4b22f ("r8169: do not account fragments as packets") Fixes: eb781397 ("r8169: Do not use dev_kfree_skb in xmit path") Signed-off-by:
Florian Fainelli <f.fainelli@gmail.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Florian Fainelli authored
rtl8169_tx_clear_range() is responsible for cleaning up the TX ring during interface shutdown, incrementing tx_dropped for every SKB that we left at the time in the ring is misleading. Fixes: cac4b22f ("r8169: do not account fragments as packets") Signed-off-by:
Florian Fainelli <f.fainelli@gmail.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- 05 Jun, 2017 1 commit
-
-
yuval.shaia@oracle.com authored
Make return value void since functions never returns meaningfull value. Signed-off-by:
Yuval Shaia <yuval.shaia@oracle.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- 13 Mar, 2017 1 commit
-
-
Zhu Yanjun authored
Replace init_timer with setup_timer to simplify the source code. Signed-off-by:
Zhu Yanjun <yanjun.zhu@oracle.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- 07 Mar, 2017 1 commit
-
-
Philippe Reynes authored
The ethtool api {get|set}_settings is deprecated. We move this driver to new api {get|set}_link_ksettings. As I don't have the hardware, I'd be very pleased if someone may test this patch. Signed-off-by:
Philippe Reynes <tremyfr@gmail.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- 30 Jan, 2017 1 commit
-
-
Eric Dumazet authored
napi_complete_done() allows to opt-in for gro_flush_timeout, added back in linux-3.19, commit 3b47d303 ("net: gro: add a per device gro flush timer") This allows for more efficient GRO aggregation without sacrifying latencies. Signed-off-by:
Eric Dumazet <edumazet@google.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- 08 Jan, 2017 1 commit
-
-
stephen hemminger authored
The network device operation for reading statistics is only called in one place, and it ignores the return value. Having a structure return value is potentially confusing because some future driver could incorrectly assume that the return value was used. Fix all drivers with ndo_get_stats64 to have a void function. Signed-off-by:
Stephen Hemminger <sthemmin@microsoft.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- 05 Jan, 2017 1 commit
-
-
Zhu Yanjun authored
>From the realtek data sheet, the PID0 should be bit 0. Signed-off-by:
Zhu Yanjun <yanjun.zhu@oracle.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- 27 Dec, 2016 1 commit
-
-
Chun-Hao Lin authored
This chip is the same as RTL8168, but its device id is 0x8161. Signed-off-by:
Chun-Hao Lin <hau@realtek.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- 05 Dec, 2016 1 commit
-
-
Florian Fainelli authored
Implement ethtooll::nway_restart by utilizing mii_nway_restart. Signed-off-by:
Florian Fainelli <f.fainelli@gmail.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- 18 Oct, 2016 1 commit
-
-
Jarod Wilson authored
8139cp: min_mtu 60, max_mtu 4096 8139too: min_mtu 68, max_mtu 1770 r8169: min_mtu 60, max_mtu depends on chipset, 1500 to 9k-ish CC: netdev@vger.kernel.org CC: Realtek linux nic maintainers <nic_swsd@realtek.com> Signed-off-by:
Jarod Wilson <jarod@redhat.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- 15 Oct, 2016 1 commit
-
-
Ard Biesheuvel authored
PCI devices that are 64-bit DMA capable should set the coherent DMA mask as well as the streaming DMA mask. On some architectures, these are managed separately, and so the coherent DMA mask will be left at its default value of 32 if it is not set explicitly. This results in errors such as r8169 Gigabit Ethernet driver 2.3LK-NAPI loaded hwdev DMA mask = 0x00000000ffffffff, dev_addr = 0x00000080fbfff000 swiotlb: coherent allocation failed for device 0000:02:00.0 size=4096 CPU: 0 PID: 1062 Comm: systemd-udevd Not tainted 4.8.0+ #35 Hardware name: AMD Seattle/Seattle, BIOS 10:53:24 Oct 13 2016 on systems without memory that is 32-bit addressable by PCI devices. Signed-off-by:
Ard Biesheuvel <ard.biesheuvel@linaro.org> Acked-by:
Francois Romieu <romieu@fr.zoreil.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- 01 Aug, 2016 3 commits
-
-
Chun-Hao Lin authored
When there is no AC power, NIC may not work after changing mac address. Please refer to following link. http://www.spinics.net/lists/netdev/msg356572.html This issue is caused by runtime power management. When there is no AC power, if we put NIC down (ifconfig down), the driver will be in runtime suspend state and hardware will be put into D3 state. During this time, driver cannot access hardware regisers. So if you set new mac address during this time, it will not be set to hardware. After resume, NIC will keep using the old mac address and the network will not work normally. In this patch I add detecting runtime pm status when setting mac address. If driver is in runtime suspend state, it will skip setting mac address, keep the new mac address, and set the new mac address during runtime resume. Signed-off-by:
Chunhao Lin <hau@realtek.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Chun-Hao Lin authored
Not to call rtl8169_update_counters() to dump tally counter when driver is in runtime suspend state. Calling rtl8169_update_counters() in runtime suspend state will produce warning message "rtl_counters_cond == 1 (loop: 1000, delay: 10)". Signed-off-by:
Chunhao Lin <hau@realtek.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Chun-Hao Lin authored
NIC will be put into D3 state during runtime suspend state. When set or get hardware wol setting, driver will write or read hardware registers. If we set or get hardware wol setting in runtime suspend state, because NIC will in D3 state, the hardware registers read by driver will return all 0xff. That will let driver thinking register flag is not toggled and then prints the warning message "rtl_counters_cond == 1 (loop: 1000, delay: 10)" to kernel log. For fixing this issue, add checking driver's pm runtime status in rtl8169_get_wol() and rtl8169_set_wol(). Signed-off-by:
Chunhao Lin <hau@realtek.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- 17 May, 2016 1 commit
-
-
Ard Biesheuvel authored
The current logic around the 'use_dac' module parameter prevents the r81969 driver from being loadable on 64-bit systems without any RAM below 4 GB when the parameter is left at its default value. So introduce a new default value -1 which indicates that 64-bit DMA should be enabled on sufficiently recent PCIe chips, i.e., versions RTL_GIGA_MAC_VER_18 or later. Explicit param values of 0 or 1 retain the existing behavior of unconditionally enabling/disabling 64-bit DMA on 64-bit architectures (i.e., regardless of the type and version of the chip) Since PCIe chips do not need to CPlusCmd Dual Address Cycle to be set, make that conditional on the device type as well. Cc: Realtek linux nic maintainers <nic_swsd@realtek.com> Signed-off-by:
Ard Biesheuvel <ard.biesheuvel@linaro.org> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- 14 Mar, 2016 1 commit
-
-
Chun-Hao Lin authored
For pcie nic, after setting link speed and there is no link driver does not need to do phy reset until link up. For some pcie nics, to do this will also reset phy speed down counter and prevent phy from auto speed down. This patch fix the issue reported in following link. https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1547151Signed-off-by:
Chunhao Lin <hau@realtek.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- 02 Mar, 2016 1 commit
-
-
Chunhao Lin authored
For RTL8168G/RTL8168H/RTL8411B/RTL8107E, enable this flag to eliminate message "AMD-Vi: Event logged [IO_PAGE_FAULT device=01:00.0 domain=0x0002 address=0x0000000000003000 flags=0x0050] in dmesg. Signed-off-by:
Chunhao Lin <hau@realtek.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- 25 Feb, 2016 1 commit
-
-
Chun-Hao Lin authored
There will be a log spam when there is no cable plugged. Please refer to following links. https://bugzilla.kernel.org/show_bug.cgi?id=104351 https://bugzilla.kernel.org/show_bug.cgi?id=107421 This issue is caused by runtime power management. When there is no cable plugged, the driver will be suspend (runtime suspend) by OS and NIC will be put into the D3 state. During this time, if OS call rtl8169_get_stats64() to dump tally counter, because NIC is in D3 state, the register value read by driver will return all 0xff. This will let driver think tally counter flag is not toggled and then sends the warning message "rtl_counters_cond == 1 (loop: 1000, delay: 10)" to kernel log. For fixing this issue, 1.add checking driver's pm runtime status in rtl8169_get_stats64(). 2.dump tally counter before going runtime suspend for counter accuracy in runtime suspend. Signed-off-by:
Chunhao Lin <hau@realtek.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- 13 Feb, 2016 1 commit
-
-
Chun-Hao Lin authored
There are typos in setting RTL8168H hardware parameters. If system install another version driver that may cuase system hang. Signed-off-by:
Chunhao Lin <hau@realtek.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- 04 Jan, 2016 3 commits
-
-
Chun-Hao Lin authored
The original way is wrong, it always writes ephy reg 0x03. Signed-off-by:
Chunhao Lin <hau@realtek.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Chun-Hao Lin authored
The PHY PFM register is in PHY page 0x0a44 register 0x11, not 0x14. Signed-off-by:
Chunhao Lin <hau@realtek.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Chun-Hao Lin authored
The register for setting D3code PFM mode is MISC_1, not DLLPR. Signed-off-by:
Chunhao Lin <hau@realtek.com> Reviewed-by:
Francois Romieu <romieu@fr.zoreil.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- 28 Dec, 2015 2 commits
-
-
Chun-Hao Lin authored
The vlaue of RTL8168H PHY register "rg_saw_cnt" only valid from bit0 to bit13. When read this register, add bitwise-anding its value with 0x3fff. Signed-off-by:
Chunhao Lin <hau@realtek.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Chun-Hao Lin authored
In function "rtl8168h_2_hw_phy_config", there is a typo in setting RTL8168H PHY parameter. Signed-off-by:
Chunhao Lin <hau@realtek.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- 12 Nov, 2015 1 commit
-
-
françois romieu authored
Signed-off-by:
Francois Romieu <romieu@fr.zoreil.com> Reported-by:
Dave Jones <davej@codemonkey.org.uk> Fixes: d7d2d89d ("r8169: Add software counter for multicast packages") Acked-by:
Eric Dumazet <edumazet@google.com> Acked-by:
Corinna Vinschen <vinschen@redhat.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- 27 Sep, 2015 1 commit
-
-
Andrzej Hajda authored
The function can return negative value. The problem has been detected using proposed semantic patch scripts/coccinelle/tests/assign_signed_to_unsigned.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2046107Signed-off-by:
Andrzej Hajda <a.hajda@samsung.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- 10 Sep, 2015 1 commit
-
-
Corinna Vinschen authored
Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=104031 Fixes: 6e85d5ad Based on the discussion starting at http://www.spinics.net/lists/netdev/msg342193.html Tested locally on RTL8168evl/8111evl with various concurrent processes accessing /proc/net/dev while changing the link state as well as removing/reloading the r8169 module. Signed-off-by:
Corinna Vinschen <vinschen@redhat.com> Tested-by:
poma <pomidorabelisima@gmail.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- 28 Aug, 2015 1 commit
-
-
Corinna Vinschen authored
The multicast hardware counter on 8168/8111 chips is only 32 bit while the statistics in struct rtnl_link_stats64 are 64 bit. Given that statistics are requested on an irregular basis, an overflow of the hardware counter can go unnoticed. To count even very large numbers of multicast packets reliably, add a software counter and remove previously applied code to fill the multicast field requested by @rtl8169_get_stats64 with the values read from the rx_multicast hardware counter. Signed-off-by:
Corinna Vinschen <vinschen@redhat.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- 25 Aug, 2015 1 commit
-
-
Corinna Vinschen authored
The r8169 driver collects statistical information returned by @get_stats64 by counting them in the driver itself, even though many (but not all) of the values are already collected by tally counters (TCs) in the NIC. Some of these TC values are not returned by @get_stats64. Especially the received multicast packages are missing from /proc/net/dev. Rectify this by fetching the TCs and returning them from rtl8169_get_stats64. The counters collected in the driver obviously disappear as soon as the driver is unloaded so after a driver is loaded the counters always start at 0. The TCs on the other hand are only reset by a power cycle. Without further considerations the values collected by the driver would not match up against the TC values. This patch introduces a new function rtl8169_reset_counters which resets the TCs. Also, since rtl8169_reset_counters shares most of its code with rtl8169_update_counters, refactor the shared code into two new functions rtl8169_map_counters and rtl8169_unmap_counters. Unfortunately chip versions prior to RTL_GIGA_MAC_VER_19 don't allow to reset the TCs programatically. Therefore introduce an addition to the rtl8169_private struct and a function rtl8169_init_counter_offsets to store the TCs at first rtl_open. Use these values as offsets in rtl8169_get_stats64. Propagate a failure to reset *and* update the counters up to rtl_open and emit a warning message, if so. Signed-off-by:
Corinna Vinschen <vinschen@redhat.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- 07 Aug, 2015 1 commit
-
-
Ivan Vecera authored
Enforcing this flag in RxConfig for the mentioned chips fixes netdev watchdog issues prepended with AMD IOMMU message(s) like: AMD-Vi: Event logged [IO_PAGE_FAULT device=01:00.0 domain=0x001d address=0x0000000000003000 flags=0x0050] Note that this flag is also set in Realtek's own driver for these chips. Signed-off-by:
Ivan Vecera <ivecera@redhat.com> Tested-by:
Alexander Lindqvist <alexander@bitspace.se> Acked-by:
Francois Romieu <romieu@fr.zoreil.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- 04 May, 2015 1 commit
-
-
Alexander Duyck authored
The function r8169_csum_workaround is called in the ndo_start_xmit path of the r8169 driver. As such it should not be using dev_kfree_skb as it is not irq safe, so instead we should be using dev_kfree_skb_any for freeing in the dropped path, and dev_consume_skb_any for any frames that were transmitted. Signed-off-by:
Alexander Duyck <alexander.h.duyck@redhat.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- 24 Feb, 2015 1 commit
-
-
Yannick Guerrini authored
Change 'firwmare' to 'firmware' Signed-off-by:
Yannick Guerrini <yguerrini@tomshardware.fr> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- 22 Feb, 2015 1 commit
-
-
David S. Miller authored
There are certain regressions which are pointing to these two commits which we are having a hard time resolving. So revert them for now. Specifically this reverts: commit 0bec3b70 Author: Florian Westphal <fw@strlen.de> Date: Wed Jan 7 10:49:49 2015 +0100 r8169: add support for xmit_more and commit 1e918876 Author: Florian Westphal <fw@strlen.de> Date: Wed Oct 1 13:38:03 2014 +0200 r8169: add support for Byte Queue Limits There were some attempts by Eric Dumazet to address some obvious problems in the TX flow, to see if they would fix the problems, but none of them seem to help for the regression reporters. Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- 27 Jan, 2015 1 commit
-
-
Rafał Miłecki authored
Replace a magic number with a PCI #define symbol. Signed-off-by:
Rafał Miłecki <zajec5@gmail.com> Signed-off-by:
Bjorn Helgaas <bhelgaas@google.com> Acked-by:
David S. Miller <davem@davemloft.net>
-
- 13 Jan, 2015 1 commit
-
-
Jiri Pirko authored
The same macros are used for rx as well. So rename it. Signed-off-by:
Jiri Pirko <jiri@resnulli.us> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- 09 Jan, 2015 1 commit
-
-
Florian Westphal authored
Delay update of hw tail descriptor if we know that another skb is going to be sent. Signed-off-by:
Florian Westphal <fw@strlen.de> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- 12 Dec, 2014 2 commits
-
-
Chun-Hao Lin authored
Add ephy parameter to rtl8168g. Also change the common function of rtl8168g from "rtl_hw_start_8168g_1" to "rtl_hw_start_8168g". And function "rtl_hw_start_8168g_1" is used for setting rtl8168g hardware parameters. Following is the explanation of what hardware parameter change for. rtl8168g may erroneous judge the PCIe signal quality and show the error bit on PCI configuration space when in PCIe low power mode. The following ephy parameters are for above issue. { 0x00, 0x0000, 0x0008 } { 0x0c, 0x37d0, 0x0820 } { 0x1e, 0x0000, 0x0001 } rtl8168g may return to PCIe L0 from PCIe L0s low power mode too slow. The following ephy parameter is for above issue. { 0x19, 0x8000, 0x0000 } Signed-off-by:
Chunhao Lin <hau@realtek.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Alexander Duyck authored
The r8169 use a pair of wmb() calls when setting up the descriptor rings. The first is to synchronize the descriptor data with the descriptor status, and the second is to synchronize the descriptor status with the use of the MMIO doorbell to notify the device that descriptors are ready. This can come at a heavy price on some systems, and is not really necessary on systems such as x86 as a simple barrier() would suffice to order store/store accesses. As such we can replace the first memory barrier with dma_wmb() to reduce the cost for these accesses. In addition the r8169 uses a rmb() to prevent compiler optimization in the cleanup paths, however by moving the barrier down a few lines and replacing it with a dma_rmb() we should be able to use it to guarantee descriptor accesses do not occur until the device has updated the DescOwn bit from its end. One last change I made is to move the update of cur_tx in the xmit path to after the wmb. This way we can guarantee the device and all CPUs should see the DescOwn update before they see the cur_tx value update. Cc: Realtek linux nic maintainers <nic_swsd@realtek.com> Cc: Francois Romieu <romieu@fr.zoreil.com> Signed-off-by:
Alexander Duyck <alexander.h.duyck@redhat.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- 10 Dec, 2014 1 commit
-
-
Alexander Duyck authored
This replaces most of the calls to netdev_alloc_skb_ip_align in the Realtek drivers. The one instance I didn't replace in 8139cp.c is because it was called as a part of init and as such is not always accessed from the softirq context. Cc: Realtek linux nic maintainers <nic_swsd@realtek.com> Signed-off-by:
Alexander Duyck <alexander.h.duyck@redhat.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-