Changeset View
Changeset View
Standalone View
Standalone View
sys/dev/ixgbe/ixgbe_common.c
| Show First 20 Lines • Show All 4,625 Lines • ▼ Show 20 Lines | s32 ixgbe_hic_unlocked(struct ixgbe_hw *hw, u32 *buffer, u32 length, | ||||
| */ | */ | ||||
| for (i = 0; i < dword_len; i++) | for (i = 0; i < dword_len; i++) | ||||
| IXGBE_WRITE_REG_ARRAY(hw, IXGBE_FLEX_MNG, | IXGBE_WRITE_REG_ARRAY(hw, IXGBE_FLEX_MNG, | ||||
| i, IXGBE_CPU_TO_LE32(buffer[i])); | i, IXGBE_CPU_TO_LE32(buffer[i])); | ||||
| /* Setting this bit tells the ARC that a new command is pending. */ | /* Setting this bit tells the ARC that a new command is pending. */ | ||||
| IXGBE_WRITE_REG(hw, IXGBE_HICR, hicr | IXGBE_HICR_C); | IXGBE_WRITE_REG(hw, IXGBE_HICR, hicr | IXGBE_HICR_C); | ||||
| for (i = 0; i < timeout; i++) { | for (i = 0; i < timeout * 1000; i++) { | ||||
| hicr = IXGBE_READ_REG(hw, IXGBE_HICR); | hicr = IXGBE_READ_REG(hw, IXGBE_HICR); | ||||
| if (!(hicr & IXGBE_HICR_C)) | if (!(hicr & IXGBE_HICR_C)) | ||||
| break; | break; | ||||
| msec_delay(1); | usec_delay(1); | ||||
| } | } | ||||
| /* For each command except "Apply Update" perform | /* For each command except "Apply Update" perform | ||||
| * status checks in the HICR registry. | * status checks in the HICR registry. | ||||
| */ | */ | ||||
| if ((buffer[0] & IXGBE_HOST_INTERFACE_MASK_CMD) == | if ((buffer[0] & IXGBE_HOST_INTERFACE_MASK_CMD) == | ||||
| IXGBE_HOST_INTERFACE_APPLY_UPDATE_CMD) | IXGBE_HOST_INTERFACE_APPLY_UPDATE_CMD) | ||||
| return IXGBE_SUCCESS; | return IXGBE_SUCCESS; | ||||
| ▲ Show 20 Lines • Show All 1,232 Lines • Show Last 20 Lines | |||||