summaryrefslogtreecommitdiffstats
path: root/src/drivers/net/mlx_ipoib/cmdif_comm.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/drivers/net/mlx_ipoib/cmdif_comm.c')
-rw-r--r--src/drivers/net/mlx_ipoib/cmdif_comm.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/drivers/net/mlx_ipoib/cmdif_comm.c b/src/drivers/net/mlx_ipoib/cmdif_comm.c
index cf7b9e558..97f288bce 100644
--- a/src/drivers/net/mlx_ipoib/cmdif_comm.c
+++ b/src/drivers/net/mlx_ipoib/cmdif_comm.c
@@ -112,6 +112,8 @@ static XHH_cmd_status_t cmd_invoke(command_fields_t * cmd_prms)
__u32 hcr[7], data;
__u8 status;
+ DBG ( "Executing command:\n" );
+
/* check if go bit is free */
ret = cmdif_is_free(&is_free);
if (ret) {
@@ -129,6 +131,17 @@ static XHH_cmd_status_t cmd_invoke(command_fields_t * cmd_prms)
edit_hcr(cmd_prms, hcr);
__asm__ __volatile__("":::"memory");
+ DBG_HD ( &hcr[0], sizeof ( hcr ) );
+ if ( cmd_prms->in_trans == TRANS_MAILBOX ) {
+ size_t size = ( 4 * cmd_prms->in_param_size );
+ if ( size > 256 )
+ size = 256;
+#if ! CREATE_OWN
+ DBG ( "Input mailbox:\n" );
+ DBG_HD ( &cmd_prms->in_param[0], size );
+#endif
+ }
+
for (i = 0; i < 7; ++i) {
ret = gw_write_cr(HCR_BASE + i * 4, hcr[i]);
if (ret) {
@@ -168,6 +181,17 @@ static XHH_cmd_status_t cmd_invoke(command_fields_t * cmd_prms)
return -1;
}
+ if ( cmd_prms->out_trans == TRANS_MAILBOX ) {
+ size_t size = ( 4 * cmd_prms->out_param_size );
+ if ( size > 256 )
+ size = 256;
+#if ! CREATE_OWN
+ DBG ( "Output mailbox:\n" );
+ DBG_HD ( &cmd_prms->out_param[0], size );
+#endif
+ }
+ DBG ( "Command executed successfully\n" );
+
return 0;
}