From nobody Mon Apr 28 03:25:25 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 4Zm83B1hgGz5tkx4; 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 4Zm8395kmRz3ch9; Mon, 28 Apr 2025 03:25:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745810725; 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=yYPEqXILiP80LKYXMprtJjeyItv80X/I6DCPrl30OsE=; b=iD7+sajIomGrLXl9LsFJJcoInKwor75Q32zZMffqqU1fCxtL0Ghnrc6ndlmB1HB90f39Vm iGF82Yfb5BE4p0LZ86WzNULzVvxFicEQoW+iNhPjvM7EzeqqZB2kS0+IMYFPJbi3x3Z82M bEUfHXsUOGosA7cv3+F3OT6GKsVuxu+yW0OZzWkOpNctz6HV+e457vglfwrU/71bdCdWym c4JBZeDUzCAByJk/ga/zh6aCmKNML8k7thxOUO7NthevoJeE2BjYcLiUMw8sjfIMPiZzN1 7vOtdPJPaVmuQJn9uw0h5/85t42ek+1BtYrqmX81rH8ztYtD4QRkj7QlLAf3SA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745810725; a=rsa-sha256; cv=none; b=tQVvjUuNRRq4cW5ffvliR3sRlwoGH/+2i6QdUEtSsnba7wqK8PgYnRu1q5Qjk5SCHxY4f3 f5iTS7J2YBqobaqX4IBIxC7cOMne0qwBjHudO00Wvu9cXNLDBfFq0KNs0QE1bsRdcx/45+ 6ey56ptbffbMvVReLZwUtU4frRgs5zsDps1TWBoURQPg2qtkAGfNptJcD7S+suO51E4owc T5xPudD0GfGNrOpXqHPpcjMhzKuqtQrkmIuOyw2dQdqWmQJ+MhH4I4fDi0WCUhlPD3VkIQ g0uA0ei8QuE6H3HulYC34A8D4xoxX0pfUnVjyI7dI7ZDL7o04Fr3+ZKX6mrR2A== 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=1745810725; 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=yYPEqXILiP80LKYXMprtJjeyItv80X/I6DCPrl30OsE=; b=w3sr7iAJ9918WRz+bN0U0Ryk5aX9/tYrrhafNUC0T3lSic15FeUXC6+yCHxP/vWn6kev4a ZZaTsheefa/bo822cTw+oLGc7gx+vXAttc4MC0Rh8LOiVkzGHsF85Q1UqnfBNCQ+ZZx6nT cAFcbeO1U8JWXqyETizIn+kFZHPMTv2av5GxxMaN0N5ClKtBWHd+Vkuiaj7p9Mtln1tuDO RP0JgrITqdLxo+nQGkseK6pxU7LFmuxtDfTGZcs0BwIcQ3eSJOwwTp6ePsw06RuuQsgcVP +7RuGKDlFFMBTHUYvpQB3N7xOLxU600NFkVXK4Iklz9rapizc22uLawhceNZ3A== 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 4Zm8394trVz3ZV; Mon, 28 Apr 2025 03:25:25 +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 53S3PP9m014878; Mon, 28 Apr 2025 03:25:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53S3PPNm014875; Mon, 28 Apr 2025 03:25:25 GMT (envelope-from git) Date: Mon, 28 Apr 2025 03:25:25 GMT Message-Id: <202504280325.53S3PPNm014875@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: df8a74fca036 - main - mpi3mr: Process LOG Data Events in Interrupt Top Half for Early Notification 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: df8a74fca036a0ba8026f3ae3da830dffb922faa Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=df8a74fca036a0ba8026f3ae3da830dffb922faa commit df8a74fca036a0ba8026f3ae3da830dffb922faa Author: Chandrakanth patil AuthorDate: 2025-04-27 23:40:14 +0000 Commit: Warner Losh CommitDate: 2025-04-28 03:22:56 +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 --- 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 26c0cb06282a..337f6a8e6470 100644 --- a/sys/dev/mpi3mr/mpi3mr.c +++ b/sys/dev/mpi3mr/mpi3mr.c @@ -4384,11 +4384,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 af2bc0f8b55c..c0dc15531ced 100644 --- a/sys/dev/mpi3mr/mpi3mr_cam.c +++ b/sys/dev/mpi3mr/mpi3mr_cam.c @@ -1675,14 +1675,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) @@ -2035,11 +2027,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);