eq.c (219820) | eq.c (250460) |
---|---|
1/* 2 * Copyright (c) 2005, 2006, 2007, 2008 Mellanox Technologies. All rights reserved. 3 * Copyright (c) 2005, 2006, 2007 Cisco Systems, Inc. All rights reserved. 4 * 5 * This software is available to you under a choice of one of two 6 * licenses. You may choose to be licensed under the terms of the GNU 7 * General Public License (GPL) Version 2, available from the file 8 * COPYING in the main directory of this source tree, or the --- 691 unchanged lines hidden (view full) --- 700 /* A loop over all completion vectors, for each vector we will check 701 * whether it works by mapping command completions to that vector 702 * and performing a NOP command 703 */ 704 for(i = 0; !err && (i < dev->caps.num_comp_vectors); ++i) { 705 /* Temporary use polling for command completions */ 706 mlx4_cmd_use_polling(dev); 707 | 1/* 2 * Copyright (c) 2005, 2006, 2007, 2008 Mellanox Technologies. All rights reserved. 3 * Copyright (c) 2005, 2006, 2007 Cisco Systems, Inc. All rights reserved. 4 * 5 * This software is available to you under a choice of one of two 6 * licenses. You may choose to be licensed under the terms of the GNU 7 * General Public License (GPL) Version 2, available from the file 8 * COPYING in the main directory of this source tree, or the --- 691 unchanged lines hidden (view full) --- 700 /* A loop over all completion vectors, for each vector we will check 701 * whether it works by mapping command completions to that vector 702 * and performing a NOP command 703 */ 704 for(i = 0; !err && (i < dev->caps.num_comp_vectors); ++i) { 705 /* Temporary use polling for command completions */ 706 mlx4_cmd_use_polling(dev); 707 |
708 /* Map the new eq to handle all asyncronous events */ | 708 /* Map the new eq to handle all asynchronous events */ |
709 err = mlx4_MAP_EQ(dev, MLX4_ASYNC_EVENT_MASK, 0, 710 priv->eq_table.eq[i].eqn); 711 if (err) { 712 mlx4_warn(dev, "Failed mapping eq for interrupt test\n"); 713 mlx4_cmd_use_events(dev); 714 break; 715 } 716 717 /* Go back to using events */ 718 mlx4_cmd_use_events(dev); 719 err = mlx4_NOP(dev); 720 } 721 722 /* Return to default */ 723 mlx4_MAP_EQ(dev, MLX4_ASYNC_EVENT_MASK, 0, 724 priv->eq_table.eq[dev->caps.num_comp_vectors].eqn); 725 return err; 726} 727EXPORT_SYMBOL(mlx4_test_interrupts); | 709 err = mlx4_MAP_EQ(dev, MLX4_ASYNC_EVENT_MASK, 0, 710 priv->eq_table.eq[i].eqn); 711 if (err) { 712 mlx4_warn(dev, "Failed mapping eq for interrupt test\n"); 713 mlx4_cmd_use_events(dev); 714 break; 715 } 716 717 /* Go back to using events */ 718 mlx4_cmd_use_events(dev); 719 err = mlx4_NOP(dev); 720 } 721 722 /* Return to default */ 723 mlx4_MAP_EQ(dev, MLX4_ASYNC_EVENT_MASK, 0, 724 priv->eq_table.eq[dev->caps.num_comp_vectors].eqn); 725 return err; 726} 727EXPORT_SYMBOL(mlx4_test_interrupts); |