From nobody Tue Aug 18 05:26:13 2026 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 4hPJ8Q6wHRz6pytv for ; Tue, 18 Aug 2026 05:26:14 +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 "YR2" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4hPJ8Q0qqTz3Rlb for ; Tue, 18 Aug 2026 05:26:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1787030774; 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=26vbnHYBsJfJtIuypCQBjWM3DviJXoDKHNpJa/1fkyE=; b=vrDnY9epPyxG3BczSbAzcxvBkwJgXzqmNkdq1pJqxAv9zYpdo9Q3mswROjP34LTYYjQIHI m4H94x7ZVnv75UGs2X4Yn2WOSf0OSfhqlgx4z4YeaGnV9bqjaS1lK7V5ZouMy8oHAxXoPV M6h1wHllSnwp41SSWDvPHXV6St463F4q/WJPZ9SVh8Jxo+ZGpc+QmqzRpNkDrOZ2KoDhh2 yhrD4irB2ZetZH8VDEW0B2sm/g55Tl98lOtKykX5ruZ3PyLNe1qy5v35oxRwgLccAKs7a0 qZC+xJtzvgSZpfUYe3q42elxkBvqQ0bCOqJSu1zHTBT+HRQixaL+DTUID+/8rg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1787030774; a=rsa-sha256; cv=none; b=yvxiajR4nsgz5Q9e1yxxEV6DYqPTdl2g6Zg+YfHxRtFJQYhzHbgvaj/8Q8mvwitEmTT4vY dsq40caJ+imItEfAe2LX+vntzKW+bCCVF64gW7LSP4ROLTPBWdD7lv4Zw51g3Y5S0+kBBn k3T3bOrdeqkdlDVSgZ86D/eRfv8TQqk1lWK3xjzqPFqAYMHLyP8Z+0Fp/FEgjuMO5KfPGH /+38p/epxueiM5G755oV2HEf5UxUrAlIK/S/FagbNqz4djSXLSLT9mdsdJWjyKW5U8awTV r9RV7wA0uPuFbwecYBEzsqLOHcy4o/6ydeqmDuuRO7zARTwAmWC9iS41Gy6eAQ== 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=1787030774; 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=26vbnHYBsJfJtIuypCQBjWM3DviJXoDKHNpJa/1fkyE=; b=lqAcyO7nAN8dV/u8aIfHENcoNvC7lmuR8v91NMdWYjewf80Qx9CWZVMewMJBGtF+TGsklQ JacsG0G2itQyHMELGZC+bjgpnGRhS6OEQSMBv3K7QgoOST37tCHzCMv6wrZLvny83BAEBx SEScawOLBVN5gk6JusX03Obvp4Rqj2qUzeUf6QgsuX5Gd23kEiA52loz2mmOpMgPjWPgES 41omr5Ii0n0X3Zn+ZjaojI3NcNz+wAzWPgteMPzyjncyYHd4YtULi5lUzVVoBzYGmpbtGt Z/IMXhvw0ZZ6lBWBQfpMobvK5p00FlhsrsUQc74JXc/ou+wO33+KWwMwSII84g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hPJ8P6MGFzVqS for ; Tue, 18 Aug 2026 05:26:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 39f4b by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 18 Aug 2026 05:26:13 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jaeyoon Choi Subject: git: e1aa173f8120 - main - ufshci: consolidate the device query submit/poll pattern 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 List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jaeyoon X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e1aa173f812010675005e2917d7b2b44ee4a226e Auto-Submitted: auto-generated Date: Tue, 18 Aug 2026 05:26:13 +0000 Message-Id: <6a83ecf5.39f4b.5451971f@gitrepo.freebsd.org> The branch main has been updated by jaeyoon: URL: https://cgit.FreeBSD.org/src/commit/?id=e1aa173f812010675005e2917d7b2b44ee4a226e commit e1aa173f812010675005e2917d7b2b44ee4a226e Author: Jaeyoon Choi AuthorDate: 2026-08-18 04:52:54 +0000 Commit: Jaeyoon Choi CommitDate: 2026-08-18 04:52:54 +0000 ufshci: consolidate the device query submit/poll pattern The six query helpers duplicated the same submit, error check, poll, and status check sequence. Move it into ufshci_dev_send_query() so future changes to the query flow are made in one place. This also unifies the failure log message format. Reviewed by: imp (mentor) Sponsored by: Samsung Electronics Differential Revision: https://reviews.freebsd.org/D58818 --- sys/dev/ufshci/ufshci_dev.c | 98 +++++++++++++-------------------------------- 1 file changed, 28 insertions(+), 70 deletions(-) diff --git a/sys/dev/ufshci/ufshci_dev.c b/sys/dev/ufshci/ufshci_dev.c index 18546d7120c0..063b65aaf579 100644 --- a/sys/dev/ufshci/ufshci_dev.c +++ b/sys/dev/ufshci/ufshci_dev.c @@ -12,6 +12,28 @@ #include "ufshci_private.h" #include "ufshci_reg.h" +static int +ufshci_dev_send_query(struct ufshci_controller *ctrlr, + struct ufshci_query_param param, + struct ufshci_completion_poll_status *status, const char *fail_msg) +{ + int error; + + status->done = 0; + error = ufshci_ctrlr_cmd_send_query_request(ctrlr, + ufshci_completion_poll_cb, status, param); + if (error) + return (error); + + ufshci_completion_poll(status); + if (status->error) { + ufshci_printf(ctrlr, "%s failed!\n", fail_msg); + return (ENXIO); + } + + return (0); +} + static int ufshci_dev_read_descriptor(struct ufshci_controller *ctrlr, enum ufshci_descriptor_type desc_type, uint8_t index, uint8_t selector, @@ -29,19 +51,10 @@ ufshci_dev_read_descriptor(struct ufshci_controller *ctrlr, param.value = 0; param.desc_size = desc_size; - status.done = 0; - error = ufshci_ctrlr_cmd_send_query_request(ctrlr, - ufshci_completion_poll_cb, &status, param); + error = ufshci_dev_send_query(ctrlr, param, &status, __func__); if (error) return (error); - ufshci_completion_poll(&status); - if (status.error) { - ufshci_printf(ctrlr, - "Failed to send Read Descriptor query request!\n"); - return (ENXIO); - } - memcpy(desc, status.cpl.response_upiu.query_response_upiu.command_data, desc_size); @@ -88,18 +101,10 @@ ufshci_dev_read_flag(struct ufshci_controller *ctrlr, param.value = 0; param.desc_size = 0; - status.done = 0; - error = ufshci_ctrlr_cmd_send_query_request(ctrlr, - ufshci_completion_poll_cb, &status, param); + error = ufshci_dev_send_query(ctrlr, param, &status, __func__); if (error) return (error); - ufshci_completion_poll(&status); - if (status.error) { - ufshci_printf(ctrlr, "ufshci_dev_read_flag failed!\n"); - return (ENXIO); - } - *flag = status.cpl.response_upiu.query_response_upiu.flag_value; return (0); @@ -111,7 +116,6 @@ ufshci_dev_set_flag(struct ufshci_controller *ctrlr, { struct ufshci_completion_poll_status status; struct ufshci_query_param param; - int error; param.function = UFSHCI_QUERY_FUNC_STANDARD_WRITE_REQUEST; param.opcode = UFSHCI_QUERY_OPCODE_SET_FLAG; @@ -121,19 +125,7 @@ ufshci_dev_set_flag(struct ufshci_controller *ctrlr, param.value = 0; param.desc_size = 0; - status.done = 0; - error = ufshci_ctrlr_cmd_send_query_request(ctrlr, - ufshci_completion_poll_cb, &status, param); - if (error) - return (error); - - ufshci_completion_poll(&status); - if (status.error) { - ufshci_printf(ctrlr, "ufshci_dev_set_flag failed!\n"); - return (ENXIO); - } - - return (0); + return (ufshci_dev_send_query(ctrlr, param, &status, __func__)); } static int @@ -142,7 +134,6 @@ ufshci_dev_clear_flag(struct ufshci_controller *ctrlr, { struct ufshci_completion_poll_status status; struct ufshci_query_param param; - int error; param.function = UFSHCI_QUERY_FUNC_STANDARD_WRITE_REQUEST; param.opcode = UFSHCI_QUERY_OPCODE_CLEAR_FLAG; @@ -152,19 +143,7 @@ ufshci_dev_clear_flag(struct ufshci_controller *ctrlr, param.value = 0; param.desc_size = 0; - status.done = 0; - error = ufshci_ctrlr_cmd_send_query_request(ctrlr, - ufshci_completion_poll_cb, &status, param); - if (error) - return (error); - - ufshci_completion_poll(&status); - if (status.error) { - ufshci_printf(ctrlr, "ufshci_dev_clear_flag failed!\n"); - return (ENXIO); - } - - return (0); + return (ufshci_dev_send_query(ctrlr, param, &status, __func__)); } static int @@ -184,18 +163,10 @@ ufshci_dev_read_attribute(struct ufshci_controller *ctrlr, param.value = 0; param.desc_size = 0; - status.done = 0; - error = ufshci_ctrlr_cmd_send_query_request(ctrlr, - ufshci_completion_poll_cb, &status, param); + error = ufshci_dev_send_query(ctrlr, param, &status, __func__); if (error) return (error); - ufshci_completion_poll(&status); - if (status.error) { - ufshci_printf(ctrlr, "ufshci_dev_read_attribute failed!\n"); - return (ENXIO); - } - *value = be64toh(status.cpl.response_upiu.query_response_upiu.value_64); return (0); @@ -208,7 +179,6 @@ ufshci_dev_write_attribute(struct ufshci_controller *ctrlr, { struct ufshci_completion_poll_status status; struct ufshci_query_param param; - int error; param.function = UFSHCI_QUERY_FUNC_STANDARD_WRITE_REQUEST; param.opcode = UFSHCI_QUERY_OPCODE_WRITE_ATTRIBUTE; @@ -218,19 +188,7 @@ ufshci_dev_write_attribute(struct ufshci_controller *ctrlr, param.value = value; param.desc_size = 0; - status.done = 0; - error = ufshci_ctrlr_cmd_send_query_request(ctrlr, - ufshci_completion_poll_cb, &status, param); - if (error) - return (error); - - ufshci_completion_poll(&status); - if (status.error) { - ufshci_printf(ctrlr, "ufshci_dev_write_attribute failed!\n"); - return (ENXIO); - } - - return (0); + return (ufshci_dev_send_query(ctrlr, param, &status, __func__)); } int