diff options
author | Paul Selles <paul.selles@microchip.com> | 2018-12-06 08:30:52 -0500 |
---|---|---|
committer | Jon Mason <jdmason@kudzu.us> | 2019-02-11 07:36:13 -0500 |
commit | a2585cdc9e4cda6afaea5f5687eaabce3bebbb2c (patch) | |
tree | 69265e8485e481e84ec481e0922321eef7ebe21a /include/linux/switchtec.h | |
parent | d123fab71f63aae129aebe052664fda73131921a (diff) |
ntb_hw_switchtec: Added support of >=4G memory windows
Current Switchtec's BAR setup registers are limited to 32bits,
corresponding to the maximum MW (memory window) size is <4G.
Increase the MW sizes with the addition of the BAR Setup Extension
Register for the upper 32bits of a 64bits MW size. This increases the MW
range to between 4K and 2^63.
Reported-by: Boris Glimcher <boris.glimcher@emc.com>
Signed-off-by: Paul Selles <paul.selles@microchip.com>
Signed-off-by: Wesley Sheng <wesley.sheng@microchip.com>
Reviewed-by: Logan Gunthorpe <logang@deltatee.com>
Signed-off-by: Jon Mason <jdmason@kudzu.us>
Diffstat (limited to 'include/linux/switchtec.h')
-rw-r--r-- | include/linux/switchtec.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/include/linux/switchtec.h b/include/linux/switchtec.h index 32b282cd0ead..52a079b3a9a6 100644 --- a/include/linux/switchtec.h +++ b/include/linux/switchtec.h | |||
@@ -248,7 +248,11 @@ struct ntb_ctrl_regs { | |||
248 | u32 win_size; | 248 | u32 win_size; |
249 | u64 xlate_addr; | 249 | u64 xlate_addr; |
250 | } bar_entry[6]; | 250 | } bar_entry[6]; |
251 | u32 reserved2[216]; | 251 | struct { |
252 | u32 win_size; | ||
253 | u32 reserved[3]; | ||
254 | } bar_ext_entry[6]; | ||
255 | u32 reserved2[192]; | ||
252 | u32 req_id_table[512]; | 256 | u32 req_id_table[512]; |
253 | u32 reserved3[256]; | 257 | u32 reserved3[256]; |
254 | u64 lut_entry[512]; | 258 | u64 lut_entry[512]; |