ixgbe: Remove CS4227 diagnostic code
Testing has now shown that the diagnostic code used with the CS4227 is no longer needed, so remove it. Signed-off-by: Mark Rustad <mark.d.rustad@intel.com> Tested-by: Darin Miller <darin.j.miller@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
This commit is contained in:
committed by
Jeff Kirsher
parent
ef2662b2a8
commit
d206563ad8
@@ -86,79 +86,6 @@ static s32 ixgbe_write_cs4227(struct ixgbe_hw *hw, u16 reg, u16 value)
|
|||||||
value);
|
value);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* ixgbe_check_cs4227_reg - Perform diag on a CS4227 register
|
|
||||||
* @hw: pointer to hardware structure
|
|
||||||
* @reg: the register to check
|
|
||||||
*
|
|
||||||
* Performs a diagnostic on a register in the CS4227 chip. Returns an error
|
|
||||||
* if it is not operating correctly.
|
|
||||||
* This function assumes that the caller has acquired the proper semaphore.
|
|
||||||
*/
|
|
||||||
static s32 ixgbe_check_cs4227_reg(struct ixgbe_hw *hw, u16 reg)
|
|
||||||
{
|
|
||||||
s32 status;
|
|
||||||
u32 retry;
|
|
||||||
u16 reg_val;
|
|
||||||
|
|
||||||
reg_val = (IXGBE_CS4227_EDC_MODE_DIAG << 1) | 1;
|
|
||||||
status = ixgbe_write_cs4227(hw, reg, reg_val);
|
|
||||||
if (status)
|
|
||||||
return status;
|
|
||||||
for (retry = 0; retry < IXGBE_CS4227_RETRIES; retry++) {
|
|
||||||
msleep(IXGBE_CS4227_CHECK_DELAY);
|
|
||||||
reg_val = 0xFFFF;
|
|
||||||
ixgbe_read_cs4227(hw, reg, ®_val);
|
|
||||||
if (!reg_val)
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
if (reg_val) {
|
|
||||||
hw_err(hw, "CS4227 reg 0x%04X failed diagnostic\n", reg);
|
|
||||||
return status;
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* ixgbe_get_cs4227_status - Return CS4227 status
|
|
||||||
* @hw: pointer to hardware structure
|
|
||||||
*
|
|
||||||
* Performs a diagnostic on the CS4227 chip. Returns an error if it is
|
|
||||||
* not operating correctly.
|
|
||||||
* This function assumes that the caller has acquired the proper semaphore.
|
|
||||||
*/
|
|
||||||
static s32 ixgbe_get_cs4227_status(struct ixgbe_hw *hw)
|
|
||||||
{
|
|
||||||
s32 status;
|
|
||||||
u16 value = 0;
|
|
||||||
|
|
||||||
/* Exit if the diagnostic has already been performed. */
|
|
||||||
status = ixgbe_read_cs4227(hw, IXGBE_CS4227_SCRATCH, &value);
|
|
||||||
if (status)
|
|
||||||
return status;
|
|
||||||
if (value == IXGBE_CS4227_RESET_COMPLETE)
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
/* Check port 0. */
|
|
||||||
status = ixgbe_check_cs4227_reg(hw, IXGBE_CS4227_LINE_SPARE24_LSB);
|
|
||||||
if (status)
|
|
||||||
return status;
|
|
||||||
|
|
||||||
status = ixgbe_check_cs4227_reg(hw, IXGBE_CS4227_HOST_SPARE24_LSB);
|
|
||||||
if (status)
|
|
||||||
return status;
|
|
||||||
|
|
||||||
/* Check port 1. */
|
|
||||||
status = ixgbe_check_cs4227_reg(hw, IXGBE_CS4227_LINE_SPARE24_LSB +
|
|
||||||
(1 << 12));
|
|
||||||
if (status)
|
|
||||||
return status;
|
|
||||||
|
|
||||||
return ixgbe_check_cs4227_reg(hw, IXGBE_CS4227_HOST_SPARE24_LSB +
|
|
||||||
(1 << 12));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ixgbe_read_pe - Read register from port expander
|
* ixgbe_read_pe - Read register from port expander
|
||||||
* @hw: pointer to hardware structure
|
* @hw: pointer to hardware structure
|
||||||
@@ -328,13 +255,6 @@ static void ixgbe_check_cs4227(struct ixgbe_hw *hw)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Is the CS4227 working correctly? */
|
|
||||||
status = ixgbe_get_cs4227_status(hw);
|
|
||||||
if (status) {
|
|
||||||
hw_err(hw, "CS4227 status failed: %d", status);
|
|
||||||
goto out;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Record completion for next time. */
|
/* Record completion for next time. */
|
||||||
status = ixgbe_write_cs4227(hw, IXGBE_CS4227_SCRATCH,
|
status = ixgbe_write_cs4227(hw, IXGBE_CS4227_SCRATCH,
|
||||||
IXGBE_CS4227_RESET_COMPLETE);
|
IXGBE_CS4227_RESET_COMPLETE);
|
||||||
|
|||||||
Reference in New Issue
Block a user