summaryrefslogtreecommitdiffstats
path: root/drivers/net/ehea/ehea.h
Commit message (Collapse)AuthorAgeFilesLines
* [EHEA]: Use LRO.Jan-Bernd Themann2007-10-101-0/+7
| | | | | Signed-off-by: Jan-Bernd Themann <themann@de.ibm.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* [NET]: Make NAPI polling independent of struct net_device objects.Stephen Hemminger2007-10-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* ehea: propagate physical port stateJan-Bernd Themann2007-09-131-1/+4
| | | | | | | | | | | | Introduces a module parameter to decide whether the physical port link state is propagated to the network stack or not. It makes sense not to take the physical port state into account on machines with more logical partitions that communicate with each other. This is always possible no matter what the physical port state is. Thus eHEA can be considered as a switch there. Signed-off-by: Jan-Bernd Themann <themann@de.ibm.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* ehea: Fix workqueue handlingThomas Klein2007-08-071-1/+1
| | | | | | | Fix: Workqueue ehea_driver_wq was not destroyed Signed-off-by: Thomas Klein <tklein@de.ibm.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* eHEA: net_poll supportJan-Bernd Themann2007-07-241-1/+1
| | | | | | | net_poll support for eHEA added Signed-off-by: Jan-Bernd Themann <themann@de.ibm.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* eHEA: Fix bonding supportThomas Klein2007-07-181-1/+1
| | | | | | | | | | | | The driver didn't allow an interface's MAC address to be modified if the respective interface wasn't setup - a failing Hcall was the result. Thus bonding wasn't usable. The fix moves the failing Hcall which was registering a MAC address for the reception of BC packets in firmware from the port up and down functions to the port resources setup functions. Additionally the missing update of the last_rx member of the netdev structure was added. Signed-off-by: Thomas Klein <tklein@de.ibm.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* eHEA: Introducing support vor DLPAR memory addThomas Klein2007-07-161-5/+18
| | | | | | | | | | | | This patch adds support for DLPAR memory add to the eHEA driver. To detect whether memory was added the driver uses its own memory mapping table and checks for kernel addresses whether they're located in already known memory sections. If not the function ehea_rereg_mrs() is triggered which performs a rebuild of the mapping table and a re-registration of the global memory region. Signed-off-by: Thomas Klein <tklein@de.ibm.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* eHEA: Capability flag for DLPAR supportJan-Bernd Themann2007-07-101-1/+7
| | | | | | | | | | This patch introduces a capability flag that is used by the DLPAR userspace tool to check which DLPAR features are supported by the eHEA driver. Missing goto has been included. Signed-off-by: Jan-Bernd Themann <themann@de.ibm.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* ehea: Whitespace cleanupJan-Bernd Themann2007-07-081-7/+7
| | | | | | | This patch fixes several whitespace issues. Signed-off-by: Jan-Bernd Themann <themann@de.ibm.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* ehea: Fixed possible kernel panic on VLAN packet recvThomas Klein2007-06-091-1/+1
| | | | | | | | | This patch fixes a possible kernel panic due to not checking the vlan group when processing received VLAN packets and a malfunction in VLAN/hypervisor registration. Signed-off-by: Thomas Klein <tklein@de.ibm.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* ehea: Fixed multi queue RX bugThomas Klein2007-05-301-1/+1
| | | | | | | Must access the respective queue's dummy netdev instead of the port's netdev. Signed-off-by: Thomas Klein <tklein@de.ibm.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* ehea: fix for dlpar supportThomas Klein2007-04-281-1/+1
| | | | | | | | Certain resources may only be allocated when first logical port is available, and must be removed when last logical port has been removed. Signed-off-by: Thomas Klein <tklein@de.ibm.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* ehea: fix for sysfs entriesThomas Klein2007-04-281-1/+1
| | | | | | | Create symbolic link from each logical port to ehea driver Signed-off-by: Thomas Klein <tklein@de.ibm.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* ehea: removing unused functionalityJan-Bernd Themann2007-04-281-19/+6
| | | | | | | | | | This patch includes: - removal of unused fields in structs - ethtool statistics cleanup - removes unsed functionality from send path Signed-off-by: Jan-Bernd Themann <themann@de.ibm.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* ehea: code cleanupJan-Bernd Themann2007-04-281-1/+2
| | | | | | | | | | | This patch includes: - code cleanup related to resource management - extended error data gathering for resource management - removing trailing whitespaces Signed-off-by: Jan-Bernd Themann <themann@de.ibm.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* ehea: fix for dynamic lpar supportJan-Bernd Themann2007-04-281-1/+1
| | | | | | | | The patch fixes bugs related to the probe / remove adapter functionality (handling of OFDT nodes) Signed-off-by: Jan-Bernd Themann <themann@de.ibm.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* ehea: NAPI multi queue TX/RX path for SMPJan-Bernd Themann2007-04-281-6/+5
| | | | | | | | This patch provides a functionality that allows parallel RX processing on multiple RX queues by using dummy netdevices. Signed-off-by: Jan-Bernd Themann <themann@de.ibm.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* ehea: dynamic add / remove portJan-Bernd Themann2007-04-281-4/+5
| | | | | | | | | This patch introduces functionality to dynamically add / remove ehea ports via an userspace DLPAR tool. It creates a subnode for each logical port in the sysfs. Signed-off-by: Jan-Bernd Themann <themann@de.ibm.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* ehea: Fixed error recoveryJan-Bernd Themann2007-02-091-1/+1
| | | | | | | Error recovery for QP errors: Reset QPs and dump error information Signed-off-by: Jan-Bernd Themann <themann@de.ibm.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* ehea: Fixed wrong jumbo frames status queryThomas Klein2007-01-301-1/+1
| | | | | | | | This patch fixes the wrong query and logging of the per interface jumbo frames enabled/disabled status. Signed-off-by: Thomas Klein <tklein@de.ibm.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* ehea: Fixed wrong dereferencationThomas Klein2007-01-231-1/+1
| | | | | | | Not only check the pointer against 0 but also the dereferenced value Signed-off-by: Thomas Klein <tklein@de.ibm.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* [PATCH] ehea: Removed redundant defineThomas Klein2006-11-061-4/+1
| | | | | | | Removed define H_CB_ALIGNMENT which is already defined in include/asm-powerpc/hvcall.h Signed-off-by: Thomas Klein <tklein@de.ibm.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* [PATCH] ehea: fix port state notification, default queue sizesJan-Bernd Themann2006-10-111-6/+7
| | | | | | | | This patch includes a bug fix for the port state notification and fixes the default queue sizes. Signed-off-by: Jan-Bernd Themann <themann@de.ibm.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* [PATCH] ehea: bugfix for register access functionsJan-Bernd Themann2006-09-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | Hi Jeff, sorry to bother you again. We figured out that the readq function we included in the eHEA patch we sent yesterday to access eHEA registers is defined as little endian on POWER. This collides with our adapter. We talked to some PPC people who told us there is a discussion going on about new access functions. We were told to use __raw_readq / __raw_writeq for now. This patch fixes this bug found by our internal tests today. Please apply this small patch on the latest patch we sent you yesterday. If it is easier for you I can also give you the entire eHEA patch again. sorry and thanks a lot, Jan-Bernd Signed-off-by: Jan-Bernd Themann <themann@de.ibm.com> drivers/net/ehea/ehea.h | 2 +- drivers/net/ehea/ehea_hw.h | 11 ++++++++--- 2 files changed, 9 insertions(+), 4 deletions(-) Signed-off-by: Jeff Garzik <jeff@garzik.org>
* [PATCH] ehea: IBM eHEA Ethernet Device DriverJan-Bernd Themann2006-09-131-0/+447
Hi Jeff, I fixed the __iomem issue and tested the driver with sparse. Looks good so far. Thanks for your effort. Jan-Bernd Themann Signed-off-by: Jan-Bernd Themann <themann@de.ibm.com> drivers/net/Kconfig | 9 drivers/net/Makefile | 1 drivers/net/ehea/Makefile | 6 drivers/net/ehea/ehea.h | 447 ++++++ drivers/net/ehea/ehea_ethtool.c | 294 ++++ drivers/net/ehea/ehea_hcall.h | 51 drivers/net/ehea/ehea_hw.h | 287 ++++ drivers/net/ehea/ehea_main.c | 2654 ++++++++++++++++++++++++++++++++++++++++ drivers/net/ehea/ehea_phyp.c | 705 ++++++++++ drivers/net/ehea/ehea_phyp.h | 455 ++++++ drivers/net/ehea/ehea_qmr.c | 582 ++++++++ drivers/net/ehea/ehea_qmr.h | 358 +++++ 12 files changed, 5849 insertions(+) Signed-off-by: Jeff Garzik <jeff@garzik.org>
OpenPOWER on IntegriCloud