From nobody Wed Apr 30 17:21:57 2025 X-Original-To: dev-commits-src-all@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 4ZnkWT4sDzz5thmq; Wed, 30 Apr 2025 17:21:57 +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 4ZnkWT2zCkz3Mb7; Wed, 30 Apr 2025 17:21:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1746033717; 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=xMwYA3Y50u+k2m1h3aCzqSCecM5AFYedyuE6R1L3/cI=; b=iH2eGA0O/AcUve2EaB5ZfKNXJ5rs3F3RKRenukAkuF4p/EYJM6rA7RVP/8iBzwMfDC0Z/J yS8odJyw8YeGaSVa+d1RJjHpO7XKehsxPo1v75imb3XESo3jL3xC+2qVIFA/oKeCszIx81 0RNpjGrps78jOGks7bzdyeN/r87fOSnHTbx5cJFQBycOgpCbAXmtldbu8CzcXQ7B667lHZ 61mcOYW9fBrq5xsLxyaexhRwMvPaoa3IFk2E9o95HOzmyZM7PeCuPnvjKCJdhIUkNWE89B YsC6kSolmGDHReVIBEFx2LithWgzxW8jnrNSjfBAsVw+u+5x/kJ1a9dqURAFVg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1746033717; a=rsa-sha256; cv=none; b=EqBPl18LPpxA/EKKRw6BMfPx5lASBX3t1/UNPmpyQzLEvq6XQkQ/dPqUNiznlziHPVAnSn pgSwW6dzki+Cdj2+gd6nnWzo1A1qsXVJx02jhUox5BcUT4wq6Dr+c/+6Rmv9D2tIPZDKFs jkHHKDKxhzv3vtlHyC9ZMEBJ0C/3kndUN6FYVbLOwQCHqLvch8zDyC2mAuv0VnwlXE+NlL zvszWGim665gdQ59a1PmQxY9m8R0hH2HrqVuoy4Bu28j6IRBDHyKwTaKoZEFQgy7RHQTST 0HCdRArw560/3pC7P7YWehei/102P4quCkv4frXecBaVhBPAeCuzBZ235ytKQg== 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=1746033717; 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=xMwYA3Y50u+k2m1h3aCzqSCecM5AFYedyuE6R1L3/cI=; b=d/c66q6IsSG6xmiAM8VGQhpcA0YwLUOf807x42l/j3pvXy/PwD3vF3BsJ3qYy1KrgpWdV6 rj8Hk2hE+MXolYc4ROSsRtRmaJ3KCklyk60+amqfir23qFsadooLhRQ/Q85Mu7q2oh70lP 1B+DVL96n3xwlzqQugVWidIhVW871qMzcCZW+XlozKVJ6kqRTgNK3FrWVT0bpKlKRrs1sy v0iAxyVfKlCGJ0pQQwQaXZErHVei7WxpF8/F1WT47nf9KOastYWM0rabN6iZWzQtdp9uqT Oma9be9DptzrB84bCUevDImpqlX7JYrY6YknF6z+6AyXoHh8ppUkv+jzxhK66Q== 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 4ZnkWT1pxrz9g; Wed, 30 Apr 2025 17:21:57 +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 53UHLvGQ095465; Wed, 30 Apr 2025 17:21:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53UHLvs5095462; Wed, 30 Apr 2025 17:21:57 GMT (envelope-from git) Date: Wed, 30 Apr 2025 17:21:57 GMT Message-Id: <202504301721.53UHLvs5095462@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Warner Losh Subject: git: 07070742fa71 - stable/14 - mpi3mr: Process LOG Data Events in Interrupt Top Half for Early Notification List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 07070742fa7159368621baae6d547656e4b4752f Auto-Submitted: auto-generated The branch stable/14 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=07070742fa7159368621baae6d547656e4b4752f commit 07070742fa7159368621baae6d547656e4b4752f Author: Chandrakanth patil AuthorDate: 2025-04-27 23:40:14 +0000 Commit: Warner Losh CommitDate: 2025-04-30 17:05:53 +0000 mpi3mr: Process LOG Data Events in Interrupt Top Half for Early Notification The driver now processes LOG Data events in the interrupt top half instead of the bottom half. This allows LOG events to be handled immediately upon receipt, reducing latency and enabling early notification to the Library or applications. This change ensures LOG event handling occurs closer to the firmware's generation point, improving alignment with event-driven diagnostic and monitoring mechanisms. Reviewed by: ssaxena, imp Differential Revision: https://reviews.freebsd.org/D49751 (cherry picked from commit df8a74fca036a0ba8026f3ae3da830dffb922faa) --- sys/dev/mpi3mr/mpi3mr.c | 7 ++++++- sys/dev/mpi3mr/mpi3mr_cam.c | 13 ------------- 2 files changed, 6 insertions(+), 14 deletions(-) diff --git a/sys/dev/mpi3mr/mpi3mr.c b/sys/dev/mpi3mr/mpi3mr.c index 5c4df9cef0b6..e18fc0a9df74 100644 --- a/sys/dev/mpi3mr/mpi3mr.c +++ b/sys/dev/mpi3mr/mpi3mr.c @@ -4385,11 +4385,16 @@ static void mpi3mr_process_events(struct mpi3mr_softc *sc, break; } case MPI3_EVENT_DEVICE_INFO_CHANGED: - case MPI3_EVENT_LOG_DATA: { process_evt_bh = 1; break; } + case MPI3_EVENT_LOG_DATA: + { + mpi3mr_app_save_logdata(sc, (char*)event_reply->EventData, + le16toh(event_reply->EventDataLength) * 4); + break; + } case MPI3_EVENT_ENERGY_PACK_CHANGE: { mpi3mr_energypackchg_evt_th(sc, event_reply); diff --git a/sys/dev/mpi3mr/mpi3mr_cam.c b/sys/dev/mpi3mr/mpi3mr_cam.c index 80dadb9f4283..6a1a08d7b081 100644 --- a/sys/dev/mpi3mr/mpi3mr_cam.c +++ b/sys/dev/mpi3mr/mpi3mr_cam.c @@ -1676,14 +1676,6 @@ mpi3mr_process_sastopochg_evt(struct mpi3mr_softc *sc, struct mpi3mr_fw_event_wo return; } -static inline void -mpi3mr_logdata_evt_bh(struct mpi3mr_softc *sc, - struct mpi3mr_fw_event_work *fwevt) -{ - mpi3mr_app_save_logdata(sc, fwevt->event_data, - fwevt->event_data_size); -} - static void mpi3mr_pcietopochg_evt_debug(struct mpi3mr_softc *sc, Mpi3EventDataPcieTopologyChangeList_t *event_data) @@ -2036,11 +2028,6 @@ mpi3mr_fw_work(struct mpi3mr_softc *sc, struct mpi3mr_fw_event_work *fw_event) mpi3mr_process_pcietopochg_evt(sc, fw_event); break; } - case MPI3_EVENT_LOG_DATA: - { - mpi3mr_logdata_evt_bh(sc, fw_event); - break; - } default: mpi3mr_dprint(sc, MPI3MR_TRACE,"Unhandled event 0x%0X\n", fw_event->event);