summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Brown2007-09-18 05:20:41 +0200
committerMichael Brown2007-09-18 05:20:41 +0200
commitda014080f9393c19679a3d3b5e34d06ada5b599e (patch)
tree68cd9a22f158836b865c2f7702c366c5dd84745c
parentSeems to get through the ICM mapping process (diff)
downloadipxe-da014080f9393c19679a3d3b5e34d06ada5b599e.tar.gz
ipxe-da014080f9393c19679a3d3b5e34d06ada5b599e.tar.xz
ipxe-da014080f9393c19679a3d3b5e34d06ada5b599e.zip
INIT_HCA block now matches.
-rw-r--r--src/drivers/net/mlx_ipoib/ib_mt25218.c1
-rw-r--r--src/drivers/net/mlx_ipoib/mt25218.c7
2 files changed, 5 insertions, 3 deletions
diff --git a/src/drivers/net/mlx_ipoib/ib_mt25218.c b/src/drivers/net/mlx_ipoib/ib_mt25218.c
index caf924a3..9473af89 100644
--- a/src/drivers/net/mlx_ipoib/ib_mt25218.c
+++ b/src/drivers/net/mlx_ipoib/ib_mt25218.c
@@ -811,6 +811,7 @@ static int setup_hca(__u8 port, void **eq_p)
DBG ( "mpt_base_addr_l = %lx\n", icm_start );
init_hca.mpt_base_addr_l = icm_start;
init_hca.log_mpt_sz = log2_entries;
+ DBG ( "log2_entries for mpt = %d\n", log2_entries );
icm_start += (tmp << 12);
icm_size += (tmp << 12);
diff --git a/src/drivers/net/mlx_ipoib/mt25218.c b/src/drivers/net/mlx_ipoib/mt25218.c
index 1f343d62..f9a0bb1b 100644
--- a/src/drivers/net/mlx_ipoib/mt25218.c
+++ b/src/drivers/net/mlx_ipoib/mt25218.c
@@ -169,7 +169,7 @@ static int arbel_cmd ( struct arbel *arbel, unsigned long command,
DBGC2_HD ( arbel, &hcr, sizeof ( hcr ) );
if ( in_len ) {
DBGC2 ( arbel, "Input:\n" );
- DBGC2_HD ( arbel, in, ( ( in_len < 256 ) ? in_len : 256 ) );
+ DBGC2_HD ( arbel, in, ( ( in_len < 512 ) ? in_len : 512 ) );
}
/* Issue command */
@@ -203,7 +203,7 @@ static int arbel_cmd ( struct arbel *arbel, unsigned long command,
memcpy ( out, out_buffer, out_len );
if ( out_len ) {
DBGC2 ( arbel, "Output:\n" );
- DBGC2_HD ( arbel, out, ( ( out_len < 256 ) ? out_len : 256 ) );
+ DBGC2_HD ( arbel, out, ( ( out_len < 512 ) ? out_len : 512 ) );
}
return 0;
@@ -1682,7 +1682,7 @@ static int arbel_alloc_icm ( struct arbel *arbel,
icm_offset += icm_usage ( log_num_mtts, arbel->limits.mtt_entry_size );
/* Memory protection table */
- log_num_mpts = fls ( arbel->limits.reserved_mrws - 1 );
+ log_num_mpts = fls ( arbel->limits.reserved_mrws + 1 - 1 );
MLX_FILL_1 ( init_hca, 61,
tpt_parameters.mpt_base_adr_l, icm_offset );
MLX_FILL_1 ( init_hca, 62,
@@ -1872,6 +1872,7 @@ static int arbel_probe ( struct pci_device *pci,
goto err_alloc_icm;
/* Initialise HCA */
+ MLX_FILL_1 ( &init_hca, 74, uar_parameters.log_max_uars, 1 );
if ( ( rc = arbel_cmd_init_hca ( arbel, &init_hca ) ) != 0 ) {
DBGC ( arbel, "Arbel %p could not initialise HCA: %s\n",
arbel, strerror ( rc ) );