mirror of
https://github.com/SCST-project/scst.git
synced 2026-05-17 10:41:26 +00:00
qla2x00t-32gbit: Add D-Port Diagnostic reason explanation logs
This patch adds more details when D-Port diag async event is generated by the firmware. Link: https://lore.kernel.org/r/20191217220617.28084-7-hmadhani@marvell.com Signed-off-by: Joe Carnuccio <joe.carnuccio@cavium.com> Signed-off-by: Himanshu Madhani <hmadhani@marvell.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com> [ commit 425215647fc53ba183026e03206fa86fe5a4f542 upstream ] git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8747 d57e44dd-8a1f-0410-8b47-8ef2f437770f
This commit is contained in:
@@ -1264,11 +1264,33 @@ global_port_update:
|
||||
|
||||
case MBA_DPORT_DIAGNOSTICS:
|
||||
ql_dbg(ql_dbg_async, vha, 0x5052,
|
||||
"D-Port Diagnostics: %04x result=%s\n",
|
||||
mb[0],
|
||||
mb[1] == 0 ? "start" :
|
||||
mb[1] == 1 ? "done (pass)" :
|
||||
mb[1] == 2 ? "done (error)" : "other");
|
||||
"D-Port Diagnostics: %04x %04x %04x %04x\n",
|
||||
mb[0], mb[1], mb[2], mb[3]);
|
||||
if (IS_QLA83XX(ha) || IS_QLA27XX(ha) || IS_QLA28XX(ha)) {
|
||||
static char *results[] = {
|
||||
"start", "done(pass)", "done(error)", "undefined" };
|
||||
static char *types[] = {
|
||||
"none", "dynamic", "static", "other" };
|
||||
uint result = mb[1] >> 0 & 0x3;
|
||||
uint type = mb[1] >> 6 & 0x3;
|
||||
uint sw = mb[1] >> 15 & 0x1;
|
||||
ql_dbg(ql_dbg_async, vha, 0x5052,
|
||||
"D-Port Diagnostics: result=%s type=%s [sw=%u]\n",
|
||||
results[result], types[type], sw);
|
||||
if (result == 2) {
|
||||
static char *reasons[] = {
|
||||
"reserved", "unexpected reject",
|
||||
"unexpected phase", "retry exceeded",
|
||||
"timed out", "not supported",
|
||||
"user stopped" };
|
||||
uint reason = mb[2] >> 0 & 0xf;
|
||||
uint phase = mb[2] >> 12 & 0xf;
|
||||
ql_dbg(ql_dbg_async, vha, 0x5052,
|
||||
"D-Port Diagnostics: reason=%s phase=%u \n",
|
||||
reason < 7 ? reasons[reason] : "other",
|
||||
phase >> 1);
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case MBA_TEMPERATURE_ALERT:
|
||||
|
||||
Reference in New Issue
Block a user