aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ehea/ehea.h
diff options
context:
space:
mode:
authorThomas Klein <osstklei@de.ibm.com>2007-07-11 10:32:00 -0400
committerJeff Garzik <jeff@garzik.org>2007-07-16 17:59:50 -0400
commit44c821525778c5d2e81da293195d5d589e8ad845 (patch)
tree7996d9d180023c752b61e2fcfe96a42a00a1510f /drivers/net/ehea/ehea.h
parent5be808467347fc99bdd216883c5dbd123d6ad9d6 (diff)
eHEA: Introducing support vor DLPAR memory add
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>
Diffstat (limited to 'drivers/net/ehea/ehea.h')
-rw-r--r--drivers/net/ehea/ehea.h23
1 files changed, 18 insertions, 5 deletions
diff --git a/drivers/net/ehea/ehea.h b/drivers/net/ehea/ehea.h
index f03f070451d..6628fa622e2 100644
--- a/drivers/net/ehea/ehea.h
+++ b/drivers/net/ehea/ehea.h
@@ -39,13 +39,13 @@
39#include <asm/io.h> 39#include <asm/io.h>
40 40
41#define DRV_NAME "ehea" 41#define DRV_NAME "ehea"
42#define DRV_VERSION "EHEA_0067" 42#define DRV_VERSION "EHEA_0070"
43 43
44/* EHEA capability flags */ 44/* eHEA capability flags */
45#define DLPAR_PORT_ADD_REM 1 45#define DLPAR_PORT_ADD_REM 1
46#define DLPAR_MEM_ADD 2 46#define DLPAR_MEM_ADD 2
47#define DLPAR_MEM_REM 4 47#define DLPAR_MEM_REM 4
48#define EHEA_CAPABILITIES (DLPAR_PORT_ADD_REM) 48#define EHEA_CAPABILITIES (DLPAR_PORT_ADD_REM)
49 49
50#define EHEA_MSG_DEFAULT (NETIF_MSG_LINK | NETIF_MSG_TIMER \ 50#define EHEA_MSG_DEFAULT (NETIF_MSG_LINK | NETIF_MSG_TIMER \
51 | NETIF_MSG_RX_ERR | NETIF_MSG_TX_ERR) 51 | NETIF_MSG_RX_ERR | NETIF_MSG_TX_ERR)
@@ -113,6 +113,8 @@
113/* Memory Regions */ 113/* Memory Regions */
114#define EHEA_MR_ACC_CTRL 0x00800000 114#define EHEA_MR_ACC_CTRL 0x00800000
115 115
116#define EHEA_BUSMAP_START 0x8000000000000000ULL
117
116#define EHEA_WATCH_DOG_TIMEOUT 10*HZ 118#define EHEA_WATCH_DOG_TIMEOUT 10*HZ
117 119
118/* utility functions */ 120/* utility functions */
@@ -186,6 +188,12 @@ struct h_epas {
186 set to 0 if unused */ 188 set to 0 if unused */
187}; 189};
188 190
191struct ehea_busmap {
192 unsigned int entries; /* total number of entries */
193 unsigned int valid_sections; /* number of valid sections */
194 u64 *vaddr;
195};
196
189struct ehea_qp; 197struct ehea_qp;
190struct ehea_cq; 198struct ehea_cq;
191struct ehea_eq; 199struct ehea_eq;
@@ -382,6 +390,8 @@ struct ehea_adapter {
382 struct ehea_mr mr; 390 struct ehea_mr mr;
383 u32 pd; /* protection domain */ 391 u32 pd; /* protection domain */
384 u64 max_mc_mac; /* max number of multicast mac addresses */ 392 u64 max_mc_mac; /* max number of multicast mac addresses */
393 int active_ports;
394 struct list_head list;
385}; 395};
386 396
387 397
@@ -431,6 +441,9 @@ struct port_res_cfg {
431 int max_entries_rq3; 441 int max_entries_rq3;
432}; 442};
433 443
444enum ehea_flag_bits {
445 __EHEA_STOP_XFER
446};
434 447
435void ehea_set_ethtool_ops(struct net_device *netdev); 448void ehea_set_ethtool_ops(struct net_device *netdev);
436int ehea_sense_port_attr(struct ehea_port *port); 449int ehea_sense_port_attr(struct ehea_port *port);