From patchwork Fri Dec 18 17:32:21 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mathieu Poirier X-Patchwork-Id: 345477 Delivered-To: patch@linaro.org Received: by 2002:a02:85a7:0:0:0:0:0 with SMTP id d36csp2335684jai; Fri, 18 Dec 2020 09:35:18 -0800 (PST) X-Google-Smtp-Source: ABdhPJwqaXmEvgg/bzzYxoohDkTorhHnuwKtXeNTXe8j9peBqID4FHJB21xRQ7pM5NJJvuIUuou/ X-Received: by 2002:a17:906:402:: with SMTP id d2mr5079063eja.35.1608312918757; Fri, 18 Dec 2020 09:35:18 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1608312918; cv=none; d=google.com; s=arc-20160816; b=yydNV7nx1vMlaA3mzPtZVSZmJ/hJt5Cu8Uy4+CDxqeh9y0o+U4vu8UQsv76a4bbWdL OZTF6rPzYsgmWpUBxuQ+BS7Kd3lWaStAXiKoHLCelmgxp8dCAdVzZJeluIh0G+OQCctl COs6Pl70SEIXIrwl3+WIDTD7P263wLK6Tb4pqG5VHH2ufr2F6GAOl4FQxjs6HM3IwJDQ 7WHMcnrStfA2Befw5q8gM8BPELy8o5so/xhQDPFluavIxm9rvER8HjkOimJ28ZnHMzMR dGba4C4PCFtPjyibFIy3PS9cwUl5F3QC+PEtBc1LcgvO0LTwwt5sJfSvF3M7N0kc7Deu MwMw== 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=UE369EIBZVX7NEKYpAqFRWbqVEboyiDmoTqg7mEP3ho=; b=LseUl0aYI7/FhlesGVRagXu8kgGltRhqHip1UKj8vqL43U65WxrVhfc7Z9o7CITosh ONTNO/2ySMIV6CgQi9Oewn4qDjLs8dnaK1vXIAkEfeOdNzYl5DCDLXlFK3sRVLCwcD6T 1KqtOJhAquTEDhN20wSsyBoeosooB8fOZg7PiY0B4PJxGMcnGbqTzBKWPQDIRHvYj1hb JOeuQF3beTiae0qshoIlJIHgm5rwTw0xbyA+KcQHg07YR7khID21VVUTZrRoAIjlAtgg bFNacaQSR0pdhD9UKi+IFi3HvS4I4mpZRHVZ1NlRGP/XMvtQFfYvCKWuJ5BPIO/GYAfG OuAQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=CjxlpfgF; spf=pass (google.com: domain of devicetree-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=devicetree-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id t20si4902939ejd.719.2020.12.18.09.35.18; Fri, 18 Dec 2020 09:35:18 -0800 (PST) Received-SPF: pass (google.com: domain of devicetree-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=CjxlpfgF; spf=pass (google.com: domain of devicetree-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=devicetree-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 S1732912AbgLRRed (ORCPT + 7 others); Fri, 18 Dec 2020 12:34:33 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60208 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1732902AbgLRRec (ORCPT ); Fri, 18 Dec 2020 12:34:32 -0500 Received: from mail-pf1-x433.google.com (mail-pf1-x433.google.com [IPv6:2607:f8b0:4864:20::433]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2A7F2C0619E1 for ; Fri, 18 Dec 2020 09:32:42 -0800 (PST) Received: by mail-pf1-x433.google.com with SMTP id f9so1922258pfc.11 for ; Fri, 18 Dec 2020 09:32:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=UE369EIBZVX7NEKYpAqFRWbqVEboyiDmoTqg7mEP3ho=; b=CjxlpfgFxYohq4V6dQAABJ7LtWFo36J+n71FUwHVblWZg4woCWLtdlLVEda0nM+ykH LW8zzer3KscVhQHeDYXyEPQUjcaj8tsmHwlw6jOx9VeoUg9nt0Drmr8CISbSkuSmdght huZOgv0vSZ1Sr4JdC5la9BWhQcYL3pM1URaNJYb2eqeti+QiTEKvKQ0RWKcuOKrrxhBH X9R9+v2CoHxRjz6UEumU3MCNW8b1gynT1C7RoDlupJ6srcEKXGhuzz7U/vxGWjbNS699 ZOQE/C50/hIcZR6PgPhS6LWvlPIbxb3BOC11B3abtkswhHEfMniA7RW7Ov5O2WpAqD5v CGyw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=UE369EIBZVX7NEKYpAqFRWbqVEboyiDmoTqg7mEP3ho=; b=dD6sJbIQq5H5aaQJv/096kF11l1Sb9s5u5i8e1etfMfXGqNns69i5GYTnLQ7OzPOWb AndBu+JGMUmKiswwZD5m1NVnKXTqAge1et+SZui9W2tTTLnq6js5teGhF+IAjru/pX7k vt+Z7ha3n7jRVj09VCduSmekld2vX1mLFH7Oo+7zQvAW8xXrwLocP+x2rl3UFBF4sVrI 4Vssf5sv0EM2BFZwJQ5KnKXZVG5YxjwmfY3cx8xPu0kQ0ZsxDu/ih0QbyuTE7tqCTOwu yccxPGFUfjvaTgUG8Kdx4kyeIbultvuuwIx7MzG7bzz1ZFkjZ04JW2jGcVHu9RA2QF7g syRg== X-Gm-Message-State: AOAM530PN5JDxSZL4kUeACCrQNXXlPN/ot2yjxv52w+7imKSiT5oa7a+ 6EN8xacyV5zc2c22FIZlzupmNA== X-Received: by 2002:aa7:9312:0:b029:19d:fa90:3f42 with SMTP id 18-20020aa793120000b029019dfa903f42mr4887642pfj.18.1608312761769; Fri, 18 Dec 2020 09:32:41 -0800 (PST) Received: from xps15.cg.shawcable.net (S0106889e681aac74.cg.shawcable.net. [68.147.0.187]) by smtp.gmail.com with ESMTPSA id l11sm9892957pgt.79.2020.12.18.09.32.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 18 Dec 2020 09:32:41 -0800 (PST) From: Mathieu Poirier To: ohad@wizery.com, bjorn.andersson@linaro.org, robh+dt@kernel.org Cc: arnaud.pouliquen@st.com, linux-remoteproc@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v4 10/17] remoteproc: Add new detach() remoteproc operation Date: Fri, 18 Dec 2020 10:32:21 -0700 Message-Id: <20201218173228.2277032-11-mathieu.poirier@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20201218173228.2277032-1-mathieu.poirier@linaro.org> References: <20201218173228.2277032-1-mathieu.poirier@linaro.org> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org Add an new detach() operation in order to support scenarios where the remoteproc core is going away but the remote processor is kept operating. This could be the case when the system is rebooted or when the platform driver is removed. Signed-off-by: Mathieu Poirier Reviewed-by: Peng Fan Reviewed-by: Arnaud Pouliquen --- include/linux/remoteproc.h | 2 ++ 1 file changed, 2 insertions(+) -- 2.25.1 diff --git a/include/linux/remoteproc.h b/include/linux/remoteproc.h index 257a5005f93e..9bb34c3eb847 100644 --- a/include/linux/remoteproc.h +++ b/include/linux/remoteproc.h @@ -361,6 +361,7 @@ enum rsc_handling_status { * @start: power on the device and boot it * @stop: power off the device * @attach: attach to a device that his already powered up + * @detach: detach from a device, leaving it powered up * @kick: kick a virtqueue (virtqueue id given as a parameter) * @da_to_va: optional platform hook to perform address translations * @parse_fw: parse firmware to extract information (e.g. resource table) @@ -384,6 +385,7 @@ struct rproc_ops { int (*start)(struct rproc *rproc); int (*stop)(struct rproc *rproc); int (*attach)(struct rproc *rproc); + int (*detach)(struct rproc *rproc); void (*kick)(struct rproc *rproc, int vqid); void * (*da_to_va)(struct rproc *rproc, u64 da, size_t len); int (*parse_fw)(struct rproc *rproc, const struct firmware *fw);