mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-15 16:24:13 +08:00
vxge: use max() instead of VXGE_HW_SET_LEVEL
Signed-off-by: Alexander Beregalov <a.beregalov@gmail.com> Acked-by: Ram Vepa <ram.vepa@neterion.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
4e204c1000
commit
011983048a
@ -505,7 +505,7 @@ enum vxge_hw_status vxge_hw_device_begin_irq(struct __vxge_hw_device *hldev,
|
|||||||
ret = __vxge_hw_vpath_alarm_process(
|
ret = __vxge_hw_vpath_alarm_process(
|
||||||
&hldev->virtual_paths[i], skip_alarms);
|
&hldev->virtual_paths[i], skip_alarms);
|
||||||
|
|
||||||
error_level = VXGE_HW_SET_LEVEL(ret, error_level);
|
error_level = max(ret, error_level);
|
||||||
|
|
||||||
if (unlikely((ret == VXGE_HW_ERR_CRITICAL) ||
|
if (unlikely((ret == VXGE_HW_ERR_CRITICAL) ||
|
||||||
(ret == VXGE_HW_ERR_SLOT_FREEZE)))
|
(ret == VXGE_HW_ERR_SLOT_FREEZE)))
|
||||||
@ -1921,7 +1921,7 @@ enum vxge_hw_status __vxge_hw_vpath_alarm_process(
|
|||||||
struct vxge_hw_vpath_reg __iomem *vp_reg;
|
struct vxge_hw_vpath_reg __iomem *vp_reg;
|
||||||
|
|
||||||
if (vpath == NULL) {
|
if (vpath == NULL) {
|
||||||
alarm_event = VXGE_HW_SET_LEVEL(VXGE_HW_EVENT_UNKNOWN,
|
alarm_event = max(VXGE_HW_EVENT_UNKNOWN,
|
||||||
alarm_event);
|
alarm_event);
|
||||||
goto out2;
|
goto out2;
|
||||||
}
|
}
|
||||||
@ -1931,7 +1931,7 @@ enum vxge_hw_status __vxge_hw_vpath_alarm_process(
|
|||||||
alarm_status = readq(&vp_reg->vpath_general_int_status);
|
alarm_status = readq(&vp_reg->vpath_general_int_status);
|
||||||
|
|
||||||
if (alarm_status == VXGE_HW_ALL_FOXES) {
|
if (alarm_status == VXGE_HW_ALL_FOXES) {
|
||||||
alarm_event = VXGE_HW_SET_LEVEL(VXGE_HW_EVENT_SLOT_FREEZE,
|
alarm_event = max(VXGE_HW_EVENT_SLOT_FREEZE,
|
||||||
alarm_event);
|
alarm_event);
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
@ -1945,7 +1945,7 @@ enum vxge_hw_status __vxge_hw_vpath_alarm_process(
|
|||||||
VXGE_HW_VPATH_GENERAL_INT_STATUS_XMAC_INT)) {
|
VXGE_HW_VPATH_GENERAL_INT_STATUS_XMAC_INT)) {
|
||||||
sw_stats->error_stats.unknown_alarms++;
|
sw_stats->error_stats.unknown_alarms++;
|
||||||
|
|
||||||
alarm_event = VXGE_HW_SET_LEVEL(VXGE_HW_EVENT_UNKNOWN,
|
alarm_event = max(VXGE_HW_EVENT_UNKNOWN,
|
||||||
alarm_event);
|
alarm_event);
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
@ -1975,8 +1975,8 @@ enum vxge_hw_status __vxge_hw_vpath_alarm_process(
|
|||||||
&vp_reg->asic_ntwk_vp_err_mask);
|
&vp_reg->asic_ntwk_vp_err_mask);
|
||||||
|
|
||||||
__vxge_hw_device_handle_link_down_ind(hldev);
|
__vxge_hw_device_handle_link_down_ind(hldev);
|
||||||
alarm_event = VXGE_HW_SET_LEVEL(
|
alarm_event = max(VXGE_HW_EVENT_LINK_DOWN,
|
||||||
VXGE_HW_EVENT_LINK_DOWN, alarm_event);
|
alarm_event);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (((val64 &
|
if (((val64 &
|
||||||
@ -1996,15 +1996,15 @@ enum vxge_hw_status __vxge_hw_vpath_alarm_process(
|
|||||||
&vp_reg->asic_ntwk_vp_err_mask);
|
&vp_reg->asic_ntwk_vp_err_mask);
|
||||||
|
|
||||||
__vxge_hw_device_handle_link_up_ind(hldev);
|
__vxge_hw_device_handle_link_up_ind(hldev);
|
||||||
alarm_event = VXGE_HW_SET_LEVEL(
|
alarm_event = max(VXGE_HW_EVENT_LINK_UP,
|
||||||
VXGE_HW_EVENT_LINK_UP, alarm_event);
|
alarm_event);
|
||||||
}
|
}
|
||||||
|
|
||||||
writeq(VXGE_HW_INTR_MASK_ALL,
|
writeq(VXGE_HW_INTR_MASK_ALL,
|
||||||
&vp_reg->asic_ntwk_vp_err_reg);
|
&vp_reg->asic_ntwk_vp_err_reg);
|
||||||
|
|
||||||
alarm_event = VXGE_HW_SET_LEVEL(
|
alarm_event = max(VXGE_HW_EVENT_ALARM_CLEARED,
|
||||||
VXGE_HW_EVENT_ALARM_CLEARED, alarm_event);
|
alarm_event);
|
||||||
|
|
||||||
if (skip_alarms)
|
if (skip_alarms)
|
||||||
return VXGE_HW_OK;
|
return VXGE_HW_OK;
|
||||||
@ -2026,8 +2026,8 @@ enum vxge_hw_status __vxge_hw_vpath_alarm_process(
|
|||||||
~mask64) {
|
~mask64) {
|
||||||
sw_stats->error_stats.ini_serr_det++;
|
sw_stats->error_stats.ini_serr_det++;
|
||||||
|
|
||||||
alarm_event = VXGE_HW_SET_LEVEL(
|
alarm_event = max(VXGE_HW_EVENT_SERR,
|
||||||
VXGE_HW_EVENT_SERR, alarm_event);
|
alarm_event);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((val64 &
|
if ((val64 &
|
||||||
@ -2035,8 +2035,8 @@ enum vxge_hw_status __vxge_hw_vpath_alarm_process(
|
|||||||
~mask64) {
|
~mask64) {
|
||||||
sw_stats->error_stats.dblgen_fifo0_overflow++;
|
sw_stats->error_stats.dblgen_fifo0_overflow++;
|
||||||
|
|
||||||
alarm_event = VXGE_HW_SET_LEVEL(
|
alarm_event = max(VXGE_HW_EVENT_FIFO_ERR,
|
||||||
VXGE_HW_EVENT_FIFO_ERR, alarm_event);
|
alarm_event);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((val64 &
|
if ((val64 &
|
||||||
@ -2057,8 +2057,7 @@ enum vxge_hw_status __vxge_hw_vpath_alarm_process(
|
|||||||
if (!skip_alarms) {
|
if (!skip_alarms) {
|
||||||
writeq(VXGE_HW_INTR_MASK_ALL,
|
writeq(VXGE_HW_INTR_MASK_ALL,
|
||||||
&vp_reg->general_errors_reg);
|
&vp_reg->general_errors_reg);
|
||||||
alarm_event = VXGE_HW_SET_LEVEL(
|
alarm_event = max(VXGE_HW_EVENT_ALARM_CLEARED,
|
||||||
VXGE_HW_EVENT_ALARM_CLEARED,
|
|
||||||
alarm_event);
|
alarm_event);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2074,8 +2073,7 @@ enum vxge_hw_status __vxge_hw_vpath_alarm_process(
|
|||||||
~mask64) {
|
~mask64) {
|
||||||
sw_stats->error_stats.kdfcctl_fifo0_overwrite++;
|
sw_stats->error_stats.kdfcctl_fifo0_overwrite++;
|
||||||
|
|
||||||
alarm_event = VXGE_HW_SET_LEVEL(
|
alarm_event = max(VXGE_HW_EVENT_FIFO_ERR,
|
||||||
VXGE_HW_EVENT_FIFO_ERR,
|
|
||||||
alarm_event);
|
alarm_event);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2084,8 +2082,7 @@ enum vxge_hw_status __vxge_hw_vpath_alarm_process(
|
|||||||
~mask64) {
|
~mask64) {
|
||||||
sw_stats->error_stats.kdfcctl_fifo0_poison++;
|
sw_stats->error_stats.kdfcctl_fifo0_poison++;
|
||||||
|
|
||||||
alarm_event = VXGE_HW_SET_LEVEL(
|
alarm_event = max(VXGE_HW_EVENT_FIFO_ERR,
|
||||||
VXGE_HW_EVENT_FIFO_ERR,
|
|
||||||
alarm_event);
|
alarm_event);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2094,16 +2091,14 @@ enum vxge_hw_status __vxge_hw_vpath_alarm_process(
|
|||||||
~mask64) {
|
~mask64) {
|
||||||
sw_stats->error_stats.kdfcctl_fifo0_dma_error++;
|
sw_stats->error_stats.kdfcctl_fifo0_dma_error++;
|
||||||
|
|
||||||
alarm_event = VXGE_HW_SET_LEVEL(
|
alarm_event = max(VXGE_HW_EVENT_FIFO_ERR,
|
||||||
VXGE_HW_EVENT_FIFO_ERR,
|
|
||||||
alarm_event);
|
alarm_event);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!skip_alarms) {
|
if (!skip_alarms) {
|
||||||
writeq(VXGE_HW_INTR_MASK_ALL,
|
writeq(VXGE_HW_INTR_MASK_ALL,
|
||||||
&vp_reg->kdfcctl_errors_reg);
|
&vp_reg->kdfcctl_errors_reg);
|
||||||
alarm_event = VXGE_HW_SET_LEVEL(
|
alarm_event = max(VXGE_HW_EVENT_ALARM_CLEARED,
|
||||||
VXGE_HW_EVENT_ALARM_CLEARED,
|
|
||||||
alarm_event);
|
alarm_event);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2127,8 +2122,7 @@ enum vxge_hw_status __vxge_hw_vpath_alarm_process(
|
|||||||
~mask64) {
|
~mask64) {
|
||||||
sw_stats->error_stats.prc_rxdcm_sc_err++;
|
sw_stats->error_stats.prc_rxdcm_sc_err++;
|
||||||
|
|
||||||
alarm_event = VXGE_HW_SET_LEVEL(
|
alarm_event = max(VXGE_HW_EVENT_VPATH_ERR,
|
||||||
VXGE_HW_EVENT_VPATH_ERR,
|
|
||||||
alarm_event);
|
alarm_event);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2136,8 +2130,7 @@ enum vxge_hw_status __vxge_hw_vpath_alarm_process(
|
|||||||
& ~mask64) {
|
& ~mask64) {
|
||||||
sw_stats->error_stats.prc_rxdcm_sc_abort++;
|
sw_stats->error_stats.prc_rxdcm_sc_abort++;
|
||||||
|
|
||||||
alarm_event = VXGE_HW_SET_LEVEL(
|
alarm_event = max(VXGE_HW_EVENT_VPATH_ERR,
|
||||||
VXGE_HW_EVENT_VPATH_ERR,
|
|
||||||
alarm_event);
|
alarm_event);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2145,16 +2138,14 @@ enum vxge_hw_status __vxge_hw_vpath_alarm_process(
|
|||||||
& ~mask64) {
|
& ~mask64) {
|
||||||
sw_stats->error_stats.prc_quanta_size_err++;
|
sw_stats->error_stats.prc_quanta_size_err++;
|
||||||
|
|
||||||
alarm_event = VXGE_HW_SET_LEVEL(
|
alarm_event = max(VXGE_HW_EVENT_VPATH_ERR,
|
||||||
VXGE_HW_EVENT_VPATH_ERR,
|
|
||||||
alarm_event);
|
alarm_event);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!skip_alarms) {
|
if (!skip_alarms) {
|
||||||
writeq(VXGE_HW_INTR_MASK_ALL,
|
writeq(VXGE_HW_INTR_MASK_ALL,
|
||||||
&vp_reg->prc_alarm_reg);
|
&vp_reg->prc_alarm_reg);
|
||||||
alarm_event = VXGE_HW_SET_LEVEL(
|
alarm_event = max(VXGE_HW_EVENT_ALARM_CLEARED,
|
||||||
VXGE_HW_EVENT_ALARM_CLEARED,
|
|
||||||
alarm_event);
|
alarm_event);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -110,8 +110,6 @@ enum vxge_hw_event {
|
|||||||
VXGE_HW_EVENT_SLOT_FREEZE = VXGE_HW_EVENT_BASE + 14,
|
VXGE_HW_EVENT_SLOT_FREEZE = VXGE_HW_EVENT_BASE + 14,
|
||||||
};
|
};
|
||||||
|
|
||||||
#define VXGE_HW_SET_LEVEL(a, b) (((a) > (b)) ? (a) : (b))
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* struct vxge_hw_mempool_dma - Represents DMA objects passed to the
|
* struct vxge_hw_mempool_dma - Represents DMA objects passed to the
|
||||||
caller.
|
caller.
|
||||||
|
Loading…
Reference in New Issue
Block a user