IB/mthca: Use an enum for HCA page size
Use a named enum for the HCA's internal page size, rather than having magic values of 4096 and shifts by 12 all over the code. Also, fix one minor bug in EQ handling: only one HCA page is mapped to the HCA during initialization, but a full kernel page is unmapped during cleanup. This might cause problems when PAGE_SIZE != 4096. Signed-off-by: Ishai Rabinovitz <ishai@mellanox.co.il> Signed-off-by: Roland Dreier <rolandd@cisco.com>
Este commit está contenido en:

cometido por
Roland Dreier

padre
67e7377661
commit
8d3ef29d6b
@@ -45,6 +45,12 @@
|
||||
((256 - sizeof (struct list_head) - 2 * sizeof (int)) / \
|
||||
(sizeof (struct scatterlist)))
|
||||
|
||||
enum {
|
||||
MTHCA_ICM_PAGE_SHIFT = 12,
|
||||
MTHCA_ICM_PAGE_SIZE = 1 << MTHCA_ICM_PAGE_SHIFT,
|
||||
MTHCA_DB_REC_PER_PAGE = MTHCA_ICM_PAGE_SIZE / 8
|
||||
};
|
||||
|
||||
struct mthca_icm_chunk {
|
||||
struct list_head list;
|
||||
int npages;
|
||||
@@ -131,10 +137,6 @@ static inline unsigned long mthca_icm_size(struct mthca_icm_iter *iter)
|
||||
return sg_dma_len(&iter->chunk->mem[iter->page_idx]);
|
||||
}
|
||||
|
||||
enum {
|
||||
MTHCA_DB_REC_PER_PAGE = 4096 / 8
|
||||
};
|
||||
|
||||
struct mthca_db_page {
|
||||
DECLARE_BITMAP(used, MTHCA_DB_REC_PER_PAGE);
|
||||
__be64 *db_rec;
|
||||
|
Referencia en una nueva incidencia
Block a user