Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 150076
b: refs/heads/master
c: a4fe91e
h: refs/heads/master
v: v3
  • Loading branch information
David S. Miller committed Apr 30, 2009
1 parent 1f40c69 commit 0452178
Show file tree
Hide file tree
Showing 3 changed files with 35 additions and 24 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 5974700c288aa160fd02b1cb9294173664bcc172
refs/heads/master: a4fe91ee711f4e955ea85ab05b092cfe384b073e
55 changes: 32 additions & 23 deletions trunk/drivers/net/vxge/vxge-traffic.c
Original file line number Diff line number Diff line change
Expand Up @@ -505,7 +505,7 @@ enum vxge_hw_status vxge_hw_device_begin_irq(struct __vxge_hw_device *hldev,
ret = __vxge_hw_vpath_alarm_process(
&hldev->virtual_paths[i], skip_alarms);

error_level = max(ret, error_level);
error_level = VXGE_HW_SET_LEVEL(ret, error_level);

if (unlikely((ret == VXGE_HW_ERR_CRITICAL) ||
(ret == VXGE_HW_ERR_SLOT_FREEZE)))
Expand Down Expand Up @@ -1921,7 +1921,7 @@ enum vxge_hw_status __vxge_hw_vpath_alarm_process(
struct vxge_hw_vpath_reg __iomem *vp_reg;

if (vpath == NULL) {
alarm_event = max(VXGE_HW_EVENT_UNKNOWN,
alarm_event = VXGE_HW_SET_LEVEL(VXGE_HW_EVENT_UNKNOWN,
alarm_event);
goto out2;
}
Expand All @@ -1931,7 +1931,7 @@ enum vxge_hw_status __vxge_hw_vpath_alarm_process(
alarm_status = readq(&vp_reg->vpath_general_int_status);

if (alarm_status == VXGE_HW_ALL_FOXES) {
alarm_event = max(VXGE_HW_EVENT_SLOT_FREEZE,
alarm_event = VXGE_HW_SET_LEVEL(VXGE_HW_EVENT_SLOT_FREEZE,
alarm_event);
goto out;
}
Expand All @@ -1945,7 +1945,7 @@ enum vxge_hw_status __vxge_hw_vpath_alarm_process(
VXGE_HW_VPATH_GENERAL_INT_STATUS_XMAC_INT)) {
sw_stats->error_stats.unknown_alarms++;

alarm_event = max(VXGE_HW_EVENT_UNKNOWN,
alarm_event = VXGE_HW_SET_LEVEL(VXGE_HW_EVENT_UNKNOWN,
alarm_event);
goto out;
}
Expand Down Expand Up @@ -1975,8 +1975,8 @@ enum vxge_hw_status __vxge_hw_vpath_alarm_process(
&vp_reg->asic_ntwk_vp_err_mask);

__vxge_hw_device_handle_link_down_ind(hldev);
alarm_event = max(VXGE_HW_EVENT_LINK_DOWN,
alarm_event);
alarm_event = VXGE_HW_SET_LEVEL(
VXGE_HW_EVENT_LINK_DOWN, alarm_event);
}

if (((val64 &
Expand All @@ -1996,15 +1996,15 @@ enum vxge_hw_status __vxge_hw_vpath_alarm_process(
&vp_reg->asic_ntwk_vp_err_mask);

__vxge_hw_device_handle_link_up_ind(hldev);
alarm_event = max(VXGE_HW_EVENT_LINK_UP,
alarm_event);
alarm_event = VXGE_HW_SET_LEVEL(
VXGE_HW_EVENT_LINK_UP, alarm_event);
}

writeq(VXGE_HW_INTR_MASK_ALL,
&vp_reg->asic_ntwk_vp_err_reg);

alarm_event = max(VXGE_HW_EVENT_ALARM_CLEARED,
alarm_event);
alarm_event = VXGE_HW_SET_LEVEL(
VXGE_HW_EVENT_ALARM_CLEARED, alarm_event);

if (skip_alarms)
return VXGE_HW_OK;
Expand All @@ -2026,17 +2026,17 @@ enum vxge_hw_status __vxge_hw_vpath_alarm_process(
~mask64) {
sw_stats->error_stats.ini_serr_det++;

alarm_event = max(VXGE_HW_EVENT_SERR,
alarm_event);
alarm_event = VXGE_HW_SET_LEVEL(
VXGE_HW_EVENT_SERR, alarm_event);
}

if ((val64 &
VXGE_HW_GENERAL_ERRORS_REG_DBLGEN_FIFO0_OVRFLOW) &
~mask64) {
sw_stats->error_stats.dblgen_fifo0_overflow++;

alarm_event = max(VXGE_HW_EVENT_FIFO_ERR,
alarm_event);
alarm_event = VXGE_HW_SET_LEVEL(
VXGE_HW_EVENT_FIFO_ERR, alarm_event);
}

if ((val64 &
Expand All @@ -2057,7 +2057,8 @@ enum vxge_hw_status __vxge_hw_vpath_alarm_process(
if (!skip_alarms) {
writeq(VXGE_HW_INTR_MASK_ALL,
&vp_reg->general_errors_reg);
alarm_event = max(VXGE_HW_EVENT_ALARM_CLEARED,
alarm_event = VXGE_HW_SET_LEVEL(
VXGE_HW_EVENT_ALARM_CLEARED,
alarm_event);
}
}
Expand All @@ -2073,7 +2074,8 @@ enum vxge_hw_status __vxge_hw_vpath_alarm_process(
~mask64) {
sw_stats->error_stats.kdfcctl_fifo0_overwrite++;

alarm_event = max(VXGE_HW_EVENT_FIFO_ERR,
alarm_event = VXGE_HW_SET_LEVEL(
VXGE_HW_EVENT_FIFO_ERR,
alarm_event);
}

Expand All @@ -2082,7 +2084,8 @@ enum vxge_hw_status __vxge_hw_vpath_alarm_process(
~mask64) {
sw_stats->error_stats.kdfcctl_fifo0_poison++;

alarm_event = max(VXGE_HW_EVENT_FIFO_ERR,
alarm_event = VXGE_HW_SET_LEVEL(
VXGE_HW_EVENT_FIFO_ERR,
alarm_event);
}

Expand All @@ -2091,14 +2094,16 @@ enum vxge_hw_status __vxge_hw_vpath_alarm_process(
~mask64) {
sw_stats->error_stats.kdfcctl_fifo0_dma_error++;

alarm_event = max(VXGE_HW_EVENT_FIFO_ERR,
alarm_event = VXGE_HW_SET_LEVEL(
VXGE_HW_EVENT_FIFO_ERR,
alarm_event);
}

if (!skip_alarms) {
writeq(VXGE_HW_INTR_MASK_ALL,
&vp_reg->kdfcctl_errors_reg);
alarm_event = max(VXGE_HW_EVENT_ALARM_CLEARED,
alarm_event = VXGE_HW_SET_LEVEL(
VXGE_HW_EVENT_ALARM_CLEARED,
alarm_event);
}
}
Expand All @@ -2122,30 +2127,34 @@ enum vxge_hw_status __vxge_hw_vpath_alarm_process(
~mask64) {
sw_stats->error_stats.prc_rxdcm_sc_err++;

alarm_event = max(VXGE_HW_EVENT_VPATH_ERR,
alarm_event = VXGE_HW_SET_LEVEL(
VXGE_HW_EVENT_VPATH_ERR,
alarm_event);
}

if ((val64 & VXGE_HW_PRC_ALARM_REG_PRC_RXDCM_SC_ABORT)
& ~mask64) {
sw_stats->error_stats.prc_rxdcm_sc_abort++;

alarm_event = max(VXGE_HW_EVENT_VPATH_ERR,
alarm_event = VXGE_HW_SET_LEVEL(
VXGE_HW_EVENT_VPATH_ERR,
alarm_event);
}

if ((val64 & VXGE_HW_PRC_ALARM_REG_PRC_QUANTA_SIZE_ERR)
& ~mask64) {
sw_stats->error_stats.prc_quanta_size_err++;

alarm_event = max(VXGE_HW_EVENT_VPATH_ERR,
alarm_event = VXGE_HW_SET_LEVEL(
VXGE_HW_EVENT_VPATH_ERR,
alarm_event);
}

if (!skip_alarms) {
writeq(VXGE_HW_INTR_MASK_ALL,
&vp_reg->prc_alarm_reg);
alarm_event = max(VXGE_HW_EVENT_ALARM_CLEARED,
alarm_event = VXGE_HW_SET_LEVEL(
VXGE_HW_EVENT_ALARM_CLEARED,
alarm_event);
}
}
Expand Down
2 changes: 2 additions & 0 deletions trunk/drivers/net/vxge/vxge-traffic.h
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,8 @@ enum vxge_hw_event {
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
caller.
Expand Down

0 comments on commit 0452178

Please sign in to comment.