diff options
author | Sreenivasa Honnur <Sreenivasa.Honnur@neterion.com> | 2009-10-04 21:57:29 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-10-06 18:22:55 -0400 |
commit | eb5f10c21badd967aa466fd4f7eddfc724c8cb64 (patch) | |
tree | 743513fe60462e32ee81da71f78dda8a8dad88dc /drivers/net/vxge/vxge-config.c | |
parent | fa41fd10038ab575f043a62dace374e07e9193de (diff) |
vxge: Allow multiple functions with INTA.
- Allow multiple functions with INTA.
- Removed the condition to allow only one vpath with INTA
- Ensure that the alarm bit in titan_mask_all_int register is cleared when
driver exits.
Signed-off-by: Sreenivasa Honnur <sreenivasa.honnur@neterion.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/vxge/vxge-config.c')
-rw-r--r-- | drivers/net/vxge/vxge-config.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/drivers/net/vxge/vxge-config.c b/drivers/net/vxge/vxge-config.c index c07a7379cfa7..32a75fa935ed 100644 --- a/drivers/net/vxge/vxge-config.c +++ b/drivers/net/vxge/vxge-config.c | |||
@@ -3882,6 +3882,30 @@ __vxge_hw_vpath_tim_configure(struct __vxge_hw_device *hldev, u32 vp_id) | |||
3882 | return status; | 3882 | return status; |
3883 | } | 3883 | } |
3884 | 3884 | ||
3885 | void | ||
3886 | vxge_hw_vpath_tti_ci_set(struct __vxge_hw_device *hldev, u32 vp_id) | ||
3887 | { | ||
3888 | struct __vxge_hw_virtualpath *vpath; | ||
3889 | struct vxge_hw_vpath_reg __iomem *vp_reg; | ||
3890 | struct vxge_hw_vp_config *config; | ||
3891 | u64 val64; | ||
3892 | |||
3893 | vpath = &hldev->virtual_paths[vp_id]; | ||
3894 | vp_reg = vpath->vp_reg; | ||
3895 | config = vpath->vp_config; | ||
3896 | |||
3897 | if (config->fifo.enable == VXGE_HW_FIFO_ENABLE) { | ||
3898 | val64 = readq(&vp_reg->tim_cfg1_int_num[VXGE_HW_VPATH_INTR_TX]); | ||
3899 | |||
3900 | if (config->tti.timer_ci_en != VXGE_HW_TIM_TIMER_CI_ENABLE) { | ||
3901 | config->tti.timer_ci_en = VXGE_HW_TIM_TIMER_CI_ENABLE; | ||
3902 | val64 |= VXGE_HW_TIM_CFG1_INT_NUM_TIMER_CI; | ||
3903 | writeq(val64, | ||
3904 | &vp_reg->tim_cfg1_int_num[VXGE_HW_VPATH_INTR_TX]); | ||
3905 | } | ||
3906 | } | ||
3907 | return; | ||
3908 | } | ||
3885 | /* | 3909 | /* |
3886 | * __vxge_hw_vpath_initialize | 3910 | * __vxge_hw_vpath_initialize |
3887 | * This routine is the final phase of init which initializes the | 3911 | * This routine is the final phase of init which initializes the |