#
422d97b8 |
|
04-Feb-2020 |
Chris Packham <chris.packham@alliedtelesis.co.nz> |
Revert "staging: octeon: delete driver" This reverts commit 710d7fbe21ee2ceab121f1f84a20edf68f9f9742. Re-instate the code so subsequent commits can clean it up and get it building properly. Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz> Link: https://lore.kernel.org/r/20200205001116.14096-3-chris.packham@alliedtelesis.co.nz Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
#
710d7fbe |
|
10-Dec-2019 |
Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
staging: octeon: delete driver This driver has been in the tree since 2009 with no real movement to get it out. Now it is starting to cause build issues and other problems for people who want to fix coding style problems, but can not actually build it. As nothing is happening here, just delete the module entirely. Reported-by: Guenter Roeck <linux@roeck-us.net> Acked-by: Guenter Roeck <linux@roeck-us.net> Cc: David Daney <ddaney@caviumnetworks.com> Cc: "David S. Miller" <davem@davemloft.net> Cc: "Matthew Wilcox (Oracle)" <willy@infradead.org> Cc: Guenter Roeck <linux@roeck-us.net> Cc: YueHaibing <yuehaibing@huawei.com> Cc: Aaro Koskinen <aaro.koskinen@iki.fi> Cc: Wambui Karuga <wambui.karugax@gmail.com> Cc: Julia Lawall <julia.lawall@lip6.fr> Cc: Florian Westphal <fw@strlen.de> Cc: Geert Uytterhoeven <geert@linux-m68k.org> Cc: Branden Bonaby <brandonbonaby94@gmail.com> Cc: "Petr Štetiar" <ynezz@true.cz> Cc: Sandro Volery <sandro@volery.com> Cc: Paul Burton <paulburton@kernel.org> Cc: Dan Carpenter <dan.carpenter@oracle.com> Cc: Giovanni Gherdovich <bobdc9664@seznam.cz> Cc: Valery Ivanov <ivalery111@gmail.com> Link: https://lore.kernel.org/r/20191210091509.3546251-1-gregkh@linuxfoundation.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
#
73aef0c9 |
|
12-Oct-2019 |
Wambui Karuga <wambui.karugax@gmail.com> |
staging: octeon: remove typedef declaration for cvmx_helper_link_info Remove declaration of union cvmx_helper_link_info as typedef. Also replace its previous uses with new union declaration. Issue found by checkpatch.pl Signed-off-by: Wambui Karuga <wambui.karugax@gmail.com> Acked-by: Julia Lawall <julia.lawall@lip6.fr> Link: https://lore.kernel.org/r/fb373aed8fd2b04d01198f5a5769fd2476714e88.1570821661.git.wambui.karugax@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
#
17a29fea |
|
07-Oct-2019 |
Paul Burton <paulburton@kernel.org> |
staging/octeon: Use stubs for MIPS && !CAVIUM_OCTEON_SOC When building for a non-Cavium MIPS system with COMPILE_TEST=y, the Octeon ethernet driver hits a number of issues due to use of macros provided only for CONFIG_CAVIUM_OCTEON_SOC=y configurations. For example: drivers/staging/octeon/ethernet-rx.c:190:6: error: 'CONFIG_CAVIUM_OCTEON_CVMSEG_SIZE' undeclared (first use in this function) drivers/staging/octeon/ethernet-rx.c:472:25: error: 'OCTEON_IRQ_WORKQ0' undeclared (first use in this function) These come from various asm/ headers that a non-Octeon build will be using a non-Octeon version of. Fix this by using the octeon-stubs.h header for non-Cavium MIPS builds, and only using the real asm/octeon/ headers when building a Cavium Octeon kernel configuration. This requires that octeon-stubs.h doesn't redefine XKPHYS_TO_PHYS, which is defined for MIPS by asm/addrspace.h which is pulled in by many other common asm/ headers. Signed-off-by: Paul Burton <paul.burton@mips.com> Reported-by: Geert Uytterhoeven <geert@linux-m68k.org> URL: https://lore.kernel.org/linux-mips/CAMuHMdXvu+BppwzsU9imNWVKea_hoLcRt9N+a29Q-QsjW=ip2g@mail.gmail.com/ Fixes: 171a9bae68c7 ("staging/octeon: Allow test build on !MIPS") Cc: Matthew Wilcox (Oracle) <willy@infradead.org> Cc: David S. Miller <davem@davemloft.net> Link: https://lore.kernel.org/r/20191007231741.2012860-1-paul.burton@mips.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
#
171a9bae |
|
26-Jul-2019 |
Matthew Wilcox (Oracle) <willy@infradead.org> |
staging/octeon: Allow test build on !MIPS Add compile test support by moving all includes of files under asm/octeon into octeon-ethernet.h, and if we're not on MIPS, stub out all the calls into the octeon support code in octeon-stubs.h Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org> Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: David S. Miller <davem@davemloft.net>
|
#
9498da46d |
|
25-Mar-2019 |
Aaro Koskinen <aaro.koskinen@iki.fi> |
staging: octeon-ethernet: fix incorrect PHY mode When connecting PHY, we set the mode to PHY_INTERFACE_MODE_GMII which is not always correct. Specifically on boards where RGMII_RXID is needed networking now longer works with at803x after commit 6d4cd041f0af ("net: phy: at803x: disable delay only for RGMII mode"). Fix by passing the correct mode. Tested on EdgeRouter Lite (RGMII_RXID, at803x PHY) and D-Link DSR-500N (RGMII, broadcom PHY). Fixes: 6d4cd041f0af ("net: phy: at803x: disable delay only for RGMII mode") Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
#
98a95b9c |
|
11-Jan-2018 |
Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
staging: octeon: remove redundant license text Now that the SPDX tag is in all drivers/staging/octeon/ files, that identifies the license in a specific and legally-defined manner. So the extra GPL text wording can be removed as it is no longer needed at all. This is done on a quest to remove the 700+ different ways that files in the kernel describe the GPL license text. And there's unneeded stuff like the address (sometimes incorrect) for the FSF which is never needed. No copyright headers or other non-license-description text was removed. Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
#
30bdc499 |
|
11-Jan-2018 |
Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
staging: octeon: add SPDX identifiers. It's good to have SPDX identifiers in all files to make it easier to audit the kernel tree for correct licenses. Fix up the staging octeon driver to have a proper SPDX identifier, based on the license text in the file itself. The SPDX identifier is a legally binding shorthand, which can be used instead of the full boiler plate text. This work is based on a script and data from Thomas Gleixner, Philippe Ombredanne, and Kate Stewart. Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Kate Stewart <kstewart@linuxfoundation.org> Cc: Philippe Ombredanne <pombredanne@nexb.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
#
66812da3 |
|
15-Feb-2017 |
Tobias Klauser <tklauser@distanz.ch> |
staging: octeon: Use net_device_stats from struct net_device Instead of using a private copy of struct net_device_stats in struct octeon_ethernet, use stats from struct net_device. Also remove the now unnecessary .ndo_get_stats function. Signed-off-by: Tobias Klauser <tklauser@distanz.ch> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
#
e971a119 |
|
31-Aug-2016 |
Aaro Koskinen <aaro.koskinen@iki.fi> |
staging: octeon: support enabling multiple rx groups Support enabling multiple RX groups. Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
#
5d99db13 |
|
15-Jul-2016 |
Philippe Reynes <tremyfr@gmail.com> |
net: ethernet: octeon: use phydev from struct net_device The private structure contain a pointer to phydev, but the structure net_device already contain such pointer. So we can remove the pointer phydev in the private structure, and update the driver to use the one contained in struct net_device. Signed-off-by: Philippe Reynes <tremyfr@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
#
86bc5ed6 |
|
30-Jul-2016 |
Philippe Reynes <tremyfr@gmail.com> |
net: ethernet: octeon: use phydev from struct net_device The private structure contain a pointer to phydev, but the structure net_device already contain such pointer. So we can remove the pointer phydev in the private structure, and update the driver to use the one contained in struct net_device. Signed-off-by: Philippe Reynes <tremyfr@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
|
#
6fe5efa1 |
|
27-Feb-2016 |
Bhaktipriya Shridhar <bhaktipriya96@gmail.com> |
staging: octeon: Convert create_singlethread_workqueue() With conccurency managed workqueues, use of dedicated workqueues can be replaced by system_wq. Drop cvm_oct_poll_queue by using system_wq. There are multiple work items per cvm_oct_poll_queue (viz. cvm_oct_rx_refill_work, port_periodic_work) and different cvm_oct_poll_queues need not be be ordered. Hence, concurrency can be increased by switching to system_wq. All work items are sync canceled in cvm_oct_remove() so it is guaranteed that no work is in flight by the time exit path runs. Signed-off-by: Bhaktipriya Shridhar <bhaktipriya96@gmail.com> Acked-by: Tejun Heo <tj@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
#
710086db |
|
11-Feb-2016 |
Aaro Koskinen <aaro.koskinen@iki.fi> |
staging: octeon: refactor rgmii 10 mbps preamble error checking Refactor RGMII 10 Mbps preamble error checking. The current implementation does not work correctly in phydev mode since only the link status changes trigger the callback, and if we stay on 10 Mbps operation the periodic checks for error counters are never done. Provide a periodic worker also during the phydev operation, and notify the link status changes through the phydev instead of the inband status change interrupt. This also has the benefit that we don't need to use legacy CVMX MDIO calls to check the PHY state, and we can avoid races that trigger bogus "Using 10Mbps with software preamble removal" logs when interfaces are being bringed up. It also avoids some corner-case crashes when the in-band interrupt triggers while the interface is being taken down. Tested on EdgeRouter Lite & D-Link DSR-1000N. Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
#
d566e690 |
|
17-Oct-2015 |
Aaro Koskinen <aaro.koskinen@iki.fi> |
staging: octeon-ethernet: move cvm_oct_xaui_open() cvm_oct_xaui_open() is trivial and does not need a dedicated file. Move it to the main file. Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
#
2c265f74 |
|
17-Oct-2015 |
Aaro Koskinen <aaro.koskinen@iki.fi> |
staging: octeon-ethernet: drop poll_now parameter from cvm_oct_common_open Drop redundant poll_now parameter from cvm_oct_common_open. Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
#
41cb5786 |
|
12-Oct-2015 |
Aaro Koskinen <aaro.koskinen@nokia.com> |
staging: octeon-ethernet: xaui: use common init Use common init. Signed-off-by: Aaro Koskinen <aaro.koskinen@nokia.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
#
ec2c398e |
|
01-Oct-2015 |
Aybuke Ozdemir <aybuke.147@gmail.com> |
Staging: octeon: Use preferred kernel type This patch "uint*_t" type instead of "u*" type was used. checkpatch.pl issue in octeon driver. Signed-off-by: Aybuke Ozdemir <aybuke.147@gmail.com> Reviewed-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
#
b239904d |
|
10-Aug-2015 |
Joe Perches <joe@perches.com> |
staging: octeon: Remove unnecessary externs Using 'extern' is not necessary for function prototypes. Signed-off-by: Joe Perches <joe@perches.com> Acked-by: David Daney <david.daney@cavium.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
#
67620987 |
|
04-Apr-2015 |
Aaro Koskinen <aaro.koskinen@iki.fi> |
staging: octeon-ethernet: update boilerplate comments Update boilerplate comments to be more terse by removing redundant information. Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
#
a8d2e817 |
|
04-Apr-2015 |
Aaro Koskinen <aaro.koskinen@iki.fi> |
staging: octeon-ethernet: sgmii/xaui: make link poll generic Make link poll generic to avoid copy paste. Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
#
2638f713 |
|
04-Apr-2015 |
Aaro Koskinen <aaro.koskinen@iki.fi> |
staging: octeon-ethernet: consolidate carrier notifications Always use cvm_oct_note_carrier() to avoid copy-pasted code. Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
#
3c339145 |
|
04-Apr-2015 |
Aaro Koskinen <aaro.koskinen@iki.fi> |
staging: octeon-ethernet: delete sgmii and xaui specific uninit functions Delete redundant wrappers. Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
#
96217ebf |
|
04-Apr-2015 |
Aaro Koskinen <aaro.koskinen@iki.fi> |
staging: octeon-ethernet: consolidate ndo_stop functions All ndo_stop functions are identical. Get rid of duplicated code. Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
#
9e3ae4f9 |
|
04-Apr-2015 |
Aaro Koskinen <aaro.koskinen@iki.fi> |
staging: octeon-ethernet: consolidate ndo_open functions ndo_open for rgmii, sgmii and xaui are almost identical. Put the common code in a single function. Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
#
030739f5 |
|
07-Nov-2014 |
Aaro Koskinen <aaro.koskinen@iki.fi> |
staging: octeon-ethernet: drop multiple NAPI instances Octeon Ethernet driver is currently trying to wake up multiple CPU cores for parallel NAPI processing when needed, to cope with the fact that all network interfaces are handled through the same receive queue processed by a single core/interrupt (see http://marc.info/?l=linux-kernel&m=137209784914565&w=2). This partially overlaps with generic RPS functionality. Commit a6a39a7fcff5 ("staging: octeon-ethernet: disable load balance for receiving packet when CONFIG_RPS is enabled") already disabled this when RPS is enabled. Let's delete this code altogether as it has issues like packet reordering and potential problems with CPU offlining/onlining. Tested on EdgeRouter Lite. Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi> Acked-By: David Daney <david.daney@cavium.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
#
ec3a2207 |
|
29-May-2014 |
David Daney <david.daney@cavium.com> |
staging: octeon-ethernet: Move PHY activation to .ndo_open(). This prevents PHY not found types of errors for PHY drivers that are probed after the Ethernet driver is probed, because the ifconfig UP is done from userspace after all drivers have been probed. Also avoid the cvmx-helper-board.c PHY code if a real PHY driver is present, this allows a bootloader supplied device tree to specify the PHY information rather than having to modify the code for each different board. Tested-by: Alex Smith <alex.smith@imgtec.com> Signed-off-by: David Daney <david.daney@cavium.com> Signed-off-by: Alex Smith <alex.smith@imgtec.com> Cc: devel@driverdev.osuosl.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
#
3661cdf1 |
|
15-Mar-2014 |
Aybuke Ozdemir <aybuke.147@gmail.com> |
staging: octeon: octeon-ethernet.h Fix Unnecessary space after function pointer name The patch fixes the following checkpatch.pl warnings: WARNING: Unnecessary space after function pointer name. Signed-off-by: Aybuke Ozdemir <aybuke.147@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
#
df9244c5 |
|
05-Jul-2012 |
David Daney <david.daney@cavium.com> |
staging: octeon_ethernet: Convert to use device tree. Get MAC address and PHY connection from the device tree. The driver is converted to a platform driver. Signed-off-by: David Daney <david.daney@cavium.com> Acked-by: Grant Likely <grant.likely@secretlab.ca> Cc: linux-mips@linux-mips.org Cc: devicetree-discuss@lists.ozlabs.org Cc: Rob Herring <rob.herring@calxeda.com> Cc: linux-kernel@vger.kernel.org Patchwork: https://patchwork.linux-mips.org/patch/3940/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
|
#
ec977c5b |
|
16-Feb-2010 |
David Daney <ddaney@caviumnetworks.com> |
Staging: Octeon: Reformat a bunch of comments. Many of the comments didn't follow kerneldoc guidlines. Signed-off-by: David Daney <ddaney@caviumnetworks.com> To: linux-mips@linux-mips.org To: netdev@vger.kernel.org To: gregkh@suse.de Patchwork: http://patchwork.linux-mips.org/patch/971/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
|
#
4898c560 |
|
15-Feb-2010 |
David Daney <ddaney@caviumnetworks.com> |
Staging: Octeon: Free transmit SKBs in a timely manner If we wait for the once-per-second cleanup to free transmit SKBs, sockets with small transmit buffer sizes might spend most of their time blocked waiting for the cleanup. Normally we do a cleanup for each transmitted packet. We add a watchdog type timer so that we also schedule a timeout for 150uS after a packet is transmitted. The watchdog is reset for each transmitted packet, so for high packet rates, it never expires. At these high rates, the cleanups are done for each packet so the extra watchdog initiated cleanups are neither needed nor triggered. Signed-off-by: David Daney <ddaney@caviumnetworks.com> To: linux-mips@linux-mips.org To: netdev@vger.kernel.org To: gregkh@suse.de Cc: Eric Dumazet <eric.dumazet@gmail.com> Patchwork: http://patchwork.linux-mips.org/patch/968/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org> This version has spelling and comment changes based on feedback from Eric Dumazet.
|
#
f8c26486 |
|
15-Feb-2010 |
David Daney <ddaney@caviumnetworks.com> |
Staging: Octeon: Run phy bus accesses on a workqueue. When directly accessing a phy, we must acquire the mdio bus lock. To do that we cannot be in interrupt context, so we need to move these operations to a workqueue. Signed-off-by: David Daney <ddaney@caviumnetworks.com> To: linux-mips@linux-mips.org To: netdev@vger.kernel.org To: gregkh@suse.de Patchwork: http://patchwork.linux-mips.org/patch/965/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
|
#
3368c784 |
|
07-Jan-2010 |
David Daney <ddaney@caviumnetworks.com> |
Staging: Octeon Ethernet: Convert to NAPI. Convert the driver to be a reasonably well behaved NAPI citizen. There is one NAPI instance per CPU shared between all input ports. As receive backlog increases, NAPI is scheduled on additional CPUs. Receive buffer refill code factored out so it can also be called from the periodic timer. This is needed to recover from temporary buffer starvation conditions. Signed-off-by: David Daney <ddaney@caviumnetworks.com> To: linux-mips@linux-mips.org To: gregkh@suse.de Patchwork: http://patchwork.linux-mips.org/patch/839/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
|
#
6888fc87 |
|
07-Jan-2010 |
David Daney <ddaney@caviumnetworks.com> |
Staging: Octeon Ethernet: Rewrite transmit code. Stop the queue if too many packets are queued. Restart it from a high resolution timer. Rearrange and simplify locking and SKB freeing code Signed-off-by: David Daney <ddaney@caviumnetworks.com> To: linux-mips@linux-mips.org To: gregkh@suse.de Patchwork: http://patchwork.linux-mips.org/patch/843/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
|
#
6568a234 |
|
07-Jan-2010 |
David Daney <ddaney@caviumnetworks.com> |
Staging: Octeon Ethernet: Remove unused code. Remove unused code, reindent, and join some spilt strings. Signed-off-by: David Daney <ddaney@caviumnetworks.com> To: linux-mips@linux-mips.org To: gregkh@suse.de Patchwork: http://patchwork.linux-mips.org/patch/842/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
|
#
f6ed1b3b |
|
14-Oct-2009 |
David Daney <ddaney@caviumnetworks.com> |
Staging: octeon-ethernet: Convert to use PHY Abstraction Layer. The octeon-ethernet driver shares an mdio bus with the octeon-mgmt driver. Here we convert the octeon-ethernet driver to use the PHY Abstraction Layer. Signed-off-by: David Daney <ddaney@caviumnetworks.com> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
|
#
f696a108 |
|
23-Jun-2009 |
David Daney <ddaney@caviumnetworks.com> |
Staging: octeon-ethernet: Convert to use net_device_ops. Convert the driver to use net_device_ops as it is now mandatory. Also compensate for the removal of struct sk_buff's dst field. The changes are mostly mechanical, the content of ethernet-common.c was moved to ethernet.c and ethernet-common.{c,h} are removed. Signed-off-by: David Daney <ddaney@caviumnetworks.com> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
|
#
80ff0fd3 |
|
05-May-2009 |
David Daney <ddaney@caviumnetworks.com> |
Staging: Add octeon-ethernet driver files. The octeon-ethernet driver supports the sgmii, rgmii, spi, and xaui ports present on the Cavium OCTEON family of SOCs. These SOCs are multi-core mips64 processors with existing support over in arch/mips. The driver files can be categorized into three basic groups: 1) Register definitions, these are named cvmx-*-defs.h 2) Main driver code, these have names that don't start cvmx-. 3) Interface specific functions and other utility code, names starting with cvmx- Signed-off-by: David Daney <ddaney@caviumnetworks.com> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
|