Received: by 2002:a05:6358:3188:b0:123:57c1:9b43 with SMTP id q8csp2038338rwd; Sun, 21 May 2023 11:32:55 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ5IlTvCs8Sanz6o+i7s1RdVg7TfXlLO4qmlzVKYpZlwS2gekChObkaml7uBYuTfhia5jKKP X-Received: by 2002:a05:6a20:7f83:b0:10b:4e9c:ee25 with SMTP id d3-20020a056a207f8300b0010b4e9cee25mr2576286pzj.16.1684693974722; Sun, 21 May 2023 11:32:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1684693974; cv=none; d=google.com; s=arc-20160816; b=C+DUEq/NH/GIFYLm9Z1HHv5m3kLIygKYWK63gbBhvX4QM9b7DOGyQ3a2nP8n8yurP1 cIa35KPMrHjc0GBywYy0/xnXCFaVybTP+HhQXP7hJxWqYX2TbOeVXJmlejGijfwO7+8u JvpttYJtDuFThVrKc7eOllO3CJf/Sk+g4jxDz8vdszO1ZQOSUJd6uxhY1hFSgiR2vvLb RSKsezt+FR8XYuWdsJ+Pd7QHTj2sxjiw+o1CBNZBh/X6VPe/unt07P7xvxPsy7k+GzHL TTwg26MwnXCyFUqD4cTGzKwt65rCmByZgZOQB763cVgtMleymqGJpuQ2Uy7fN9mGbPsL RFfQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=8YdKvk1s42m4/YyjaeLQo6Rg9ti5aRTm6YguiBgoAog=; b=g3y8Czl+LfxNVq/g6YkcyVT/WB8fmJxrApD1lp4zu2qKU06AUwhH/XdTV5Qft4VUuP ABWeZSdmRWS3EBZs0+mCwiMDIVaJQCssXBgN+/Y9dqgmb6neTSWrZXx9w6pRKnd36f54 e3d2q5/uYRmrDMOQ+TflE4PjVZFj0uLSVB28ASbiPc/tbpS0fG5tJ8O00wpyz9QHhnsA Zep6VoB4K6FgKUj82fm2TrvtzZsp8OQ7He+JjOP7Le/UWzotws1ip/MWajFy3kaBs5bs 44sfrlwg2xN3njeoZ6NrQGOLlUtapu0oPummbnKaLLoK+z713d7uTOIBXxcK51JsQDw6 QWrg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=Erbz7tA5; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id bv63-20020a632e42000000b0050ac7d1b32asi1590380pgb.603.2023.05.21.11.32.40; Sun, 21 May 2023 11:32:54 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=Erbz7tA5; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230410AbjEUSb1 (ORCPT + 99 others); Sun, 21 May 2023 14:31:27 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50184 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231774AbjEUSaD (ORCPT ); Sun, 21 May 2023 14:30:03 -0400 Received: from mail-ot1-x331.google.com (mail-ot1-x331.google.com [IPv6:2607:f8b0:4864:20::331]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 73A1DBF for ; Sun, 21 May 2023 11:29:50 -0700 (PDT) Received: by mail-ot1-x331.google.com with SMTP id 46e09a7af769-6af7062f064so699563a34.2 for ; Sun, 21 May 2023 11:29:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1684693790; x=1687285790; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=8YdKvk1s42m4/YyjaeLQo6Rg9ti5aRTm6YguiBgoAog=; b=Erbz7tA5D0m+MvvR7Ywy2y0rf0TYdz1OZaBimm9pJAQCLdc3a+p/8YHsDgUN5KpOt4 2kqNEfEOzCtJF04UxYmE57duLHedYwl8EG21VKJ7/yU1zH8hUQazEdwR18/uKsn7+vcN FRFW45DaMYsY51lucjDnrzh2yowTtp/0fQeeIxO9IB1Uhe6dL+8I5LFt0MyNuwgLgseH TixXH/78EprKDCJgcbiYUkHDcAw/Qk2sY2hUGsmeeCB70UYTX4o772xLoqkGf/RByvfN WHN4TmajUR6i6KymqAddi3H1Dc4xyWhVdlk+NlUMrsagJbcB0NgoMh/rvKyQyU8euwvQ tUyA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684693790; x=1687285790; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=8YdKvk1s42m4/YyjaeLQo6Rg9ti5aRTm6YguiBgoAog=; b=c0M+KpnOYjXpmg9Sl/Ukr0P/jDARadjyZIz+wgy3wgibHUxsoskq+n8ZbGVIGOW9dI GSpbXboearh+X307GBYQnzBMiwPjNSORentbYwBrpOFkt78rT+B+0MvukQOq68Vm8t0A aO38SmOXg56BPnpXaLU4ZjF4Sx69s8RbPa6KsJisxViheB9xr+4QYKFN2+y8Jf5B6e0/ LantoXuh7RpXq4tzkkuSGNAPXM5fpYWa2G/0isen5/dCaoinGJi/JpoFHeQWXrsSLQC+ mB3/YFmA2zTqJiWU8JmwJgDilcYhE0QSI58ZCL094uspKNzpilggMxo03TWkJA3jglgU q9PQ== X-Gm-Message-State: AC+VfDz1vvVyg9LqqB/T5eXCWRgE8XpbgBYzRntRFY2LWNhgBrf6t7Yy 7Mt5OIhG0WyXtstTc7HvFGr9yi6QYTRLXBGosbkl5Q== X-Received: by 2002:a05:6870:b145:b0:19d:6f68:c3f with SMTP id a5-20020a056870b14500b0019d6f680c3fmr1170765oal.33.1684693789681; Sun, 21 May 2023 11:29:49 -0700 (PDT) MIME-Version: 1.0 References: <20230519135803.13850-1-manivannan.sadhasivam@linaro.org> In-Reply-To: <20230519135803.13850-1-manivannan.sadhasivam@linaro.org> From: Loic Poulain Date: Sun, 21 May 2023 20:27:45 +0200 Message-ID: Subject: Re: [PATCH] bus: mhi: host: pci_generic: Add support for IP_SW0 channels To: Manivannan Sadhasivam Cc: mhi@lists.linux.dev, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, quic_krichai@quicinc.com Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, 19 May 2023 at 15:58, Manivannan Sadhasivam wrote: > > IP_SW0 channels are used to transfer data over the networking interface > between MHI endpoint and the host. Define the channels in the MHI v1 > channel config along with dedicated event rings. > > Signed-off-by: Manivannan Sadhasivam Assuming we can extend the number of event rings (and dedicated irqs) without hitting any hardware limitation on the device side? Reviewed-by: Loic Poulain > --- > drivers/bus/mhi/host/pci_generic.c | 26 ++++++++++++++++++++++---- > 1 file changed, 22 insertions(+), 4 deletions(-) > > diff --git a/drivers/bus/mhi/host/pci_generic.c b/drivers/bus/mhi/host/pci_generic.c > index db0a0b062d8e..70e37c490150 100644 > --- a/drivers/bus/mhi/host/pci_generic.c > +++ b/drivers/bus/mhi/host/pci_generic.c > @@ -212,6 +212,19 @@ struct mhi_pci_dev_info { > .offload_channel = false, \ > } > > +#define MHI_EVENT_CONFIG_SW_DATA(ev_ring, el_count) \ > + { \ > + .num_elements = el_count, \ > + .irq_moderation_ms = 0, \ > + .irq = (ev_ring) + 1, \ > + .priority = 1, \ > + .mode = MHI_DB_BRST_DISABLE, \ > + .data_type = MHI_ER_DATA, \ > + .hardware_event = false, \ > + .client_managed = false, \ > + .offload_channel = false, \ > + } > + > #define MHI_EVENT_CONFIG_HW_DATA(ev_ring, el_count, ch_num) \ > { \ > .num_elements = el_count, \ > @@ -237,8 +250,10 @@ static const struct mhi_channel_config modem_qcom_v1_mhi_channels[] = { > MHI_CHANNEL_CONFIG_DL_AUTOQUEUE(21, "IPCR", 8, 0), > MHI_CHANNEL_CONFIG_UL_FP(34, "FIREHOSE", 32, 0), > MHI_CHANNEL_CONFIG_DL_FP(35, "FIREHOSE", 32, 0), > - MHI_CHANNEL_CONFIG_HW_UL(100, "IP_HW0", 128, 2), > - MHI_CHANNEL_CONFIG_HW_DL(101, "IP_HW0", 128, 3), > + MHI_CHANNEL_CONFIG_UL(46, "IP_SW0", 64, 2), > + MHI_CHANNEL_CONFIG_DL(47, "IP_SW0", 64, 3), > + MHI_CHANNEL_CONFIG_HW_UL(100, "IP_HW0", 128, 4), > + MHI_CHANNEL_CONFIG_HW_DL(101, "IP_HW0", 128, 5), > }; > > static struct mhi_event_config modem_qcom_v1_mhi_events[] = { > @@ -246,9 +261,12 @@ static struct mhi_event_config modem_qcom_v1_mhi_events[] = { > MHI_EVENT_CONFIG_CTRL(0, 64), > /* DIAG dedicated event ring */ > MHI_EVENT_CONFIG_DATA(1, 128), > + /* Software channels dedicated event ring */ > + MHI_EVENT_CONFIG_SW_DATA(2, 64), > + MHI_EVENT_CONFIG_SW_DATA(3, 64), > /* Hardware channels request dedicated hardware event rings */ > - MHI_EVENT_CONFIG_HW_DATA(2, 1024, 100), > - MHI_EVENT_CONFIG_HW_DATA(3, 2048, 101) > + MHI_EVENT_CONFIG_HW_DATA(4, 1024, 100), > + MHI_EVENT_CONFIG_HW_DATA(5, 2048, 101) > }; > > static const struct mhi_controller_config modem_qcom_v1_mhiv_config = { > -- > 2.25.1 >