From nobody Sun May 10 14:20:06 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 8B152C433EF for ; Mon, 2 May 2022 10:42:14 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1384832AbiEBKpk (ORCPT ); Mon, 2 May 2022 06:45:40 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51904 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1384539AbiEBKpY (ORCPT ); Mon, 2 May 2022 06:45:24 -0400 Received: from mail-pl1-x62e.google.com (mail-pl1-x62e.google.com [IPv6:2607:f8b0:4864:20::62e]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0FDDC1DA77 for ; Mon, 2 May 2022 03:41:56 -0700 (PDT) Received: by mail-pl1-x62e.google.com with SMTP id k1so3540264pll.4 for ; Mon, 02 May 2022 03:41:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=JKnMyfhOMcsp0MsdczDOFIryPKT28w/sEU1b3opPMj4=; b=O6R4e4fF2JRQwROcaZV6fUssqeJO//zhbZl/mygKM0rUko6rIudC3TWlpYR5xD+w5j O1vko1UT0iYKBb0nGllAQkYuWbGg6j4UwfxRykZE0CFhYm/2yLZ6e62W4jFWnHbBrpiB IQ023QuotgXM4STWbFo8BHA/y6a6KSGVNJWBwGAxBPB634un15s3CDi579H9vn/V9hYM PLRWjk471I80dm6Utq8xoVVQXzwsXJ+CIqWTEHlqIc+MkyYWnikgzIAJDGudnRU9iNGs XEFbzOACRYMjI69uPXA27wSm/+SNxklYUZO33zXj4pcemEfGYoPQW9ritWjopwk+pQyv Fm5g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=JKnMyfhOMcsp0MsdczDOFIryPKT28w/sEU1b3opPMj4=; b=bZOP/PdxeffIVpD3OK/oqedre2u4NMEhPf4GMiwvBdvp2fokpxwuNEv/b4eBUg+6+w ViLdVQEatyjnSrcliVAHfe5Pde44oUwNnavijBV+NLTDdKM/0opYqrHtVtuiuY1Pg+N/ xNpSnBqVib7E+PBiUlo+ZfOa6MDLEPFSiuJakuVEG57W397WQiOxZ/FrqinPVKE1rHm1 iRC3FEgKuwkm1QsT+Iflv+3SsBrrqCzFG2xfl3lzXHmxsZubumG0veUXNH4f3h+31E8n 67etWUJKlv/7FXARTYyU8VLKDpvgvLHYuj+XCC2u60a9hTJlxxsIYCl4ZFMqXNigMTe6 tt1A== X-Gm-Message-State: AOAM532LQcHS4ibL7+wkJzLgqs0+HbJ33oTU+wJYVIs5gix5HSARWsYT o9esf7XzGLZf8py+imHUEV9R X-Google-Smtp-Source: ABdhPJxeoDTclX0N6gVfJXR/OjRtjLRieZ90rR0+HvO760NBSIZXKa71fIyZSZ6sgxVOrrg51R2Nnw== X-Received: by 2002:a17:90b:1d92:b0:1dc:3f14:f8d0 with SMTP id pf18-20020a17090b1d9200b001dc3f14f8d0mr8882476pjb.7.1651488115195; Mon, 02 May 2022 03:41:55 -0700 (PDT) Received: from localhost.localdomain ([27.111.75.99]) by smtp.gmail.com with ESMTPSA id x10-20020a1709029a4a00b0015e8d4eb2ccsm4368434plv.278.2022.05.02.03.41.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 02 May 2022 03:41:54 -0700 (PDT) From: Manivannan Sadhasivam To: mhi@lists.linux.dev Cc: linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, quic_hemantk@quicinc.com, quic_bbhatt@quicinc.com, loic.poulain@linaro.org, Manivannan Sadhasivam Subject: [PATCH 1/5] bus: mhi: host: Rename process_db callback to ring_db Date: Mon, 2 May 2022 16:11:40 +0530 Message-Id: <20220502104144.91806-2-manivannan.sadhasivam@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220502104144.91806-1-manivannan.sadhasivam@linaro.org> References: <20220502104144.91806-1-manivannan.sadhasivam@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" "process_db" might be confusing at times as it also implies that the function is used to process the doorbells from the endpoint device. So rename it to "ring_db" to make it clear that it is only used to ring doorbell to the device. Signed-off-by: Manivannan Sadhasivam --- drivers/bus/mhi/host/init.c | 8 ++++---- drivers/bus/mhi/host/internal.h | 2 +- drivers/bus/mhi/host/main.c | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/drivers/bus/mhi/host/init.c b/drivers/bus/mhi/host/init.c index e43e2e145871..50d2a1f66e5e 100644 --- a/drivers/bus/mhi/host/init.c +++ b/drivers/bus/mhi/host/init.c @@ -669,9 +669,9 @@ static int parse_ev_cfg(struct mhi_controller *mhi_cntr= l, goto error_ev_cfg; =20 if (mhi_event->db_cfg.brstmode =3D=3D MHI_DB_BRST_ENABLE) - mhi_event->db_cfg.process_db =3D mhi_db_brstmode; + mhi_event->db_cfg.ring_db =3D mhi_db_brstmode; else - mhi_event->db_cfg.process_db =3D mhi_db_brstmode_disable; + mhi_event->db_cfg.ring_db =3D mhi_db_brstmode_disable; =20 mhi_event->data_type =3D event_cfg->data_type; =20 @@ -806,9 +806,9 @@ static int parse_ch_cfg(struct mhi_controller *mhi_cntr= l, } =20 if (mhi_chan->db_cfg.brstmode =3D=3D MHI_DB_BRST_ENABLE) - mhi_chan->db_cfg.process_db =3D mhi_db_brstmode; + mhi_chan->db_cfg.ring_db =3D mhi_db_brstmode; else - mhi_chan->db_cfg.process_db =3D mhi_db_brstmode_disable; + mhi_chan->db_cfg.ring_db =3D mhi_db_brstmode_disable; =20 mhi_chan->configured =3D true; =20 diff --git a/drivers/bus/mhi/host/internal.h b/drivers/bus/mhi/host/interna= l.h index b10a99f8200c..3305f4d93580 100644 --- a/drivers/bus/mhi/host/internal.h +++ b/drivers/bus/mhi/host/internal.h @@ -142,7 +142,7 @@ struct db_cfg { u32 pollcfg; enum mhi_db_brst_mode brstmode; dma_addr_t db_val; - void (*process_db)(struct mhi_controller *mhi_cntrl, + void (*ring_db)(struct mhi_controller *mhi_cntrl, struct db_cfg *db_cfg, void __iomem *io_addr, dma_addr_t db_val); }; diff --git a/drivers/bus/mhi/host/main.c b/drivers/bus/mhi/host/main.c index 7da5a16d721b..c46bd2dd546b 100644 --- a/drivers/bus/mhi/host/main.c +++ b/drivers/bus/mhi/host/main.c @@ -112,7 +112,7 @@ void mhi_ring_er_db(struct mhi_event *mhi_event) { struct mhi_ring *ring =3D &mhi_event->ring; =20 - mhi_event->db_cfg.process_db(mhi_event->mhi_cntrl, &mhi_event->db_cfg, + mhi_event->db_cfg.ring_db(mhi_event->mhi_cntrl, &mhi_event->db_cfg, ring->db_addr, le64_to_cpu(*ring->ctxt_wp)); } =20 @@ -141,7 +141,7 @@ void mhi_ring_chan_db(struct mhi_controller *mhi_cntrl, dma_wmb(); *ring->ctxt_wp =3D cpu_to_le64(db); =20 - mhi_chan->db_cfg.process_db(mhi_cntrl, &mhi_chan->db_cfg, + mhi_chan->db_cfg.ring_db(mhi_cntrl, &mhi_chan->db_cfg, ring->db_addr, db); } =20 --=20 2.25.1 From nobody Sun May 10 14:20:06 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7A5D3C433EF for ; Mon, 2 May 2022 10:42:20 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1384602AbiEBKpq (ORCPT ); Mon, 2 May 2022 06:45:46 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52376 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1384581AbiEBKp1 (ORCPT ); Mon, 2 May 2022 06:45:27 -0400 Received: from mail-pf1-x434.google.com (mail-pf1-x434.google.com [IPv6:2607:f8b0:4864:20::434]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D3AA01A803 for ; Mon, 2 May 2022 03:41:58 -0700 (PDT) Received: by mail-pf1-x434.google.com with SMTP id h1so11964673pfv.12 for ; Mon, 02 May 2022 03:41:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=FBdbkVGAzuaeQDBgV20xOmT+zyjp47jPmUnwKT47dlc=; b=EBh6YGZIjpIFC2SNfFPc82lXzO601HLLH+rHoUn2YEmxoGnSyTHldkR1EtuuQ0m48j c/jtfDsRzEh8eQqbEGEa23JsDtbA5LVu/BbqPXLuFymmQi5sIGhv+7s1fCb0JYoabmVY 3wdnu9WiAUU/YNnH45Y38mYXjxKS2S/KxQh1wrWB5wlAJogH1lBQz0bYjoiQqkXeRTP1 MdGUhib7wqwVOvqJzwcnSkVLN1S2s8DkouWSoNg+iWrbysYN3LSAQlYFyKg5eZuMsoRZ txw9GASjNS0t2d/ic9Cdhv95LB9oWDrFMruEQDNvtyRHE/a70s973rM3b183SbplehNu 1/Kw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=FBdbkVGAzuaeQDBgV20xOmT+zyjp47jPmUnwKT47dlc=; b=USffzNle3ucDxHe/+eJQEJGCJwfgxADFor9M3SrI0ZNV1J/UwhqYe+HaAz/hXjOYub Zmvg99rgQe/4vaRiQD8lGlVaMNqPRmbpYZni8EpihrU9SLgtGTFQAoWfgMwZ5OFqChii yIbCB0CPQ1/++XQlOYWVitMtSgIWpaVsrmbJXKrBbJSmDFjDTI1lmTyu9xOSp4pb/3ru wdQIyo6mVFw6QuIaMterHGuLFsh/YWlEvU0hsdT3qnopdLU0tgBjXmAO06n2pxGGiBnS /HkLyGb6MJ3cPqdx+RkSGHC9zm/BLKfZdcUx1hFnlsO4c/k0ZAXZKv1qyqDDyKQEgop9 r5Ng== X-Gm-Message-State: AOAM5326w7LYRFjKnyLKc9vodVWSEMXFtYLZZhnE/Cno0KQb/DIzN2Dc m5+xX8Vcq4XCYAa9zJeXA+up X-Google-Smtp-Source: ABdhPJymVO1976tfbGSmg39VeVfIKNV0yCEkUhutxyQrfu3upmOnnZa7nuhgE7jOcgf5usPl9tW53Q== X-Received: by 2002:a05:6a00:2310:b0:4fa:7eb1:e855 with SMTP id h16-20020a056a00231000b004fa7eb1e855mr10581224pfh.14.1651488118335; Mon, 02 May 2022 03:41:58 -0700 (PDT) Received: from localhost.localdomain ([27.111.75.99]) by smtp.gmail.com with ESMTPSA id x10-20020a1709029a4a00b0015e8d4eb2ccsm4368434plv.278.2022.05.02.03.41.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 02 May 2022 03:41:58 -0700 (PDT) From: Manivannan Sadhasivam To: mhi@lists.linux.dev Cc: linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, quic_hemantk@quicinc.com, quic_bbhatt@quicinc.com, loic.poulain@linaro.org, Manivannan Sadhasivam Subject: [PATCH 2/5] bus: mhi: host: Rename mhi_db_brstmode() and mhi_db_brstmode_disable() Date: Mon, 2 May 2022 16:11:41 +0530 Message-Id: <20220502104144.91806-3-manivannan.sadhasivam@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220502104144.91806-1-manivannan.sadhasivam@linaro.org> References: <20220502104144.91806-1-manivannan.sadhasivam@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" These functions are ringing the channel and event ring doorbells based on the doorbell mode configured. So in order to better reflect their functionality, let's rename them to mhi_ring_db_brstmode() and mhi_ring_db_no_brstmode(). Signed-off-by: Manivannan Sadhasivam --- drivers/bus/mhi/host/init.c | 8 ++++---- drivers/bus/mhi/host/internal.h | 4 ++-- drivers/bus/mhi/host/main.c | 4 ++-- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/drivers/bus/mhi/host/init.c b/drivers/bus/mhi/host/init.c index 50d2a1f66e5e..e095d2999c06 100644 --- a/drivers/bus/mhi/host/init.c +++ b/drivers/bus/mhi/host/init.c @@ -669,9 +669,9 @@ static int parse_ev_cfg(struct mhi_controller *mhi_cntr= l, goto error_ev_cfg; =20 if (mhi_event->db_cfg.brstmode =3D=3D MHI_DB_BRST_ENABLE) - mhi_event->db_cfg.ring_db =3D mhi_db_brstmode; + mhi_event->db_cfg.ring_db =3D mhi_ring_db_brstmode; else - mhi_event->db_cfg.ring_db =3D mhi_db_brstmode_disable; + mhi_event->db_cfg.ring_db =3D mhi_ring_db_no_brstmode; =20 mhi_event->data_type =3D event_cfg->data_type; =20 @@ -806,9 +806,9 @@ static int parse_ch_cfg(struct mhi_controller *mhi_cntr= l, } =20 if (mhi_chan->db_cfg.brstmode =3D=3D MHI_DB_BRST_ENABLE) - mhi_chan->db_cfg.ring_db =3D mhi_db_brstmode; + mhi_chan->db_cfg.ring_db =3D mhi_ring_db_brstmode; else - mhi_chan->db_cfg.ring_db =3D mhi_db_brstmode_disable; + mhi_chan->db_cfg.ring_db =3D mhi_ring_db_no_brstmode; =20 mhi_chan->configured =3D true; =20 diff --git a/drivers/bus/mhi/host/internal.h b/drivers/bus/mhi/host/interna= l.h index 3305f4d93580..007c7554439f 100644 --- a/drivers/bus/mhi/host/internal.h +++ b/drivers/bus/mhi/host/internal.h @@ -309,9 +309,9 @@ static inline void mhi_trigger_resume(struct mhi_contro= ller *mhi_cntrl) } =20 /* Register access methods */ -void mhi_db_brstmode(struct mhi_controller *mhi_cntrl, struct db_cfg *db_c= fg, +void mhi_ring_db_brstmode(struct mhi_controller *mhi_cntrl, struct db_cfg = *db_cfg, void __iomem *db_addr, dma_addr_t db_val); -void mhi_db_brstmode_disable(struct mhi_controller *mhi_cntrl, +void mhi_ring_db_no_brstmode(struct mhi_controller *mhi_cntrl, struct db_cfg *db_mode, void __iomem *db_addr, dma_addr_t db_val); int __must_check mhi_read_reg(struct mhi_controller *mhi_cntrl, diff --git a/drivers/bus/mhi/host/main.c b/drivers/bus/mhi/host/main.c index c46bd2dd546b..28b41621e004 100644 --- a/drivers/bus/mhi/host/main.c +++ b/drivers/bus/mhi/host/main.c @@ -87,7 +87,7 @@ void mhi_write_db(struct mhi_controller *mhi_cntrl, void = __iomem *db_addr, mhi_write_reg(mhi_cntrl, db_addr, 0, lower_32_bits(db_val)); } =20 -void mhi_db_brstmode(struct mhi_controller *mhi_cntrl, +void mhi_ring_db_brstmode(struct mhi_controller *mhi_cntrl, struct db_cfg *db_cfg, void __iomem *db_addr, dma_addr_t db_val) @@ -99,7 +99,7 @@ void mhi_db_brstmode(struct mhi_controller *mhi_cntrl, } } =20 -void mhi_db_brstmode_disable(struct mhi_controller *mhi_cntrl, +void mhi_ring_db_no_brstmode(struct mhi_controller *mhi_cntrl, struct db_cfg *db_cfg, void __iomem *db_addr, dma_addr_t db_val) --=20 2.25.1 From nobody Sun May 10 14:20:06 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4E516C433FE for ; Mon, 2 May 2022 10:42:29 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1384706AbiEBKpy (ORCPT ); Mon, 2 May 2022 06:45:54 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58080 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1384656AbiEBKpa (ORCPT ); Mon, 2 May 2022 06:45:30 -0400 Received: from mail-pg1-x534.google.com (mail-pg1-x534.google.com [IPv6:2607:f8b0:4864:20::534]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 74E2E1FA4C for ; Mon, 2 May 2022 03:42:02 -0700 (PDT) Received: by mail-pg1-x534.google.com with SMTP id x12so11396840pgj.7 for ; Mon, 02 May 2022 03:42:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=rws2TGaCdrtsZUYlCLkotIgdXs2LD27ns9J6VXpRQwY=; b=zkaMqL9T1xgN/X3qxgOfcZGBNNoxdsHT2U5GxutedfsLuabNF2R7FPyuEj2uJsqsK0 sLx/avESwyRE69doAMGUiotVe7Le4ST1LE3Ew3IG5tuDHCtWDkzVSJE0dV6eW55LLTZt 2XLXG+ihN3ZkvAqaqoILc2pDCM7WNy4wm2aXr2fkrz6zGc9LPdui8ClNg8bCrpRuTrOr Fw7cjIkkVAePqB62DgMNIdr1I8I9EisDGysJcotjV5YRhK36FdJPr7NaNrfh+NYDtzCf yQgmEreb9jAYctZekHh6OtXEsEPgMiOHtfab4jEJbrWiYM1HBKHkxBoGFbYH3JQ0iuBU Tv1w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=rws2TGaCdrtsZUYlCLkotIgdXs2LD27ns9J6VXpRQwY=; b=3hpUYv1LENoiHJNmf70h6NwKqSgTsxxjyLxG8+TnM7ku0/R9WqMayPvdyA4IM8OzYc zFr7xjPAjbm7ZfEXIIiNug7DvE2TwVK7tjQ0JUMjcYUSo2HFlpEc3Ny2uRCQjt52ZK3n Un9fnWod5Oy5zQubH5VBS9qtVMxZCKWeu0AP3faSnEyoD3XkV7y4m9/c/BgNUeMvMnXK pLhDbm6VN4As+4+FLm412iFFQcmfx82Ln/OWecAd3kYnTxfzF9dJCY0rNuH92fyicgaR PF1qNe0oEIYxnHcWgovRMownZuYfmCg+nio5i9I7nSd+AhlL8uKKWNb+30vNZCIzGcyD rQog== X-Gm-Message-State: AOAM5313OaeQLo++ItaA2O9FjkOVmOOtKzrXQbWxrFtUIRh1ehDIc9cF B/POuTkpglLdt/xEFk1PzkQA X-Google-Smtp-Source: ABdhPJwvnP8a0lAKWMWebvL6W4+GVc5NbuQCn5/P8vH9tTWnfTMan6KiQQXHkibjRA2m8hPF1vYPGQ== X-Received: by 2002:a05:6a00:1312:b0:4e1:58c4:ddfd with SMTP id j18-20020a056a00131200b004e158c4ddfdmr10775250pfu.65.1651488121726; Mon, 02 May 2022 03:42:01 -0700 (PDT) Received: from localhost.localdomain ([27.111.75.99]) by smtp.gmail.com with ESMTPSA id x10-20020a1709029a4a00b0015e8d4eb2ccsm4368434plv.278.2022.05.02.03.41.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 02 May 2022 03:42:01 -0700 (PDT) From: Manivannan Sadhasivam To: mhi@lists.linux.dev Cc: linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, quic_hemantk@quicinc.com, quic_bbhatt@quicinc.com, loic.poulain@linaro.org, Manivannan Sadhasivam Subject: [PATCH 3/5] bus: mhi: host: Use {READ/WITE}_ONCE macros for db_mode and db_val Date: Mon, 2 May 2022 16:11:42 +0530 Message-Id: <20220502104144.91806-4-manivannan.sadhasivam@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220502104144.91806-1-manivannan.sadhasivam@linaro.org> References: <20220502104144.91806-1-manivannan.sadhasivam@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" In order to prevent the compiler from optimizing these fields that could be used parallely, let's use the {READ/WRITE}_ONCE macros for reading and updating. Since these fields are defined as bool, let's use the true/false instead of 0/1. Signed-off-by: Manivannan Sadhasivam --- drivers/bus/mhi/host/init.c | 4 ++-- drivers/bus/mhi/host/main.c | 14 +++++++++----- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/drivers/bus/mhi/host/init.c b/drivers/bus/mhi/host/init.c index e095d2999c06..906bdf584860 100644 --- a/drivers/bus/mhi/host/init.c +++ b/drivers/bus/mhi/host/init.c @@ -325,7 +325,7 @@ int mhi_init_dev_ctxt(struct mhi_controller *mhi_cntrl) =20 er_ctxt->ertype =3D cpu_to_le32(MHI_ER_TYPE_VALID); er_ctxt->msivec =3D cpu_to_le32(mhi_event->irq); - mhi_event->db_cfg.db_mode =3D true; + WRITE_ONCE(mhi_event->db_cfg.db_mode, true); =20 ring->el_size =3D sizeof(struct mhi_ring_element); ring->len =3D ring->el_size * ring->elements; @@ -615,7 +615,7 @@ int mhi_init_chan_ctxt(struct mhi_controller *mhi_cntrl, =20 tre_ring->rp =3D tre_ring->wp =3D tre_ring->base; buf_ring->rp =3D buf_ring->wp =3D buf_ring->base; - mhi_chan->db_cfg.db_mode =3D 1; + WRITE_ONCE(mhi_chan->db_cfg.db_mode, true); =20 /* Update to all cores */ smp_wmb(); diff --git a/drivers/bus/mhi/host/main.c b/drivers/bus/mhi/host/main.c index 28b41621e004..bb3b20207c4e 100644 --- a/drivers/bus/mhi/host/main.c +++ b/drivers/bus/mhi/host/main.c @@ -92,10 +92,14 @@ void mhi_ring_db_brstmode(struct mhi_controller *mhi_cn= trl, void __iomem *db_addr, dma_addr_t db_val) { - if (db_cfg->db_mode) { - db_cfg->db_val =3D db_val; + if (READ_ONCE(db_cfg->db_mode)) { + /* + * There is no barrier required here, since both compiler and + * CPU will honor the load/store control dependency. + */ + WRITE_ONCE(db_cfg->db_val, db_val); mhi_write_db(mhi_cntrl, db_addr, db_val); - db_cfg->db_mode =3D 0; + WRITE_ONCE(db_cfg->db_mode, false); } } =20 @@ -104,7 +108,7 @@ void mhi_ring_db_no_brstmode(struct mhi_controller *mhi= _cntrl, void __iomem *db_addr, dma_addr_t db_val) { - db_cfg->db_val =3D db_val; + WRITE_ONCE(db_cfg->db_val, db_val); mhi_write_db(mhi_cntrl, db_addr, db_val); } =20 @@ -665,7 +669,7 @@ static int parse_xfer_event(struct mhi_controller *mhi_= cntrl, { unsigned long pm_lock_flags; =20 - mhi_chan->db_cfg.db_mode =3D 1; + WRITE_ONCE(mhi_chan->db_cfg.db_mode, true); read_lock_irqsave(&mhi_cntrl->pm_lock, pm_lock_flags); if (tre_ring->wp !=3D tre_ring->rp && MHI_DB_ACCESS_VALID(mhi_cntrl)) { --=20 2.25.1 From nobody Sun May 10 14:20:06 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9A31DC433EF for ; Mon, 2 May 2022 10:42:46 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1384626AbiEBKqL (ORCPT ); Mon, 2 May 2022 06:46:11 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52872 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1384715AbiEBKph (ORCPT ); Mon, 2 May 2022 06:45:37 -0400 Received: from mail-pf1-x429.google.com (mail-pf1-x429.google.com [IPv6:2607:f8b0:4864:20::429]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 074F720199 for ; Mon, 2 May 2022 03:42:05 -0700 (PDT) Received: by mail-pf1-x429.google.com with SMTP id bo5so11994961pfb.4 for ; Mon, 02 May 2022 03:42:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=qkMt0NavqAuC3J4QnZqSJQi9W1mjEJS6TxxrkAgqRqU=; b=vNTDm0Wdm3mNIN/3uizMcZHl4KiSP9iCSZOid3fzrX4Q+yF7jQKU9/efNRpBzMK/Ae cPEgvS531Foab6vVqdy7vIkt5butxC0jLN8q6zyBrznUr7bGVifOKEAvaGDNBVn4WQMO 06qALazK7j9LDyELGnVwwBFHABCGMEaDEmY14Fx8vuTFvhppvtr1UHPeDpXFbqev+tc3 tpYDKi6Kh6PVWmHuogsNRIFTX3ZJlNS+7HAQx0hK2izoo5Y1VzIVWeOJyCEHUcIQByyS 4NJYZIItVb6e0Eym0hH4yx9gPruwDQm+9DX9zJARotXAjpw0gr8wNfdzH6CrNMsfqDa0 oyWw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=qkMt0NavqAuC3J4QnZqSJQi9W1mjEJS6TxxrkAgqRqU=; b=I8JYxKAxkRMa2X2YIMd6cXvUhRgz5olcGUWswlK9nlNQJEdY+RwHa7fbIyBy7Jg6HB yHtKucE/aSnVkCh0pr0JiFfCxLs3EMUfbz1VpO7opWCll0GyWISvDNsGI1Qpj1szj0qQ sEcmDHHLPVjhh6poq+psG31Yp65rN5uqYUpVLBSwBKdJeBGE8tabPijFnuz3MSgLcmAE ruGPhF6GKqN+84pONjHk6RXvyryDVouCVbQca2aVWPdly6yKxCV3XPw2x09jca2A6TWh mdT9xO3kUd6OFzvhX12PUPt48FaW/V0Xrhd2RwC6fGrQQP2NrODsTZIK/6YcG3zaDpT8 zhnA== X-Gm-Message-State: AOAM5314hZkL9rzEv3BpjM7B2hw8Cg9PI+mk3MwPOMwNP6+jSRVi+fvP gXP4vxbKqyhBRd3zpTMiZfSr X-Google-Smtp-Source: ABdhPJyIc1oTUP3hfP8ow00AoH7JCeEAuYkaZt+Qw2TUBiUcsj0FC04SNR5LLFy60DsvaqHMMwj4LQ== X-Received: by 2002:a05:6a00:1907:b0:4f7:945:14cf with SMTP id y7-20020a056a00190700b004f7094514cfmr10559465pfi.47.1651488124500; Mon, 02 May 2022 03:42:04 -0700 (PDT) Received: from localhost.localdomain ([27.111.75.99]) by smtp.gmail.com with ESMTPSA id x10-20020a1709029a4a00b0015e8d4eb2ccsm4368434plv.278.2022.05.02.03.42.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 02 May 2022 03:42:04 -0700 (PDT) From: Manivannan Sadhasivam To: mhi@lists.linux.dev Cc: linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, quic_hemantk@quicinc.com, quic_bbhatt@quicinc.com, loic.poulain@linaro.org, Manivannan Sadhasivam Subject: [PATCH 4/5] bus: mhi: host: Rename parse_{rsc/xfer}_event to process{rsc/xfer}_event Date: Mon, 2 May 2022 16:11:43 +0530 Message-Id: <20220502104144.91806-5-manivannan.sadhasivam@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220502104144.91806-1-manivannan.sadhasivam@linaro.org> References: <20220502104144.91806-1-manivannan.sadhasivam@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" We are not parsing the event but rather processing it as we received it from the endpoint device. So rename the functions accordingly. Signed-off-by: Manivannan Sadhasivam --- drivers/bus/mhi/host/main.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/bus/mhi/host/main.c b/drivers/bus/mhi/host/main.c index bb3b20207c4e..966ffc2458b9 100644 --- a/drivers/bus/mhi/host/main.c +++ b/drivers/bus/mhi/host/main.c @@ -558,7 +558,7 @@ static void mhi_recycle_ev_ring_element(struct mhi_cont= roller *mhi_cntrl, smp_wmb(); } =20 -static int parse_xfer_event(struct mhi_controller *mhi_cntrl, +static int process_xfer_event(struct mhi_controller *mhi_cntrl, struct mhi_ring_element *event, struct mhi_chan *mhi_chan) { @@ -693,7 +693,7 @@ static int parse_xfer_event(struct mhi_controller *mhi_= cntrl, return 0; } =20 -static int parse_rsc_event(struct mhi_controller *mhi_cntrl, +static int process_rsc_event(struct mhi_controller *mhi_cntrl, struct mhi_ring_element *event, struct mhi_chan *mhi_chan) { @@ -931,7 +931,7 @@ int mhi_process_ctrl_ev_ring(struct mhi_controller *mhi= _cntrl, mhi_chan =3D &mhi_cntrl->mhi_chan[chan]; if (!mhi_chan->configured) break; - parse_xfer_event(mhi_cntrl, local_rp, mhi_chan); + process_xfer_event(mhi_cntrl, local_rp, mhi_chan); event_quota--; } break; @@ -1003,10 +1003,10 @@ int mhi_process_data_event_ring(struct mhi_controll= er *mhi_cntrl, mhi_chan =3D &mhi_cntrl->mhi_chan[chan]; =20 if (likely(type =3D=3D MHI_PKT_TYPE_TX_EVENT)) { - parse_xfer_event(mhi_cntrl, local_rp, mhi_chan); + process_xfer_event(mhi_cntrl, local_rp, mhi_chan); event_quota--; } else if (type =3D=3D MHI_PKT_TYPE_RSC_TX_EVENT) { - parse_rsc_event(mhi_cntrl, local_rp, mhi_chan); + process_rsc_event(mhi_cntrl, local_rp, mhi_chan); event_quota--; } } --=20 2.25.1 From nobody Sun May 10 14:20:06 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3CF9CC433F5 for ; Mon, 2 May 2022 10:42:38 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1384668AbiEBKqD (ORCPT ); Mon, 2 May 2022 06:46:03 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52466 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1384653AbiEBKpn (ORCPT ); Mon, 2 May 2022 06:45:43 -0400 Received: from mail-pl1-x629.google.com (mail-pl1-x629.google.com [IPv6:2607:f8b0:4864:20::629]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9D11F205D2 for ; Mon, 2 May 2022 03:42:07 -0700 (PDT) Received: by mail-pl1-x629.google.com with SMTP id k1so3540616pll.4 for ; Mon, 02 May 2022 03:42:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=k5HAh8ngAVPFB9BApz5vRyzeAzX7yXOYLyScd179RCI=; b=uOEY1LPQQJfDZn4ittpZjnYRqf2uREgsqUIs3DQ1yLqiiDgnA0b26ayC3UN8gKuhsk wr+kXmEQ+gDKMH8wOf56loM6L3Jjg3Vrzyxhw0KuIICdmCuAFKAigUHZBLhpXW7fzv/O FYUZTpS8VX0EF1e9BFnhrBqAhZGsCbVsy5BczbGyzF2BVkC6C0r7t9kArxe5WhqrlJHE NArAxMWJTWnFp3ULVPy+fAjph3lk4gvzuRzgd2e4O4JS9tKSlGVi0ybCsC7WfnyzP/hn zffbaVX0NMP1P09hz34wyYRPUONU2tozxBMUmI2cOzx0obvzMDMB9JNKj5XYJiiMuGLL /SbQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=k5HAh8ngAVPFB9BApz5vRyzeAzX7yXOYLyScd179RCI=; b=NJEIezFfVgRYAFkv6MhCFEX5NRvPCzBkAc3s+ij8Rpzc7w3qVb8t1mX+Hdge1ADzBx Sk1JVil2we6AR6kX0p0yedEgRKJCLZ/xY71S5iWOWnMOQpbbfjmEzvURXc1ZGhb+kZwd HSWeysUYz7RrV+wXBjIRDgrZiLKg2ooqtcCsgY5V9z79sXiNu6ITZoThFlgCUStSea+1 FNAgmQQ43ektuq2d7V9HV1xe7gOLhwhbt9OpDa4HMxbJMoc9yuNvqWXx2bsW4tx+lhVL tMpEWaL8tVWBwlKD3ejzrTy8Vc9WnqpXjoAqByrN/AmdbfC1mGHpyfkwnI2ivIkdrDDY JGxw== X-Gm-Message-State: AOAM531c+0W95Z4gz6x7b6mt5J68WLexayS/vxSTMsOFsWirShozHRQB EuUtW16XE2kxRHlEDuxGt+ZA X-Google-Smtp-Source: ABdhPJxcDuQwcxprePCJ9P8ujm+ox0ns8BfIT2VUCWkUlpI+Q1viKa0+CO/t90f0uGR0QrT/elsPkw== X-Received: by 2002:a17:90b:3b43:b0:1da:284f:7792 with SMTP id ot3-20020a17090b3b4300b001da284f7792mr12633082pjb.189.1651488127155; Mon, 02 May 2022 03:42:07 -0700 (PDT) Received: from localhost.localdomain ([27.111.75.99]) by smtp.gmail.com with ESMTPSA id x10-20020a1709029a4a00b0015e8d4eb2ccsm4368434plv.278.2022.05.02.03.42.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 02 May 2022 03:42:06 -0700 (PDT) From: Manivannan Sadhasivam To: mhi@lists.linux.dev Cc: linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, quic_hemantk@quicinc.com, quic_bbhatt@quicinc.com, loic.poulain@linaro.org, Manivannan Sadhasivam Subject: [PATCH 5/5] bus: mhi: host: Remove redundant dma_wmb() before ctx wp update Date: Mon, 2 May 2022 16:11:44 +0530 Message-Id: <20220502104144.91806-6-manivannan.sadhasivam@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220502104144.91806-1-manivannan.sadhasivam@linaro.org> References: <20220502104144.91806-1-manivannan.sadhasivam@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" The endpoint device will only read the context wp when the host rings the doorbell. And moreover the doorbell write is using writel(). This guarantess that the prior writes will be completed before ringing doorbell. So there is no need of an additional dma_wmb() to order the coherent memory writes w.r.t each other. Even if the writes gets reordered, it won't affect the endpoint device. Cc: Loic Poulain Signed-off-by: Manivannan Sadhasivam --- drivers/bus/mhi/host/main.c | 5 ----- 1 file changed, 5 deletions(-) diff --git a/drivers/bus/mhi/host/main.c b/drivers/bus/mhi/host/main.c index 966ffc2458b9..6706a82d3aa8 100644 --- a/drivers/bus/mhi/host/main.c +++ b/drivers/bus/mhi/host/main.c @@ -138,11 +138,6 @@ void mhi_ring_chan_db(struct mhi_controller *mhi_cntrl, =20 db =3D ring->iommu_base + (ring->wp - ring->base); =20 - /* - * Writes to the new ring element must be visible to the hardware - * before letting h/w know there is new element to fetch. - */ - dma_wmb(); *ring->ctxt_wp =3D cpu_to_le64(db); =20 mhi_chan->db_cfg.ring_db(mhi_cntrl, &mhi_chan->db_cfg, --=20 2.25.1