Received: by 2002:a05:6a10:1287:0:0:0:0 with SMTP id d7csp1082912pxv; Fri, 16 Jul 2021 00:55:22 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyW47TdRU9nJkfPEeUaPUODEdXBrB8b0qvhoJWf+90vZeezsfijGoXsSrPCX779pFfIsySp X-Received: by 2002:a17:906:cb86:: with SMTP id mf6mr10672369ejb.116.1626422122156; Fri, 16 Jul 2021 00:55:22 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1626422122; cv=none; d=google.com; s=arc-20160816; b=nWJbtL4HyoFmyVC/pKtvr6/vfHwKeHoxStoDwCgmV8DA4j4C6zhFoJCuUeRDzawP8P esekgWQem4XLhdYxRf9fJuZ3wavATPWa0K5Sou0eTH1ryJJ8Z3Z1H2azr0TQ6Qce9qRx 5qzvJsrX/DwdkBOLkxznOlolWBjC315FNZkvwRLIy/qW4zLMizi4f0m2YZQr6X+3wEIe XeyY1mt9UtIkPhGvMtEjhePAIUpj1HrTRgi58Gkh/NiIBwp7Y4ImmKikVv5TmMDyfEpR t3Kz3FwCpuPqnDfww3UnVpxR0tH665Wf0EIPBmDYy1sNAIZrw6irardyFj/gqWVu/9PJ STlg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=A5YTg0MnmWJbRIWQkegAwKJdKUa9X9i6zjHdjizNY+o=; b=RObsIKq4xX4dyJS8EQf+f4nxQw4UOnUZMWZeAK//BDclys1F/4FYys7MrYCe/gQjYb pUfXLu+B0ZiwoxyuepRM1oAo9p1Ip1MfXCgY3saLd2KlCp+GtmAcx4rsbg78QRQ/O9mb zOe+AAxkVBuR1NONMLeB36IoPOtQTznZXWDYAGsz7yCtBUPnX74k2ycyJJuY3kbhKboU cKUd8X/wkBnupp0M121m3k2QryR8gsSVG+4c5/MnUktoCFC1aGk37FyctKFlzNzPBgGe +pHGsm/ZZGKgxNr8Ghx4d525RTJJLCueTEbX5grD+v7uKniVV96Pw7n4k3SO8SSt4s4E mp4w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=Jc3SqWk2; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 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 vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id p27si10475264eja.311.2021.07.16.00.54.59; Fri, 16 Jul 2021 00:55:22 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=Jc3SqWk2; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 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 S236765AbhGPHye (ORCPT + 99 others); Fri, 16 Jul 2021 03:54:34 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35708 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236840AbhGPHyc (ORCPT ); Fri, 16 Jul 2021 03:54:32 -0400 Received: from mail-pf1-x42f.google.com (mail-pf1-x42f.google.com [IPv6:2607:f8b0:4864:20::42f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E06A3C061762 for ; Fri, 16 Jul 2021 00:51:37 -0700 (PDT) Received: by mail-pf1-x42f.google.com with SMTP id c1so4402421pfc.13 for ; Fri, 16 Jul 2021 00:51:37 -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=A5YTg0MnmWJbRIWQkegAwKJdKUa9X9i6zjHdjizNY+o=; b=Jc3SqWk2rhU0EU8oc/KfB7YReeHkXS37Fzs+U9Pc5NXU3sEp+5NMNpROi/+0AP/wLZ M61GrRqFVq+A7BxmNH6XY8bZY0Fk7f9zwQZJ2S9ADp3ilmyM23I9UO9oDESd/OBREOhp ofraqRypc3xRe2gGaVijrhFZiwDPUanL/u+zFBzmuKZ6WMvRA85t6+YCOIuM/G++3UWK Wd84197KT81ZT608yNFy2VCJ5Yp6JnlLpeNLhfzDh3T9QIuYA2OYV+QH8E6xEt77EgPg W8QQ1b3+etohCmXNzUm8VduavoTdYaYNciKBm36EzC5TlJ3k/t4zY2OkGeSn9nodPGEQ CIoQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=A5YTg0MnmWJbRIWQkegAwKJdKUa9X9i6zjHdjizNY+o=; b=osGP1z4oj0GzfbrSNPiBOfDpcRFkXycrEXWKKDuTy+Polhowf+4D70VkVJOf0mFXRA RVxpEcsI8obSIWzHDLla4Psx279zk+IMwFVetXlFB7rgN9H7gGw3S46lzioGSq74IUKq qjBMVwNSzvrd8IHl6UePA1TZzALEKWugIts0NolF/cnl304BSyTmA5mMVsbH7kuVd/+U 50DuQkqs8Zueju/rGgWcqDvu8LDw2ypUYWOs242wbakY1PAYUkrrgLXDC4Z+bSFxteDS dKZcI0TETVca2Xpe7pgD0ANFOSpcKD3sBth0hZskzEkg8y+llZ07h/rXMuiKZZx2hXsI UbsQ== X-Gm-Message-State: AOAM531XvoPCZB5GYkZQWiOvc9rwTrvkzKd2yOiq2yatYUL1EFralJjz /y9AMTpbYnNFCyc5yXn90J1n X-Received: by 2002:aa7:95a4:0:b029:332:f4e1:1dac with SMTP id a4-20020aa795a40000b0290332f4e11dacmr8210346pfk.34.1626421897372; Fri, 16 Jul 2021 00:51:37 -0700 (PDT) Received: from localhost.localdomain ([120.138.12.214]) by smtp.gmail.com with ESMTPSA id 21sm9253357pfp.211.2021.07.16.00.51.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 16 Jul 2021 00:51:36 -0700 (PDT) From: Manivannan Sadhasivam To: gregkh@linuxfoundation.org Cc: hemantk@codeaurora.org, bbhatt@codeaurora.org, linux-arm-msm@vger.kernel.org, jhugo@codeaurora.org, linux-kernel@vger.kernel.org, loic.poulain@linaro.org, stable@vger.kernel.org, Manivannan Sadhasivam , Manivannan Sadhasivam Subject: [PATCH 3/3] bus: mhi: pci_generic: Fix inbound IPCR channel Date: Fri, 16 Jul 2021 13:21:06 +0530 Message-Id: <20210716075106.49938-4-manivannan.sadhasivam@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210716075106.49938-1-manivannan.sadhasivam@linaro.org> References: <20210716075106.49938-1-manivannan.sadhasivam@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Loic Poulain The qrtr-mhi client driver assumes that inbound buffers are automatically allocated and queued by the MHI core, but this doesn't happen for mhi pci devices since IPCR inbound channel is not flagged with auto_queue, causing unusable IPCR (qrtr) feature. Fix that. Cc: stable@vger.kernel.org #5.10 Fixes: 855a70c12021 ("bus: mhi: Add MHI PCI support for WWAN modems") Signed-off-by: Loic Poulain Reviewed-by: Hemant kumar Reviewed-by: Manivannan Sadhasivam Link: https://lore.kernel.org/r/1625736749-24947-1-git-send-email-loic.poulain@linaro.org [mani: fixed a spelling mistake in commit description] Signed-off-by: Manivannan Sadhasivam --- drivers/bus/mhi/pci_generic.c | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/drivers/bus/mhi/pci_generic.c b/drivers/bus/mhi/pci_generic.c index 3396cb30ebec..4dd1077354af 100644 --- a/drivers/bus/mhi/pci_generic.c +++ b/drivers/bus/mhi/pci_generic.c @@ -75,6 +75,22 @@ struct mhi_pci_dev_info { .doorbell_mode_switch = false, \ } +#define MHI_CHANNEL_CONFIG_DL_AUTOQUEUE(ch_num, ch_name, el_count, ev_ring) \ + { \ + .num = ch_num, \ + .name = ch_name, \ + .num_elements = el_count, \ + .event_ring = ev_ring, \ + .dir = DMA_FROM_DEVICE, \ + .ee_mask = BIT(MHI_EE_AMSS), \ + .pollcfg = 0, \ + .doorbell = MHI_DB_BRST_DISABLE, \ + .lpm_notify = false, \ + .offload_channel = false, \ + .doorbell_mode_switch = false, \ + .auto_queue = true, \ + } + #define MHI_EVENT_CONFIG_CTRL(ev_ring, el_count) \ { \ .num_elements = el_count, \ @@ -213,7 +229,7 @@ static const struct mhi_channel_config modem_qcom_v1_mhi_channels[] = { MHI_CHANNEL_CONFIG_UL(14, "QMI", 4, 0), MHI_CHANNEL_CONFIG_DL(15, "QMI", 4, 0), MHI_CHANNEL_CONFIG_UL(20, "IPCR", 8, 0), - MHI_CHANNEL_CONFIG_DL(21, "IPCR", 8, 0), + 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), -- 2.25.1