From nobody Sat Oct 4 03:15:51 2025 Received: from mail-wr1-f53.google.com (mail-wr1-f53.google.com [209.85.221.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9B56B32276A for ; Wed, 20 Aug 2025 16:02:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.53 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755705764; cv=none; b=clPa3Om1+yJlsk9KOXhbcXbaFNjIz/dtiuxo4qeJX4GZmPgWnLWwvleL78Vs1kjdN9PQ+zSKqnc+wedmxh7MBwaG4VhnUfs+MK/S3KZVtpsFLPtayVvoNjSIZ1h/oFCpDNgMvF2IcOZjHUl7dw5eorLEq5zLUB5iXtGwjmiPftk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755705764; c=relaxed/simple; bh=AuE9xsSC85xnCqMl1lnmYWUzXXJoeJtib/kNkW715Qg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=h998UU74+SenyKcFWLmflahsjFOYq6d1YC2KKd8s791QZZxfjnd+tqBUbAKDNH4wgWfJznnZmJBFpwfaBRIzTvQ9EN2RWV76uKsvj0sBUrq7jKtWgDRx/KTEJHdphvfK5TXnlUmReYl2nOB7VUBBbq5PPjhFgRLET0ZI+wYmbAY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=lxLUdCM8; arc=none smtp.client-ip=209.85.221.53 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="lxLUdCM8" Received: by mail-wr1-f53.google.com with SMTP id ffacd0b85a97d-3c380aa1ad0so52957f8f.3 for ; Wed, 20 Aug 2025 09:02:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1755705761; x=1756310561; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=ShZhIijPGclQUKdObNofvMry47iIISxjqJO+kVsJ9ug=; b=lxLUdCM8TxTAu4kSLD+bBZxm3ckdeok0ee3jOkAzD9AJWyL4Cvf57SVrQaifRrPUZb APEW4XhGAxq77IE6c4P6mYn0tCkJJyxgsWFELA+4Ush2uYaWcutTge0V2dE8/Svrzi2f pBF7dexwSmuVv8sMM4uvUSS5M1hqyqeJPG34hmkQsk4g+K9DMfDtyDhl4MoOIy6ObttE Ym8v0O/aRN0pN8/7NEzbp6w3Lvc1eZ+ilx2NCCkMcB9Ptihi2HOVmxof9WagpCHS6keQ PzAuJWodVGdDQfqCDiis3uRArTlTnhLPtSB/fb95gcJp+aVT9rstemfm+/aC2N50Zpwc fodA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1755705761; x=1756310561; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ShZhIijPGclQUKdObNofvMry47iIISxjqJO+kVsJ9ug=; b=PjHQdIOPwcd7NnfM1IPTBjTYLLi26xfmL/GlDgTkry/SWaN/mmXZgosKvmS7vR7iSH FWbJlnFdQWpEW6LNGoL8ALjsA0cf7HaO6VEJpGvDz045S/6nub1GvqbDAFYe0AeOQeaU CxhvUZKlizprFSxr3J1RAgnTRIxmSARIUtZh1+5Urk4+fymPd5FTYbk8et2v6EH+J0dt m421LiCyQ1sGRorIk45tPDFB6eKaYm5vlNsjivbavNUOJaUoiMoP3aAcTd7sWfkiMafR +YSifGxE97NdyNQqfPr2QIx3GX3w8XLUP3ITNBKALaTqQg4b2Hd4HZoLL4trA8CgMoIm +Vyw== X-Forwarded-Encrypted: i=1; AJvYcCU5gNCbzLv4bFzS75//LtN69hA742Dad0SU5Dx80I4Ezb+IVNd/LdeubuUoBe/5YEFa+vxigUfg0gyP9qo=@vger.kernel.org X-Gm-Message-State: AOJu0YwmgLgEqXV+5X2DH1N+c6p5lEWRFYela/UdydbDFU+shxw8ZHMR pjPbJo6s6od8EgGw43/n3Fw4KfNU+n5WKM3QGxr1FJgQxaGj+Z+sO80I5QS8w5YidFc= X-Gm-Gg: ASbGncvtZFcmvpFU0KjvrBjTHDYSQdTcQ5n1lKJPjfFkfdOAkywtjHnP0tL1NtJgfq9 vw7A1zSXrftBNcKlT/7+XzCw3EIsoxGc5L+f2IB/UfB8MVgcLdCDIV1pSaK09KbDVXz4/ZBrvWa immAQSlzOXoGx2GqfL1zs+pCidm2YqnyGpYGw3n8ySOjZ4ExW78g9CSi3TLtbK5Gl2tRLitiV34 t0cEh9R4e2ZBK2XmhrJdtbgstshewFad9T57HsXFa259tcHJLsy4S5Ohus4hNb/C3TTSSUGT3Z1 k+R/9WsyCy6SnK52b+bdpOxNaryvVJbEE84bhJIkicQa7Xjx+gko+CkCSliWBMtAzH6YK+V/VOK r9amiHDTY8hb8VL5cBDuz2mS4V2v0zA61aluW X-Google-Smtp-Source: AGHT+IG5dx4R83R85oNexKaNvANypEQgTudqcO+VWF9RVGmv2uV7QlWml9pzFQ9+qhiHJ4Pwd4vwVA== X-Received: by 2002:a05:6000:250a:b0:3b7:7c3b:1073 with SMTP id ffacd0b85a97d-3c32fe1a409mr2287696f8f.52.1755705760657; Wed, 20 Aug 2025 09:02:40 -0700 (PDT) Received: from [127.0.0.2] ([2a02:2454:ff21:ef41:f5f2:96b:fcb7:af4b]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3c074d43956sm8364628f8f.19.2025.08.20.09.02.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 20 Aug 2025 09:02:40 -0700 (PDT) From: Stephan Gerhold Date: Wed, 20 Aug 2025 18:02:33 +0200 Subject: [PATCH v2 1/4] remoteproc: qcom_q6v5: Avoid disabling handover IRQ twice Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250820-rproc-qcom-q6v5-fixes-v2-1-910b1a3aff71@linaro.org> References: <20250820-rproc-qcom-q6v5-fixes-v2-0-910b1a3aff71@linaro.org> In-Reply-To: <20250820-rproc-qcom-q6v5-fixes-v2-0-910b1a3aff71@linaro.org> To: Bjorn Andersson , Mathieu Poirier Cc: Sibi Sankar , Abel Vesa , linux-arm-msm@vger.kernel.org, linux-remoteproc@vger.kernel.org, linux-kernel@vger.kernel.org, Konrad Dybcio , Dmitry Baryshkov X-Mailer: b4 0.14.2 enable_irq() and disable_irq() are reference counted, so we must make sure that each enable_irq() is always paired with a single disable_irq(). If we call disable_irq() twice followed by just a single enable_irq(), the IRQ will remain disabled forever. For the error handling path in qcom_q6v5_wait_for_start(), disable_irq() will end up being called twice, because disable_irq() also happens in qcom_q6v5_unprepare() when rolling back the call to qcom_q6v5_prepare(). Fix this by dropping disable_irq() in qcom_q6v5_wait_for_start(). Since qcom_q6v5_prepare() is the function that calls enable_irq(), it makes more sense to have the rollback handled always by qcom_q6v5_unprepare(). Fixes: 3b415c8fb263 ("remoteproc: q6v5: Extract common resource handling") Reviewed-by: Dmitry Baryshkov Signed-off-by: Stephan Gerhold --- drivers/remoteproc/qcom_q6v5.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/drivers/remoteproc/qcom_q6v5.c b/drivers/remoteproc/qcom_q6v5.c index 4ee5e67a9f03f5f766f04396b9a3e45f77293764..769c6d6d6a731672eca9f960b05= c68f6d4d77af2 100644 --- a/drivers/remoteproc/qcom_q6v5.c +++ b/drivers/remoteproc/qcom_q6v5.c @@ -156,9 +156,6 @@ int qcom_q6v5_wait_for_start(struct qcom_q6v5 *q6v5, in= t timeout) int ret; =20 ret =3D wait_for_completion_timeout(&q6v5->start_done, timeout); - if (!ret) - disable_irq(q6v5->handover_irq); - return !ret ? -ETIMEDOUT : 0; } EXPORT_SYMBOL_GPL(qcom_q6v5_wait_for_start); --=20 2.50.1 From nobody Sat Oct 4 03:15:51 2025 Received: from mail-wm1-f49.google.com (mail-wm1-f49.google.com [209.85.128.49]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5E519322A06 for ; Wed, 20 Aug 2025 16:02:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.49 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755705765; cv=none; b=HREEEMUiYZ6yez8Cx6yIsnpFhEO6Bf+lb+8nNg3EpTSruZYF5OxRGEegwGlXkfWSmxvK3KA58WNtKgEHn/PGg+oSeqWcbiCZa8bUMeW3F9xxKPio40EX4SY2DTnDibU6+3JQzDr8qscg3512cJ0IxK2lhedI+e/R8fXMdC9LbtA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755705765; c=relaxed/simple; bh=J9tk26b5d9valUn3AJ23BPP4CY9PZS2upYUI2TK7QI0=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=RjTLOA59rauztVCuatzNcILiBQJxQAB093AbfVn3v000DQgMtyMTeYkYXcUleu04bQreI+KSqbpfL5wbhRmcJ9yIzPo5zqYLKEW1J01glO1wzDaVvOAClR4MIPaHujsMLZn2Vv/fz4AZy1dl53VyIJbhgI6gdEqfg+I0LfKqHhI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=Nk2aej5+; arc=none smtp.client-ip=209.85.128.49 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="Nk2aej5+" Received: by mail-wm1-f49.google.com with SMTP id 5b1f17b1804b1-45a1b0cbbbaso109015e9.3 for ; Wed, 20 Aug 2025 09:02:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1755705762; x=1756310562; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=SDa/L/vLfvl5Q/JDuMqiafLyaLhOcwaxXf7Kgn9DrQA=; b=Nk2aej5+FL3m6VlEtkGxF9S8CjsFj2ivRw3PpaLk6Xot2jdIcq4WShB55LesLwb9F8 tiPiBHVoaW3hlTs6YHHr57zJLoDTJpppgxywGXTCtRUXNugHu2hD5ZFn1M5xgY+eN4oB HQs4+LHbToBJv5cQDX4y4eqszCBG1SxdQBSanGg5iMHwI7QKZwkMFHnlExayYHLLQr7l Ccfse6M+iFy9KCU/03dF2+qUNi8ZVhzgSMxqtQb1dx+UH3RltjCKJRiaHhrSPj5CrJZT GTsenxk2BFOkTJebB12DqfUgMBCzqmMjHLt3Pw8Zmi4xGeHuU0WBY4mfNlfYI5993mS5 FBXw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1755705762; x=1756310562; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=SDa/L/vLfvl5Q/JDuMqiafLyaLhOcwaxXf7Kgn9DrQA=; b=jnLewg+4KOJ9ol2o0V0QAhcqYopw6CeykeWWSWHZ3GrIO5EBONCEf1s2XnRxFsBbLS ugsDYm2WfxhbPI6cAYBevNxdjkJ7WqHOhNyO9zhtOux0wQQpqAd6J1Ocz/tVE3vSTZkY Fd2jsDnwT8+w+pSt4Qh1VLC+KlAzd8BLoy3S2O3ZxEoyQVy7qTeBBfvEpbP5q9neoP4k 2TCyutM2gtkgfeQhvZypCTirA7q4k6uepHLg4FR2rg+ejtoVQFp9Ll/QUru3SiJmVtXV H60DCBy+9J5SfxEln22zS3wvEA/vWdolGoCQuqAikXx4bWVa8BOK9M4cr24edOAwOy+Y Da4w== X-Forwarded-Encrypted: i=1; AJvYcCUdtVAVR5pjajWFw4wjx3ah/VApFE0OlXl2JC/vC9jc+snQUjZHD+n5bYZT3HK7qUkSBh78OiR13xYAE8g=@vger.kernel.org X-Gm-Message-State: AOJu0Yz13fio+BjcFksQJ39DnnDCfL1bczLKetlhYfTq90HgmLCTmsEP 73Z7xngAvMrMmbcH1e5pK77MvrY3qTQkQVXtO6KQMtPRA8k68PURYtRY9XrAgO46f8M= X-Gm-Gg: ASbGncu+sV6NCbVTTV+S6Znmkdu3UeKbPPme39Fvghzb99S6sfJJ7Bid44mLjbl7EA+ uO+Q4/zaJQ5QGjZh7rbnKaj/ds75ti3MCkag0VNiz0NmHNZegqYGs4yiA8Tdg/eylHS+044wzLt PkxYenYRD81JAQwkaDG5MxTW9Gv15k6RaOmApcPGabvqK7VbGMoy4UM87Fex6YPzPOw+EOXYZIb XAKJrkZaMdyI6A4Jdrjq2lpo6GOIFyaDctc4qZPRvgJdry3wrD4Y1PCKPlBZvbY1JgKDfbOwFwX h03gmCeOfR4/Eiu41mtqZ3hNVXT431Lx/5QUf3EwxiyaRj+6G2K5ODl7xe41b4/bdScJ1HELDkG c2c7X6JImshwCMgBtXwKy+D7/5qphRFQQelqy X-Google-Smtp-Source: AGHT+IEGtQPDjtGEux8eJN642OMcw5qEtkm8AZN7DXfDDbrt3JlPYakLqgOYzRpBWVMGssyGGPAxFg== X-Received: by 2002:a5d:62c8:0:b0:3b9:7bea:149e with SMTP id ffacd0b85a97d-3c32c52bb7dmr1711279f8f.8.1755705761522; Wed, 20 Aug 2025 09:02:41 -0700 (PDT) Received: from [127.0.0.2] ([2a02:2454:ff21:ef41:f5f2:96b:fcb7:af4b]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3c074d43956sm8364628f8f.19.2025.08.20.09.02.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 20 Aug 2025 09:02:41 -0700 (PDT) From: Stephan Gerhold Date: Wed, 20 Aug 2025 18:02:34 +0200 Subject: [PATCH v2 2/4] remoteproc: qcom_q6v5: Avoid handling handover twice Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250820-rproc-qcom-q6v5-fixes-v2-2-910b1a3aff71@linaro.org> References: <20250820-rproc-qcom-q6v5-fixes-v2-0-910b1a3aff71@linaro.org> In-Reply-To: <20250820-rproc-qcom-q6v5-fixes-v2-0-910b1a3aff71@linaro.org> To: Bjorn Andersson , Mathieu Poirier Cc: Sibi Sankar , Abel Vesa , linux-arm-msm@vger.kernel.org, linux-remoteproc@vger.kernel.org, linux-kernel@vger.kernel.org, Konrad Dybcio , Dmitry Baryshkov X-Mailer: b4 0.14.2 A remoteproc could theoretically signal handover twice. This is unexpected and would break the reference counting for the handover resources (power domains, clocks, regulators, etc), so add a check to prevent that from happening. Reviewed-by: Dmitry Baryshkov Signed-off-by: Stephan Gerhold --- drivers/remoteproc/qcom_q6v5.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/remoteproc/qcom_q6v5.c b/drivers/remoteproc/qcom_q6v5.c index 769c6d6d6a731672eca9f960b05c68f6d4d77af2..58d5b85e58cdadabdd3e23d39c0= 6a39196c3a194 100644 --- a/drivers/remoteproc/qcom_q6v5.c +++ b/drivers/remoteproc/qcom_q6v5.c @@ -164,6 +164,11 @@ static irqreturn_t q6v5_handover_interrupt(int irq, vo= id *data) { struct qcom_q6v5 *q6v5 =3D data; =20 + if (q6v5->handover_issued) { + dev_err(q6v5->dev, "Handover signaled, but it already happened\n"); + return IRQ_HANDLED; + } + if (q6v5->handover) q6v5->handover(q6v5); =20 --=20 2.50.1 From nobody Sat Oct 4 03:15:51 2025 Received: from mail-wm1-f51.google.com (mail-wm1-f51.google.com [209.85.128.51]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 698DD2E4259 for ; Wed, 20 Aug 2025 16:02:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.51 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755705767; cv=none; b=PdunrX0zmOqLnVCGIW0KYKskngQOnZRD+LnW3KuHaZOubGx9+3M3sc1/yVEk6BlIYcfsQueW+Dnf7tBStMnQDICCt0uIb5EIoyGT5Gs8Ae8HgAuu7Bm2et/VBw9vr3BdNrMLszbKKQKKtifCzWZ2Q+ORz/06H5/9oTd7db4FXtM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755705767; c=relaxed/simple; bh=+mkqb2Ue7u1YvGacNORI9vgglAhAHZA5EgMtWKI45No=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=G5pqqv02LZnDNDMaqMtpKCVCiFG9tw3Tc5HKC+nPX/0z34uz5wMom9Rw0/EKY8NCQoVGbxuSzCa1S+Jftwer9X6j8cDE8GhkhcuU1o0Y5AIQU5Lsq5sJtwiUBtR+VKutI6Zo2hZ9CqYz+J5GgRX/p0Hvv7bw3BRx10g+oUwfFEE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=EytWJOU+; arc=none smtp.client-ip=209.85.128.51 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="EytWJOU+" Received: by mail-wm1-f51.google.com with SMTP id 5b1f17b1804b1-45a1b0990b2so58495e9.2 for ; Wed, 20 Aug 2025 09:02:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1755705763; x=1756310563; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=Qhuxsj5hUNsmEcvC7TbsLqtTmOhmGuaHA8uQAx721Xg=; b=EytWJOU+bQQ8j4GVe5d/aJNc8AMOtNfbvTaFJ61RKvxm1k9M9C58jRDKZAY6zuDsUR mzs2ENEd7z0orwjGIj53UV7VkzP5qTcwuWqCkfkdchmJ6pnEzdBoFydwhb47eJHvhO+u xNACs0BOC4xpoee6mw7nA9ebO5/8ej6eKw4qi1LuYVfat1zG1k0s5Ls41eNSEN+bGUMp jDFlStS9OPQ2CGkDaLlDD59Akt+cXXEiIMMV8wzSkD/7wWQhbYpj1mX5zFEjJOJIeFN5 kUiFcDNrkcuGixdjBGspNWUf6ojfqOW/Wpa9jMJ6d20cnUyuDaoYb8N91iouzkb6d1X/ P99A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1755705763; x=1756310563; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Qhuxsj5hUNsmEcvC7TbsLqtTmOhmGuaHA8uQAx721Xg=; b=SyxY0eGcA/+CUY/nu9FBFsrfgyx8C+EUNVuU9dyPf98O5qyeRXQwg8mpK1PPJtyTt0 my6a4oNS1wtR7PplDPLr3hwibUcSfaYH2XAuzUPCTEtVyY3IDy8KUZabV8xNKoV++DC3 rEA8bfOrtc1WwHyUvmdVlUKi3ZErP+0q8Bm45Vn4pZ1s+D1RgvYYysHAkn3btZy0Ghzk Te3xOl7za8sUjWHP3FLm0cOdgE26sfR4nV1wJ4CQfvypWfznvjTU2U3tyvXfDv4GEamB u90l/lLoUg1pmyaK2ntDKUK8TEHcjUYPrgl+/oM97IojeTxCcRjdS4y6a/Q0PPGXfbld n2lg== X-Forwarded-Encrypted: i=1; AJvYcCVRormG5db9H+mq6PBgqhqJPqAkat3Q1U+zR27mWMoFOrJYQkF3L2HtRYljvW5prWgpfAsEpF0hr9QYeps=@vger.kernel.org X-Gm-Message-State: AOJu0Yzuvsh2cAU22IzkC2i2UxfdUXO17YSezWO822LhzGWrtKVuStRd V0+gfI7kLBfRI518V/2pUuKgB03O6fWF1y1k/MEDpTOp5a9rEjEnJqYW1+894PuXQ9g= X-Gm-Gg: ASbGnctpRsluLQ3S0d7hw3dn99mkZwd7GBA1ptsqWTD3UQzIr1gbpvgZMKcHpDnCoaU DKIvSNM4LEO9xbEVkPG0k4YAt8TZOeo+LKxuk7PStQqe7zvQDT+7IUJHEokqONUrB2wdKdMrntQ YC9I4BgWzrj7qM8sArTWYmoKTIImc/HK+/31zBv7epBZe+qktzJAyiclUvPmfkSNgw8a6mLAOz3 o2oCAYziq2Fau6fZNJUOFFdPdILd/jjkYaIQDO+GP/r7hYivaRmR7jq2QA/ACbQUGJNkohXMKY6 3YhPJigRPTyLSzmJwZMIjOrLjN1S/qOHBgoBzWFwTjFZmR4wXPesin6+q4PcDjhHCsNInWCr0Z+ z7s78IHxkVS8gMuhNAOmndK8Tp2cfZpdUoCebcmmphctM6J4= X-Google-Smtp-Source: AGHT+IGvG4k/agQ1VYv0xl78frC3MBSWK35BnNz8JnK0jUOga4Or/7FWKiGhMWhFKLnbdgZxkb+pAA== X-Received: by 2002:a05:600c:8b17:b0:459:ddad:a3bd with SMTP id 5b1f17b1804b1-45b479b331cmr32104145e9.15.1755705762491; Wed, 20 Aug 2025 09:02:42 -0700 (PDT) Received: from [127.0.0.2] ([2a02:2454:ff21:ef41:f5f2:96b:fcb7:af4b]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3c074d43956sm8364628f8f.19.2025.08.20.09.02.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 20 Aug 2025 09:02:42 -0700 (PDT) From: Stephan Gerhold Date: Wed, 20 Aug 2025 18:02:35 +0200 Subject: [PATCH v2 3/4] remoteproc: qcom_q6v5_pas: Shutdown lite ADSP DTB on X1E Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250820-rproc-qcom-q6v5-fixes-v2-3-910b1a3aff71@linaro.org> References: <20250820-rproc-qcom-q6v5-fixes-v2-0-910b1a3aff71@linaro.org> In-Reply-To: <20250820-rproc-qcom-q6v5-fixes-v2-0-910b1a3aff71@linaro.org> To: Bjorn Andersson , Mathieu Poirier Cc: Sibi Sankar , Abel Vesa , linux-arm-msm@vger.kernel.org, linux-remoteproc@vger.kernel.org, linux-kernel@vger.kernel.org, Konrad Dybcio , Dmitry Baryshkov X-Mailer: b4 0.14.2 The ADSP firmware on X1E has separate firmware binaries for the main firmware and the DTB. The same applies for the "lite" firmware loaded by the boot firmware. When preparing to load the new ADSP firmware we shutdown the lite_pas_id for the main firmware, but we don't shutdown the corresponding lite pas_id for the DTB. The fact that we're leaving it "running" forever becomes obvious if you try to reuse (or just access) the memory region used by the "lite" firmware: The &adsp_boot_mem is accessible, but accessing the &adsp_boot_dtb_mem results in a crash. We don't support reusing the memory regions currently, but nevertheless we should not keep part of the lite firmware running. Fix this by adding the lite_dtb_pas_id and shutting it down as well. We don't have a way to detect if the lite firmware is actually running yet, so ignore the return status of qcom_scm_pas_shutdown() for now. This was already the case before, the assignment to "ret" is not used anywhere. Fixes: 62210f7509e1 ("remoteproc: qcom_q6v5_pas: Unload lite firmware on AD= SP") Reviewed-by: Dmitry Baryshkov Signed-off-by: Stephan Gerhold --- drivers/remoteproc/qcom_q6v5_pas.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/remoteproc/qcom_q6v5_pas.c b/drivers/remoteproc/qcom_q= 6v5_pas.c index 02e29171cbbee2d305827365ef7d2241b6eb786b..f3ec5b06261e8bafe8a8d2378b6= 0285d0855674a 100644 --- a/drivers/remoteproc/qcom_q6v5_pas.c +++ b/drivers/remoteproc/qcom_q6v5_pas.c @@ -42,6 +42,7 @@ struct qcom_pas_data { int pas_id; int dtb_pas_id; int lite_pas_id; + int lite_dtb_pas_id; unsigned int minidump_id; bool auto_boot; bool decrypt_shutdown; @@ -80,6 +81,7 @@ struct qcom_pas { int pas_id; int dtb_pas_id; int lite_pas_id; + int lite_dtb_pas_id; unsigned int minidump_id; int crash_reason_smem; unsigned int smem_host_id; @@ -226,6 +228,8 @@ static int qcom_pas_load(struct rproc *rproc, const str= uct firmware *fw) =20 if (pas->lite_pas_id) ret =3D qcom_scm_pas_shutdown(pas->lite_pas_id); + if (pas->lite_dtb_pas_id) + qcom_scm_pas_shutdown(pas->lite_dtb_pas_id); =20 if (pas->dtb_pas_id) { ret =3D request_firmware(&pas->dtb_firmware, pas->dtb_firmware_name, pas= ->dev); @@ -722,6 +726,7 @@ static int qcom_pas_probe(struct platform_device *pdev) pas->minidump_id =3D desc->minidump_id; pas->pas_id =3D desc->pas_id; pas->lite_pas_id =3D desc->lite_pas_id; + pas->lite_dtb_pas_id =3D desc->lite_dtb_pas_id; pas->info_name =3D desc->sysmon_name; pas->smem_host_id =3D desc->smem_host_id; pas->decrypt_shutdown =3D desc->decrypt_shutdown; @@ -1085,6 +1090,7 @@ static const struct qcom_pas_data x1e80100_adsp_resou= rce =3D { .pas_id =3D 1, .dtb_pas_id =3D 0x24, .lite_pas_id =3D 0x1f, + .lite_dtb_pas_id =3D 0x29, .minidump_id =3D 5, .auto_boot =3D true, .proxy_pd_names =3D (char*[]){ --=20 2.50.1 From nobody Sat Oct 4 03:15:51 2025 Received: from mail-wr1-f41.google.com (mail-wr1-f41.google.com [209.85.221.41]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5954D322C84 for ; Wed, 20 Aug 2025 16:02:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.41 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755705767; cv=none; b=NLNU1AliXcP2rURV6tEbjcDTHdgsRZMqsJCUiR4RWdb9AiDrx9JofITHvZKONdzaEIdToD6YowB/J8tUuNi0aOBvX8nGfw20rcccw/Kfv7qFe8F/jLxPbbqs5QaJiieKH2LulkHlLhr1IsF5S7/PS5NW/6jcqiYPJYgThScV+xg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755705767; c=relaxed/simple; bh=ceYKT3vSfgejeLJSxkGS10wrJuDMf2QLAgi1+YybTuo=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=nAPKVvEsOghZn/Bvp+pVN47gsS4z7oH4gvVXg5PwAeL1xgy4bWqf0+mVa8ukBbrRv7r8UOzSrlP239i78oiuUBmWlnANxGNvtkI/rvlnLNCrxu9Tk2+lZDj0Eb/h7SXSmYsBzBmcGl0Cfl1ChHeo3e+BB7ot6hmcgsh9Jj7mLTE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=AXICg8kl; arc=none smtp.client-ip=209.85.221.41 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="AXICg8kl" Received: by mail-wr1-f41.google.com with SMTP id ffacd0b85a97d-3b9e4147690so37104f8f.2 for ; Wed, 20 Aug 2025 09:02:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1755705764; x=1756310564; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=tjfVhv9eLkbIqBEE7fXFjARPFm2eJB57FpMUozSdD4M=; b=AXICg8klDQtptdu2WXQUS6lLMhl+jfNMcldtF2JtnPfZM1OCRCFGgQJRJCh+AnlqGP demvMr8uOMpO0nQklbriS+DltyQ0d6iVFIj3TKp072qU1aeKy5C51UwL71nSjALFs7Ts noJXVVraYsEnwo++CDDyAr1urdle8Mb1QxQPzBIMqTkNxhdURCrCL9+epjFYVpSx2iHa mQKwS9ujO9ujFf8+pE5yuR1I3R8L0/ZdJ0BqP0kKBzfpLCAvrM64nMu34J1V2dJhYTYX CKt5DtIpk2PNUru/IrrEsfzu8YQNYPiKZhgsKfMcVOstiwpKhOhJGnliVDLXHaXGHRU5 AAVQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1755705764; x=1756310564; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=tjfVhv9eLkbIqBEE7fXFjARPFm2eJB57FpMUozSdD4M=; b=wEknN4jGXBM3GLibxmIAZ2qf86V1sloz1AVGh1AQpy/KBKn95fd1v6LC1oEdS/xCqw +OQuMuFOhuLg2Wvq+ukQqjybH35DBLkYoqrrvgIMDmyXu9m7wxRH+NF8KZSJi9DT0wkh YtDYNMXgSlvOdb33/CxvtDBVyeeZoY3Gf+IdhDXWgeQj9JtajuX35/+Ing7CMg8DwpMP OwsVHzG+WtVSatwN9HMRM5G4atvUsUtTEckmwi7K5Go5cMl5Zt8jv7rbk0aqECcuFg0v q8RSU/r0O/QaDLYUuBgzUstJFfN9DnE5cwrd0yjQgVyClfC8gwn1mf2jotLN3owW9DBi itHw== X-Forwarded-Encrypted: i=1; AJvYcCXQZWysVQZkE+C8mPU04CD2Tk9Smsr1+QOcyx/dYuoe6zo6fYNUh2KMazzc+SvIHtWwC4ZBkaAIydPI/Wc=@vger.kernel.org X-Gm-Message-State: AOJu0YxT8N4JwFq0Cv2SUyNOiFVXbWb6fjlGAwLKd8SIa7uyYnUREsfs RigH6+lsT5hiHCJtQ+4v0KlQLDQjJORpsJ4JmLUgeDh056A4xrQYmOlqHlTzMCqxy6c= X-Gm-Gg: ASbGnctOnQY5w/opVtF6apO1Vjj4x3HGU34NycEvsoep1zKhkRBUbH9utdXqS1qyg2V Q3YUpCtRvnt1qrKhQ0hVZ5d3YGrSzKXrIKlejn1Bt8BzXaCA33nRSPWNtBkoCk6BSTLlCXhHx83 jHMZd0NYy7DbJwSGGT177sIIl5uh1HuVQ5gfk5Wv1xNgtITCTW6XQ/V7Mi4FgiqqcREnmEbHLY2 cksHmhvceW69x65FPR9KZyNuGOf1z3aLRKzUqr9A8xP/AK8g+opFQ/sx5aJkBjLuekAwkKDAeRs w/Ij6gOC0LtKuntsw9B/MhRtKPNRc3T9nPiW66120KsEnJwmGsy13DD8yaSx34MYJCmFVbnt+6F MbRcS3lYBPM8xTTMjwE7qouE8SHh9tW2i3Ffn X-Google-Smtp-Source: AGHT+IFhMcKbAMu0PvVDiGeVBMEhgCK2n9Gg7XUc2NrwrVFxoYM9mheSAsCoD/kyMWNfHdDuo2ptCA== X-Received: by 2002:a05:6000:4313:b0:3b7:8fcd:d145 with SMTP id ffacd0b85a97d-3c32be67bdbmr2961716f8f.5.1755705763407; Wed, 20 Aug 2025 09:02:43 -0700 (PDT) Received: from [127.0.0.2] ([2a02:2454:ff21:ef41:f5f2:96b:fcb7:af4b]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3c074d43956sm8364628f8f.19.2025.08.20.09.02.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 20 Aug 2025 09:02:43 -0700 (PDT) From: Stephan Gerhold Date: Wed, 20 Aug 2025 18:02:36 +0200 Subject: [PATCH v2 4/4] remoteproc: qcom_q6v5_pas: Drop redundant assignment to ret Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250820-rproc-qcom-q6v5-fixes-v2-4-910b1a3aff71@linaro.org> References: <20250820-rproc-qcom-q6v5-fixes-v2-0-910b1a3aff71@linaro.org> In-Reply-To: <20250820-rproc-qcom-q6v5-fixes-v2-0-910b1a3aff71@linaro.org> To: Bjorn Andersson , Mathieu Poirier Cc: Sibi Sankar , Abel Vesa , linux-arm-msm@vger.kernel.org, linux-remoteproc@vger.kernel.org, linux-kernel@vger.kernel.org, Konrad Dybcio , Dmitry Baryshkov X-Mailer: b4 0.14.2 We don't have a way to detect if the lite firmware is actually running yet, so we should ignore the return status of qcom_scm_pas_shutdown() for now. The assignment to "ret" is not used anywhere, so just drop it. Signed-off-by: Stephan Gerhold Reviewed-by: Dmitry Baryshkov --- drivers/remoteproc/qcom_q6v5_pas.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/remoteproc/qcom_q6v5_pas.c b/drivers/remoteproc/qcom_q= 6v5_pas.c index f3ec5b06261e8bafe8a8d2378b60285d0855674a..6faedae8d32ef6c3c2071975f2f= 1e37a9ffd8abe 100644 --- a/drivers/remoteproc/qcom_q6v5_pas.c +++ b/drivers/remoteproc/qcom_q6v5_pas.c @@ -227,7 +227,7 @@ static int qcom_pas_load(struct rproc *rproc, const str= uct firmware *fw) pas->firmware =3D fw; =20 if (pas->lite_pas_id) - ret =3D qcom_scm_pas_shutdown(pas->lite_pas_id); + qcom_scm_pas_shutdown(pas->lite_pas_id); if (pas->lite_dtb_pas_id) qcom_scm_pas_shutdown(pas->lite_dtb_pas_id); =20 --=20 2.50.1