From patchwork Wed Mar 22 04:09:34 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tanmay Shah X-Patchwork-Id: 73191 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:604a:0:0:0:0:0 with SMTP id j10csp2158076wrt; Tue, 21 Mar 2023 21:40:43 -0700 (PDT) X-Google-Smtp-Source: AK7set/x0gTiLPWTf/ZeBr2M5Q+LPBPCMxveqIGAblv9zX0sb53cv5VT83Qwoe5RPumscFh9dnHO X-Received: by 2002:a05:6a20:4a17:b0:d9:c60b:a6de with SMTP id fr23-20020a056a204a1700b000d9c60ba6demr4512624pzb.11.1679460042765; Tue, 21 Mar 2023 21:40:42 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1679460042; cv=pass; d=google.com; s=arc-20160816; b=KGGr8C3CCLBwionaPij5OsBuO6zdrloZueFPFYEokYP6/SN0T5ire54DBm3eJJOra4 XXAF5zIoiQopUJIqDybfRUg356b9gHPTnt+byacKpIxW4rGd2NE6Ilh/jtuqlv9qAbJR NxGZv9pRgEiifPTPSogo3Ae27kkEZq8KWTDNRr3oaTyhbgqOUBVoPzVEA8FrKjRkBoVF Y6UCu5iH18GXWrWtBmEG0JIw+LAiwCG3/y+UweLrRC2YpZabpbteeMoz4Gx2BhIpzxhx +z6WiPlGLBpbB01NoWIl1eUHXf/hqqaHoBjkC7L9YFdgoA2vmsXg+1juFpmLbMC/OKri EwIA== ARC-Message-Signature: i=2; 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=waXwmx6v93/a48giSXE8o8Eupo8VCthQfd07N3Sc3bA=; b=LQPlpkqz2H3PXGUpExOHQpoZ2E5KVx+PTSbTeKVdDYLHSF2gCVGZTHskjpt/9aI6zF O5QqtE2oBELmqBEMQ6hf2gOdjaqFAxtvDoUy7/8B1sixZFCe9oX+Ia5InuINHsG1XD8o JHK7H/5GEuHsrbut3OT4uQLpEpBaZYIaVxb0lgARJO2hL90uOJS8qM+RFmV+PM/ECCw8 qxEN1/962guokfAo0RBjudxFFQJUAqEbbrpOiACuxQZmvX+pzDVjwNckI9nTZvDjvW2S LI+ukccJzHOUl1yDfzxeRkfErwTV4SVZDZYnr1ESSHrYOeqMnsh5TMXuY6ABQwwgNepB fPRg== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amd.com header.s=selector1 header.b=AF9sH2v+; arc=pass (i=1 spf=pass spfdomain=amd.com dmarc=pass fromdomain=amd.com); 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=amd.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id 2-20020a630d42000000b004fbd7827010si14283007pgn.263.2023.03.21.21.40.27; Tue, 21 Mar 2023 21:40:42 -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=@amd.com header.s=selector1 header.b=AF9sH2v+; arc=pass (i=1 spf=pass spfdomain=amd.com dmarc=pass fromdomain=amd.com); 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=amd.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230022AbjCVEK1 (ORCPT + 99 others); Wed, 22 Mar 2023 00:10:27 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34938 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230138AbjCVEKY (ORCPT ); Wed, 22 Mar 2023 00:10:24 -0400 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2044.outbound.protection.outlook.com [40.107.223.44]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A95A74FCF6; Tue, 21 Mar 2023 21:10:22 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=idIfD+V653aD5tWD2WbnFkiyG8+TWPicJe8bia4K1PE1ve8zFoEWyTbpPIje2SX60UPRF4FL3/S7ipXX2hNMwUhRD6468QWG50X/EYlNSTlcqVUFriNY4IkBM4EmmwbKdy8IvzuIqUCZSxgnUAkwRFBPiStXT11KiNBnNHog4xzzrnQAC4U1iimdz37q269552mE0ks0N3C5OKON1B1t3bqEzyDjUmN9ysYQ4pTbk+wMLYZRHJrOmZr1u7Kn258/jB1VlTwaNBP8dw48IxMebk2lWi/li0x65psS9564pZSUVrFW1xNiE73rCdL5TckhYjA+KucW+mKBjIqscgIYVg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=waXwmx6v93/a48giSXE8o8Eupo8VCthQfd07N3Sc3bA=; b=AXjS6pqMkga4R00+Z0byFAnSdNdbFtvF7lavoyhS5jYsBFLDZ6K4cEGxkXfrVfapZvpgAZDPFJKCJOXsRLw2DVmVCfNvaJ0e0TyRLQieK6lIIJf+908/Eojt8d+LpgDwD9Ei0p3d/pBqauf8xUoo4hBm7ujtezxLo1YIoG/h7jyKbuncOH0dq78LQxBEXPpDsQk1C8WgrzbmYEnLvs8oPiBahFuJ2VYFRkPexDuWSr7+nu9OecRqirtRBVU5GqE7oy40DXb216PPLsG9yfCsNs34cmA5at1cwXe+IhdXVbB9Rc6vLAjuTY8XUDFjtPeDw1QcXDLQX9WhgabTzvzWlQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=kernel.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=waXwmx6v93/a48giSXE8o8Eupo8VCthQfd07N3Sc3bA=; b=AF9sH2v+WibOyre4Llcpg6SgboUyVbwjfD21VN95bcQ2syQ2BJQbJpATKDaCtuypPE262T6wDLNMIN6EZhf94kZE3YpbVEKiAMjfJo9PrMW3cJsJggkpQYDJYCtd8prFl+Siumo6Z/Xvk7zZeR7N3pR4Pk7FMk51sJph3+YoMRE= Received: from CY5PR15CA0231.namprd15.prod.outlook.com (2603:10b6:930:88::16) by BL0PR12MB4883.namprd12.prod.outlook.com (2603:10b6:208:1c6::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Wed, 22 Mar 2023 04:10:20 +0000 Received: from CY4PEPF0000B8EF.namprd05.prod.outlook.com (2603:10b6:930:88:cafe::41) by CY5PR15CA0231.outlook.office365.com (2603:10b6:930:88::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37 via Frontend Transport; Wed, 22 Mar 2023 04:10:20 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by CY4PEPF0000B8EF.mail.protection.outlook.com (10.167.241.11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.6254.2 via Frontend Transport; Wed, 22 Mar 2023 04:10:20 +0000 Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Tue, 21 Mar 2023 23:10:19 -0500 Received: from xsjtanmays50.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com (10.181.40.144) with Microsoft SMTP Server id 15.1.2375.34 via Frontend Transport; Tue, 21 Mar 2023 23:10:19 -0500 From: Tanmay Shah To: , CC: , , "Ben Levinsky" , Ben Levinsky Subject: [PATCH v2 1/2] remoteproc: Make rproc_get_by_phandle() work for clusters Date: Tue, 21 Mar 2023 21:09:34 -0700 Message-ID: <20230322040933.924813-2-tanmay.shah@amd.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230322040933.924813-1-tanmay.shah@amd.com> References: <20230322040933.924813-1-tanmay.shah@amd.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CY4PEPF0000B8EF:EE_|BL0PR12MB4883:EE_ X-MS-Office365-Filtering-Correlation-Id: 297400be-68f6-44d2-b03c-08db2a8b5a23 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: uZEy4VrUjAp2Z4MQiSi43EkoH7D97cRu5BaSx4O1ys+rHJC4Tz8O15f6wIqZBzb+PCQZ5HOb1CbNWbgv98qNskk4kMqbnbFDQeqoFbbiTGKAe40k+x2qt6GwYYFESjqYdmWlUj4GCd3pm24DJfGTEG8Zp1wBzZt0VVugQinTe8KZfY4JlMEDE5efkCvml2zvrzdyKn1cP0VuIt9R96dM5IZ1Q6TOcT3Tcz5o2NqbvyU6U6fPJ84oanV4pGPOJD91E5dK33pIEv1AA2lwmpP+ugf63T8o6k5oPYcFwWHyt+J1m1HXYPVyzR1LIYxuXHja+HWpnKUzHAtJoKr6JSfGJILwL3WRUG1Zkxb49kGHAyjn1ObMie85CfsQbchmcWwo95gg4CHXo5fkgGjXruemZLR5iJOdOW7YsLNloVyEL7hG66AiqyK7bYUZFhxh+RzUHH/T6K8/76uf+1l05MdkhVxocKlrWWHIImQ1vGAqzORtKryOib3ECusdLLl3kb87AingZxTPLxNlx9bIANzQ21oz5knC1aEZYVYJ6GxKeQvB+BRfiutmRrL60l9o6hpQVVcpeu7vMo3EN3awARltvnF2+HhkPprcmdIFkJbONno+aQ0GgeVO/RDEGgPPE9GqTM6vjx2NxkC6wFW8uATmjRhDlFUOcxfavfleXz7g/aZuiSVLa7aea2fsPDjvMfQKXwKkIqI+YYG2XXMIa3MLsLkNfmEv01BHXhro0PDxgyg= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230025)(4636009)(39860400002)(346002)(136003)(376002)(396003)(451199018)(40470700004)(36840700001)(46966006)(2616005)(41300700001)(186003)(426003)(4326008)(47076005)(83380400001)(478600001)(6666004)(336012)(316002)(110136005)(8676002)(70586007)(70206006)(26005)(1076003)(54906003)(36860700001)(44832011)(8936002)(5660300002)(82740400003)(81166007)(2906002)(36756003)(40460700003)(82310400005)(356005)(86362001)(40480700001)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Mar 2023 04:10:20.3228 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 297400be-68f6-44d2-b03c-08db2a8b5a23 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: CY4PEPF0000B8EF.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL0PR12MB4883 X-Spam-Status: No, score=-0.2 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,DKIM_VALID_EF,FORGED_SPF_HELO,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_NONE,URIBL_BLOCKED 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 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1761041493567488397?= X-GMAIL-MSGID: =?utf-8?q?1761041493567488397?= From: Mathieu Poirier Multi-cluster remoteproc designs typically have the following DT declaration: remoteproc_cluster { compatible = "soc,remoteproc-cluster"; core0: core0 { compatible = "soc,remoteproc-core" memory-region; sram; }; core1: core1 { compatible = "soc,remoteproc-core" memory-region; sram; } }; A driver exists for the cluster rather than the individual cores themselves so that operation mode and HW specific configurations applicable to the cluster can be made. Because the driver exists at the cluster level and not the individual core level, function rproc_get_by_phandle() fails to return the remoteproc associated with the phandled it is called for. This patch enhances rproc_get_by_phandle() by looking for the cluster's driver when the driver for the immediate remoteproc's parent is not found. Reported-by: Ben Levinsky Signed-off-by: Mathieu Poirier Tested-by: Ben Levinsky --- drivers/remoteproc/remoteproc_core.c | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/drivers/remoteproc/remoteproc_core.c b/drivers/remoteproc/remoteproc_core.c index 80072b6b6283..a3e7c8798381 100644 --- a/drivers/remoteproc/remoteproc_core.c +++ b/drivers/remoteproc/remoteproc_core.c @@ -33,6 +33,7 @@ #include #include #include +#include #include #include #include @@ -2111,7 +2112,9 @@ EXPORT_SYMBOL(rproc_detach); #ifdef CONFIG_OF struct rproc *rproc_get_by_phandle(phandle phandle) { + struct platform_device *cluster_pdev; struct rproc *rproc = NULL, *r; + struct device_driver *driver; struct device_node *np; np = of_find_node_by_phandle(phandle); @@ -2122,7 +2125,30 @@ struct rproc *rproc_get_by_phandle(phandle phandle) list_for_each_entry_rcu(r, &rproc_list, node) { if (r->dev.parent && device_match_of_node(r->dev.parent, np)) { /* prevent underlying implementation from being removed */ - if (!try_module_get(r->dev.parent->driver->owner)) { + + /* + * If the remoteproc's parent has a driver, the + * remoteproc is not part of a cluster and we can use + * that driver. + */ + driver = r->dev.parent->driver; + + /* + * If the remoteproc's parent does not have a driver, + * look for the driver associated with the cluster. + */ + if (!driver) { + cluster_pdev = of_find_device_by_node(np->parent); + if (!cluster_pdev) { + dev_err(&r->dev, "can't get parent\n"); + break; + } + + driver = cluster_pdev->dev.driver; + put_device(&cluster_pdev->dev); + } + + if (!try_module_get(driver->owner)) { dev_err(&r->dev, "can't get owner\n"); break; } From patchwork Wed Mar 22 04:09:36 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tanmay Shah X-Patchwork-Id: 73190 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:604a:0:0:0:0:0 with SMTP id j10csp2155451wrt; Tue, 21 Mar 2023 21:30:25 -0700 (PDT) X-Google-Smtp-Source: AK7set/5mdQTxfkPdB//oakBS79osGhqRd5Bx5EXnfmGCHz1VVqJS6iYFpCNOL2aMS4qCFkX9ixk X-Received: by 2002:a17:90b:4c08:b0:233:d12f:f43a with SMTP id na8-20020a17090b4c0800b00233d12ff43amr2494166pjb.1.1679459425605; Tue, 21 Mar 2023 21:30:25 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1679459425; cv=pass; d=google.com; s=arc-20160816; b=ppdE+FuFtmKTROhP8GpmX4+cPB8nx98CZiFq8j6wzbtnIKDBRKNqWgvCRbWHI5uyvz 5l77JAxMjMZ325NoZfyKzJ1ZitPMObQZV02aFOGgT3G6vHjrqMsx4NUQfH1+ySypAlv/ 5AV3S0O8FBFJGV7OeQXuryePfIMEzpEBIHmZk4NDhqP/Wf2a492Fu/BWpSgbwMAIKE8d dEY5NssMuDsD+mCgDasn4veoaS4K6nRs8JdBJ1vq42trFOcr43IUq7lNy9YmQcDe/I6A BadARlVExIPwcWtmfX/DLrk8JvZRnmv8ylQGr56+OG8WoX66jJyUAwFzZAiEHa6MuoNz ThbQ== ARC-Message-Signature: i=2; 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=0IDJdz1gtlGCKa6X2xH2XCQDLw7SPd0NOoZLJrZ6c2E=; b=nrzmNFTl5TbQjwLJvQ1hUMF/uWFa+M7ES7PHmP2nEMm6IehvZ3MNrExFeoy7VQLEck a/EKPGzK+kVp00iQ/MjH8tJWBX4cilLAVc5XOXzbSuunTMxHFDvybBJnPtQfoayUBqwd 9TU4DN5RomaAI/OkMclFg0NhdoSBinIK5NgO8HkC4U40/UXEY8l2BEftqZDFFyqh94I0 4HWoYtN+nBCV5hE5I4nyI49c3RVu1ER2YSbcGlSkGJ5SVXMr63J+kd7pdYGqDN17DOfV 1RcblMTevielgZfhzMK93eCOeKwaGkTdBMOtxRuz1JBm9cQh1WixJS69NK9+llw5hcyc C1Bw== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amd.com header.s=selector1 header.b=hNEb0UR1; arc=pass (i=1 spf=pass spfdomain=amd.com dmarc=pass fromdomain=amd.com); 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=amd.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id a7-20020a170902ecc700b001a1c005bd39si10278137plh.97.2023.03.21.21.30.13; Tue, 21 Mar 2023 21:30:25 -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=@amd.com header.s=selector1 header.b=hNEb0UR1; arc=pass (i=1 spf=pass spfdomain=amd.com dmarc=pass fromdomain=amd.com); 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=amd.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229835AbjCVEKw (ORCPT + 99 others); Wed, 22 Mar 2023 00:10:52 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35500 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230301AbjCVEKt (ORCPT ); Wed, 22 Mar 2023 00:10:49 -0400 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (mail-bn7nam10on2052.outbound.protection.outlook.com [40.107.92.52]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7361C4E5F0; Tue, 21 Mar 2023 21:10:39 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=aEiUYZWmv7BjBub/Gx7EXFryxMcACEf2dDyXKZmawp9vyB0catx8zmlhrRnhLGT4Z86FYQ9ZORyu4/A38MOwmK6fwtKSxb1ngXIaFlT+IDaratn0LrWCqsTh/BqwVvF9XmgrbJeWEmbTJ/2gAuYwownBaZM7C1SlXjr1M9ABR86dwm0bl9haUBGzpUWRr6ayioUixi8mtegsa/CQEq3nT/ps4FG3qDlZh27dmk7yJ7LbGl5WIvu6nInJ32LM6XNV3unQ+rcobcea2S+D05bN8dhDIsDJvvEWRc12IHzrGvY5YizVTzhah72FDnFU1DvnKmLHgFcPRVUgA3tMFYVkJQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=0IDJdz1gtlGCKa6X2xH2XCQDLw7SPd0NOoZLJrZ6c2E=; b=RNCfaHSs9CXMTj0giklq8MLPylBt/qwVORjk/Wa4JEdkKCSxdRwcTW8Z4nBVUZWWMTJA+mSa/kqMizQo45Ijv88TVw23dTBIpIbjl8kEv9IQ7AvQqxdvcZ8cdEGIBbejsLrYdYnQ7bHGHOuyZuPcnzbnZcjeOLUsgLDxRkO/J3K4T5N6MG3CKmCDQphviBtEim/yhaXv3I+KhiITm4JYWt+irKP6tfZj/RQFEqh36NFr7SwhIF76UV9P6R4z8SDcxr71aTCqOxRO7YEYyzD9LMSK0SkLf2UaPq3OdvA0fzNU2LKE4ZXHBY3TV82izGtLr0aaaziAAWS8ED7cWILucQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=kernel.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=0IDJdz1gtlGCKa6X2xH2XCQDLw7SPd0NOoZLJrZ6c2E=; b=hNEb0UR1GaPs1j5gLOG4dmYOMFvmL9iubCaYj3KDV+tPvI2/WXD4iHOMk7kj8J/4DR1DfSqcqPQjcOJv3tqgjd/R7lYixc4CgbhgeF3LWJ5djXQFn5rfxFSBixJDuq655s9Eb0s/piomzbjZ9Tne6w1R9gk6IlqJjlvf7MCq1HY= Received: from DS7PR05CA0069.namprd05.prod.outlook.com (2603:10b6:8:57::21) by MW4PR12MB5643.namprd12.prod.outlook.com (2603:10b6:303:188::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Wed, 22 Mar 2023 04:10:31 +0000 Received: from DS1PEPF0000B077.namprd05.prod.outlook.com (2603:10b6:8:57:cafe::cd) by DS7PR05CA0069.outlook.office365.com (2603:10b6:8:57::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.16 via Frontend Transport; Wed, 22 Mar 2023 04:10:31 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by DS1PEPF0000B077.mail.protection.outlook.com (10.167.17.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.6178.26 via Frontend Transport; Wed, 22 Mar 2023 04:10:30 +0000 Received: from SATLEXMB08.amd.com (10.181.40.132) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Tue, 21 Mar 2023 23:10:30 -0500 Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB08.amd.com (10.181.40.132) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Tue, 21 Mar 2023 21:10:30 -0700 Received: from xsjtanmays50.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com (10.181.40.144) with Microsoft SMTP Server id 15.1.2375.34 via Frontend Transport; Tue, 21 Mar 2023 23:10:29 -0500 From: Tanmay Shah To: , CC: , , Tanmay Shah , Tarak Reddy Subject: [PATCH v2 2/2] remoteproc: enhance rproc_put() for clusters Date: Tue, 21 Mar 2023 21:09:36 -0700 Message-ID: <20230322040933.924813-3-tanmay.shah@amd.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230322040933.924813-1-tanmay.shah@amd.com> References: <20230322040933.924813-1-tanmay.shah@amd.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS1PEPF0000B077:EE_|MW4PR12MB5643:EE_ X-MS-Office365-Filtering-Correlation-Id: 22419b43-55e5-4666-30ea-08db2a8b6065 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 0Dw9CN8XRAO/vJnpN2Bp/7vG6zFJ05Pe8yUAXyWm/JQ2ON6PtdAs9nXgTrLW7el2uvRUcgCrpVmr2QzCbl4oI0qjIyQNuqbaUs1uIBSU3UImqsGIEjmuWQXw9wQl69S9PvIOzc1RlkdXKVoHOYI3OXZNdQKfXgpQNlLctX9Jb0Kc6EVU/tDxKe3/ffttEj43qC3kHB3V6+PSUMKTK8yz2632i0PfQfDL8hUGYGtyq3unPS83dkXotb6Hr7J6aOLuu41SwJhPlVEauX/GACQeCTBsVaPsdSYgkvq4Hw3hSB5OuS+6GHm9YGn3ZQV0bGS6qjm67IbXq4W8n0uF40t+tRn6Y+cTphdMbeFJDh0fsXlJPhLmYVLWU8Xs2FcSmVpA5Xko2gUZ8hUYrnTZT6b0H7HoRelUOukng490HSeZTiU0JTQ+AtFfodz/ZB8aLk6TxPwE05f0/il0j+5Gl0rMSiDk0nY13OASohhtf9VTmSZiys0Fs3+NYdSbwbGnKpDsueAyckT0bHtbkSHixtsXxPP21iGo+TyIOmfCu1LDFWQ6CXK4am9b3iU8Vs9FZK9JaOXPX03KqHcKHe+/eM5TWgjcwea5ROXd24ziOGgIIKQMgIkodNESZs9lZFOFRoa63BlKqzpLZJD5ZtWN4RjtvrFtH224ZOUsWxZA0b/eWO7zJD8+0pXvqqjL1bPi3qgjvGv6dZMr1st9ulFTRn2tsJabSFpHf7QbFJnlNgvOC6E= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230025)(4636009)(346002)(396003)(136003)(39860400002)(376002)(451199018)(46966006)(40470700004)(36840700001)(426003)(47076005)(336012)(6666004)(26005)(82310400005)(54906003)(478600001)(316002)(2616005)(186003)(86362001)(110136005)(1076003)(8676002)(70206006)(70586007)(36860700001)(41300700001)(5660300002)(40460700003)(8936002)(4326008)(40480700001)(82740400003)(2906002)(44832011)(356005)(36756003)(81166007)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Mar 2023 04:10:30.8341 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 22419b43-55e5-4666-30ea-08db2a8b6065 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: DS1PEPF0000B077.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR12MB5643 X-Spam-Status: No, score=-0.2 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,DKIM_VALID_EF,FORGED_SPF_HELO,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_NONE,URIBL_BLOCKED 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 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1761040846626416838?= X-GMAIL-MSGID: =?utf-8?q?1761040846626416838?= This patch enhances rproc_put() to support remoteproc clusters with multiple child nodes as in rproc_get_by_phandle(). Signed-off-by: Tarak Reddy Signed-off-by: Tanmay Shah --- drivers/remoteproc/remoteproc_core.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/drivers/remoteproc/remoteproc_core.c b/drivers/remoteproc/remoteproc_core.c index a3e7c8798381..e7e451012615 100644 --- a/drivers/remoteproc/remoteproc_core.c +++ b/drivers/remoteproc/remoteproc_core.c @@ -2560,6 +2560,19 @@ EXPORT_SYMBOL(rproc_free); void rproc_put(struct rproc *rproc) { module_put(rproc->dev.parent->driver->owner); + struct platform_device *cluster_pdev; + + if (rproc->dev.parent) { + if (rproc->dev.parent->driver) { + module_put(rproc->dev.parent->driver->owner); + } else { + cluster_pdev = of_find_device_by_node(rproc->dev.parent->of_node->parent); + if (cluster_pdev) { + module_put(cluster_pdev->dev.driver->owner); + put_device(&cluster_pdev->dev); + } + } + } put_device(&rproc->dev); } EXPORT_SYMBOL(rproc_put);