aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ehea/ehea_qmr.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_qmr.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_qmr.h')
-rw-r--r--drivers/net/ehea/ehea_qmr.h14
1 files changed, 12 insertions, 2 deletions
diff --git a/drivers/net/ehea/ehea_qmr.h b/drivers/net/ehea/ehea_qmr.h
index c0eb3e03a102..b71f8452a5e3 100644
--- a/drivers/net/ehea/ehea_qmr.h
+++ b/drivers/net/ehea/ehea_qmr.h
@@ -36,8 +36,14 @@
36 * page size of ehea hardware queues 36 * page size of ehea hardware queues
37 */ 37 */
38 38
39#define EHEA_PAGESHIFT 12 39#define EHEA_PAGESHIFT 12
40#define EHEA_PAGESIZE 4096UL 40#define EHEA_PAGESIZE (1UL << EHEA_PAGESHIFT)
41#define EHEA_SECTSIZE (1UL << 24)
42#define EHEA_PAGES_PER_SECTION (EHEA_SECTSIZE >> PAGE_SHIFT)
43
44#if (1UL << SECTION_SIZE_BITS) < EHEA_SECTSIZE
45#error eHEA module can't work if kernel sectionsize < ehea sectionsize
46#endif
41 47
42/* Some abbreviations used here: 48/* Some abbreviations used here:
43 * 49 *
@@ -372,4 +378,8 @@ int ehea_rem_mr(struct ehea_mr *mr);
372 378
373void ehea_error_data(struct ehea_adapter *adapter, u64 res_handle); 379void ehea_error_data(struct ehea_adapter *adapter, u64 res_handle);
374 380
381int ehea_create_busmap( void );
382void ehea_destroy_busmap( void );
383u64 ehea_map_vaddr(void *caddr);
384
375#endif /* __EHEA_QMR_H__ */ 385#endif /* __EHEA_QMR_H__ */