Skip to content

Commit cd248a9

Browse files
Bikash Hazarikamartinkpetersen
authored andcommitted
scsi: qla2xxx: Add logs for SFP temperature monitoring
Add logs for SFP Temperature Alert async event to check if laser is enabled/disabled. Signed-off-by: Bikash Hazarika <bhazarika@marvell.com> Signed-off-by: Nilesh Javali <njavali@marvell.com> Link: https://lore.kernel.org/r/20230821130045.34850-5-njavali@marvell.com Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
1 parent e370b64 commit cd248a9

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed

drivers/scsi/qla2xxx/qla_isr.c

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,22 @@ const char *const port_state_str[] = {
5656
[FCS_ONLINE] = "ONLINE"
5757
};
5858

59+
#define SFP_DISABLE_LASER_INITIATED 0x15 /* Sub code of 8070 AEN */
60+
#define SFP_ENABLE_LASER_INITIATED 0x16 /* Sub code of 8070 AEN */
61+
62+
static inline void display_Laser_info(scsi_qla_host_t *vha,
63+
u16 mb1, u16 mb2, u16 mb3) {
64+
65+
if (mb1 == SFP_DISABLE_LASER_INITIATED)
66+
ql_log(ql_log_warn, vha, 0xf0a2,
67+
"SFP temperature (%d C) reached/exceeded the threshold (%d C). Laser is disabled.\n",
68+
mb3, mb2);
69+
if (mb1 == SFP_ENABLE_LASER_INITIATED)
70+
ql_log(ql_log_warn, vha, 0xf0a3,
71+
"SFP temperature (%d C) reached normal operating level. Laser is enabled.\n",
72+
mb3);
73+
}
74+
5975
static void
6076
qla24xx_process_abts(struct scsi_qla_host *vha, struct purex_item *pkt)
6177
{
@@ -1927,6 +1943,8 @@ qla2x00_async_event(scsi_qla_host_t *vha, struct rsp_que *rsp, uint16_t *mb)
19271943
break;
19281944

19291945
case MBA_TEMPERATURE_ALERT:
1946+
if (IS_QLA27XX(ha) || IS_QLA28XX(ha))
1947+
display_Laser_info(vha, mb[1], mb[2], mb[3]);
19301948
ql_dbg(ql_dbg_async, vha, 0x505e,
19311949
"TEMPERATURE ALERT: %04x %04x %04x\n", mb[1], mb[2], mb[3]);
19321950
break;

0 commit comments

Comments
 (0)