mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-19 18:24:14 +08:00
vxge: independent interrupt moderation
Configure the workload clock register and TIM register for independent interrupt moderation based on the individual vpath utilization instead of common link utilization. This greatly improves latency. Signed-off-by: Jon Mason <jon.mason@exar.com> Signed-off-by: Ram Vepa <ram.vepa@exar.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
9c16388716
commit
b55e7b153f
@ -4422,8 +4422,7 @@ __vxge_hw_vpath_tim_configure(struct __vxge_hw_device *hldev, u32 vp_id)
|
||||
|
||||
if (config->tti.util_sel != VXGE_HW_USE_FLASH_DEFAULT) {
|
||||
val64 &= ~VXGE_HW_TIM_CFG3_INT_NUM_UTIL_SEL(0x3f);
|
||||
val64 |= VXGE_HW_TIM_CFG3_INT_NUM_UTIL_SEL(
|
||||
config->tti.util_sel);
|
||||
val64 |= VXGE_HW_TIM_CFG3_INT_NUM_UTIL_SEL(vp_id);
|
||||
}
|
||||
|
||||
if (config->tti.ltimer_val != VXGE_HW_USE_FLASH_DEFAULT) {
|
||||
@ -4527,8 +4526,7 @@ __vxge_hw_vpath_tim_configure(struct __vxge_hw_device *hldev, u32 vp_id)
|
||||
|
||||
if (config->rti.util_sel != VXGE_HW_USE_FLASH_DEFAULT) {
|
||||
val64 &= ~VXGE_HW_TIM_CFG3_INT_NUM_UTIL_SEL(0x3f);
|
||||
val64 |= VXGE_HW_TIM_CFG3_INT_NUM_UTIL_SEL(
|
||||
config->rti.util_sel);
|
||||
val64 |= VXGE_HW_TIM_CFG3_INT_NUM_UTIL_SEL(vp_id);
|
||||
}
|
||||
|
||||
if (config->rti.ltimer_val != VXGE_HW_USE_FLASH_DEFAULT) {
|
||||
@ -4549,6 +4547,11 @@ __vxge_hw_vpath_tim_configure(struct __vxge_hw_device *hldev, u32 vp_id)
|
||||
writeq(val64, &vp_reg->tim_cfg2_int_num[VXGE_HW_VPATH_INTR_BMAP]);
|
||||
writeq(val64, &vp_reg->tim_cfg3_int_num[VXGE_HW_VPATH_INTR_BMAP]);
|
||||
|
||||
val64 = VXGE_HW_TIM_WRKLD_CLC_WRKLD_EVAL_PRD(150);
|
||||
val64 |= VXGE_HW_TIM_WRKLD_CLC_WRKLD_EVAL_DIV(0);
|
||||
val64 |= VXGE_HW_TIM_WRKLD_CLC_CNT_RX_TX(3);
|
||||
writeq(val64, &vp_reg->tim_wrkld_clc);
|
||||
|
||||
return status;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user