From patchwork Fri Nov 25 07:13:56 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 25860 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:f944:0:0:0:0:0 with SMTP id q4csp3822678wrr; Thu, 24 Nov 2022 23:17:56 -0800 (PST) X-Google-Smtp-Source: AA0mqf4nMZaECpZyZsYzlRnX8pQNwcgbZDdoazv6hGQNpEhNG+BTXfn59o0o+5CYCh7wIR23aR9D X-Received: by 2002:a17:906:2ccb:b0:7ad:9892:921a with SMTP id r11-20020a1709062ccb00b007ad9892921amr29678473ejr.506.1669360676168; Thu, 24 Nov 2022 23:17:56 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1669360676; cv=none; d=google.com; s=arc-20160816; b=Omy7jFAfxq48+zKncrmPofiwQgCKD+LxnLov+sk6LDcYnsiBAJwhy6hHXCrn0KmWo+ zjUMfLI7m53RUcGWCzbsxPtCPHmyJkquMumzmcTY3r/m2XIbjv5qzzeyyawm20GhIC/E +0Bab89FAJOpfew31cP9RSLfS0XHuAGkNxpoB1Uvdqs0m4quUI6m3H9D8zQi1GD/blqQ 0KWwEKHfxRIJT0H1rxqV7F+R8vuog13QCRD1n3pg1tVfFNwyAR4F15NDO6EtoGfyJtAS JynliJK0iIkGGTVsLtVcBKuyLmmJpezf1VkxCrMyoe7qI849vga5I5ymanJxTmXqbuN1 j5aA== 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=h0J+ugIJ0lSNoX8rurDzNvXKfWJes9/BQo4T8s3+pWU=; b=Som4mq+2wjtLCTfTGqHcI6/+4PGmkfKOnIwSrFdNT/ta2RpgtavDgwP2Vz3zLVq8yx s22kvfGXOAn3UDB8rYN54cmZkGnrzASbWScI6L/7RafeOC2mVyaE9AzbtA50EKkLs9sn 3gBCfg2jiIXJDbJioUHmsg8nB6Epe1C2yYxyGlxuWE8QKXjUx5+B1KeDwDlHdwZf36eq 3dWAZpU+7BTUG1RhoNIaMc/ps2hBrs7dv+pmxgwZbQu2gHxVh3/J1lIchTK5fGqwDvYM o6a0X/nDe/awbFq94ZFWdiuAH7JHfRs9DFoAOl61B9IUhj9YZXWUiu2405LZ/LuXlOHS OimQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=r0hjAf3Z; 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: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id o16-20020aa7c510000000b0046a279823d6si2329463edq.298.2022.11.24.23.17.31; Thu, 24 Nov 2022 23:17:56 -0800 (PST) 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=r0hjAf3Z; 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 S229669AbiKYHPE (ORCPT + 99 others); Fri, 25 Nov 2022 02:15:04 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39958 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229618AbiKYHOy (ORCPT ); Fri, 25 Nov 2022 02:14:54 -0500 Received: from mail-wr1-x434.google.com (mail-wr1-x434.google.com [IPv6:2a00:1450:4864:20::434]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id ADE1E2C659 for ; Thu, 24 Nov 2022 23:14:45 -0800 (PST) Received: by mail-wr1-x434.google.com with SMTP id s5so5454947wru.1 for ; Thu, 24 Nov 2022 23:14:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=h0J+ugIJ0lSNoX8rurDzNvXKfWJes9/BQo4T8s3+pWU=; b=r0hjAf3ZDG7cDT7bMZ0xSyOfhLsEyHqLQo1KeHT9hcpxcwKczhFsNRbZvvz+hMrfkW q0IWF06asjf10hXrQUiA5/JOJOSRrtiCbKKbRnztFz6UUuKuho7VRm6swC9P+QogGbI7 vQy9evy4C5nkUhWrkDOT5dI390Q0d6O+0dy9e+lDzAzdUrbqhcphMxXcTNcvziE9ewz4 JgJ1Z+ASiGhBPp1AjYtgDINFqbUyFB11sXcyCJHOC5v8qsOAXFvU/pk7H5DGEdfiXzy6 cjSfjwLqQ8XgfmAKiQJHMZgLvZDCnFLPezwT7LLucMfAYFpKKwUvuEcyI83Y+tIsmxdA xwrQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=h0J+ugIJ0lSNoX8rurDzNvXKfWJes9/BQo4T8s3+pWU=; b=3/W8bRoOJDb99SrCmm4nnx1ljUBgT38/gYRHqrjZQV6C4ToOl9Ez7WLogBi60hzaON CDPgm9VhJ1htDljuNIqfRMf8x8J8pdr7LrkCb3S/IVsefBPaP+T8ExrSKAy/YnDQK3Gi gSb7sclGDrNxiXkpbqXJrG2rciqYEEJuCLgNtDhJVqqgLnm6iqYhjZ5rUdp4HxpzC17d iurp7BAp3fVgu5ObGWqMzRNRxOciZwuwWIr1rN8E4/flleuIo2QHmJzLeVMe/LYAWPwt gMXH+tMNHBt9IXahwvuNVCIkOrEH9yVVOlvevmderUZqlAi99DKOedQu/tV3kLsO/Qvl YB3w== X-Gm-Message-State: ANoB5pnLP5qUk+jMIYylaRIhAiWK9gGWBaYdoy9tMar8cnQ6N5SroZZs pZbkQ+gHjQ/FsDUC7rkoWudbEw== X-Received: by 2002:adf:a54b:0:b0:242:49b:5bb1 with SMTP id j11-20020adfa54b000000b00242049b5bb1mr1378797wrb.337.1669360484227; Thu, 24 Nov 2022 23:14:44 -0800 (PST) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id c2-20020a05600c0a4200b003cfd4cf0761sm9108444wmq.1.2022.11.24.23.14.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 24 Nov 2022 23:14:43 -0800 (PST) From: Srinivas Kandagatla To: gregkh@linuxfoundation.org Cc: linux-kernel@vger.kernel.org, Abel Vesa , Neil Armstrong , Srinivas Kandagatla Subject: [PATCH v2 01/10] dt-bindings: misc: qcom,fastrpc: increase allowed iommus entries Date: Fri, 25 Nov 2022 07:13:56 +0000 Message-Id: <20221125071405.148786-2-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20221125071405.148786-1-srinivas.kandagatla@linaro.org> References: <20221125071405.148786-1-srinivas.kandagatla@linaro.org> MIME-Version: 1.0 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 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 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1750451540167520279?= X-GMAIL-MSGID: =?utf-8?q?1750451540167520279?= From: Abel Vesa The fastrpc components on the SM8550 SoC can require up to 3 IOMMU entries, this bumps the maxItems to 3 for this purpose. Signed-off-by: Abel Vesa Signed-off-by: Neil Armstrong Signed-off-by: Srinivas Kandagatla --- Documentation/devicetree/bindings/misc/qcom,fastrpc.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Documentation/devicetree/bindings/misc/qcom,fastrpc.yaml b/Documentation/devicetree/bindings/misc/qcom,fastrpc.yaml index d7576f8ac94b..1ab9588cdd89 100644 --- a/Documentation/devicetree/bindings/misc/qcom,fastrpc.yaml +++ b/Documentation/devicetree/bindings/misc/qcom,fastrpc.yaml @@ -79,7 +79,7 @@ patternProperties: iommus: minItems: 1 - maxItems: 2 + maxItems: 3 qcom,nsessions: $ref: /schemas/types.yaml#/definitions/uint32 From patchwork Fri Nov 25 07:13:57 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 25859 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:f944:0:0:0:0:0 with SMTP id q4csp3822603wrr; Thu, 24 Nov 2022 23:17:43 -0800 (PST) X-Google-Smtp-Source: AA0mqf4RwZIxoCFuM5vLD3ESMNq9SYdemiDODLBpORmIL4S211IJHbaTbFZzMZqGOzl6RJndqkgJ X-Received: by 2002:a17:906:5213:b0:7b6:12ee:b7fc with SMTP id g19-20020a170906521300b007b612eeb7fcmr19880631ejm.265.1669360663780; Thu, 24 Nov 2022 23:17:43 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1669360663; cv=none; d=google.com; s=arc-20160816; b=NFYnd3ef4M0OvvftJT9i1cioBTzp3Jm6hFdYbeCqAWLfiSAlNi7lY8kWAIeuvHhl+G Gyh3CahXnjmi3MIyxZIIK3HxRL0cqRSQoYw8MIOvwZ/KjYJoI5sJRGy/DIleZZarw9/b rQ3bUmIAjHW7CSSQryr9vh8GIeL7yhYe4ZIIi/CgYS9NdPqwqS9OoY/1zMrChb/BQqPm 58ye+H043bgs3/oNnFch7RT2FOMWmpuR1BXRRDxeTbDijlL9qMVmXueLZ7O1ij9Bt5uu ZYf8bNhcHXx4343kJPxIvKS311OLAfjErL5TPD1wrEHzdtoQ47wntLOfopvaO9zauBUn LNog== 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=DBHvqytCrBtvivGhRYRRloCxhmUV+fHQ0zki4mIHCpI=; b=alqOZvHz0k2BGQJE2pnNnlr7NkxMCI55ZKRemE9ULuLqwSI7iwSScp5ao+lrWFXXep SnahznPcInsu9VHL90ZvEr4pMmX9SStaDluVJxQ7m8z4QHY+JHdk8lZDFy1QWy9fTSM7 Eu1CHLA3MhGxj4tpGX9CUOyiki1arzsSUy/f9CKCl0sltXLGHsNniGR2irPFBpXsR8ei fTFrs6m9C2MRQf1toIov/VaB669T6Z9o5yrCHzbalC0RAZ9JUNFSXfLEQ3AjxjVpumBU hJCBwBYbaMVTA3/ff3uYg0cyfEfUAy8dBMLApLFG9kT/SF+vLvgXxaUSWdqMsIjmrQUM K1bg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=EBGXpZ9Q; 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: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id gn13-20020a1709070d0d00b007824786a7easi2895452ejc.724.2022.11.24.23.17.20; Thu, 24 Nov 2022 23:17:43 -0800 (PST) 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=EBGXpZ9Q; 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 S229644AbiKYHPB (ORCPT + 99 others); Fri, 25 Nov 2022 02:15:01 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39964 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229619AbiKYHOz (ORCPT ); Fri, 25 Nov 2022 02:14:55 -0500 Received: from mail-wr1-x42e.google.com (mail-wr1-x42e.google.com [IPv6:2a00:1450:4864:20::42e]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B83C22C676 for ; Thu, 24 Nov 2022 23:14:46 -0800 (PST) Received: by mail-wr1-x42e.google.com with SMTP id x17so5429533wrn.6 for ; Thu, 24 Nov 2022 23:14:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=DBHvqytCrBtvivGhRYRRloCxhmUV+fHQ0zki4mIHCpI=; b=EBGXpZ9QyUhu0bhSjg8t7PSJ+irJyOjBB05399ETElZxXwFDi1t6Lo3xt8OWwdp1DE zzn4wrcWclIKa42B27M8XnIoav9VOIc1l43PLHz+SHI5KeQsVIkaJmrfj/U+c331FE2c /c+SPyICJK3LWD3h01GvRhN4md21yvs43fe0BiE3AVrWDk8UqDa/NdDLCbY/vzOntFLB bQ4zR/Mh74/335FaBCwA+E48bmcOGxzG1d8kAFtPSv8Kpm/s3CrmlHeVTC3Y6alrBpq+ qnZ3YKXRzGddGNLzLqxqfS+Gh/+P7O6CUp3Is+k9KFJfImrx4V/75JVvYpZtEGFYiWrW cl/g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=DBHvqytCrBtvivGhRYRRloCxhmUV+fHQ0zki4mIHCpI=; b=IzXTMwfKKFfXtdG7pdfmqR2sX93gSx8WFWxwfNpHwe87oayU6F9CrIY1At++Pk/k8A ItG0wblaeFUyrLpJ50VIvMoLfRaJip8D0d9IlD+J1SCDK/Vxdmz4a6t6D1uSv/oKBG+c ZozAeOi5kLunK1iq2VfHE5abgObv4Dy/x54VOuWFvc1KfVsVrtNjjlTBhCRaHHVB83vE 0ABmMoca6/mWgpjYlOODLXSJ9zdgiI9nFC219gNF3Pqbpcu5/VA+xiR8+1OruAq+xiD6 gqrYSE2uPD8I+6SIVkjj0xH+TT34LWR7uQvY+EyriUvESHKKjcWNfaEEq3GmqeHLdMwl 5eIg== X-Gm-Message-State: ANoB5pmkOXZOGKKvWU2OLinefXlOheohgmezeV46xqvRCNjXZFW0azjp GHrV9NuuWicPAHV4r1YLe9/ytw== X-Received: by 2002:a5d:4006:0:b0:241:ed02:19a3 with SMTP id n6-20020a5d4006000000b00241ed0219a3mr6630833wrp.490.1669360485264; Thu, 24 Nov 2022 23:14:45 -0800 (PST) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id c2-20020a05600c0a4200b003cfd4cf0761sm9108444wmq.1.2022.11.24.23.14.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 24 Nov 2022 23:14:44 -0800 (PST) From: Srinivas Kandagatla To: gregkh@linuxfoundation.org Cc: linux-kernel@vger.kernel.org, Abel Vesa , Srinivas Kandagatla Subject: [PATCH v2 02/10] misc: fastrpc: Rename audio protection domain to root Date: Fri, 25 Nov 2022 07:13:57 +0000 Message-Id: <20221125071405.148786-3-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20221125071405.148786-1-srinivas.kandagatla@linaro.org> References: <20221125071405.148786-1-srinivas.kandagatla@linaro.org> MIME-Version: 1.0 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 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 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1750451527202660382?= X-GMAIL-MSGID: =?utf-8?q?1750451527202660382?= From: Abel Vesa The AUDIO_PD will be done via static pd, so the proper name here is actually ROOT_PD. Signed-off-by: Abel Vesa Co-developed-by: Srinivas Kandagatla Signed-off-by: Srinivas Kandagatla --- drivers/misc/fastrpc.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/misc/fastrpc.c b/drivers/misc/fastrpc.c index 80811e852d8f..f80a00e9f508 100644 --- a/drivers/misc/fastrpc.c +++ b/drivers/misc/fastrpc.c @@ -83,7 +83,7 @@ #define FASTRPC_RMID_INIT_MEM_UNMAP 11 /* Protection Domain(PD) ids */ -#define AUDIO_PD (0) /* also GUEST_OS PD? */ +#define ROOT_PD (0) #define USER_PD (1) #define SENSORS_PD (2) @@ -1889,7 +1889,7 @@ static long fastrpc_device_ioctl(struct file *file, unsigned int cmd, err = fastrpc_invoke(fl, argp); break; case FASTRPC_IOCTL_INIT_ATTACH: - err = fastrpc_init_attach(fl, AUDIO_PD); + err = fastrpc_init_attach(fl, ROOT_PD); break; case FASTRPC_IOCTL_INIT_ATTACH_SNS: err = fastrpc_init_attach(fl, SENSORS_PD); From patchwork Fri Nov 25 07:13:58 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 25861 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:f944:0:0:0:0:0 with SMTP id q4csp3822721wrr; Thu, 24 Nov 2022 23:18:03 -0800 (PST) X-Google-Smtp-Source: AA0mqf42RiMdAxBmFLiJ4Nc4knT5Bi1yYIaa9CaUTobNgAO1mp1MGV7P5HIpZo3BG/oHdTC5DT7H X-Received: by 2002:a17:906:d1c7:b0:7ad:fd3e:7762 with SMTP id bs7-20020a170906d1c700b007adfd3e7762mr16270044ejb.717.1669360683570; Thu, 24 Nov 2022 23:18:03 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1669360683; cv=none; d=google.com; s=arc-20160816; b=yvxZ6RuugEzbK2s+hQuB8N9uDU03JvNGy2YQivLVQ2oT3z9fyrgzFCFc+DskIOHYBN llC4YEneJPu1ZtJGiF/5pEiXP51CuuaaZTlUi/zlHKooYGVGT/ko1H2SkYL7e4mjmpcz ViRRcuV+2CA7/ZSGLCEiBm2O0Mf1nLmfMNnhAfv7cy6YqmQq+yNXcBrGKfWcdCEzbha/ KRVwJVcYFEwfHqC4yyIA4zfYrb60czpIg4tmRfospIS71SxS+Fgr9B4+y0iWyM+yfetK WJNZ/2n2O5FYs5yAR1bwmQbnRjyxGC/9c7J8AAVeEuqiaZn5YXGHjpTWVY8G/S0SH48X WcHQ== 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=8x/qcH2Ax/NV41rma6S5DWR5/Gpf7+0Ad2wDhdXWRWE=; b=tcsyiDT9/su4D9K7rvwaC2CphPEjM3cPTYM9x06sxvW0pi8GAouulm7jCNQKHNRSSy 8rRGaQ9i+sUnXPFoF9k61j2ydoBsjb+SN39qz0AXt//7wb1yjYCDsoPBi196IxoSTd+x sc5GJ6R2s3M/DF6VaeXIBx2U7PVskbHmirK2qnfoaQz4At1EUMrFTpY6gJtMcTk7MYbW r9b7VgYzCMk0SaYYNjas7w2M4qoLLaY1cWIxUhXgw42QNaS+teNFnd3kmroZFC8a0OLP IzNCxbZNxHf72QgrgAv0lwwb31KAjtdZuHMBpR1WZzAPluDx3wF9LEILfyBKhdu/q9lc I5+g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=wzYydV7M; 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: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id z2-20020a50eb42000000b00467960d3013si1710968edp.43.2022.11.24.23.17.40; Thu, 24 Nov 2022 23:18:03 -0800 (PST) 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=wzYydV7M; 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 S229694AbiKYHPH (ORCPT + 99 others); Fri, 25 Nov 2022 02:15:07 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39980 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229633AbiKYHOz (ORCPT ); Fri, 25 Nov 2022 02:14:55 -0500 Received: from mail-wr1-x42f.google.com (mail-wr1-x42f.google.com [IPv6:2a00:1450:4864:20::42f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 392E72CC94 for ; Thu, 24 Nov 2022 23:14:48 -0800 (PST) Received: by mail-wr1-x42f.google.com with SMTP id d1so5406228wrs.12 for ; Thu, 24 Nov 2022 23:14:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=8x/qcH2Ax/NV41rma6S5DWR5/Gpf7+0Ad2wDhdXWRWE=; b=wzYydV7MQYroCBgdEtrGVpr2BurCP+OxhxKQeSKsGqv7AwTD9XpyN+OdlrrvNexWdg ttXbMXEQ0DQIb2lELXIvvS/G6dP40MhCbw2STSA0pz7vsDQSC5dy2+mLXake1H1ZjhD5 jvWg6PhnGvEJKFQ34jr4/kN06sGYDv8JhX08x0SgYZviN97rjhKdZ4b47DoWbw3gIFEz +ekQYoxcE3elcsF3ivdWD/8hFrIIbWawPo6ISnaf/KFoOzlHXTsXLZrBnl2gkkW1LPoF is57CNLoBUAn4IJ45wt7noy9T2nAG2q8znVikfJ4sgI7eyTIznMF6JOXmB6jIDPy8EfP nbzQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=8x/qcH2Ax/NV41rma6S5DWR5/Gpf7+0Ad2wDhdXWRWE=; b=jfF3tdwMx1yHMZjfS3pWIFTEl13hPBpetxUoymn0KXrQ5czK0qV1SjfqFlC1FlDdUh q93U+sxZvPBVNe69xo1U6mFd2TPeK4MXEH7lJE5FW5dwrnSLsbB5F4jjvt2gq/zg0+I+ 0JhiGbAxOIwV9oJDTnerPt5bKuf8QXo31k4MrF/vVK3zu4O6Ad8WTycGsmMKeDG+inM3 avYLFhSqhVD0k7eEjRb/n4l3KsqZeSGq7xOhllORayShiaHaO/O533w66hVEUuUg8a+0 9qjss5CtRRovIdLDnjHcDZcuIrxpbhZRosNPSXHYrMkDiIDHgNFdXCDBPTaMieBC11xM 35LA== X-Gm-Message-State: ANoB5pk8hp1XkwPx/jKQoNC4k9B/g1wGfUPGnfNVQ0fEfB5OolKDv1VW ss7ZypnjG/gu6hNtGExrhcl/oQ== X-Received: by 2002:a5d:510b:0:b0:241:fe9d:fbf4 with SMTP id s11-20020a5d510b000000b00241fe9dfbf4mr3484593wrt.412.1669360486785; Thu, 24 Nov 2022 23:14:46 -0800 (PST) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id c2-20020a05600c0a4200b003cfd4cf0761sm9108444wmq.1.2022.11.24.23.14.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 24 Nov 2022 23:14:45 -0800 (PST) From: Srinivas Kandagatla To: gregkh@linuxfoundation.org Cc: linux-kernel@vger.kernel.org, Abel Vesa , Srinivas Kandagatla Subject: [PATCH v2 03/10] misc: fastrpc: Add reserved mem support Date: Fri, 25 Nov 2022 07:13:58 +0000 Message-Id: <20221125071405.148786-4-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20221125071405.148786-1-srinivas.kandagatla@linaro.org> References: <20221125071405.148786-1-srinivas.kandagatla@linaro.org> MIME-Version: 1.0 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 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 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1750451548256098379?= X-GMAIL-MSGID: =?utf-8?q?1750451548256098379?= From: Abel Vesa The reserved mem support is needed for CMA heap support, which will be used by AUDIOPD. Signed-off-by: Abel Vesa Co-developed-by: Srinivas Kandagatla Signed-off-by: Srinivas Kandagatla --- drivers/misc/fastrpc.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/misc/fastrpc.c b/drivers/misc/fastrpc.c index f80a00e9f508..395036a10e15 100644 --- a/drivers/misc/fastrpc.c +++ b/drivers/misc/fastrpc.c @@ -19,6 +19,7 @@ #include #include #include +#include #define ADSP_DOMAIN_ID (0) #define MDSP_DOMAIN_ID (1) @@ -2068,6 +2069,9 @@ static int fastrpc_rpmsg_probe(struct rpmsg_device *rpdev) return -EINVAL; } + if (of_reserved_mem_device_init_by_idx(rdev, rdev->of_node, 0)) + dev_info(rdev, "no reserved DMA memory for FASTRPC\n"); + vmcount = of_property_read_variable_u32_array(rdev->of_node, "qcom,vmids", &vmids[0], 0, FASTRPC_MAX_VMIDS); if (vmcount < 0) From patchwork Fri Nov 25 07:13:59 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 25855 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:f944:0:0:0:0:0 with SMTP id q4csp3822240wrr; Thu, 24 Nov 2022 23:16:52 -0800 (PST) X-Google-Smtp-Source: AA0mqf5JUFWVB6bdEBdGRCHkp8YSHwt1/WH6C5vdzWMuanOUTWQQnBQHpLTks+YvAnJrAlIThPS3 X-Received: by 2002:a17:906:4cc1:b0:7ae:50c6:fd0a with SMTP id q1-20020a1709064cc100b007ae50c6fd0amr30099655ejt.184.1669360612000; Thu, 24 Nov 2022 23:16:52 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1669360611; cv=none; d=google.com; s=arc-20160816; b=PXQ3O/0EOKUa0LtpIFSR77Pv5v+63I/vMNmMIzxzJ58N6FozlQlqMXwV9gv/X9CoSp m9Rl2j/iNA85dMSogLti7sTKWYc5V+aaSXrg2NJBfzBW6BhyOkVO/dIDvDHVIsZwM9pA NRXWg+s41OlMpQ4S+S3uRhAc0+2+ns0SUAJOQo0cOVuVoFUBe5zctbVNg0GQwbowyrak FJd0IIlEDWyoaP0u2kEIcDp+gmPz4vrwF2/cNoHv9+acT4fI9GvP2o8pzw0i7dA0Pkpi p07XaVZBxfRFQQVi0nPZqR9xG26LaWHUyXdYLEuiVhGsHu8ptrK6ty9jeFpNgdqOyav0 ueqQ== 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=vOy39E3z+tLbSKBZY/E/x0gfjAwKzajrIG8av3Fi5No=; b=toWpcXYR0ZrWATypJR8D7PBzbCNaLpk1WBOZ1MydABfaZAlhk0YyXE6m4rajjUxoSk aVQfZ2oA240fqDCxjKB8vOG/PNBEYUZKhQhxkiGSKs/MohBHVsruBK5QlKlB9iJg5esl /Zj/zRUWVNVuBIlx48grnGFzmx6FlosYuzyLymeB6tvg3YWbuOtI25LyjUAkoIoTFBei azyj67STI65rW88PVkkpo3COo55jV67U7qktzc0a5S3geV0qS0tsOu4oE5jMPBgv9tPh YpCLiUgVBf/SHQzUWRJHXyo/y2gQYM2fr1CXV+vE9/F68DV0bX9PJSkknJHD+irPQIkA 763g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=gWPgHUNH; 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: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id la26-20020a170907781a00b0078ddff4b3absi1930201ejc.423.2022.11.24.23.16.27; Thu, 24 Nov 2022 23:16:51 -0800 (PST) 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=gWPgHUNH; 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 S229702AbiKYHPK (ORCPT + 99 others); Fri, 25 Nov 2022 02:15:10 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39962 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229602AbiKYHO4 (ORCPT ); Fri, 25 Nov 2022 02:14:56 -0500 Received: from mail-wr1-x42b.google.com (mail-wr1-x42b.google.com [IPv6:2a00:1450:4864:20::42b]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4B2032CCA3 for ; Thu, 24 Nov 2022 23:14:49 -0800 (PST) Received: by mail-wr1-x42b.google.com with SMTP id q7so4544607wrr.8 for ; Thu, 24 Nov 2022 23:14:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=vOy39E3z+tLbSKBZY/E/x0gfjAwKzajrIG8av3Fi5No=; b=gWPgHUNHXi7xQrJEH1IwSQ8ct/pWAFcE8MyedJ7tPvOowbCS/OFbGw406kyV397FDT Fbo51jESZLTK5QvsfDGFRotmoPkR96/Rm5bgH6XmBPkUT4FPyfZ5KDVp8QW7qYn5EhbO 3zGmCshM8Io4b/5d6611DoKsJSapjlvf+q+jqMz30fG6XA3+NMWguBZ+edJlyCLgHXCp tKouT3ElvRg5BnOTo4tUfgLuicQtAyJuwAmryvA7LgdgXHGkU2YXgtVXnEM5EM8L9fbc XIV8rsorvbeUnkVyj0AkdlrJt7xlYyzdW46FbWTo5KRZ7MY2WlL6d6ULflnJeoIC3qLa sHDQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=vOy39E3z+tLbSKBZY/E/x0gfjAwKzajrIG8av3Fi5No=; b=POvBHB1nI37UUneD/U9OyNKxeYlWRQYfhgzUzsmtV6qq2J8u6KJX4/It5NZDpqcT4M Qo3uXHZY+CconepVAf4zF31gXor2wYD739L/YUJWRnG/u+cy274J4pbw5lX4HufMllps B4bWWH1rauR7BOiuV8FZxl5qz3GsIzHGhPh0SSUvQ3GR3rtT0xQwSbx1SdG1PBenkU4H irRPbaoZa7NCxVrWwvDOi4i3hXlML5gc+Ryi6Tqi57ZeMZ5zuTO3H2OnI4qG06ijzDgs fCBKtS2m9VHHnVjmZ0vXx/rZHaBgG6p2VDhgeJOMrmqMaVtmapmKnJE7IyzQGZfh7ZOT Z0Kg== X-Gm-Message-State: ANoB5pky/t8FLONsj3eyFOacC7/6uE5bkWhQWlr9FTqbuMS10bx4UtwD EdBoCsaiDE1z+sfV/iyw+rX1Sw== X-Received: by 2002:a5d:6551:0:b0:236:8fa1:47cf with SMTP id z17-20020a5d6551000000b002368fa147cfmr23245207wrv.50.1669360487867; Thu, 24 Nov 2022 23:14:47 -0800 (PST) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id c2-20020a05600c0a4200b003cfd4cf0761sm9108444wmq.1.2022.11.24.23.14.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 24 Nov 2022 23:14:47 -0800 (PST) From: Srinivas Kandagatla To: gregkh@linuxfoundation.org Cc: linux-kernel@vger.kernel.org, Abel Vesa , Srinivas Kandagatla Subject: [PATCH v2 04/10] misc: fastrpc: Add fastrpc_remote_heap_alloc Date: Fri, 25 Nov 2022 07:13:59 +0000 Message-Id: <20221125071405.148786-5-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20221125071405.148786-1-srinivas.kandagatla@linaro.org> References: <20221125071405.148786-1-srinivas.kandagatla@linaro.org> MIME-Version: 1.0 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 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 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1750451473087052367?= X-GMAIL-MSGID: =?utf-8?q?1750451473087052367?= From: Abel Vesa Split fastrpc_buf_alloc in such a way it allows allocation of remote heap too and add fastrpc_remote_heap_alloc to do so. Signed-off-by: Abel Vesa Co-developed-by: Srinivas Kandagatla Signed-off-by: Srinivas Kandagatla --- drivers/misc/fastrpc.c | 29 ++++++++++++++++++++++++++--- 1 file changed, 26 insertions(+), 3 deletions(-) diff --git a/drivers/misc/fastrpc.c b/drivers/misc/fastrpc.c index 395036a10e15..9e83743eaca1 100644 --- a/drivers/misc/fastrpc.c +++ b/drivers/misc/fastrpc.c @@ -379,7 +379,7 @@ static void fastrpc_buf_free(struct fastrpc_buf *buf) kfree(buf); } -static int fastrpc_buf_alloc(struct fastrpc_user *fl, struct device *dev, +static int __fastrpc_buf_alloc(struct fastrpc_user *fl, struct device *dev, u64 size, struct fastrpc_buf **obuf) { struct fastrpc_buf *buf; @@ -407,14 +407,37 @@ static int fastrpc_buf_alloc(struct fastrpc_user *fl, struct device *dev, return -ENOMEM; } + *obuf = buf; + + return 0; +} + +static int fastrpc_buf_alloc(struct fastrpc_user *fl, struct device *dev, + u64 size, struct fastrpc_buf **obuf) +{ + int ret; + struct fastrpc_buf *buf; + + ret = __fastrpc_buf_alloc(fl, dev, size, obuf); + if (ret) + return ret; + + buf = *obuf; + if (fl->sctx && fl->sctx->sid) buf->phys += ((u64)fl->sctx->sid << 32); - *obuf = buf; - return 0; } +static int fastrpc_remote_heap_alloc(struct fastrpc_user *fl, struct device *dev, + u64 size, struct fastrpc_buf **obuf) +{ + struct device *rdev = &fl->cctx->rpdev->dev; + + return __fastrpc_buf_alloc(fl, rdev, size, obuf); +} + static void fastrpc_channel_ctx_free(struct kref *ref) { struct fastrpc_channel_ctx *cctx; From patchwork Fri Nov 25 07:14:00 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 25856 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:f944:0:0:0:0:0 with SMTP id q4csp3822375wrr; Thu, 24 Nov 2022 23:17:14 -0800 (PST) X-Google-Smtp-Source: AA0mqf5D3h3xktzJ+Er6z3kaEzau78Z83Tt9chM5dUtsxvdYEfOKhXUwSykdD7P8unnCxeteJYHk X-Received: by 2002:a05:6402:5305:b0:467:69e3:c25b with SMTP id eo5-20020a056402530500b0046769e3c25bmr33161623edb.3.1669360634477; Thu, 24 Nov 2022 23:17:14 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1669360634; cv=none; d=google.com; s=arc-20160816; b=slf0oznvqFsJgCtUGk8YzRPE54IUl2t1PJhNsXienmEJNBG5rcwc/91x79CWcq8mDI 6Z6uJeiJbaGNagE2Nqlkkv/YLmFJ+8z8TDxfdPvMiTduZ0a/xMZ3Od4a5GmhS6C6xC8y BPF/OKqpNN/TKzayTJ4ZzfDgcb5cC14ZpJCr1C9HcxCxMe1ZGLuQIdSqPeuJbNPXXqPv OsDP4SisDJNrzwzhOwovnm7DoWamNIxUMidG01stW7BqNMIN2vejvn1dSLxKS2DnhjPa vIWNc7B1sgCJxGFr1N9rZJC640Z+2dJPGzgjMWL4tb2U0p3XoRMhnHhLGi+ohOOjcq3t 5NbA== 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=9YCEA4bX7xlb/eznlDG7rp7FsiAOcQoyW0cnp9hHCYY=; b=rADX9CQLJbl5U+6sfLkCse0ORtSYv7TDeDjYdeYp+E6+5/EGmxQyH7X/BB0h9BxJ8M ySvAkZ1gTvvdfowkqyN7eH3Sq3Qt2NA8mIqfBkSx+R8HEHHUeNTVmR0LojdOPi5XVua5 5QENhx3kA2baKoDh59iEQ44ZCjy7M9BzCYYIT5LFyn/SGz+LeSLSa9LUqisadeSHvId5 PQ3zh5XG07Ahs7ZZx8/1yKDUH+FR0XL5F55Pc1V4Nt4Ob0oaIAv4bfU6+FDqFQmfOydg jmEAYaNSrwmaO949+dJ9AjhgW1P7p61gLte8yz68HMHQ7llXATDXTPiRpwmuVT5laI0l WITA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=gIjnKSNZ; 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: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id go30-20020a1709070d9e00b007891fd9179bsi3322502ejc.150.2022.11.24.23.16.50; Thu, 24 Nov 2022 23:17:14 -0800 (PST) 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=gIjnKSNZ; 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 S229648AbiKYHPM (ORCPT + 99 others); Fri, 25 Nov 2022 02:15:12 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39872 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229599AbiKYHO4 (ORCPT ); Fri, 25 Nov 2022 02:14:56 -0500 Received: from mail-wm1-x332.google.com (mail-wm1-x332.google.com [IPv6:2a00:1450:4864:20::332]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E166B2A404 for ; Thu, 24 Nov 2022 23:14:50 -0800 (PST) Received: by mail-wm1-x332.google.com with SMTP id t25-20020a1c7719000000b003cfa34ea516so5602832wmi.1 for ; Thu, 24 Nov 2022 23:14:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=9YCEA4bX7xlb/eznlDG7rp7FsiAOcQoyW0cnp9hHCYY=; b=gIjnKSNZXVDh8Xp672Qo8soLbxRNmlA9BSlBkLKXGZ6IFOCwxGsnnUqCWVfAAM0LIO 2X4udjlZ3nfdiq6tScbCGYW5N5m4cKLHoelNCsLsgiL6UV6FpbD/wKFmSibGaHxcBtvz DfQZdO+iu3HQ6VlOhcU4I292+2KjiEdi5wale0WvdilPFNl1U7RCsfSdzdQcw09LUxsw iHZUpZ+oAZEFGOM1ofOAmyf02x9wYhuuNdY3KwIGN98luQ4l96f8VrGp167XEuji4FUL ZjtAcJSx4sOD9iR97/o23VvW/qwf1qkJGavPWePZRnOPmQBeFoP+3U0akkATE3b+1BQE 4JPA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=9YCEA4bX7xlb/eznlDG7rp7FsiAOcQoyW0cnp9hHCYY=; b=4fbVUzVMpVnL/X35ph15pFC4Cm4iDDGfy4Wr/uMPT++GAbKbIeH+xV4PZVMRLoSQdx sT4367LIiNtBbmtQyCzvcpUgV8u6g39dncIliydMSZovtCl5uXN1ivA81w9dQS7u4QM8 VbWReQOEWbRYL/Xia8Ojtnt/TJpoU8sWE7P3f9UMYcSgxc+LJB/Tphf94Kw0/YqHz1XO Ov1VPcXcwL7iqP8R4zrPf3u5GXjhbN2z6mYp1s2Y8T9VX08Z8FD7FNiFBOjNGONubpfz 5pfwpBuKesEUxdG9zK7HKMef56BrDYG3PunKp+fHFqNUBNRwyzzqi1O74DgBRR9kcNqK VFWQ== X-Gm-Message-State: ANoB5pn/FibcepMzQtkC2z28OyO42XGR9nIiRjWTl2/+d6ZxKDPHHT2/ DHYmKyEp/lgXnsLeKe7uc/kfKg== X-Received: by 2002:a05:600c:3d99:b0:3cf:cab4:a42b with SMTP id bi25-20020a05600c3d9900b003cfcab4a42bmr12563028wmb.36.1669360489404; Thu, 24 Nov 2022 23:14:49 -0800 (PST) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id c2-20020a05600c0a4200b003cfd4cf0761sm9108444wmq.1.2022.11.24.23.14.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 24 Nov 2022 23:14:48 -0800 (PST) From: Srinivas Kandagatla To: gregkh@linuxfoundation.org Cc: linux-kernel@vger.kernel.org, Abel Vesa , Srinivas Kandagatla Subject: [PATCH v2 05/10] misc: fastrpc: Use fastrpc_map_put in fastrpc_map_create on fail Date: Fri, 25 Nov 2022 07:14:00 +0000 Message-Id: <20221125071405.148786-6-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20221125071405.148786-1-srinivas.kandagatla@linaro.org> References: <20221125071405.148786-1-srinivas.kandagatla@linaro.org> MIME-Version: 1.0 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 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 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1750451497031471869?= X-GMAIL-MSGID: =?utf-8?q?1750451497031471869?= From: Abel Vesa Move the kref_init right after the allocation so that we can use fastrpc_map_put on any following error case. Signed-off-by: Abel Vesa Signed-off-by: Srinivas Kandagatla --- drivers/misc/fastrpc.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/misc/fastrpc.c b/drivers/misc/fastrpc.c index 9e83743eaca1..0d9f1eb9a0ed 100644 --- a/drivers/misc/fastrpc.c +++ b/drivers/misc/fastrpc.c @@ -745,6 +745,8 @@ static int fastrpc_map_create(struct fastrpc_user *fl, int fd, return -ENOMEM; INIT_LIST_HEAD(&map->node); + kref_init(&map->refcount); + map->fl = fl; map->fd = fd; map->buf = dma_buf_get(fd); @@ -771,7 +773,6 @@ static int fastrpc_map_create(struct fastrpc_user *fl, int fd, map->size = len; map->va = sg_virt(map->table->sgl); map->len = len; - kref_init(&map->refcount); if (attr & FASTRPC_ATTR_SECUREMAP) { /* @@ -801,7 +802,7 @@ static int fastrpc_map_create(struct fastrpc_user *fl, int fd, attach_err: dma_buf_put(map->buf); get_err: - kfree(map); + fastrpc_map_put(map); return err; } From patchwork Fri Nov 25 07:14:01 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 25857 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:f944:0:0:0:0:0 with SMTP id q4csp3822439wrr; Thu, 24 Nov 2022 23:17:23 -0800 (PST) X-Google-Smtp-Source: AA0mqf5yh+F6bysr9DVNAGkr2zOltzrtkwZa43rGCTz2HuUBsdM5q22relzuWG20uT5OJzug+P+0 X-Received: by 2002:a05:6402:22fa:b0:469:fda0:7e3d with SMTP id dn26-20020a05640222fa00b00469fda07e3dmr13890468edb.303.1669360642978; Thu, 24 Nov 2022 23:17:22 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1669360642; cv=none; d=google.com; s=arc-20160816; b=1D21MJqwqwKHJAxprlxvKZd0cbRAMBX/oS1HzhovCxK2qI7h8tWbDQgV5qXB/KB1jU e4CRVUhdK4QpQErINZFUcLbO7J2fBdF8nF1zbE8h4JVv3gs1pfq+bEyK4cxCSYuJv7IS HCLEZCGwziLB+rdxryCwWzX/QS8FTAgy9GLZnRPPEF9uxlkIMzl3aumcrSMHb7VRC8zN tWuWd0W648EMW5M+RhZjFjN/M2KozV4BntU8kc1ZaOY3foCxQNrhSsvlF+/715vVOQld 9G/NxQ3ocpcVsZUHoD5w/sMbAmb9beIAw+m5yMbDK2vmyMGx0JpSZfsNNRMmSzG2fzIm zm3Q== 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=joDj7YH7FrMNDdWO2mycsfq4f2JecKmI31ui9o19mv0=; b=PjVlN/aQNVCjdYW0NMYasCe2c/XzJIDeFJKRRnF+A9iSXxorjK+6x/eMYY7rYf2UZp nnBBZzZahE9/dKW36t7CRPjoPhjGGp3OZ3v4AuUDFDZSVEDAqfb6/wuoOUqlibxXJ/mU SmIbBpZboi2ItBiQrj+XktbECzoOaukh/ivHs0qZvvvA5USYwrXstrsfK3eQQe4wJwWt ny6o0aSdzYRqEyl5b237MAnP9ZqmvQAvdVuypkwXto/hCOcQYDstQ9sD43iAP+lExuzV RMyIATrr5iBID8GbB2i/GFtTX2fospTVYcfetjlvDwsyjyrp1fl74uobviN5B6Mt4JCh xCcg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=G4GmtcUS; 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: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id hs19-20020a1709073e9300b007ae743c61efsi2993675ejc.1002.2022.11.24.23.16.58; Thu, 24 Nov 2022 23:17:22 -0800 (PST) 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=G4GmtcUS; 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 S229727AbiKYHPT (ORCPT + 99 others); Fri, 25 Nov 2022 02:15:19 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40018 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229657AbiKYHO4 (ORCPT ); Fri, 25 Nov 2022 02:14:56 -0500 Received: from mail-wr1-x42d.google.com (mail-wr1-x42d.google.com [IPv6:2a00:1450:4864:20::42d]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1B5B42C65A for ; Thu, 24 Nov 2022 23:14:51 -0800 (PST) Received: by mail-wr1-x42d.google.com with SMTP id b12so5454086wrn.2 for ; Thu, 24 Nov 2022 23:14:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=joDj7YH7FrMNDdWO2mycsfq4f2JecKmI31ui9o19mv0=; b=G4GmtcUSdHjAjOy+qcTZHhITfJ9tnuRoqOTz8z/eKbAF2Go26N60J6f/bFB4S/uZ1p XE7nAebxBR4+bXUB5iehIf4+gm2ncaQ4guspB4RuZ5IP4jRmiA4RY2bHRv5r6asN+9s5 m7iWN+Gu7kmazQs1aJDLzn7gwBCCogb1Ks+1i9xJ9zcexkiagkeWKAlw5ygeYZt8joU+ UWkgw6qN7vy33DcAYF+yqsFNXqDGvRqptPG7i9ZvIwZgSzxZ9xWuEbTQoiYfvRia30yM h12njBAYH1uXKyzgZRTvHxLJ6pX0Xrh3v/uawyY16p9h1MZ17CTNJnnolFCTn8RGZf8p ZUNA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=joDj7YH7FrMNDdWO2mycsfq4f2JecKmI31ui9o19mv0=; b=tc7TDO+7NlmC3dk72w9rTFLjmS5qJFwby6jPoWSRef1p/4d2imWwWqPjGXGsrEStyX xzNazaxx3ppahs6rzA3d2uLf3P83yyeEZ1GogtYMU7F3juLKK5RPP+U8XIy9KpkcHJIz 8+u7L8ZrA+YBky9sjaZHbHgr0N9Z5vc7BrGAVCxPBeU7B8SJfZvBf9IZr7NDpPmSBerv BGpyKyKWr67CgltsDK0wrpYWA0Kligc6pHbQRZGNdSwUEOSOibGbd5Sup7pT19FCIjSA vz9DukLfncOBAZHMuph2/ikmStxmkuhJgAUbYrKzqtaXiRqB43v0vcFE2aclvBlfrrwR wisg== X-Gm-Message-State: ANoB5pnsCesZqLe0lSi3ZIQHM7nc1YUBtfMdZodfLKXcsK++HfJyUxAX pdPu4zt8jLOdxrNpb2o1V8WJYAQDtlFJPg== X-Received: by 2002:a5d:4d09:0:b0:235:e330:71ba with SMTP id z9-20020a5d4d09000000b00235e33071bamr22302137wrt.213.1669360490621; Thu, 24 Nov 2022 23:14:50 -0800 (PST) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id c2-20020a05600c0a4200b003cfd4cf0761sm9108444wmq.1.2022.11.24.23.14.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 24 Nov 2022 23:14:50 -0800 (PST) From: Srinivas Kandagatla To: gregkh@linuxfoundation.org Cc: linux-kernel@vger.kernel.org, Abel Vesa , Srinivas Kandagatla Subject: [PATCH v2 06/10] misc: fastrpc: Rework fastrpc_req_munmap Date: Fri, 25 Nov 2022 07:14:01 +0000 Message-Id: <20221125071405.148786-7-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20221125071405.148786-1-srinivas.kandagatla@linaro.org> References: <20221125071405.148786-1-srinivas.kandagatla@linaro.org> MIME-Version: 1.0 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 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 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1750451505619941419?= X-GMAIL-MSGID: =?utf-8?q?1750451505619941419?= From: Abel Vesa Move the lookup of the munmap request to the fastrpc_req_munmap and pass on only the buf to the lower level fastrpc_req_munmap_impl. That way we can use the lower level fastrpc_req_munmap_impl on error path in fastrpc_req_mmap to free the buf without searching for the munmap request it belongs to. Signed-off-by: Abel Vesa Co-developed-by: Srinivas Kandagatla Signed-off-by: Srinivas Kandagatla --- drivers/misc/fastrpc.c | 47 +++++++++++++++++++++--------------------- 1 file changed, 23 insertions(+), 24 deletions(-) diff --git a/drivers/misc/fastrpc.c b/drivers/misc/fastrpc.c index 0d9f1eb9a0ed..a1e916902deb 100644 --- a/drivers/misc/fastrpc.c +++ b/drivers/misc/fastrpc.c @@ -1630,30 +1630,14 @@ static int fastrpc_get_dsp_info(struct fastrpc_user *fl, char __user *argp) return 0; } -static int fastrpc_req_munmap_impl(struct fastrpc_user *fl, - struct fastrpc_req_munmap *req) +static int fastrpc_req_munmap_impl(struct fastrpc_user *fl, struct fastrpc_buf *buf) { struct fastrpc_invoke_args args[1] = { [0] = { 0 } }; - struct fastrpc_buf *buf = NULL, *iter, *b; struct fastrpc_munmap_req_msg req_msg; struct device *dev = fl->sctx->dev; int err; u32 sc; - spin_lock(&fl->lock); - list_for_each_entry_safe(iter, b, &fl->mmaps, node) { - if ((iter->raddr == req->vaddrout) && (iter->size == req->size)) { - buf = iter; - break; - } - } - spin_unlock(&fl->lock); - - if (!buf) { - dev_err(dev, "mmap not in list\n"); - return -EINVAL; - } - req_msg.pgid = fl->tgid; req_msg.size = buf->size; req_msg.vaddr = buf->raddr; @@ -1679,12 +1663,29 @@ static int fastrpc_req_munmap_impl(struct fastrpc_user *fl, static int fastrpc_req_munmap(struct fastrpc_user *fl, char __user *argp) { + struct fastrpc_buf *buf = NULL, *iter, *b; struct fastrpc_req_munmap req; + struct device *dev = fl->sctx->dev; if (copy_from_user(&req, argp, sizeof(req))) return -EFAULT; - return fastrpc_req_munmap_impl(fl, &req); + spin_lock(&fl->lock); + list_for_each_entry_safe(iter, b, &fl->mmaps, node) { + if ((iter->raddr == req.vaddrout) && (iter->size == req.size)) { + buf = iter; + break; + } + } + spin_unlock(&fl->lock); + + if (!buf) { + dev_err(dev, "mmap\t\tpt 0x%09llx [len 0x%08llx] not in list\n", + req.vaddrout, req.size); + return -EINVAL; + } + + return fastrpc_req_munmap_impl(fl, buf); } static int fastrpc_req_mmap(struct fastrpc_user *fl, char __user *argp) @@ -1693,7 +1694,6 @@ static int fastrpc_req_mmap(struct fastrpc_user *fl, char __user *argp) struct fastrpc_buf *buf = NULL; struct fastrpc_mmap_req_msg req_msg; struct fastrpc_mmap_rsp_msg rsp_msg; - struct fastrpc_req_munmap req_unmap; struct fastrpc_phy_page pages; struct fastrpc_req_mmap req; struct device *dev = fl->sctx->dev; @@ -1755,11 +1755,8 @@ static int fastrpc_req_mmap(struct fastrpc_user *fl, char __user *argp) spin_unlock(&fl->lock); if (copy_to_user((void __user *)argp, &req, sizeof(req))) { - /* unmap the memory and release the buffer */ - req_unmap.vaddrout = buf->raddr; - req_unmap.size = buf->size; - fastrpc_req_munmap_impl(fl, &req_unmap); - return -EFAULT; + err = -EFAULT; + goto err_assign; } dev_dbg(dev, "mmap\t\tpt 0x%09lx OK [len 0x%08llx]\n", @@ -1767,6 +1764,8 @@ static int fastrpc_req_mmap(struct fastrpc_user *fl, char __user *argp) return 0; +err_assign: + fastrpc_req_munmap_impl(fl, buf); err_invoke: fastrpc_buf_free(buf); From patchwork Fri Nov 25 07:14:02 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 25862 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:f944:0:0:0:0:0 with SMTP id q4csp3823005wrr; Thu, 24 Nov 2022 23:18:45 -0800 (PST) X-Google-Smtp-Source: AA0mqf7ZgfTiALGcnwRXU5pP7v0oUe5B0UUO4aa7rN/2aguaaouZwMEqDK8YwyaFwbTgof6f7/TF X-Received: by 2002:a17:906:f843:b0:78d:b819:e0e7 with SMTP id ks3-20020a170906f84300b0078db819e0e7mr14486975ejb.83.1669360725182; Thu, 24 Nov 2022 23:18:45 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1669360725; cv=none; d=google.com; s=arc-20160816; b=tAcA0wIXS+0zfpVKUUvSq9LciFw35vJTk3xurdBuH11h+pySriNzw+pvJQ1XOaoNao z3oDoUPNa62DeSl6zhB3Ks5SFw2VATxN7ehfjRHif3kBTX0cWjoW8FnHDe5rEOfvJxBn xu8uclM04SMC3FJQuhK/c69xkDhFPMvL9wSuXaA2WA5kpDQVsQQ4mcbr25VHwsVcx8Vv 2jVpOqh1tDpyfpB000oH5D3Aa9GgRbofTqhatxDQ46aTRNtDbICZahg7WV53SZNr5dsO Mxv7luaFnlTq0eA9xzGfX5V+SvmMgbg9bF+hde8CxbtJS6sBbmeFw0STy2RCfE6EZXzV HfXA== 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=1DDBSLV/2nfNxRsB3M3bDCm+lXLE5nfVFhm7EpiiPZw=; b=B4A4ptguqEME4rvO5ZfZgLXpdUx/h+6bt2rvLOL5pGw4szNk2F6GyfY6ofLYNDqwFo FGSft9MbSyD9ionevkC4EOAE4cSyj+M8pQvVtR4YHdGEvYQBBTa/eTljCfxcgunXYk4o w9lBXV/LiIR03kqiQuxwqGB36P4MwrF/rm4jt6ypvc3Tm5CnrQSwRzWefi1xpSH56fby idRm8g9bRV5ef6ytA6Ra9kFcEHIYl193i7omCV1Q+m0NEtS/VnN7xu2r4aX238/fBp2I SAH66Bv8IowmP6BxPkG1n9L3WhX5Q9i9/0zQPcqGpA90pwkTEiM0YTO0iMFPK9XLhp/p H1Gg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=tpsjbSW0; 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: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id 25-20020a508e59000000b00468cd2ab847si1623236edx.172.2022.11.24.23.18.21; Thu, 24 Nov 2022 23:18:45 -0800 (PST) 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=tpsjbSW0; 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 S229718AbiKYHPQ (ORCPT + 99 others); Fri, 25 Nov 2022 02:15:16 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40028 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229671AbiKYHO5 (ORCPT ); Fri, 25 Nov 2022 02:14:57 -0500 Received: from mail-wm1-x32f.google.com (mail-wm1-x32f.google.com [IPv6:2a00:1450:4864:20::32f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3ECC92CCAD for ; Thu, 24 Nov 2022 23:14:53 -0800 (PST) Received: by mail-wm1-x32f.google.com with SMTP id ay14-20020a05600c1e0e00b003cf6ab34b61so5507222wmb.2 for ; Thu, 24 Nov 2022 23:14:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=1DDBSLV/2nfNxRsB3M3bDCm+lXLE5nfVFhm7EpiiPZw=; b=tpsjbSW09g7eHmnwTniNyLf+bNoelIYmxDow6bry57wARnuq2Vf+j4+LlJf+k8C+Yq PBX+eeMBvOA8qyod+PHaPfQQK5Fdk0/XeBWzcA6oxo/80IeMghUZ9VbfQd+oXs1sP1r/ Wo6D+ayj3kXFVm5HDMxuCkgbt9mhuD728wIMC5BZ93IcjDjXpm2olfkAD1p/5r+kFwmT GW7CmYYxFOH4S3m/9fG0NqM7xiVwNbHhkBoz+BPk9jJfDeNtce1TBmIXmC0yYAfa8Ow6 5VAv9gp1P+ypP+MMDUemVf6Y6j/XgXNAZq5FOWEGyb+f6GMcFnSkkqEqmxwngXmBtkI6 EWbw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=1DDBSLV/2nfNxRsB3M3bDCm+lXLE5nfVFhm7EpiiPZw=; b=IkpSAcyF6US4h4eegoyZFKcCMDycrNXCoVLgffPe1pu0Qm71D1KJHpSIGT2mPTXQ4q ujzcaabuaE+mYEI9emTtAZiSrdq5VudYAbBINNZACC2hPbRy+0GuoSRfu3POn0k/+Yca i3FdZUcULddLeVeRqNq8DcB3LnUKnLHXX/B/YVGNBAGYLMRgx6BKP+xAt/hMRHWUDKcc 9SpY2wQV1UxqsTVfuhSojVDoNhn6oV9zZniXpGp9AOccTsUVzxLA2Y81NX3l+RkFjE4i Ur+xPlPullKkOjskiio5N6E7D1dWwe1BbMS7xxThXR92YMRM4YVO8XMj4yIFB+S/o6in gMmg== X-Gm-Message-State: ANoB5pljPdu9yUfeX85/BAoRS5fO1a335Fb15AueKbn/XhKSWse0YF9q 0U80ltYiFL4sBchmZYKIio/cHw== X-Received: by 2002:a05:600c:4fc4:b0:3c6:c109:2d9 with SMTP id o4-20020a05600c4fc400b003c6c10902d9mr16479204wmq.149.1669360491748; Thu, 24 Nov 2022 23:14:51 -0800 (PST) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id c2-20020a05600c0a4200b003cfd4cf0761sm9108444wmq.1.2022.11.24.23.14.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 24 Nov 2022 23:14:51 -0800 (PST) From: Srinivas Kandagatla To: gregkh@linuxfoundation.org Cc: linux-kernel@vger.kernel.org, Abel Vesa , Srinivas Kandagatla Subject: [PATCH v2 07/10] misc: fastrpc: Add support for audiopd Date: Fri, 25 Nov 2022 07:14:02 +0000 Message-Id: <20221125071405.148786-8-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20221125071405.148786-1-srinivas.kandagatla@linaro.org> References: <20221125071405.148786-1-srinivas.kandagatla@linaro.org> MIME-Version: 1.0 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 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 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1750451591848302156?= X-GMAIL-MSGID: =?utf-8?q?1750451591848302156?= From: Abel Vesa In order to be able to start the adsp listener for audiopd using adsprpcd, we need to add the corresponding ioctl for creating a static process. On that ioctl call we need to allocate the heap. Allocating the heap needs to be happening only once and needs to be kept between different device open calls, so attach it to the channel context to make sure that remains until the RPMSG driver is removed. Then, if there are any VMIDs associated with the static ADSP process, do a call to SCM to assign it. And then, send all the necessary info related to heap to the DSP. Signed-off-by: Abel Vesa Co-developed-by: Srinivas Kandagatla Signed-off-by: Srinivas Kandagatla --- drivers/misc/fastrpc.c | 135 ++++++++++++++++++++++++++++++++++++ include/uapi/misc/fastrpc.h | 7 ++ 2 files changed, 142 insertions(+) diff --git a/drivers/misc/fastrpc.c b/drivers/misc/fastrpc.c index a1e916902deb..b123b6783920 100644 --- a/drivers/misc/fastrpc.c +++ b/drivers/misc/fastrpc.c @@ -37,8 +37,20 @@ #define FASTRPC_DSP_UTILITIES_HANDLE 2 #define FASTRPC_CTXID_MASK (0xFF0) #define INIT_FILELEN_MAX (2 * 1024 * 1024) +#define INIT_FILE_NAMELEN_MAX (128) #define FASTRPC_DEVICE_NAME "fastrpc" + +/* Add memory to static PD pool, protection thru XPU */ +#define ADSP_MMAP_HEAP_ADDR 4 +/* MAP static DMA buffer on DSP User PD */ +#define ADSP_MMAP_DMA_BUFFER 6 +/* Add memory to static PD pool protection thru hypervisor */ +#define ADSP_MMAP_REMOTE_HEAP_ADDR 8 +/* Add memory to userPD pool, for user heap */ #define ADSP_MMAP_ADD_PAGES 0x1000 +/* Add memory to userPD pool, for LLC heap */ +#define ADSP_MMAP_ADD_PAGES_LLC 0x3000, + #define DSP_UNSUPPORTED_API (0x80000414) /* MAX NUMBER of DSP ATTRIBUTES SUPPORTED */ #define FASTRPC_MAX_DSP_ATTRIBUTES (256) @@ -72,6 +84,7 @@ FASTRPC_BUILD_SCALARS(0, method, in, out, 0, 0) #define FASTRPC_CREATE_PROCESS_NARGS 6 +#define FASTRPC_CREATE_STATIC_PROCESS_NARGS 3 /* Remote Method id table */ #define FASTRPC_RMID_INIT_ATTACH 0 #define FASTRPC_RMID_INIT_RELEASE 1 @@ -261,6 +274,7 @@ struct fastrpc_channel_ctx { u32 dsp_attributes[FASTRPC_MAX_DSP_ATTRIBUTES]; struct fastrpc_device *secure_fdevice; struct fastrpc_device *fdevice; + struct fastrpc_buf *remote_heap; bool secure; bool unsigned_support; }; @@ -1167,6 +1181,7 @@ static int fastrpc_internal_invoke(struct fastrpc_user *fl, u32 kernel, spin_unlock(&fl->lock); fastrpc_context_put(ctx); } + if (err) dev_dbg(fl->sctx->dev, "Error: Invoke Failed %d\n", err); @@ -1191,6 +1206,120 @@ static bool is_session_rejected(struct fastrpc_user *fl, bool unsigned_pd_reques return false; } +static int fastrpc_init_create_static_process(struct fastrpc_user *fl, + char __user *argp) +{ + struct fastrpc_init_create_static init; + struct fastrpc_invoke_args *args; + struct fastrpc_phy_page pages[1]; + char *name; + int err; + struct { + int pgid; + u32 namelen; + u32 pageslen; + } inbuf; + u32 sc; + + args = kcalloc(FASTRPC_CREATE_STATIC_PROCESS_NARGS, sizeof(*args), GFP_KERNEL); + if (!args) + return -ENOMEM; + + if (copy_from_user(&init, argp, sizeof(init))) { + err = -EFAULT; + goto err; + } + + if (init.namelen > INIT_FILE_NAMELEN_MAX) { + err = -EINVAL; + goto err; + } + + name = kzalloc(init.namelen, GFP_KERNEL); + if (!name) { + err = -ENOMEM; + goto err; + } + + if (copy_from_user(name, (void __user *)(uintptr_t)init.name, init.namelen)) { + err = -EFAULT; + goto err_name; + } + + if (!fl->cctx->remote_heap) { + err = fastrpc_remote_heap_alloc(fl, fl->sctx->dev, init.memlen, + &fl->cctx->remote_heap); + if (err) + goto err_name; + + /* Map if we have any heap VMIDs associated with this ADSP Static Process. */ + if (fl->cctx->vmcount) { + unsigned int perms = BIT(QCOM_SCM_VMID_HLOS); + + err = qcom_scm_assign_mem(fl->cctx->remote_heap->phys, + (u64)fl->cctx->remote_heap->size, &perms, + fl->cctx->vmperms, fl->cctx->vmcount); + if (err) { + dev_err(fl->sctx->dev, "Failed to assign memory with phys 0x%llx size 0x%llx err %d", + fl->cctx->remote_heap->phys, fl->cctx->remote_heap->size, err); + goto err_map; + } + } + } + + inbuf.pgid = fl->tgid; + inbuf.namelen = init.namelen; + inbuf.pageslen = 0; + fl->pd = USER_PD; + + args[0].ptr = (u64)(uintptr_t)&inbuf; + args[0].length = sizeof(inbuf); + args[0].fd = -1; + + args[1].ptr = (u64)(uintptr_t)name; + args[1].length = inbuf.namelen; + args[1].fd = -1; + + pages[0].addr = fl->cctx->remote_heap->phys; + pages[0].size = fl->cctx->remote_heap->size; + + args[2].ptr = (u64)(uintptr_t) pages; + args[2].length = sizeof(*pages); + args[2].fd = -1; + + sc = FASTRPC_SCALARS(FASTRPC_RMID_INIT_CREATE_STATIC, 3, 0); + + err = fastrpc_internal_invoke(fl, true, FASTRPC_INIT_HANDLE, + sc, args); + if (err) + goto err_invoke; + + kfree(args); + + return 0; +err_invoke: + if (fl->cctx->vmcount) { + struct qcom_scm_vmperm perm; + + perm.vmid = QCOM_SCM_VMID_HLOS; + perm.perm = QCOM_SCM_PERM_RWX; + err = qcom_scm_assign_mem(fl->cctx->remote_heap->phys, + (u64)fl->cctx->remote_heap->size, + &(fl->cctx->vmperms[0].vmid), &perm, 1); + if (err) + dev_err(fl->sctx->dev, "Failed to assign memory phys 0x%llx size 0x%llx err %d", + fl->cctx->remote_heap->phys, fl->cctx->remote_heap->size, err); + } +err_map: + fastrpc_buf_free(fl->cctx->remote_heap); +err_name: + kfree(name); +err: + kfree(args); + + return err; +} + static int fastrpc_init_create_process(struct fastrpc_user *fl, char __user *argp) { @@ -1918,6 +2047,9 @@ static long fastrpc_device_ioctl(struct file *file, unsigned int cmd, case FASTRPC_IOCTL_INIT_ATTACH_SNS: err = fastrpc_init_attach(fl, SENSORS_PD); break; + case FASTRPC_IOCTL_INIT_CREATE_STATIC: + err = fastrpc_init_create_static_process(fl, argp); + break; case FASTRPC_IOCTL_INIT_CREATE: err = fastrpc_init_create_process(fl, argp); break; @@ -2187,6 +2319,9 @@ static void fastrpc_rpmsg_remove(struct rpmsg_device *rpdev) if (cctx->secure_fdevice) misc_deregister(&cctx->secure_fdevice->miscdev); + if (cctx->remote_heap) + fastrpc_buf_free(cctx->remote_heap); + of_platform_depopulate(&rpdev->dev); cctx->rpdev = NULL; diff --git a/include/uapi/misc/fastrpc.h b/include/uapi/misc/fastrpc.h index 5e29f2cfa42d..f33d914d8f46 100644 --- a/include/uapi/misc/fastrpc.h +++ b/include/uapi/misc/fastrpc.h @@ -13,6 +13,7 @@ #define FASTRPC_IOCTL_MMAP _IOWR('R', 6, struct fastrpc_req_mmap) #define FASTRPC_IOCTL_MUNMAP _IOWR('R', 7, struct fastrpc_req_munmap) #define FASTRPC_IOCTL_INIT_ATTACH_SNS _IO('R', 8) +#define FASTRPC_IOCTL_INIT_CREATE_STATIC _IOWR('R', 9, struct fastrpc_init_create_static) #define FASTRPC_IOCTL_MEM_MAP _IOWR('R', 10, struct fastrpc_mem_map) #define FASTRPC_IOCTL_MEM_UNMAP _IOWR('R', 11, struct fastrpc_mem_unmap) #define FASTRPC_IOCTL_GET_DSP_INFO _IOWR('R', 13, struct fastrpc_ioctl_capability) @@ -87,6 +88,12 @@ struct fastrpc_init_create { __u64 file; /* pointer to elf file */ }; +struct fastrpc_init_create_static { + __u32 namelen; /* length of pd process name */ + __u32 memlen; + __u64 name; /* pd process name */ +}; + struct fastrpc_alloc_dma_buf { __s32 fd; /* fd */ __u32 flags; /* flags to map with */ From patchwork Fri Nov 25 07:14:03 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 25858 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:f944:0:0:0:0:0 with SMTP id q4csp3822504wrr; Thu, 24 Nov 2022 23:17:31 -0800 (PST) X-Google-Smtp-Source: AA0mqf4/KKl/wcSdmp9xw44Q4EucOSdpNeZcKVtyfRUdrXuWr6/yrtnWRTFO+Un930dOo8q1CyFK X-Received: by 2002:a17:906:1811:b0:7ae:5a4:5356 with SMTP id v17-20020a170906181100b007ae05a45356mr14855919eje.748.1669360651546; Thu, 24 Nov 2022 23:17:31 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1669360651; cv=none; d=google.com; s=arc-20160816; b=qm2ZNKx2Gc2LoKC/gFMsTAm9oAWB2kYnS5BxnhtQ/IU3Y6DwrH4XIdjmb6LAtPHki6 UUQvmpE7W+laAYZyfXzSBQZj5uonLaX0o0OPu2IqSrbyqYwj5T6ioD8olPAODIYGQ07w 5wo6jvrVhG3fXdutF9eDsa3VimQRR7Cuxz1Eq4XvvXxETUis0oHAeEBgFMeVaj02CmMY P3ordh1g+xaLtnDkdz5WY49Ml8NNtu3IzNLYjlxG+/2txGWnSwy/qt8qpKNe3MFlSazB F17+ddtEhPhLtOKl0BjVNoCbl/l3i1FI867NyXcFKPo1zvkb9X4AvzL7cjF1/CMLE3R0 wqvA== 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=veNnSQpqDWrWkaDlj9IuilDG/4lWQ8W0nq0CdjMpmho=; b=mF+FPlCuLE1T0tkylwYVjL5DrGN6huxxvX4ocWytYwSehnCTtZ0y4ADwiWdS9JozEW 00TnU3aKL+MIRGrBUti/RqPKKIj+bOp+szgr+8LZTAuDWyh5n04pcWeLHy4ZuMgrmyhP 0kybjzVVmoP572dQedJDCKZ/73m7gB35ig9Yovg0tdgV+Na3xbKUUsWVUmyUhaABBU8x 75HM5b0kxyqinUK7xtixfwv4F7cwax9QmuEmbpmz0ctDhIdwOieQRwfLYSOM14yR7UbA ASVq3IKc3Q0oeYB3n4CP9s7TUwQ2tSDl8US0wo0ctQrLNEqXkMkTwMpWNdf227yCb5LC PU7w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=y0hcsX0G; 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: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id t9-20020a50ab49000000b00461d60a86casi3142808edc.135.2022.11.24.23.17.08; Thu, 24 Nov 2022 23:17:31 -0800 (PST) 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=y0hcsX0G; 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 S229733AbiKYHPW (ORCPT + 99 others); Fri, 25 Nov 2022 02:15:22 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39962 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229628AbiKYHO6 (ORCPT ); Fri, 25 Nov 2022 02:14:58 -0500 Received: from mail-wr1-x433.google.com (mail-wr1-x433.google.com [IPv6:2a00:1450:4864:20::433]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C26A52CDCE for ; Thu, 24 Nov 2022 23:14:54 -0800 (PST) Received: by mail-wr1-x433.google.com with SMTP id i12so5499924wrb.0 for ; Thu, 24 Nov 2022 23:14:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=veNnSQpqDWrWkaDlj9IuilDG/4lWQ8W0nq0CdjMpmho=; b=y0hcsX0GI6/STyNPFwkhgzSZpa3teB/MhpMx6UOIkgXcgfYFK8xpWOK5wX+VfYzwBS ID/urX0/cIOfPiDECl8y9BUJfhY2T01lRpTjSgbLU6TEe/tUJdPCGTZ4UTVy3m7mJsP1 7sFwLK+92a5L8DU9x/Z/rCWbhCCDcNlDY4AxPqF5rsInU0n5kKJtVEMUCbpF8OzoVu8a Opw9XplJ0nGSVwofuocUVA2Eig8/aORV5h9slBz959+y5dIwi4peoPGlA0G63MfPdCU/ Qqp3Rc/HMVBwuUgS4xA9VMHYz+eYrmAc7o2nob18NMdgAzFT52YQlQciWnqHXggTmLeO 456A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=veNnSQpqDWrWkaDlj9IuilDG/4lWQ8W0nq0CdjMpmho=; b=4s/HT3po4kYFgH8mcHEHSA6a7b/Ik95s2O37BUzqluKAyr/rDG3set0iUrG9MAGtt1 LXQeNGtKAR3op3nCnVKWdJS4etzyGh6Mtg/8ex6H0nBboccZAxQ7CRWZd0IV6NvPAusO dyfyL/DDJE6CvBMYZrloeaS6/bOxA/1BAHeFz2m/fDGIRDVZfwXmkCTS6WHuPTGJ06dY 8TarWKRYlBZo/Lkcn/gfgpNr+eW7ZPp4q6oKi6GAPJ4xz8iEkKwFZHTqU/ribZGXgME0 GHzqyS6ScVwb9A5jMb9yZV/sIxFzy3E5GYZlnvbCj/+6xYgFjefm3mO4HOFZ4/pf2wGO fM3w== X-Gm-Message-State: ANoB5pnn6cocnVGHBH+gjbpJwOvfGfBz7FOMu2d78hlg54Q/2koo4Qfd EIgdttXu9QV3dX2azD3maEz3fcJNRqMddQ== X-Received: by 2002:a5d:408e:0:b0:22e:3397:2e96 with SMTP id o14-20020a5d408e000000b0022e33972e96mr21671604wrp.535.1669360492889; Thu, 24 Nov 2022 23:14:52 -0800 (PST) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id c2-20020a05600c0a4200b003cfd4cf0761sm9108444wmq.1.2022.11.24.23.14.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 24 Nov 2022 23:14:52 -0800 (PST) From: Srinivas Kandagatla To: gregkh@linuxfoundation.org Cc: linux-kernel@vger.kernel.org, Abel Vesa , Srinivas Kandagatla Subject: [PATCH v2 08/10] misc: fastrpc: Safekeep mmaps on interrupted invoke Date: Fri, 25 Nov 2022 07:14:03 +0000 Message-Id: <20221125071405.148786-9-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20221125071405.148786-1-srinivas.kandagatla@linaro.org> References: <20221125071405.148786-1-srinivas.kandagatla@linaro.org> MIME-Version: 1.0 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 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 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1750451514543020892?= X-GMAIL-MSGID: =?utf-8?q?1750451514543020892?= From: Abel Vesa If the userspace daemon is killed in the middle of an invoke (e.g. audiopd listerner invoke), we need to skip the unmapping on device release, otherwise the DSP will crash. So lets safekeep all the maps only if there is in invoke interrupted, by attaching them to the channel context (which is resident until RPMSG driver is removed), and free them on RPMSG driver remove. Signed-off-by: Abel Vesa Signed-off-by: Srinivas Kandagatla --- drivers/misc/fastrpc.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/drivers/misc/fastrpc.c b/drivers/misc/fastrpc.c index b123b6783920..2dc9946c3d23 100644 --- a/drivers/misc/fastrpc.c +++ b/drivers/misc/fastrpc.c @@ -275,6 +275,7 @@ struct fastrpc_channel_ctx { struct fastrpc_device *secure_fdevice; struct fastrpc_device *fdevice; struct fastrpc_buf *remote_heap; + struct list_head invoke_interrupted_mmaps; bool secure; bool unsigned_support; }; @@ -1119,6 +1120,8 @@ static int fastrpc_internal_invoke(struct fastrpc_user *fl, u32 kernel, struct fastrpc_invoke_args *args) { struct fastrpc_invoke_ctx *ctx = NULL; + struct fastrpc_buf *buf, *b; + int err = 0; if (!fl->sctx) @@ -1182,6 +1185,13 @@ static int fastrpc_internal_invoke(struct fastrpc_user *fl, u32 kernel, fastrpc_context_put(ctx); } + if (err == -ERESTARTSYS) { + list_for_each_entry_safe(buf, b, &fl->mmaps, node) { + list_del(&buf->node); + list_add_tail(&buf->node, &fl->cctx->invoke_interrupted_mmaps); + } + } + if (err) dev_dbg(fl->sctx->dev, "Error: Invoke Failed %d\n", err); @@ -2281,6 +2291,7 @@ static int fastrpc_rpmsg_probe(struct rpmsg_device *rpdev) dev_set_drvdata(&rpdev->dev, data); dma_set_mask_and_coherent(rdev, DMA_BIT_MASK(32)); INIT_LIST_HEAD(&data->users); + INIT_LIST_HEAD(&data->invoke_interrupted_mmaps); spin_lock_init(&data->lock); idr_init(&data->ctx_idr); data->domain_id = domain_id; @@ -2305,6 +2316,7 @@ static void fastrpc_notify_users(struct fastrpc_user *user) static void fastrpc_rpmsg_remove(struct rpmsg_device *rpdev) { struct fastrpc_channel_ctx *cctx = dev_get_drvdata(&rpdev->dev); + struct fastrpc_buf *buf, *b; struct fastrpc_user *user; unsigned long flags; @@ -2319,6 +2331,9 @@ static void fastrpc_rpmsg_remove(struct rpmsg_device *rpdev) if (cctx->secure_fdevice) misc_deregister(&cctx->secure_fdevice->miscdev); + list_for_each_entry_safe(buf, b, &cctx->invoke_interrupted_mmaps, node) + list_del(&buf->node); + if (cctx->remote_heap) fastrpc_buf_free(cctx->remote_heap); From patchwork Fri Nov 25 07:14:04 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 25864 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:f944:0:0:0:0:0 with SMTP id q4csp3823415wrr; Thu, 24 Nov 2022 23:19:35 -0800 (PST) X-Google-Smtp-Source: AA0mqf6ARXPwpbWsgxJ6lY87ysPOSrkbrykbZF+axNhzBCLKhTarlwKBgmaDtTYJRgKvVm40P5kh X-Received: by 2002:a05:6402:5308:b0:460:19c3:2992 with SMTP id eo8-20020a056402530800b0046019c32992mr16044338edb.1.1669360775575; Thu, 24 Nov 2022 23:19:35 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1669360775; cv=none; d=google.com; s=arc-20160816; b=mYB0w6+TcDLSDFs1tFoBFKUoNF9WMXKgHA44dcohl3bO47o+tIqv1kwf03BVp1k2u4 8iIk7UKOafjwnALUgOprIiJRM5nnFBy+T3/cFnze3A21SlLDEUwNeU1yFzco9vyy9Mbl +Zv0cYNk0yX4kLnnMbTwa8S8ne3KJ/GVA4RCk6WHht1Tmd2Zxw2BVhTorKgrxnPOe6By ySKX9XN665Tv/xLff09WcQ4fIA6K6KL2FMA5+hiEViTR4+yjISOyuI/u+Hwzx4OEZaCd Onb6H4B9FX2bA27SDHfWYHrERa36zGaK8y9MIB6KLZNWjrR6kBq9bwf3zF5sbQjbTLCP cvRg== 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=FKqf7AY9wkyxhDSY9O3AODzo3T9piYoH8GAXCkClnd4=; b=0+0eRbs+9Zn2LmdgRPr8sBDoiqT8L7ctbgYv92pCkol370UrNmnd9Ku+/AgkU/gtRA Z7lMvonL0m+QqVdIYAdri2irHL476bd9+vpnhcNnvuKqXzzq4fej09DvCVonFNYFRFxl ntEvi7MZ0rNT29VLLSu1QNNyFcTRh+1WxGIkx97ANVxEbYeukXkI108n+qT9nr6TWpeC RhxH4ybb0QYX9sg8LXv3GQxGZU1WpBD43NcQB8VDwpfmcKigkJ4PZnlpulZP02Vg8gMb ShGu8IVnta3i1vT7PSJ3/uRG6Icoyz0k6Fuxb0jR7qc1BYQ1wyqpljshyQYmaMamXm2r qQTQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=wyK+Wl1l; 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: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id k26-20020aa7d8da000000b00469a5ca7306si2590746eds.20.2022.11.24.23.19.12; Thu, 24 Nov 2022 23:19:35 -0800 (PST) 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=wyK+Wl1l; 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 S229740AbiKYHPZ (ORCPT + 99 others); Fri, 25 Nov 2022 02:15:25 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39964 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229630AbiKYHO6 (ORCPT ); Fri, 25 Nov 2022 02:14:58 -0500 Received: from mail-wr1-x42a.google.com (mail-wr1-x42a.google.com [IPv6:2a00:1450:4864:20::42a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6579C2B18B for ; Thu, 24 Nov 2022 23:14:55 -0800 (PST) Received: by mail-wr1-x42a.google.com with SMTP id b12so5454230wrn.2 for ; Thu, 24 Nov 2022 23:14:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=FKqf7AY9wkyxhDSY9O3AODzo3T9piYoH8GAXCkClnd4=; b=wyK+Wl1lgONksXAtKv9qrNKj6OtPWQsfHlpHB5BwJF43Ll2e8FQXDq+5x9Q133caiH umgCojPy6YCGyouqBizuFHVfaeZ6zbMgBggkAQqrcGxR4K6yiQk0LeUYgTUcuXq+cOng MRr+ozNZ7qndXeUlWRdSAYIMx5ncHusszhTUrquAw4Fq8ZsoWSFh8wSLWJViZMRp9C9b mEI6nEEhjVGzhJgi6N6JcAt6Pin1PLOh4oEV0r/RA3i5XvmYlXdw0sM6WcznyY4/3E08 00+Qdxc9G0fq1YQu1pSb5TUh4NMviaE3rDNLImRbqGunHN3751iPlVC2VjM+n0N4UViv xXkQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=FKqf7AY9wkyxhDSY9O3AODzo3T9piYoH8GAXCkClnd4=; b=5bRR3d4ahLqZpS9xbkPU36POyPcSo4MSfWvMp3XQLV/ulk90yBp+mve7YSdn7CNeAg A6+HnrdngqGO06/1Og0TteqVKT/RNFaqkLxFYJmc+jFlJlTPYrZIqfD+5PqpTTsHLmIq HtNSnkiMmufnkVMYZ/e/rjNPJ9e0sflguwCGu1SBFlGm1R1kgTKBFXjBVnGFQYTAX3FJ AO29zjNzzHAeyKtrK93A2uO6sxrPzkUb8b9k+PXdyK4KkOm0vvC4Hl5pj8OVmD2GL1SY uhNAiPDuArI9YNu6jceULkb62Mqb3yKzJvD1KjCIz+nUKzCBx+4lDz6rF7k2KRO0DTRK mlsg== X-Gm-Message-State: ANoB5pkxJVBN1nDo1jfFo670C8U0e3T6foCCZXg+1z3ajCWyJwEht3iY QabaNVg3mPDETi9Eq/7BJRSmeQ== X-Received: by 2002:adf:e303:0:b0:22e:3c66:bda1 with SMTP id b3-20020adfe303000000b0022e3c66bda1mr13648490wrj.139.1669360493967; Thu, 24 Nov 2022 23:14:53 -0800 (PST) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id c2-20020a05600c0a4200b003cfd4cf0761sm9108444wmq.1.2022.11.24.23.14.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 24 Nov 2022 23:14:53 -0800 (PST) From: Srinivas Kandagatla To: gregkh@linuxfoundation.org Cc: linux-kernel@vger.kernel.org, Abel Vesa , Srinivas Kandagatla Subject: [PATCH v2 09/10] misc: fastrpc: Add mmap request assigning for static PD pool Date: Fri, 25 Nov 2022 07:14:04 +0000 Message-Id: <20221125071405.148786-10-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20221125071405.148786-1-srinivas.kandagatla@linaro.org> References: <20221125071405.148786-1-srinivas.kandagatla@linaro.org> MIME-Version: 1.0 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 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 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1750451644410829063?= X-GMAIL-MSGID: =?utf-8?q?1750451644410829063?= From: Abel Vesa If the mmap request is to add pages and thre are VMIDs associated with that context, do a call to SCM to reassign that memory. Do not do this for remote heap allocation, that is done on init create static process only. Signed-off-by: Abel Vesa Co-developed-by: Srinivas Kandagatla Signed-off-by: Srinivas Kandagatla --- drivers/misc/fastrpc.c | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/drivers/misc/fastrpc.c b/drivers/misc/fastrpc.c index 2dc9946c3d23..4b05cbd6083d 100644 --- a/drivers/misc/fastrpc.c +++ b/drivers/misc/fastrpc.c @@ -1842,8 +1842,9 @@ static int fastrpc_req_mmap(struct fastrpc_user *fl, char __user *argp) if (copy_from_user(&req, argp, sizeof(req))) return -EFAULT; - if (req.flags != ADSP_MMAP_ADD_PAGES) { + if (req.flags != ADSP_MMAP_ADD_PAGES && req.flags != ADSP_MMAP_REMOTE_HEAP_ADDR) { dev_err(dev, "flag not supported 0x%x\n", req.flags); + return -EINVAL; } @@ -1889,6 +1890,22 @@ static int fastrpc_req_mmap(struct fastrpc_user *fl, char __user *argp) /* let the client know the address to use */ req.vaddrout = rsp_msg.vaddr; + /* Add memory to static PD pool, protection thru hypervisor */ + if (req.flags != ADSP_MMAP_REMOTE_HEAP_ADDR && fl->cctx->vmcount) { + struct qcom_scm_vmperm perm; + int err = 0; + + perm.vmid = QCOM_SCM_VMID_HLOS; + perm.perm = QCOM_SCM_PERM_RWX; + err = qcom_scm_assign_mem(buf->phys, buf->size, + &(fl->cctx->vmperms[0].vmid), &perm, 1); + if (err) { + dev_err(fl->sctx->dev, "Failed to assign memory phys 0x%llx size 0x%llx err %d", + buf->phys, buf->size, err); + goto err_assign; + } + } + spin_lock(&fl->lock); list_add_tail(&buf->node, &fl->mmaps); spin_unlock(&fl->lock); From patchwork Fri Nov 25 07:14:05 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 25865 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:f944:0:0:0:0:0 with SMTP id q4csp3823472wrr; Thu, 24 Nov 2022 23:19:44 -0800 (PST) X-Google-Smtp-Source: AA0mqf570FaAy2S9XjruzoPj+g5tdhjDcSbI2jbF0UMI1aeXSGPPoNjDww6npjmEol711AmETNa9 X-Received: by 2002:a17:906:c2d8:b0:7ba:5983:ebb5 with SMTP id ch24-20020a170906c2d800b007ba5983ebb5mr8237334ejb.646.1669360784385; Thu, 24 Nov 2022 23:19:44 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1669360784; cv=none; d=google.com; s=arc-20160816; b=tI2lZdp9PNp0yHsKD/i41UmIkjkMdQoSUt9/3xgxst9lBXdE9PW4YDAcIfHbVHdpIH Li7K1ZTa1gch8P3sqT8qCfvzAOXW/zg+OJcMYeMctvLU8Nbjyn/QKpR46XkQPGK1pLhc vy0QyPIKTF4YDqgONo5uNU/lrBf1tjwFjZWx0MZUQwZXLnS6rAU7PDS+nIrUZX9QqF7X RwGJtuAhlLvZfXumtGJLXr3R6yDxRoSvN/p3mVv92R0NN4Lc2rJvNlnmapsq3DEnb+yZ puSPJA/EBHI4nPXWfPJqDCVd9rxOQr5YM+rWA9knCM1QEGNErQHrHxwLg76daVpHzHbu wwGw== 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=8DqEDdvSkcIUCCVt3QJT84tX+bOxrH7SbknGjttr9wg=; b=oivAZzAvK9zobT0Bt/77nGU5t9aP4NrrViw1EwzVqREfPU9AJifR/5crL1FBTGjjxa M5IA42KL7YwgehcA6XRu7B7z7JtIBSF7X6U9YL39ne5VpzYldxS3/rN+MzL5j5Rj+CY/ MUIesxg7RsNkAHWYCGQIafDa10vnwsDMFlSWrpxNiOxpC9LI1g+Jw5geEfD2CCyHEEbZ tNiUttKebJKRY7fx9Ti4WXmRgzOFsxJcsAfHScQBfFx2HrvwFjHFLLJT+/tjwKqtXWSG Pdw0avSWpo6ArEOnzstP4fDK1jqdkACrpySnQT99QKTXamB/8EjHfu/w8KyTZTBp4gqg OZYg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=mieiYWSG; 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: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id s18-20020a056402165200b00468cd0b1cafsi1965766edx.163.2022.11.24.23.19.21; Thu, 24 Nov 2022 23:19:44 -0800 (PST) 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=mieiYWSG; 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 S229751AbiKYHP1 (ORCPT + 99 others); Fri, 25 Nov 2022 02:15:27 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39980 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229629AbiKYHPB (ORCPT ); Fri, 25 Nov 2022 02:15:01 -0500 Received: from mail-wr1-x42a.google.com (mail-wr1-x42a.google.com [IPv6:2a00:1450:4864:20::42a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7985E2C659 for ; Thu, 24 Nov 2022 23:14:56 -0800 (PST) Received: by mail-wr1-x42a.google.com with SMTP id bs21so5430286wrb.4 for ; Thu, 24 Nov 2022 23:14:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=8DqEDdvSkcIUCCVt3QJT84tX+bOxrH7SbknGjttr9wg=; b=mieiYWSGLod9p37sFFlMkDldsPo6nwGZ/G+ZJ9hDm0EAbNcMevA//1xDMdR2yAyedE Kw0M9qY3D8mqaCEDYWAj/9L4qsVbqK+bojmWi2sM4VITNoWZEsSrbV3K1+U0JLuikOc4 NMr/JsK6DfcLUsdgZ8b/XhUBePpvXpmfH++6VDJUxMx12SnjjQhipbfELHqUXqo0QROj D9OCf8PhAsFoDLJMzdOjBUB9WwUsm2LgyuX0UZdwEETcGzNYCCXJz3F6QcL+gtnpavHV NtUbHzhTcoqH4EumkprY8gDF2w575Cxc0Nh6YMIE7hhpbS8pKKBhfu0gyXrE6cajVBNT gsZQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=8DqEDdvSkcIUCCVt3QJT84tX+bOxrH7SbknGjttr9wg=; b=VBuvbdpVgeOWl9w0O8FEC32YajRY6VJ40n7fXwRFBl0u8yjIE4HeuIITMjOI5UMri3 eTiugFGergUMO4uO/SY/9CaaDA/HKUAyGJQ6AS1YfpQKadMUB7ZmYFnP5FZ3AYC1MAC5 xz+87G87GVL7oFgfkPj1ia9UwIjECSKgoqoTfji4FLKkImVUk0RUoS64XgQx2wM6SSJQ J2AaITBy73c0+TC+txNNJoLMbx0rxBilonrjTGQJ4FKZv+1xGHVUcDpdXgB1QFT1lw3K UxxJjQ/a02eDgLk2oqhqggUtlothODEEj4sW23yPL/dRamjPzyfTL1XzB7cEf4vFjdT8 5fww== X-Gm-Message-State: ANoB5plfYlp1v95kxX9sJSn8X81BAUkePXV4mdo5ZpXSoXQBtPO5i1Tx X4O5gBqN6kdONlHAgnyF4ZNRsQ== X-Received: by 2002:a5d:65ce:0:b0:241:e1c3:caaa with SMTP id e14-20020a5d65ce000000b00241e1c3caaamr10081237wrw.458.1669360495047; Thu, 24 Nov 2022 23:14:55 -0800 (PST) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id c2-20020a05600c0a4200b003cfd4cf0761sm9108444wmq.1.2022.11.24.23.14.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 24 Nov 2022 23:14:54 -0800 (PST) From: Srinivas Kandagatla To: gregkh@linuxfoundation.org Cc: linux-kernel@vger.kernel.org, Abel Vesa , Srinivas Kandagatla Subject: [PATCH v2 10/10] misc: fastrpc: Add dma_mask to fastrpc_channel_ctx Date: Fri, 25 Nov 2022 07:14:05 +0000 Message-Id: <20221125071405.148786-11-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20221125071405.148786-1-srinivas.kandagatla@linaro.org> References: <20221125071405.148786-1-srinivas.kandagatla@linaro.org> MIME-Version: 1.0 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 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 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1750451653542730101?= X-GMAIL-MSGID: =?utf-8?q?1750451653542730101?= From: Abel Vesa dma_set_mask_and_coherent only updates the mask to which the device dma_mask pointer points to. Add a dma_mask to the channel ctx and set the device dma_mask to point to that, otherwise the dma_set_mask will return an error and the dma_set_coherent_mask will be skipped too. Signed-off-by: Abel Vesa Co-developed-by: Srinivas Kandagatla Signed-off-by: Srinivas Kandagatla --- drivers/misc/fastrpc.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/misc/fastrpc.c b/drivers/misc/fastrpc.c index 4b05cbd6083d..8dc6f8f932db 100644 --- a/drivers/misc/fastrpc.c +++ b/drivers/misc/fastrpc.c @@ -278,6 +278,7 @@ struct fastrpc_channel_ctx { struct list_head invoke_interrupted_mmaps; bool secure; bool unsigned_support; + u64 dma_mask; }; struct fastrpc_device { @@ -2306,6 +2307,7 @@ static int fastrpc_rpmsg_probe(struct rpmsg_device *rpdev) kref_init(&data->refcount); dev_set_drvdata(&rpdev->dev, data); + rdev->dma_mask = &data->dma_mask; dma_set_mask_and_coherent(rdev, DMA_BIT_MASK(32)); INIT_LIST_HEAD(&data->users); INIT_LIST_HEAD(&data->invoke_interrupted_mmaps);