diff options
author | Hannes Hering <hannes.hering@linux.vnet.ibm.com> | 2008-05-07 08:43:36 -0400 |
---|---|---|
committer | Jeff Garzik <jgarzik@redhat.com> | 2008-05-13 01:31:39 -0400 |
commit | 48cfb14f8b89d4d5b3df6c16f08b258686fb12ad (patch) | |
tree | aa517fe0c85010784e24b7f3d9b568f7197aa9fa /drivers/net/ehea/ehea.h | |
parent | fb7b6ca2b6b7c23b52be143bdd5f55a23b9780c8 (diff) |
ehea: Add DLPAR memory remove support
The eHEA driver uses the recently modified walk_memory_resource for powerpc
functionality to detect the memory layout. It further uses the memory hotplug
notifiers to catch memory hotplug events.
Signed-off-by: Hannes Hering <hering2@de.ibm.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Diffstat (limited to 'drivers/net/ehea/ehea.h')
-rw-r--r-- | drivers/net/ehea/ehea.h | 27 |
1 files changed, 22 insertions, 5 deletions
diff --git a/drivers/net/ehea/ehea.h b/drivers/net/ehea/ehea.h index f5dacceab95b..fe872fbd671e 100644 --- a/drivers/net/ehea/ehea.h +++ b/drivers/net/ehea/ehea.h | |||
@@ -40,7 +40,7 @@ | |||
40 | #include <asm/io.h> | 40 | #include <asm/io.h> |
41 | 41 | ||
42 | #define DRV_NAME "ehea" | 42 | #define DRV_NAME "ehea" |
43 | #define DRV_VERSION "EHEA_0090" | 43 | #define DRV_VERSION "EHEA_0091" |
44 | 44 | ||
45 | /* eHEA capability flags */ | 45 | /* eHEA capability flags */ |
46 | #define DLPAR_PORT_ADD_REM 1 | 46 | #define DLPAR_PORT_ADD_REM 1 |
@@ -118,6 +118,13 @@ | |||
118 | #define EHEA_MR_ACC_CTRL 0x00800000 | 118 | #define EHEA_MR_ACC_CTRL 0x00800000 |
119 | 119 | ||
120 | #define EHEA_BUSMAP_START 0x8000000000000000ULL | 120 | #define EHEA_BUSMAP_START 0x8000000000000000ULL |
121 | #define EHEA_INVAL_ADDR 0xFFFFFFFFFFFFFFFFULL | ||
122 | #define EHEA_DIR_INDEX_SHIFT 13 /* 8k Entries in 64k block */ | ||
123 | #define EHEA_TOP_INDEX_SHIFT (EHEA_DIR_INDEX_SHIFT * 2) | ||
124 | #define EHEA_MAP_ENTRIES (1 << EHEA_DIR_INDEX_SHIFT) | ||
125 | #define EHEA_MAP_SIZE (0x10000) /* currently fixed map size */ | ||
126 | #define EHEA_INDEX_MASK (EHEA_MAP_ENTRIES - 1) | ||
127 | |||
121 | 128 | ||
122 | #define EHEA_WATCH_DOG_TIMEOUT 10*HZ | 129 | #define EHEA_WATCH_DOG_TIMEOUT 10*HZ |
123 | 130 | ||
@@ -192,10 +199,20 @@ struct h_epas { | |||
192 | set to 0 if unused */ | 199 | set to 0 if unused */ |
193 | }; | 200 | }; |
194 | 201 | ||
195 | struct ehea_busmap { | 202 | /* |
196 | unsigned int entries; /* total number of entries */ | 203 | * Memory map data structures |
197 | unsigned int valid_sections; /* number of valid sections */ | 204 | */ |
198 | u64 *vaddr; | 205 | struct ehea_dir_bmap |
206 | { | ||
207 | u64 ent[EHEA_MAP_ENTRIES]; | ||
208 | }; | ||
209 | struct ehea_top_bmap | ||
210 | { | ||
211 | struct ehea_dir_bmap *dir[EHEA_MAP_ENTRIES]; | ||
212 | }; | ||
213 | struct ehea_bmap | ||
214 | { | ||
215 | struct ehea_top_bmap *top[EHEA_MAP_ENTRIES]; | ||
199 | }; | 216 | }; |
200 | 217 | ||
201 | struct ehea_qp; | 218 | struct ehea_qp; |