Received: by 2002:a05:6358:11c7:b0:104:8066:f915 with SMTP id i7csp3289647rwl; Mon, 27 Mar 2023 11:49:02 -0700 (PDT) X-Google-Smtp-Source: AKy350bCp7wmLRm8TjYNehxq7Kko6OXyb2D2NXera0Qie0KQVMYfVyUYeJ2T5cv7LPAXHwKgQZL4 X-Received: by 2002:a50:e604:0:b0:4fa:c3eb:d2c9 with SMTP id y4-20020a50e604000000b004fac3ebd2c9mr13281210edm.12.1679942942230; Mon, 27 Mar 2023 11:49:02 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1679942942; cv=none; d=google.com; s=arc-20160816; b=GVudk/ttn+Fc7X7B+u4edZbANHdtgZH6s0ByALmAdcELq8QD7eJtf+38WbyOHl7iIL cO+s6fe+gJPniCAWzylmmIrbBZpMy0Hg/PXRK9hGhJnb5XdstfCc7nblyhpNj+GRDn0L qM2lBXB/OVPqZFuU4xClpKXWbQrZUNaF7hrjB0x9pE0JlqfXr0+e7GOAqvhT5pI+JMS7 iiuo4+SSEtpPJF/67TBVt4ucfyRa1NAz2RW7PtnS5GdVqtJnEy5l9BwAV7Uawv0FYk4d oWKW1WHhoVxS6X6RdWXkknXIlsIUQSlHGtm8MJ9jL3Q/vqfJRXlTOFZfR4Izvb327SpL v8rw== 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=GidGOfq73nj2BYK3me6cLaWQ10bmNeyEcvaFpNUnfVY=; b=ph5VSJS+CyraZ4rGA8WAyMh8u6in/DZIOqxY8sXLkVmeSgK1slVH4kSGGxigBV3lWU +ohEUXyu0vSeVyP3wQDBq2hXR1mT/55e0UZMkWY6I+dTTF4NAUB3TUYCwMHtE0m76rdV ysiSc9ygUG3N5rshbS2XChVrxpfkAkTYUeFOQCUJJVGgqSgXNzIX1HAEbEeikDjk4oRt 0IFsZbx9ESou0qco/RKQbuNDp2I8EIyL0MRWCqq/jErT0rjiAWoWGE1rDVVNP/fb+kvb 0LvrJZdRkQFiAHZ5nlj7Sa50CxiTiQ37NWMOzODarp4dXAXQuQWPBj0+gZu45DvKgpD/ Z0qQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@dylanvanassche.be header.s=MBO0001 header.b=UJkb1Nvs; 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=QUARANTINE sp=QUARANTINE dis=NONE) header.from=dylanvanassche.be Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id fx11-20020a170906b74b00b008d10fe78243si27965276ejb.878.2023.03.27.11.48.38; Mon, 27 Mar 2023 11:49:02 -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=@dylanvanassche.be header.s=MBO0001 header.b=UJkb1Nvs; 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=QUARANTINE sp=QUARANTINE dis=NONE) header.from=dylanvanassche.be Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232716AbjC0SnV (ORCPT + 99 others); Mon, 27 Mar 2023 14:43:21 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56708 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232664AbjC0SnP (ORCPT ); Mon, 27 Mar 2023 14:43:15 -0400 Received: from mout-p-202.mailbox.org (mout-p-202.mailbox.org [80.241.56.172]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 34CFE3595; Mon, 27 Mar 2023 11:42:41 -0700 (PDT) Received: from smtp102.mailbox.org (smtp102.mailbox.org [IPv6:2001:67c:2050:b231:465::102]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-384) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mout-p-202.mailbox.org (Postfix) with ESMTPS id 4PlhWL51N0z9sct; Mon, 27 Mar 2023 20:42:22 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=dylanvanassche.be; s=MBO0001; t=1679942542; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=GidGOfq73nj2BYK3me6cLaWQ10bmNeyEcvaFpNUnfVY=; b=UJkb1NvsK1/tEpxZ9+dPL2znb0s+gW8BicFnNQ/QzomG+im63DInjH3IBd74moSfQetcHU uo5nsn0WrObzlKCvLyB+EZbG2Lvo0eVqwsxsg0824biV0Cdr+rHzXfsU3/w3frvlu13v/1 Fq6lnGg1U2iCbSk7tjWh11EWJGzz9ttrS1UoBSj97wXjKhdJO19lEHp15jughQG0YND/Zm hfPtUFXy1M5lVAjyhuY/LZRc4v8kFYuc74mbNMo+u8mFagDDDzW/xSbZdqB+/MojomEkM0 gKWHAfXzObxAMMNh9FviVkOS3Mm7Dc2yasY0x+6bBZiDr62CUZHFJcA9ywoI+w== From: Dylan Van Assche To: Srinivas Kandagatla , Amol Maheshwari Cc: Arnd Bergmann , Greg Kroah-Hartman , linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, ~postmarketos/upstreaming@lists.sr.ht, phone-devel@vger.kernel.org, Dylan Van Assche Subject: [PATCH v2 2/2] misc: fastrpc: use coherent pool for untranslated Compute Banks Date: Mon, 27 Mar 2023 20:42:04 +0200 Message-Id: <20230327184204.498032-3-me@dylanvanassche.be> In-Reply-To: <20230327184204.498032-1-me@dylanvanassche.be> References: <20230327184204.498032-1-me@dylanvanassche.be> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: 4PlhWL51N0z9sct X-Spam-Status: No, score=-0.9 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW,SPF_HELO_NONE,SPF_PASS autolearn=unavailable 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 Use fastrpc_remote_heap_alloc to allocate from the FastRPC device instead of the Compute Bank when the session ID is 0. This ensures that the allocation is inside the coherent DMA pool which is already accessible to the DSP. This is necessary to support FastRPC devices which do not have dedicated Compute Banks such as the SLPI on the SDM845. The latter uses an allocated CMA region instead of FastRPC Compute Banks. Signed-off-by: Dylan Van Assche --- drivers/misc/fastrpc.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/misc/fastrpc.c b/drivers/misc/fastrpc.c index caf2ae556956..b7ddf6b90022 100644 --- a/drivers/misc/fastrpc.c +++ b/drivers/misc/fastrpc.c @@ -939,7 +939,10 @@ static int fastrpc_get_args(u32 kernel, struct fastrpc_invoke_ctx *ctx) ctx->msg_sz = pkt_size; - err = fastrpc_buf_alloc(ctx->fl, dev, pkt_size, &ctx->buf); + if (ctx->fl->sctx->sid) + err = fastrpc_buf_alloc(ctx->fl, dev, pkt_size, &ctx->buf); + else + err = fastrpc_remote_heap_alloc(ctx->fl, dev, pkt_size, &ctx->buf); if (err) return err; -- 2.39.2