From nobody Mon Apr 28 03:25:24 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zm83B04bLz5tknQ; Mon, 28 Apr 2025 03:25:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zm8385qfHz3ckg; Mon, 28 Apr 2025 03:25:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745810724; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sFL+iY5QrWVB1Cd0nvn+U97H5FpJhNY3RPv5Byphd2g=; b=mqTaajY+PIq57el0IOxwLxNCTexqJ0jGwj5octessdtRabualrylYQK/9glzge50oWuxvM JbSs7cM1a0nbACcYNiDsV3WI8SXtpQtxAk6hJdSgRhDzqOr117rw/J7rYN+jhyuwJcUYdJ 0J8ccV8aqhLeU65vVVJfYQLu5ExaGjo2jhatUrnVRDzPQYKkzRD5ZOZiXYXxZBP26z7npj XNt1wHvEhrumb164V4wuOEJKLJMpgkYTSnr6wUFyf2I3Z2NHKGLN+7BMhhC1yCEMjwhneY prfvWATUcexfkd07/ZHiPMxuv2NAjTtdtYrhQTzikReCiRBMwedmQjUIaGdzKA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745810724; a=rsa-sha256; cv=none; b=r5UK06qtLIZbihdSMBqD95ZdJ+7VigCkCgxH+n6S9P2JriZqffSmZ0tCUh7aT0eHaM/zJK h3x3NsyeSKpeEZ3ItF6xFqt6SiKCaPTz2atzleNgt/jK7avoHnYFVd0etovX4/VzXiblCJ Jf6ashlMLw89r6sT/6ETpxDi/aKKOatXvglbUtjJXCXe9o0KxK9yHF3k60XTQ/AoLo4yKy Ok9dsQy5Vxb/hbY5rJlp1kF8Xx5I6zFaAKGjDmpd4XmlnZ2tUkCfCUikugf3kKQhdJ6VTR jlWPsoEcW8ff0F9LGAntb7fzF+6QF79pEAxljeF5iCnZAKPatABi7uXiGJxa6A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745810724; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sFL+iY5QrWVB1Cd0nvn+U97H5FpJhNY3RPv5Byphd2g=; b=RxsLKQvyvJ7IEV9RBQgPNyk27CD70Qf8eWpPPahKhjGiKppksXZc2eMkWeSYUDEnLlN7sG ubErGb/TbF7inBEojbSQvy77N7l9g+hnpes/Sh+bEYjcyqGM0wvhRn3WD70lf7LqU+Y/Wv Te8znIcG+vHU+tq/hiWFUQoVyxHyyRXr8nCa79vszwT8u9nHnTw8hKc9B3UN0yI4hb/2fq A7uegL54kh1qIxZDzV4S1JbD4Mfv56zEHM6ju4HvzD7PLIFBTIz38DTdXUlBX9SE8+JzkP SqBEvBFtw4DCor0GBdeQRghbaZr1Qvs9Q8GqEUxGMKeRQloPAPpF3d0TTBs9vA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zm8383yVsz3ZT; Mon, 28 Apr 2025 03:25:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 53S3POaE014843; Mon, 28 Apr 2025 03:25:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53S3POh3014840; Mon, 28 Apr 2025 03:25:24 GMT (envelope-from git) Date: Mon, 28 Apr 2025 03:25:24 GMT Message-Id: <202504280325.53S3POh3014840@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: b854677d970a - main - mpi3mr: Enable Diag Save for All Diagnostic Fault Cases List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b854677d970a11e87929fa95d0e4067f911faa62 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=b854677d970a11e87929fa95d0e4067f911faa62 commit b854677d970a11e87929fa95d0e4067f911faa62 Author: Chandrakanth patil AuthorDate: 2025-04-27 23:40:04 +0000 Commit: Warner Losh CommitDate: 2025-04-28 03:22:56 +0000 mpi3mr: Enable Diag Save for All Diagnostic Fault Cases This patch ensures the driver sets the Diag Save bit for all diagnostic fault conditions before issuing a Diagnostic Fault Reset. The firmware now incorporates logic to manage snapdump saving and requires the driver to always set the Diag Save bit to enable this feature. This change supports improved diagnostic data collection and fault handling. Reviewed by: ssaxena, imp Differential Revision: https://reviews.freebsd.org/D49750 --- sys/dev/mpi3mr/mpi3mr.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/sys/dev/mpi3mr/mpi3mr.c b/sys/dev/mpi3mr/mpi3mr.c index 398569a3963c..26c0cb06282a 100644 --- a/sys/dev/mpi3mr/mpi3mr.c +++ b/sys/dev/mpi3mr/mpi3mr.c @@ -6213,6 +6213,9 @@ static int mpi3mr_issue_reset(struct mpi3mr_softc *sc, U16 reset_type, unlock_retry_count, host_diagnostic); } while (!(host_diagnostic & MPI3_SYSIF_HOST_DIAG_DIAG_WRITE_ENABLE)); + if (reset_type == MPI3_SYSIF_HOST_DIAG_RESET_ACTION_DIAG_FAULT) + mpi3mr_set_diagsave(sc); + scratch_pad0 = ((MPI3MR_RESET_REASON_OSTYPE_FREEBSD << MPI3MR_RESET_REASON_OSTYPE_SHIFT) | (sc->facts.ioc_num << @@ -6406,10 +6409,14 @@ out: mpi3mr_app_send_aen(sc); } } else { - mpi3mr_issue_reset(sc, - MPI3_SYSIF_HOST_DIAG_RESET_ACTION_DIAG_FAULT, reset_reason); + ioc_state = mpi3mr_get_iocstate(sc); + if (ioc_state != MRIOC_STATE_FAULT) + mpi3mr_issue_reset(sc, + MPI3_SYSIF_HOST_DIAG_RESET_ACTION_DIAG_FAULT, reset_reason); + sc->unrecoverable = 1; sc->reset_in_progress = 0; + sc->block_ioctls = 0; } mpi3mr_dprint(sc, MPI3MR_INFO, "Soft Reset: %s\n", ((retval == 0) ? "SUCCESS" : "FAILED"));