Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp1174933ybl; Fri, 10 Jan 2020 13:29:41 -0800 (PST) X-Google-Smtp-Source: APXvYqwjR86FxtmISR9V+1KgwHIrZP6jsSYU+PSjVAD3UrHXdggCUKbUEZSatP9TMUoGUwXX58n3 X-Received: by 2002:aca:eb83:: with SMTP id j125mr3701886oih.153.1578691781183; Fri, 10 Jan 2020 13:29:41 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1578691781; cv=none; d=google.com; s=arc-20160816; b=DQJiGJ2PHaQQ09yk91SLfjxhiXqli39TCHtwwAhhyhshqsbGt+jMvx9eZ62oxSf5H3 Xr9JK8wQVpkEIlwqkLE+DtqpjNInQuECBH1T28KgqFUPHA572d8tXyTmVdOFpFcZ1GKw yJa6tR6avX5ogWqgQEbP8VxWNmdfqXv2e7TnuA4oKNDu1xdwLsg878B1pArbD2UUeeQw hkND0HjurhULQk7Qr2txHzQk/UmRFba8lCdXXm3N60hzmhMtphe8R1ZM0DJCo3e/45ci zGnR6NAg6tfYxDoHyUlw6W9T18beo+b7pozD06Q+9wGhKKBhJLhEneAW+0f7SR9CCu7R JdeA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:dkim-signature; bh=viPNXtvEyDoCmVBCyRALorFNqUyS0KGVGSGNa6vRkAo=; b=VyV1+Sk2SNXWB6yVfseqcZNAYNXyhIwJsbe3MGViAX761izEPlacC/XtPncZ2sO+vc FnajYttus6jQb+rmjoXAjoVf3IqrPzLtZzVyot1ipXiYsytD1A6cWacFPPlaXowfmASR EfM5FNpz96W5HBaNUmdv+5bUBvPCNai1ybVN5AAndBoa5BXdE9swehVbuwCfxXRf/X28 9qiXhEutgd6jpqyFhYVp2yNhU+ahIm787rIguCwulIBAdehNKIoztrgKeus71ShTporh Z9wIyXbLIcGEz+uQ7KNQpo30tu7QDab+Pvxdm+QCPkCRy3tVAa3x3LXahTTWeKmYvJ5u ozvA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=D2nocuW3; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id n25si1626271oij.175.2020.01.10.13.29.29; Fri, 10 Jan 2020 13:29:41 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=D2nocuW3; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 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 S1727133AbgAJV2K (ORCPT + 99 others); Fri, 10 Jan 2020 16:28:10 -0500 Received: from mail-pj1-f66.google.com ([209.85.216.66]:56177 "EHLO mail-pj1-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726992AbgAJV2K (ORCPT ); Fri, 10 Jan 2020 16:28:10 -0500 Received: by mail-pj1-f66.google.com with SMTP id d5so1465074pjz.5 for ; Fri, 10 Jan 2020 13:28:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=viPNXtvEyDoCmVBCyRALorFNqUyS0KGVGSGNa6vRkAo=; b=D2nocuW33MlbdJco1hV0XxUMMz2fsz8BeZNWWmVMjaNj5Rp+hEnyuWtQDy5Ra1LUCL K+3CJC7/G2wUykWX1TUg0I3cWIZnAXKAORwPudXX4oO16LJEQnEd7PiJrBlCiAt2EPc6 htDgLEr38DCUiI6XOBrOnKCgZilQYV6WffG9gw5rJHP6bdkq5spK+HHslOoVzShuyfeR bcQoag3NVWugOPleXCmOMWo8MLvhNttQfJ3AZc5Xj4ujt2XBJfvOdvyoeQYUASXhEo/b Tq4RZKCDi8/Iv+gvIqoiATCwGTYFOA23e2+3FBN7uKLt+9sOnecSrNEuwaFMc9V9WjAJ 9XQQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=viPNXtvEyDoCmVBCyRALorFNqUyS0KGVGSGNa6vRkAo=; b=tmC/1yElSR+2UWAKqihHcP1gD0DjXDCMinEGHLDoTGbQ6NRJsInNhwxXqM4he2ndo/ 0js8V0A7PATcojiuhjD8p1kdgDbE4ximMkQ+nOkYZ5echGVH0epiG4T8VTsZMZ6s1Q8i uk+KCHAEqaCJoylqTXJLhOu6dnd8UyCUHmBEz7yEkNuZuNVZY9QwW4D5VzyFj0G5uOm1 u0XLJv2PLhkYnFUbGD63PG33YAHASqdQgSvVV0v/hGwjKYEZEAYi0XVt2JuLx2P+PpJ9 nDOY/RNwEov7XtsKaukBza4OQjV8ApLOSkWnNkpJXU6+mwZWQgEopTFuq3Ef2rw3/4JR FYYg== X-Gm-Message-State: APjAAAXXdIy4pcqTi0C1WcBYyRez7YV2iaUxtTtlTmo9OC73HgOuG/O2 78znYArfs3M8oAFZ8qE7gWEbnw== X-Received: by 2002:a17:90a:b009:: with SMTP id x9mr7430144pjq.124.1578691689492; Fri, 10 Jan 2020 13:28:09 -0800 (PST) Received: from xps15 (S0106002369de4dac.cg.shawcable.net. [68.147.8.254]) by smtp.gmail.com with ESMTPSA id w11sm3685158pgs.60.2020.01.10.13.28.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 10 Jan 2020 13:28:08 -0800 (PST) Date: Fri, 10 Jan 2020 14:28:06 -0700 From: Mathieu Poirier To: Bjorn Andersson Cc: Rob Herring , Mark Rutland , Ohad Ben-Cohen , linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-remoteproc@vger.kernel.org, Sibi Sankar , Rishabh Bhatnagar Subject: Re: [PATCH v2 7/8] remoteproc: qcom: q6v5: Add common panic handler Message-ID: <20200110212806.GD11555@xps15> References: <20191227053215.423811-1-bjorn.andersson@linaro.org> <20191227053215.423811-8-bjorn.andersson@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20191227053215.423811-8-bjorn.andersson@linaro.org> User-Agent: Mutt/1.10.1 (2018-07-13) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Dec 26, 2019 at 09:32:14PM -0800, Bjorn Andersson wrote: > Add a common panic handler that invokes a stop request and sleep enough > to let the remoteproc flush it's caches etc in order to aid post mortem > debugging. > > Signed-off-by: Bjorn Andersson > --- > > Changes since v1: > - None > > drivers/remoteproc/qcom_q6v5.c | 19 +++++++++++++++++++ > drivers/remoteproc/qcom_q6v5.h | 1 + > 2 files changed, 20 insertions(+) > > diff --git a/drivers/remoteproc/qcom_q6v5.c b/drivers/remoteproc/qcom_q6v5.c > index cb0f4a0be032..17167c980e02 100644 > --- a/drivers/remoteproc/qcom_q6v5.c > +++ b/drivers/remoteproc/qcom_q6v5.c > @@ -6,6 +6,7 @@ > * Copyright (C) 2014 Sony Mobile Communications AB > * Copyright (c) 2012-2013, The Linux Foundation. All rights reserved. > */ > +#include > #include > #include > #include > @@ -15,6 +16,8 @@ > #include > #include "qcom_q6v5.h" > > +#define Q6V5_PANIC_DELAY_MS 200 > + > /** > * qcom_q6v5_prepare() - reinitialize the qcom_q6v5 context before start > * @q6v5: reference to qcom_q6v5 context to be reinitialized > @@ -162,6 +165,22 @@ int qcom_q6v5_request_stop(struct qcom_q6v5 *q6v5) > } > EXPORT_SYMBOL_GPL(qcom_q6v5_request_stop); > > +/** > + * qcom_q6v5_panic() - panic handler to invoke a stop on the remote > + * @q6v5: reference to qcom_q6v5 context > + * > + * Set the stop bit and sleep in order to allow the remote processor to flush > + * its caches etc for post mortem debugging. > + */ > +void qcom_q6v5_panic(struct qcom_q6v5 *q6v5) > +{ > + qcom_smem_state_update_bits(q6v5->state, > + BIT(q6v5->stop_bit), BIT(q6v5->stop_bit)); > + > + mdelay(Q6V5_PANIC_DELAY_MS); I really wonder if the delay should be part of the remoteproc core and configurable via device tree. Wanting the remote processor to flush its caches is likely something other vendors will want when dealing with a kernel panic. It would be nice to see if other people have an opinion on this topic. If not then we can keep the delay here and move it to the core if need be. Thanks, Mathieu > +} > +EXPORT_SYMBOL_GPL(qcom_q6v5_panic); > + > /** > * qcom_q6v5_init() - initializer of the q6v5 common struct > * @q6v5: handle to be initialized > diff --git a/drivers/remoteproc/qcom_q6v5.h b/drivers/remoteproc/qcom_q6v5.h > index 7ac92c1e0f49..c37e6fd063e4 100644 > --- a/drivers/remoteproc/qcom_q6v5.h > +++ b/drivers/remoteproc/qcom_q6v5.h > @@ -42,5 +42,6 @@ int qcom_q6v5_prepare(struct qcom_q6v5 *q6v5); > int qcom_q6v5_unprepare(struct qcom_q6v5 *q6v5); > int qcom_q6v5_request_stop(struct qcom_q6v5 *q6v5); > int qcom_q6v5_wait_for_start(struct qcom_q6v5 *q6v5, int timeout); > +void qcom_q6v5_panic(struct qcom_q6v5 *q6v5); > > #endif > -- > 2.24.0 >