From nobody Sat Oct 3 04:30:30 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2AA5E41F5E8 for ; Wed, 5 Aug 2026 10:42:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785926543; cv=none; b=A/EkRWuXLi/zBh1lzV1uTrPZ6poqc9hy7UCVPazEgk3hRc6Y9qIrfNUZUT0KlFeG87H2EW7RvmhuzN44WyVhd7qxrMiKrxOl3a/mVDpk0bhuNSHobhpJtb3u2d/1d3Ynvk17rI4Oh+pnMYNIYj51/peJqVF/vxctYcE6NcF1Sac= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785926543; c=relaxed/simple; bh=dFfg+yi5CHzTc26iZLvWQGYdkQ4fnddTpoVHGJmMkSU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=B4sL85Xx+Fg3uyAurk05PfBYNJqcGr66T1OPpGik7pKai8YSn5TQXvEYv8ZjcorZNE8JrZGWlktL2WtrfjrUtPw3KqEO88k5Ade946uDElKeksRrFoRJaQDQM2SxpqJQ5zb7quCfexg6gKkba6G6B43PwWtyKTAo+POJmBiQzUs= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=ib6X36tm; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=dECgWUah; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="ib6X36tm"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="dECgWUah" Received: from pps.filterd (m0279864.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 6758dZDE1713202 for ; Wed, 5 Aug 2026 10:42:21 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= SosYBOSUJqYzgFFI2VlCZ6y4w4ywG1iaTvH3S/tqiq0=; b=ib6X36tm/dqfqfWM M8XlGxp0O8wEmevg/p8Upu3te/Pgu6Q6IDM9zs7miCM1E8Rfdb3MsH9dpQl7QHyW X+fe47Q/fyBHMHHCBSxi6jXJG7MSwNTLpuM+x41vmhaf1W9WUqpWtbId4WKH5Ysq i3gs2cEd0bR1g4WGsYQmE6wMiPHbIpJFJRllTnxetvYQjEn77WUfU25kS9vrhfNi fxjl4cy0nBcGKh71M/1x0Hj1Lz464hctumJwtkEIE4JEMGwtXajdUdj7SFhElYSO C4xOWLZUNL4rYnr3ReeFuaKACYG+TvS1bQT3vgIfHGgvV6fDS0hD16Z2E3y2+iz6 hokNBw== Received: from mail-pl1-f200.google.com (mail-pl1-f200.google.com [209.85.214.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fuwbqsq7t-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 05 Aug 2026 10:42:21 +0000 (GMT) Received: by mail-pl1-f200.google.com with SMTP id d9443c01a7336-2ccb687f82eso12379945ad.3 for ; Wed, 05 Aug 2026 03:42:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1785926541; x=1786531341; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=SosYBOSUJqYzgFFI2VlCZ6y4w4ywG1iaTvH3S/tqiq0=; b=dECgWUaht+oax15GmjFaOvLW6a4H23XTSuOeNWCHujXcWNEw2szbvOKOAAO4lO6SPP 6Us3sLf1rq8gk2gFLWXD4N40K6uqhPc4YaYzKV7rvFfuRqd3UZm6vs9/dvpJxnlbjAeJ u+NaRNLgwMd325BN9NnnAaaxPIRviyRPuyY8yyG+ePT/LHy5aucFTecIEouU/c9HLt8O fBgxz4AjGFyebyzsecuaNxtz3xMq6U315MMOj03kblLvaHDAz9qw0k1eMYHAFDPqFhc7 o7QZQsWWCsiE1CbaxjM0fK11cZW865ZSoAN7sWjqEorQ19hN6/1p9x5oa48/91hw+bFc /3PA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785926541; x=1786531341; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=SosYBOSUJqYzgFFI2VlCZ6y4w4ywG1iaTvH3S/tqiq0=; b=D5MqLlPHDb/3hqMo9yBngq7DfYE34jFJ3hbpQc8wyNFONVqTWgddelGeWrKN0HFehs 7Ijw9djRAqonS76jLO8TzkS0KXfxdsNBe1mh1thyils0+rC2p/ogvKoPUm3D8BrEy9jp 1iFT/3cqeN1HFjjlvTMogQbx0ooos9//c9WJ39QqkKS57+qF78yDewURtSEHGQ5ybTz9 Esf+Q1z7Nemw46zZAvPR7NHBkHcCByFEce/eeg7k79H3PrS2DiiZ94WBqQHtAUpuJp6X 9TR08QS0E0tOEdp8y3cszzc5lBIwp4ymJbkcf1uxdvBdSkWxmwZTugikFz8rR+X1760T /yEQ== X-Forwarded-Encrypted: i=1; AHgh+Rq0qFhXdiST7Xkfbg9g9vAxQzH/13ZaNuzf5BkSEiPK/XdFQGYRI9SloeiBhFNWtPAj1qOmCujXNQsZpb0=@vger.kernel.org X-Gm-Message-State: AOJu0YyPj9vOuzoWJp4ljGAR21jK3TpsBC4W26xE1fX80L30E6CumBL7 oJn3Ktopbjk26ItCTEdFj8Q3eBwBjpaHUzg+JXhsyK8pDuOfU/FJ6K6188WUwEmKAsq8cSeSDJO WQjeaLlwPixR0c9cPPTDG2u6V8lAjvOv4seEot7BUwX1PEi/NlZFK9c53eTDg9o1M02c= X-Gm-Gg: AR+sD10/BtHeYe+Dq87n8KZwLf8TEiw9dpOwMqLOVf1lS4PP4Ic4WQ+d98V3Xhrna2U z3Xgl2N7XorDszmsAn2DpxnP8GFV0PhdDOy2KFIxyuo1jF18jgGJL4nmhSezOGolX2rXfj47u21 1kA4uYeCgdHIxFKPkdMzXuyMCBLxheq0zEef71vhQMruDAje1WsE75SN1nSZJpcZ35WFHy9kEe0 R1FEkilwxhNOwhsbCMb46hVDfthCWvT1pKY0Km5AQ3TFjgd3DM4CkqEyrCm8g88Kls4DvwNdwP9 +x9qxEvYO590DpE+kYO+6EtokVNCqujk8UAxS5+Bnh+WmHixCGloD5MA4fwlFQgKrSyN5Bln4G2 eeT4NgTi4buZDMT6czNO7h7HpjgIuZSY6sg== X-Received: by 2002:a17:902:c40d:b0:2c9:9a19:df with SMTP id d9443c01a7336-2d0ca945b59mr57634465ad.18.1785926540745; Wed, 05 Aug 2026 03:42:20 -0700 (PDT) X-Received: by 2002:a17:902:c40d:b0:2c9:9a19:df with SMTP id d9443c01a7336-2d0ca945b59mr57633895ad.18.1785926540258; Wed, 05 Aug 2026 03:42:20 -0700 (PDT) Received: from hu-ptalari-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2d0aa49295asm16131265ad.45.2026.08.05.03.42.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 05 Aug 2026 03:42:19 -0700 (PDT) From: Praveen Talari Date: Wed, 05 Aug 2026 16:12:09 +0530 Subject: [PATCH 1/2] spi: qcom-geni: Add shutdown callback to quiesce hardware on reboot 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: <20260805-add-shutdown-and-panic-notifier-for-spi-v1-1-b5db170d491e@oss.qualcomm.com> References: <20260805-add-shutdown-and-panic-notifier-for-spi-v1-0-b5db170d491e@oss.qualcomm.com> In-Reply-To: <20260805-add-shutdown-and-panic-notifier-for-spi-v1-0-b5db170d491e@oss.qualcomm.com> To: konrad.dybcio@oss.qualcomm.com, Mark Brown Cc: mukesh.savaliya@oss.qualcomm.com, linux-arm-msm@vger.kernel.org, linux-spi@vger.kernel.org, linux-kernel@vger.kernel.org, chandana.chiluveru@oss.qualcomm.com, Praveen Talari X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1785926533; l=1573; i=praveen.talari@oss.qualcomm.com; s=20251114; h=from:subject:message-id; bh=dFfg+yi5CHzTc26iZLvWQGYdkQ4fnddTpoVHGJmMkSU=; b=P0JkUmCgFiPv0m0PIjW3qVnD9/mUzpCmI70Zwgyrlt1/H/OeUujq4Gvcw9BScJ5qt/L+UBQ5i /1IwJSnT6aHBvNkXlnTkjObGEoq7pKLOJ0O2aocj08EUFHFFDcdV8ap X-Developer-Key: i=praveen.talari@oss.qualcomm.com; a=ed25519; pk=NGK/88fjyHXgfhIKwag7+uIytOmyOypvZ/hDFaYPEss= X-Proofpoint-ORIG-GUID: vk0nVV9T7raVdVK9fFFSEbgWnmR3KIW2 X-Authority-Analysis: v=2.4 cv=B+uJFutM c=1 sm=1 tr=0 ts=6a73138d cx=c_pps a=IZJwPbhc+fLeJZngyXXI0A==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=IkcTkHD0fZMA:10 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=DJpcGTmdVt4CTyJn9g5Z:22 a=EUspDBNiAAAA:8 a=Bb2fkNEn-BfLECvCvWMA:9 a=QEXdDO2ut3YA:10 a=uG9DUKGECoFWVXl0Dc02:22 X-Proofpoint-GUID: vk0nVV9T7raVdVK9fFFSEbgWnmR3KIW2 X-Proofpoint-Spam-Info: AW1haW4tMjYwODA1MDA4NSBTYWx0ZWRfXyE8KSBuSyRHC WfGVi/YRNiAdY57ZrPTIrREV/FKfYaLEhipQWz7krXXl1HhVIqAXMVcEDFYtnKEvUNlWUmdnNij teuhlxY/bfy8lSneZQ84BY6NGCFGF34= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODA1MDA4NSBTYWx0ZWRfXzXpCX7G53NEC Iv9e1vvhBlTBbDTXkqqfQFN1RPdfuVoT7PkSCBYXzsW69T74JRyth3/UdBcM6ipIZSEgvb9Lhxi mM7PCWWOxn5pK38axcV8Tvehs85pOOwapbgQJFp7ROQVLV5CPQ2WmRE4UmJx1aKUiSHVniVJlV5 Nhe3JagINX1JbkSzAcNPC/XOmRw6sBbjiCl1zselJsNYSVsoHuhg461Hyrv3tOH0C6Turef70nz UnOJcHxB2HIMUe5/9jdG334e4ZZ2Y6K2N3xESr0c8wKiGWUs5/EdlGlqpjcy1pvgIW0IXiI7SC2 Uc4kKgXvoILXRLjncfhytWIQj1siWAFzEVVNFI38i6dxn3zSsnGCE3cqgwPOEqwLVDj80oLBUuJ SUe3F3JzKICVRGnG6hhvSGOepajhY85Zki6ofWuK7KJV5Qn7zHAo76v6CZOeI1y0t46LuxS1YJt FgkQ2MANzgB3pk06R3Q== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-08-05_03,2026-08-04_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 spamscore=0 lowpriorityscore=0 bulkscore=0 phishscore=0 priorityscore=1501 suspectscore=0 malwarescore=0 adultscore=0 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608050085 During system reboot, an active SPI transfer can leave the GENI Serial Engine in an indeterminate state. On VM-based platforms, if a DMA transfer is in progress when the VM is shut down, the SMMU can raise context faults as the DMA engine continues to access IOVAs that have already been invalidated during VM teardown. Add a shutdown callback to suspend the SPI controller and abort any in-progress transfer, ensuring the DMA engine is idle and all IOVA mappings are retired before the system resets. Signed-off-by: Praveen Talari Reviewed-by : Mukesh Savaliya --- drivers/spi/spi-geni-qcom.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/drivers/spi/spi-geni-qcom.c b/drivers/spi/spi-geni-qcom.c index 6566975eb24f..39d67f19244c 100644 --- a/drivers/spi/spi-geni-qcom.c +++ b/drivers/spi/spi-geni-qcom.c @@ -1066,6 +1066,13 @@ static int spi_geni_target_abort(struct spi_controll= er *spi) return 0; } =20 +static void spi_geni_shutdown(struct platform_device *pdev) +{ + struct spi_controller *spi =3D platform_get_drvdata(pdev); + + spi_controller_suspend(spi); +} + static int spi_geni_probe(struct platform_device *pdev) { int ret, irq; @@ -1242,7 +1249,8 @@ static const struct of_device_id spi_geni_dt_match[] = =3D { MODULE_DEVICE_TABLE(of, spi_geni_dt_match); =20 static struct platform_driver spi_geni_driver =3D { - .probe =3D spi_geni_probe, + .probe =3D spi_geni_probe, + .shutdown =3D spi_geni_shutdown, .driver =3D { .name =3D "geni_spi", .pm =3D &spi_geni_pm_ops, --=20 2.34.1 From nobody Sat Oct 3 04:30:30 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5697041E6D4 for ; Wed, 5 Aug 2026 10:42:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785926548; cv=none; b=hS3YOT9E+N6dvYUASKTFDdn+Ac72euRks8JLhO/wLXOGTWO42RjFqfRurcbGas48rkt+dkVFNE15fjBijc1TZS80SmKq1YIgw++zZfyBlhgevRTaekAk3MAH2EpKxAhn4CJT0MCsYTvhhGQh5v56DDR/4hsASKnS6A/tt0MKtho= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785926548; c=relaxed/simple; bh=mI310DaNs876VMDim8Q091lWct4gLOccE+n3AIxZDOw=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=eF8wSgwqfxkwUL1OmG8B90syQ3D7ukWwfNoQ4bdq4n28Lf/kxbMk4BrOjqeC9h0CwAFDsPbpxgLSRG+Ejq3r/enFRvMLQcz3vIjpY7FsuyHv/DNt1sLI9Jlh/VKOJ3PsUKFvH/H+VUYAt3O1wteL0Dz8/eXi0/qHtYCyU4fhabA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=fG9RCmAA; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=ID/SBgiL; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="fG9RCmAA"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="ID/SBgiL" Received: from pps.filterd (m0279865.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 6758dELj2912018 for ; Wed, 5 Aug 2026 10:42:24 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= sdYuzRKiJ5uVc1LtpySkh3YZr2AA91sPs89/7eafEQc=; b=fG9RCmAAzbSyKz8q 5BkBKQR1sWcDDJkaoE52WSI/meObVPAi88rIeH+rQrZ66WkZFrA7nvZy2PTLsJDF Ckvf6F30brDIq4XGZYlC6tDmDezAspImiFs0pAD7mNBu3PCedNO+t1sALmYMR2SY DfEhQRNtEr93H8hQ2pUTxExQaLuhf0a8A/wqdoqdeM9qU6kaYunhGduJIVXFllq/ FS+LBuxA8mtOiyNBGjYBzLFeroc9iZRxoKrMLWHf5+W9TXXBUgR1/n39lbEwCPId B7xfzjTpUg32UsBM91EwzD0gucnLpHGIlnr2yOXXQPXWzzIgyBREKgQtO7x0ZKq5 7jCW7A== Received: from mail-pl1-f197.google.com (mail-pl1-f197.google.com [209.85.214.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fuku3493k-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 05 Aug 2026 10:42:24 +0000 (GMT) Received: by mail-pl1-f197.google.com with SMTP id d9443c01a7336-2ce8a76df2dso15507115ad.2 for ; Wed, 05 Aug 2026 03:42:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1785926544; x=1786531344; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=sdYuzRKiJ5uVc1LtpySkh3YZr2AA91sPs89/7eafEQc=; b=ID/SBgiLX63mjqCav07BnpnH4Ojr6sE1kMd5dIxCZTERnsMnd8OHhj3PG6RvAZlnor UeH1PJBId9zqKp6hC/v5gVLv/Vh/nG4FUOdsGgZQz4W0V+huEsfNtvFpmcsqFuYNKUu8 qI59lhw2VdIOzrnGS4YCjKaZCepM2AsLf27RRF2IsdNSXZTaAbIlxP2IQuFPMPcqiwCH 7MdR3LsOTX/kL04j5aG7L/3jAtvp8w2vE8I5Oy/Qhy7CjTQiuc8fpowrXEaE73L2HskC IllrpuITRhe2/mf0RbbsNKQueuw7gqIbtA4ejHrr2yQdZvVZ9pEyayw4tKXJksVZa7X1 4kHg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785926544; x=1786531344; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=sdYuzRKiJ5uVc1LtpySkh3YZr2AA91sPs89/7eafEQc=; b=C4QzWIYHjs90f+AMoiyFMCZM0M/xu/ejqGUF2rHDWXDeH4x51BbyTnPuEJbSArw/P5 vnVEav8VAZj1ZmP6p0RU/NETX0VyMGRnwjOoxpdytlthSf0YBgTdhyh+2OVqKfNKSoSr sgldjMmW+7I0VnCFPwRHOCj9nxe72kFVXCHvJc1EAejHQZTkZRYmMx/kAiv464NcIbwM HS9omzGDGvksCgLPLblxsjdef2KQdDhIwqSdH71iRrhHhqrAsX59Az/D8GivhVaCAYyV y2x0qKr7M5aE6CySVhlMCwggVkz4rri0JF/iV4oLJFAmyyWInAS+Y9DtHxDojNod24WF LaQA== X-Forwarded-Encrypted: i=1; AHgh+RrVGHvVaWwnd41Vmg3PbQr4wF6Rc5x+vgcbUeoISCh9eMI+xNAD2hwfYVCJoRIpE5EXt25RwgsCnWnks0k=@vger.kernel.org X-Gm-Message-State: AOJu0Yz2pFu+mRdSf7pqoRaNfCP+yqQdjG7o22MNSMht0co4PY9M3BsF mryLWc03LAgKn1XOG/Q5+sOQGfz7pYO0sZ7sQgZkbmZfn991iXjeUSG3GSVdcEj5tHlhtHSdkGE NYAi1aYzqMYo0dChAsAbumSNFlbec5rwqWBRry9ZDnCm0z3wiwoPh4HTI9OUvp1pZOdk= X-Gm-Gg: AR+sD11ycKP23VvVClXkDw0l3W3iss8mFKpp3qD+6MBbWxIpwf2y6CxzrBfw7wQw+PC TpuhQplc38XN99CocMUgCcA4gSDCIojGx1GlaI+v2RLe+mJIpb2sKnzZBrFoNRALgBo8s51Tsee fFnT7uWLWsyDcIyYo4IgNYrx73jKXzTyXPwp5SMkSjs7qC3rLuoGVrHM04rguQGrvqZ0l41pDOR HpTwvy3rfRlsCqtOe1H3x32AeV3IQo2BKGfmXXAz71tcCpINhg4Q7cglugidp9jhCevew99G1cJ kOeSuEy4MFXYzFYx5K5lcvqYB3NEKhQOjP9OttQVEpCqfOX0aMuTXGVK7h4/kfhnYELmetrSuID iF1/3euHnhzTP/kcBwplKMDRR7Yi506KfrA== X-Received: by 2002:a17:902:f605:b0:2c6:9f66:d573 with SMTP id d9443c01a7336-2d0ca71b3f0mr69165225ad.2.1785926543981; Wed, 05 Aug 2026 03:42:23 -0700 (PDT) X-Received: by 2002:a17:902:f605:b0:2c6:9f66:d573 with SMTP id d9443c01a7336-2d0ca71b3f0mr69164685ad.2.1785926543516; Wed, 05 Aug 2026 03:42:23 -0700 (PDT) Received: from hu-ptalari-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2d0aa49295asm16131265ad.45.2026.08.05.03.42.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 05 Aug 2026 03:42:23 -0700 (PDT) From: Praveen Talari Date: Wed, 05 Aug 2026 16:12:10 +0530 Subject: [PATCH 2/2] spi: qcom-geni: Add panic notifier to suspend controller during panic 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: <20260805-add-shutdown-and-panic-notifier-for-spi-v1-2-b5db170d491e@oss.qualcomm.com> References: <20260805-add-shutdown-and-panic-notifier-for-spi-v1-0-b5db170d491e@oss.qualcomm.com> In-Reply-To: <20260805-add-shutdown-and-panic-notifier-for-spi-v1-0-b5db170d491e@oss.qualcomm.com> To: konrad.dybcio@oss.qualcomm.com, Mark Brown Cc: mukesh.savaliya@oss.qualcomm.com, linux-arm-msm@vger.kernel.org, linux-spi@vger.kernel.org, linux-kernel@vger.kernel.org, chandana.chiluveru@oss.qualcomm.com, Praveen Talari X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1785926533; l=2610; i=praveen.talari@oss.qualcomm.com; s=20251114; h=from:subject:message-id; bh=mI310DaNs876VMDim8Q091lWct4gLOccE+n3AIxZDOw=; b=6+wQDeBVvCCKxZKYtJlBvMiHfh6HJIecwMDhPfJieXGc2OwwxHaMHY0gvSxVmZA3p2Qyphdks G/JPdfKLqAPCgp5WepUq0vEqs3UhZ67rgQLYvcaMnss0FF4ngUHiQk1 X-Developer-Key: i=praveen.talari@oss.qualcomm.com; a=ed25519; pk=NGK/88fjyHXgfhIKwag7+uIytOmyOypvZ/hDFaYPEss= X-Proofpoint-GUID: 7VCzfcUoYyu0e9KH-nm4SB9g_qoQYjOd X-Proofpoint-Spam-Info: AW1haW4tMjYwODA1MDA4NSBTYWx0ZWRfXx99hX4z6chlY 6EUExXH7Ug82PIC51LV/G57wNxn2GVU3EO50StH8lkLktMuVmWSovbBp25P0Ma/ZQS90clOBTEd Y57ZhaY+thmEo95SAAPYivQ6pdlXZrg= X-Proofpoint-ORIG-GUID: 7VCzfcUoYyu0e9KH-nm4SB9g_qoQYjOd X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODA1MDA4NSBTYWx0ZWRfXz/jx0S0JLIPB n6ve443vi2r675zTfSoD2Bo5aLsXyjVJRHtC8XavIrsbcLER0MDzsi1rKqjAtI8PX3Sy3nA8eTl Hf9WpKQ7SbuNnz47qBOUYtg5YWZVcHa+A65+WdTiLOw12nzdSX524OByVPvxLhzEMBDPZ6pvQS3 VmNTlfTFY+k41JgC2e7dyqmER+18WCXAVTRFosqzGpwH/8EZK/JjyabdG+pod4Sf5S/FOaEUy3j 6OyCmLSHWZc1984TJHhXlRI7Mg+cwM0GdR/wRr6e/D/lw6EDmcCBYT/NbEDFnSoiLe6TkvpoFAE ZPcSV2z5F4Szw0frQqYhccoz0pDIszMXFmUL8jX/5VXbaNSXlI7fiP/csNAzQmuHq6vMpGiO8Uh KPPbucnYAJC+vUVV0ao6HDFT5kZbZnqVLN+i4TPRsAx+mqr9HvUjFLd0cfOXUuIdTBFtVQELBaS c7EDvHhNniwgWDbX4Qg== X-Authority-Analysis: v=2.4 cv=X/hi7mTe c=1 sm=1 tr=0 ts=6a731390 cx=c_pps a=cmESyDAEBpBGqyK7t0alAg==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=IkcTkHD0fZMA:10 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=Um2Pa8k9VHT-vaBCBUpS:22 a=EUspDBNiAAAA:8 a=uSTXE6O-h9g-VyJA4lgA:9 a=QEXdDO2ut3YA:10 a=1OuFwYUASf3TG4hYMiVC:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-08-05_03,2026-08-04_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 bulkscore=0 impostorscore=0 phishscore=0 adultscore=0 malwarescore=0 suspectscore=0 priorityscore=1501 lowpriorityscore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608050085 When a VM crashes with an active SPI DMA transfer in progress, the SMMU raises context faults as the DMA engine continues to access IOVAs that are invalidated when the VM's memory context is torn down. These faults can affect other VMs sharing the same SMMU instance and obscure the root cause of the crash. Register a panic notifier to suspend the SPI controller, stopping the transfer queue and preventing the DMA engine from issuing further transactions to invalidated IOVAs. Signed-off-by: Praveen Talari --- drivers/spi/spi-geni-qcom.c | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/drivers/spi/spi-geni-qcom.c b/drivers/spi/spi-geni-qcom.c index 39d67f19244c..dfd87428e84f 100644 --- a/drivers/spi/spi-geni-qcom.c +++ b/drivers/spi/spi-geni-qcom.c @@ -14,6 +14,7 @@ #include #include #include +#include #include #include #include @@ -115,6 +116,7 @@ struct spi_geni_master { struct dma_chan *rx; int cur_xfer_mode; const struct geni_spi_desc *dev_data; + struct notifier_block panic_nb; }; =20 static void spi_slv_setup(struct spi_geni_master *mas) @@ -1073,6 +1075,23 @@ static void spi_geni_shutdown(struct platform_device= *pdev) spi_controller_suspend(spi); } =20 +static int spi_geni_panic_notifier(struct notifier_block *nb, + unsigned long action, void *data) +{ + struct spi_geni_master *mas =3D container_of(nb, struct spi_geni_master, = panic_nb); + struct spi_controller *spi =3D dev_get_drvdata(mas->dev); + + spi_controller_suspend(spi); + return NOTIFY_OK; +} + +static void spi_geni_unregister_notifiers(void *data) +{ + struct spi_geni_master *mas =3D data; + + atomic_notifier_chain_unregister(&panic_notifier_list, &mas->panic_nb); +} + static int spi_geni_probe(struct platform_device *pdev) { int ret, irq; @@ -1161,7 +1180,16 @@ static int spi_geni_probe(struct platform_device *pd= ev) if (ret) return ret; =20 - return devm_spi_register_controller(dev, spi); + ret =3D devm_spi_register_controller(dev, spi); + if (ret) + return ret; + + mas->panic_nb.notifier_call =3D spi_geni_panic_notifier; + ret =3D atomic_notifier_chain_register(&panic_notifier_list, &mas->panic_= nb); + if (ret) + return ret; + + return devm_add_action_or_reset(dev, spi_geni_unregister_notifiers, mas); } =20 static int __maybe_unused spi_geni_runtime_suspend(struct device *dev) --=20 2.34.1