IB/qib: Remove remaining code related to writing the EEPROM
Due to removal of the EEPROM writing code, the qib_inc_eeprom_err()
macro became a no-op. Remove the code that calls it. Since that
change removes all code that reads the eep_st_masks array, also
remove the code that updates that array and the array itself.
References: commit 18c0b82a3e
("IB/qib: Do not write EEPROM")
Signed-off-by: Bart Van Assche <bart.vanassche@wdc.com>
Cc: Mike Marciniszyn <infinipath@intel.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
This commit is contained in:
Родитель
1b8a708bba
Коммит
66392615dc
|
@ -101,18 +101,6 @@ extern const struct pci_error_handlers qib_pci_err_handler;
|
||||||
*/
|
*/
|
||||||
#define QIB_TRAFFIC_ACTIVE_THRESHOLD (2000)
|
#define QIB_TRAFFIC_ACTIVE_THRESHOLD (2000)
|
||||||
|
|
||||||
/*
|
|
||||||
* Struct used to indicate which errors are logged in each of the
|
|
||||||
* error-counters that are logged to EEPROM. A counter is incremented
|
|
||||||
* _once_ (saturating at 255) for each event with any bits set in
|
|
||||||
* the error or hwerror register masks below.
|
|
||||||
*/
|
|
||||||
#define QIB_EEP_LOG_CNT (4)
|
|
||||||
struct qib_eep_log_mask {
|
|
||||||
u64 errs_to_log;
|
|
||||||
u64 hwerrs_to_log;
|
|
||||||
};
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Below contains all data related to a single context (formerly called port).
|
* Below contains all data related to a single context (formerly called port).
|
||||||
*/
|
*/
|
||||||
|
@ -1079,11 +1067,6 @@ struct qib_devdata {
|
||||||
/* control high-level access to EEPROM */
|
/* control high-level access to EEPROM */
|
||||||
struct mutex eep_lock;
|
struct mutex eep_lock;
|
||||||
uint64_t traffic_wds;
|
uint64_t traffic_wds;
|
||||||
/*
|
|
||||||
* masks for which bits of errs, hwerrs that cause
|
|
||||||
* each of the counters to increment.
|
|
||||||
*/
|
|
||||||
struct qib_eep_log_mask eep_st_masks[QIB_EEP_LOG_CNT];
|
|
||||||
struct qib_diag_client *diag_client;
|
struct qib_diag_client *diag_client;
|
||||||
spinlock_t qib_diag_trans_lock; /* protect diag observer ops */
|
spinlock_t qib_diag_trans_lock; /* protect diag observer ops */
|
||||||
struct diag_observer_list_elt *diag_observer_list;
|
struct diag_observer_list_elt *diag_observer_list;
|
||||||
|
@ -1297,7 +1280,6 @@ int qib_twsi_blk_rd(struct qib_devdata *dd, int dev, int addr, void *buffer,
|
||||||
int qib_twsi_blk_wr(struct qib_devdata *dd, int dev, int addr,
|
int qib_twsi_blk_wr(struct qib_devdata *dd, int dev, int addr,
|
||||||
const void *buffer, int len);
|
const void *buffer, int len);
|
||||||
void qib_get_eeprom_info(struct qib_devdata *);
|
void qib_get_eeprom_info(struct qib_devdata *);
|
||||||
#define qib_inc_eeprom_err(dd, eidx, incr)
|
|
||||||
void qib_dump_lookup_output_queue(struct qib_devdata *);
|
void qib_dump_lookup_output_queue(struct qib_devdata *);
|
||||||
void qib_force_pio_avail_update(struct qib_devdata *);
|
void qib_force_pio_avail_update(struct qib_devdata *);
|
||||||
void qib_clear_symerror_on_linkup(unsigned long opaque);
|
void qib_clear_symerror_on_linkup(unsigned long opaque);
|
||||||
|
|
|
@ -748,7 +748,6 @@ static void qib_handle_6120_hwerrors(struct qib_devdata *dd, char *msg,
|
||||||
u32 bits, ctrl;
|
u32 bits, ctrl;
|
||||||
int isfatal = 0;
|
int isfatal = 0;
|
||||||
char *bitsmsg;
|
char *bitsmsg;
|
||||||
int log_idx;
|
|
||||||
|
|
||||||
hwerrs = qib_read_kreg64(dd, kr_hwerrstatus);
|
hwerrs = qib_read_kreg64(dd, kr_hwerrstatus);
|
||||||
if (!hwerrs)
|
if (!hwerrs)
|
||||||
|
@ -770,11 +769,6 @@ static void qib_handle_6120_hwerrors(struct qib_devdata *dd, char *msg,
|
||||||
|
|
||||||
hwerrs &= dd->cspec->hwerrmask;
|
hwerrs &= dd->cspec->hwerrmask;
|
||||||
|
|
||||||
/* We log some errors to EEPROM, check if we have any of those. */
|
|
||||||
for (log_idx = 0; log_idx < QIB_EEP_LOG_CNT; ++log_idx)
|
|
||||||
if (hwerrs & dd->eep_st_masks[log_idx].hwerrs_to_log)
|
|
||||||
qib_inc_eeprom_err(dd, log_idx, 1);
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Make sure we get this much out, unless told to be quiet,
|
* Make sure we get this much out, unless told to be quiet,
|
||||||
* or it's occurred within the last 5 seconds.
|
* or it's occurred within the last 5 seconds.
|
||||||
|
@ -1004,7 +998,6 @@ static void handle_6120_errors(struct qib_devdata *dd, u64 errs)
|
||||||
char *msg;
|
char *msg;
|
||||||
u64 ignore_this_time = 0;
|
u64 ignore_this_time = 0;
|
||||||
u64 iserr = 0;
|
u64 iserr = 0;
|
||||||
int log_idx;
|
|
||||||
struct qib_pportdata *ppd = dd->pport;
|
struct qib_pportdata *ppd = dd->pport;
|
||||||
u64 mask;
|
u64 mask;
|
||||||
|
|
||||||
|
@ -1015,10 +1008,6 @@ static void handle_6120_errors(struct qib_devdata *dd, u64 errs)
|
||||||
/* do these first, they are most important */
|
/* do these first, they are most important */
|
||||||
if (errs & ERR_MASK(HardwareErr))
|
if (errs & ERR_MASK(HardwareErr))
|
||||||
qib_handle_6120_hwerrors(dd, msg, sizeof(dd->cspec->emsgbuf));
|
qib_handle_6120_hwerrors(dd, msg, sizeof(dd->cspec->emsgbuf));
|
||||||
else
|
|
||||||
for (log_idx = 0; log_idx < QIB_EEP_LOG_CNT; ++log_idx)
|
|
||||||
if (errs & dd->eep_st_masks[log_idx].errs_to_log)
|
|
||||||
qib_inc_eeprom_err(dd, log_idx, 1);
|
|
||||||
|
|
||||||
if (errs & ~IB_E_BITSEXTANT)
|
if (errs & ~IB_E_BITSEXTANT)
|
||||||
qib_dev_err(dd,
|
qib_dev_err(dd,
|
||||||
|
@ -3227,20 +3216,6 @@ static int init_6120_variables(struct qib_devdata *dd)
|
||||||
if (qib_unordered_wc())
|
if (qib_unordered_wc())
|
||||||
dd->flags |= QIB_PIO_FLUSH_WC;
|
dd->flags |= QIB_PIO_FLUSH_WC;
|
||||||
|
|
||||||
/*
|
|
||||||
* EEPROM error log 0 is TXE Parity errors. 1 is RXE Parity.
|
|
||||||
* 2 is Some Misc, 3 is reserved for future.
|
|
||||||
*/
|
|
||||||
dd->eep_st_masks[0].hwerrs_to_log = HWE_MASK(TXEMemParityErr);
|
|
||||||
|
|
||||||
/* Ignore errors in PIO/PBC on systems with unordered write-combining */
|
|
||||||
if (qib_unordered_wc())
|
|
||||||
dd->eep_st_masks[0].hwerrs_to_log &= ~TXE_PIO_PARITY;
|
|
||||||
|
|
||||||
dd->eep_st_masks[1].hwerrs_to_log = HWE_MASK(RXEMemParityErr);
|
|
||||||
|
|
||||||
dd->eep_st_masks[2].errs_to_log = ERR_MASK(ResetNegated);
|
|
||||||
|
|
||||||
ret = qib_init_pportdata(ppd, dd, 0, 1);
|
ret = qib_init_pportdata(ppd, dd, 0, 1);
|
||||||
if (ret)
|
if (ret)
|
||||||
goto bail;
|
goto bail;
|
||||||
|
|
|
@ -1094,7 +1094,6 @@ static void handle_7220_errors(struct qib_devdata *dd, u64 errs)
|
||||||
char *msg;
|
char *msg;
|
||||||
u64 ignore_this_time = 0;
|
u64 ignore_this_time = 0;
|
||||||
u64 iserr = 0;
|
u64 iserr = 0;
|
||||||
int log_idx;
|
|
||||||
struct qib_pportdata *ppd = dd->pport;
|
struct qib_pportdata *ppd = dd->pport;
|
||||||
u64 mask;
|
u64 mask;
|
||||||
|
|
||||||
|
@ -1105,10 +1104,6 @@ static void handle_7220_errors(struct qib_devdata *dd, u64 errs)
|
||||||
/* do these first, they are most important */
|
/* do these first, they are most important */
|
||||||
if (errs & ERR_MASK(HardwareErr))
|
if (errs & ERR_MASK(HardwareErr))
|
||||||
qib_7220_handle_hwerrors(dd, msg, sizeof(dd->cspec->emsgbuf));
|
qib_7220_handle_hwerrors(dd, msg, sizeof(dd->cspec->emsgbuf));
|
||||||
else
|
|
||||||
for (log_idx = 0; log_idx < QIB_EEP_LOG_CNT; ++log_idx)
|
|
||||||
if (errs & dd->eep_st_masks[log_idx].errs_to_log)
|
|
||||||
qib_inc_eeprom_err(dd, log_idx, 1);
|
|
||||||
|
|
||||||
if (errs & QLOGIC_IB_E_SDMAERRS)
|
if (errs & QLOGIC_IB_E_SDMAERRS)
|
||||||
sdma_7220_errors(ppd, errs);
|
sdma_7220_errors(ppd, errs);
|
||||||
|
@ -1302,7 +1297,6 @@ static void qib_7220_handle_hwerrors(struct qib_devdata *dd, char *msg,
|
||||||
u32 bits, ctrl;
|
u32 bits, ctrl;
|
||||||
int isfatal = 0;
|
int isfatal = 0;
|
||||||
char *bitsmsg;
|
char *bitsmsg;
|
||||||
int log_idx;
|
|
||||||
|
|
||||||
hwerrs = qib_read_kreg64(dd, kr_hwerrstatus);
|
hwerrs = qib_read_kreg64(dd, kr_hwerrstatus);
|
||||||
if (!hwerrs)
|
if (!hwerrs)
|
||||||
|
@ -1326,10 +1320,6 @@ static void qib_7220_handle_hwerrors(struct qib_devdata *dd, char *msg,
|
||||||
|
|
||||||
hwerrs &= dd->cspec->hwerrmask;
|
hwerrs &= dd->cspec->hwerrmask;
|
||||||
|
|
||||||
/* We log some errors to EEPROM, check if we have any of those. */
|
|
||||||
for (log_idx = 0; log_idx < QIB_EEP_LOG_CNT; ++log_idx)
|
|
||||||
if (hwerrs & dd->eep_st_masks[log_idx].hwerrs_to_log)
|
|
||||||
qib_inc_eeprom_err(dd, log_idx, 1);
|
|
||||||
if (hwerrs & ~(TXEMEMPARITYERR_PIOBUF | TXEMEMPARITYERR_PIOPBC |
|
if (hwerrs & ~(TXEMEMPARITYERR_PIOBUF | TXEMEMPARITYERR_PIOPBC |
|
||||||
RXE_PARITY))
|
RXE_PARITY))
|
||||||
qib_devinfo(dd->pcidev,
|
qib_devinfo(dd->pcidev,
|
||||||
|
@ -4016,16 +4006,6 @@ static int qib_init_7220_variables(struct qib_devdata *dd)
|
||||||
dd->flags |= qib_special_trigger ?
|
dd->flags |= qib_special_trigger ?
|
||||||
QIB_USE_SPCL_TRIG : QIB_HAS_SEND_DMA;
|
QIB_USE_SPCL_TRIG : QIB_HAS_SEND_DMA;
|
||||||
|
|
||||||
/*
|
|
||||||
* EEPROM error log 0 is TXE Parity errors. 1 is RXE Parity.
|
|
||||||
* 2 is Some Misc, 3 is reserved for future.
|
|
||||||
*/
|
|
||||||
dd->eep_st_masks[0].hwerrs_to_log = HWE_MASK(TXEMemParityErr);
|
|
||||||
|
|
||||||
dd->eep_st_masks[1].hwerrs_to_log = HWE_MASK(RXEMemParityErr);
|
|
||||||
|
|
||||||
dd->eep_st_masks[2].errs_to_log = ERR_MASK(ResetNegated);
|
|
||||||
|
|
||||||
init_waitqueue_head(&cpspec->autoneg_wait);
|
init_waitqueue_head(&cpspec->autoneg_wait);
|
||||||
INIT_DELAYED_WORK(&cpspec->autoneg_work, autoneg_7220_work);
|
INIT_DELAYED_WORK(&cpspec->autoneg_work, autoneg_7220_work);
|
||||||
|
|
||||||
|
|
|
@ -1644,7 +1644,6 @@ static noinline void handle_7322_errors(struct qib_devdata *dd)
|
||||||
u64 iserr = 0;
|
u64 iserr = 0;
|
||||||
u64 errs;
|
u64 errs;
|
||||||
u64 mask;
|
u64 mask;
|
||||||
int log_idx;
|
|
||||||
|
|
||||||
qib_stats.sps_errints++;
|
qib_stats.sps_errints++;
|
||||||
errs = qib_read_kreg64(dd, kr_errstatus);
|
errs = qib_read_kreg64(dd, kr_errstatus);
|
||||||
|
@ -1662,10 +1661,7 @@ static noinline void handle_7322_errors(struct qib_devdata *dd)
|
||||||
if (errs & QIB_E_HARDWARE) {
|
if (errs & QIB_E_HARDWARE) {
|
||||||
*msg = '\0';
|
*msg = '\0';
|
||||||
qib_7322_handle_hwerrors(dd, msg, sizeof(dd->cspec->emsgbuf));
|
qib_7322_handle_hwerrors(dd, msg, sizeof(dd->cspec->emsgbuf));
|
||||||
} else
|
}
|
||||||
for (log_idx = 0; log_idx < QIB_EEP_LOG_CNT; ++log_idx)
|
|
||||||
if (errs & dd->eep_st_masks[log_idx].errs_to_log)
|
|
||||||
qib_inc_eeprom_err(dd, log_idx, 1);
|
|
||||||
|
|
||||||
if (errs & QIB_E_SPKTERRS) {
|
if (errs & QIB_E_SPKTERRS) {
|
||||||
qib_disarm_7322_senderrbufs(dd->pport);
|
qib_disarm_7322_senderrbufs(dd->pport);
|
||||||
|
|
Загрузка…
Ссылка в новой задаче