{"id":2229541,"url":"http://patchwork.ozlabs.org/api/1.1/patches/2229541/?format=json","web_url":"http://patchwork.ozlabs.org/project/linuxppc-dev/patch/20260428093529.7618-1-nnmlinux@linux.ibm.com/","project":{"id":2,"url":"http://patchwork.ozlabs.org/api/1.1/projects/2/?format=json","name":"Linux PPC development","link_name":"linuxppc-dev","list_id":"linuxppc-dev.lists.ozlabs.org","list_email":"linuxppc-dev@lists.ozlabs.org","web_url":"https://github.com/linuxppc/wiki/wiki","scm_url":"https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git","webscm_url":"https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git/"},"msgid":"<20260428093529.7618-1-nnmlinux@linux.ibm.com>","date":"2026-04-28T09:35:29","name":"[1/1] powerpc/pseries/pci: quirks: Add pseries TG3 D3hot delay quirk for EEH stability","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"a48af2cc8ed8af27b901b41df1150b6d19288fac","submitter":{"id":86270,"url":"http://patchwork.ozlabs.org/api/1.1/people/86270/?format=json","name":"Narayana Murty N","email":"nnmlinux@linux.ibm.com"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/linuxppc-dev/patch/20260428093529.7618-1-nnmlinux@linux.ibm.com/mbox/","series":[{"id":501846,"url":"http://patchwork.ozlabs.org/api/1.1/series/501846/?format=json","web_url":"http://patchwork.ozlabs.org/project/linuxppc-dev/list/?series=501846","date":"2026-04-28T09:35:29","name":"[1/1] powerpc/pseries/pci: quirks: Add pseries TG3 D3hot delay quirk for EEH stability","version":1,"mbox":"http://patchwork.ozlabs.org/series/501846/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/2229541/comments/","check":"fail","checks":"http://patchwork.ozlabs.org/api/patches/2229541/checks/","tags":{},"headers":{"Return-Path":"\n <linuxppc-dev+bounces-20240-incoming=patchwork.ozlabs.org@lists.ozlabs.org>","X-Original-To":["incoming@patchwork.ozlabs.org","linuxppc-dev@lists.ozlabs.org"],"Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=ibm.com header.i=@ibm.com header.a=rsa-sha256\n header.s=pp1 header.b=G/ocJf4z;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=lists.ozlabs.org\n (client-ip=112.213.38.117; helo=lists.ozlabs.org;\n envelope-from=linuxppc-dev+bounces-20240-incoming=patchwork.ozlabs.org@lists.ozlabs.org;\n receiver=patchwork.ozlabs.org)","lists.ozlabs.org;\n arc=none smtp.remote-ip=148.163.156.1","lists.ozlabs.org;\n dmarc=pass (p=none dis=none) header.from=linux.ibm.com","lists.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=ibm.com header.i=@ibm.com header.a=rsa-sha256\n header.s=pp1 header.b=G/ocJf4z;\n\tdkim-atps=neutral","lists.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=linux.ibm.com\n (client-ip=148.163.156.1; helo=mx0a-001b2d01.pphosted.com;\n envelope-from=nnmlinux@linux.ibm.com; receiver=lists.ozlabs.org)"],"Received":["from lists.ozlabs.org (lists.ozlabs.org [112.213.38.117])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g4ghX0vpPz1xvV\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 28 Apr 2026 23:07:39 +1000 (AEST)","from boromir.ozlabs.org (localhost [127.0.0.1])\n\tby lists.ozlabs.org (Postfix) with ESMTP id 4g4ghV6PCCz2xlt;\n\tTue, 28 Apr 2026 23:07:38 +1000 (AEST)","from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com\n [148.163.156.1])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature RSA-PSS (2048 bits) server-digest\n SHA256)\n\t(No client certificate requested)\n\tby lists.ozlabs.org (Postfix) with ESMTPS id 4g4ghT1w8Nz2xWP\n\tfor <linuxppc-dev@lists.ozlabs.org>; Tue, 28 Apr 2026 23:07:36 +1000 (AEST)","from pps.filterd (m0360083.ppops.net [127.0.0.1])\n\tby mx0a-001b2d01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id\n 63S649rX2992108;\n\tTue, 28 Apr 2026 13:07:25 GMT","from ppma11.dal12v.mail.ibm.com\n (db.9e.1632.ip4.static.sl-reverse.com [50.22.158.219])\n\tby mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 4drn44nnn7-1\n\t(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);\n\tTue, 28 Apr 2026 13:07:24 +0000 (GMT)","from pps.filterd (ppma11.dal12v.mail.ibm.com [127.0.0.1])\n\tby ppma11.dal12v.mail.ibm.com (8.18.1.7/8.18.1.7) with ESMTP id\n 63SCw4p9032349;\n\tTue, 28 Apr 2026 13:07:23 GMT","from smtprelay04.fra02v.mail.ibm.com ([9.218.2.228])\n\tby ppma11.dal12v.mail.ibm.com (PPS) with ESMTPS id 4dsamy9hvk-1\n\t(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);\n\tTue, 28 Apr 2026 13:07:23 +0000 (GMT)","from smtpav04.fra02v.mail.ibm.com (smtpav04.fra02v.mail.ibm.com\n [10.20.54.103])\n\tby smtprelay04.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id\n 63SD7JbA29491768\n\t(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);\n\tTue, 28 Apr 2026 13:07:19 GMT","from smtpav04.fra02v.mail.ibm.com (unknown [127.0.0.1])\n\tby IMSVA (Postfix) with ESMTP id 7B40420043;\n\tTue, 28 Apr 2026 13:07:19 +0000 (GMT)","from smtpav04.fra02v.mail.ibm.com (unknown [127.0.0.1])\n\tby IMSVA (Postfix) with ESMTP id 9C48420040;\n\tTue, 28 Apr 2026 13:07:17 +0000 (GMT)","from ltcd48-lp3.ltc.tadn.ibm.com (unknown [9.5.7.39])\n\tby smtpav04.fra02v.mail.ibm.com (Postfix) with ESMTP;\n\tTue, 28 Apr 2026 13:07:17 +0000 (GMT)"],"ARC-Seal":"i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707; t=1777381658;\n\tcv=none;\n b=kiA8a6S/TaUPjNSqz4CC01Cjd+XpkGClY+ram7yxrnn1elPRGnTHNIVVVFCMUGH3ILdiWzXZojTw2CTrnRnuPZ0kHdowOQtAogHG5bMxmpB1nuE61iAnqUKRFknPGHpZQzZ9q/WERc3L+/Cg7TYYf/6l9TVbBjrtw4UDpSvesAgVh55jvZ/Auk7p7rQcfYUIdM4SYq0ihK0emZV0U8dqHU7sGDB9kORfL4xZQIy1JX3p9AGIvrcGuXjCOiR9BfRVlcs+a7bZd66iLA4lxHA5bV1HDy4jAIYrrvfkI/gzfQ1GG7J22VD0+Arz9jmJWUf5fSfd9A3XqVdxdRD+naxUww==","ARC-Message-Signature":"i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707;\n\tt=1777381658; c=relaxed/relaxed;\n\tbh=gCPr4yBhBB7M8hYyxwfQYfDGMLYQtxXEbNoae5c28Rg=;\n\th=From:To:Cc:Subject:Date:Message-ID:MIME-Version;\n b=RCjmmzJoV8tC3ieAKmfnbTCsD23z1bdsyKb2BokEveqHyZpMJ5MvnyeuhvT9i0DzTkMBJCxvzoODSKwljRCqBWsBhOqKG3YUueQ9Bw7nmYGAYYNbhKoZTwx85PkqUtajfAYk1Xgb6fLB93hi0r3pJBo5IzJ4vaDo8DhyUwS6b2HKMG4RrpvJk+xSQWMuw2LFeiRqLBGxQpNMzwvulTM9O5Es3BE8mKRSWczZheFvJNHjuCsUPOmJd159sMPpJgPtkMlXnxLSpJsJb/sr2xF9ZjLzVasW3bmibSHiAU/kch7SMmrGBagARl5Ds1eQg8RFPRizPxfQ/YuWbXskcCubwg==","ARC-Authentication-Results":"i=1; lists.ozlabs.org;\n dmarc=pass (p=none dis=none) header.from=linux.ibm.com;\n dkim=pass (2048-bit key;\n unprotected) header.d=ibm.com header.i=@ibm.com header.a=rsa-sha256\n header.s=pp1 header.b=G/ocJf4z; dkim-atps=neutral;\n spf=pass (client-ip=148.163.156.1; helo=mx0a-001b2d01.pphosted.com;\n envelope-from=nnmlinux@linux.ibm.com;\n receiver=lists.ozlabs.org) smtp.mailfrom=linux.ibm.com","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=cc\n\t:content-transfer-encoding:date:from:message-id:mime-version\n\t:subject:to; s=pp1; bh=gCPr4yBhBB7M8hYyxwfQYfDGMLYQtxXEbNoae5c28\n\tRg=; b=G/ocJf4ziA5T/3LpfPXebLIXEtK/sgre4GzIGPFuJdnzbE4herI51opM8\n\tl+3g1JXTVbLs6Fk2LtUtCQevM0p8cXrkdEooECNwV7OyIdn6nN8F2WD4F6rEBJRf\n\t6Tci7uU8Zk4vUxQfiG/rb2MJKn1qUlckDA9IR8ccV+HnbVNqLj1rtw4JgOV9JGlZ\n\tthftnVL1HuAtVTz0TsJVAsEXenerFBIZNFHCIvuKMyKnMtaW2GI2b0SbIp8N9Hb+\n\tHOMx5igRvFWS5dqWck4OCpyJhr0KIHdG8v/nhD1lOPcB2WuTq1ECzVA0oMBpP6rz\n\tZiZXULreqwikdqfTnZAhJwY1F0ilg==","From":"Narayana Murty N <nnmlinux@linux.ibm.com>","To":"linuxppc-dev@lists.ozlabs.org, maddy@linux.ibm.com, mpe@ellerman.id.au,\n        npiggin@gmail.com","Cc":"christophe.leroy@csgroup.eu, linux-kernel@vger.kernel.org,\n        nnmlinux@linux.ibm.com, mahesh@linux.ibm.com, vaibhav@linux.ibm.com,\n        sbhat@linux.ibm.com","Subject":"[PATCH 1/1] powerpc/pseries/pci: quirks: Add pseries TG3 D3hot delay\n quirk for EEH stability","Date":"Tue, 28 Apr 2026 05:35:29 -0400","Message-ID":"<20260428093529.7618-1-nnmlinux@linux.ibm.com>","X-Mailer":"git-send-email 2.51.1","X-Mailing-List":"linuxppc-dev@lists.ozlabs.org","List-Id":"<linuxppc-dev.lists.ozlabs.org>","List-Help":"<mailto:linuxppc-dev+help@lists.ozlabs.org>","List-Owner":"<mailto:linuxppc-dev+owner@lists.ozlabs.org>","List-Post":"<mailto:linuxppc-dev@lists.ozlabs.org>","List-Archive":"<https://lore.kernel.org/linuxppc-dev/>,\n  <https://lists.ozlabs.org/pipermail/linuxppc-dev/>","List-Subscribe":"<mailto:linuxppc-dev+subscribe@lists.ozlabs.org>,\n  <mailto:linuxppc-dev+subscribe-digest@lists.ozlabs.org>,\n  <mailto:linuxppc-dev+subscribe-nomail@lists.ozlabs.org>","List-Unsubscribe":"<mailto:linuxppc-dev+unsubscribe@lists.ozlabs.org>","Precedence":"list","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","X-TM-AS-GCONF":"00","X-Proofpoint-Reinject":"loops=2 maxloops=12","X-Proofpoint-ORIG-GUID":"JjcOzpQw7GYec8_6uW_jwYi9_NycNbR0","X-Authority-Analysis":"v=2.4 cv=Ft81OWrq c=1 sm=1 tr=0 ts=69f0b10c cx=c_pps\n a=aDMHemPKRhS1OARIsFnwRA==:117 a=aDMHemPKRhS1OARIsFnwRA==:17\n a=A5OVakUREuEA:10 a=VkNPw1HP01LnGYTKEx00:22 a=RnoormkPH1_aCDwRdu11:22\n a=iQ6ETzBq9ecOQQE5vZCe:22 a=VnNF1IyMAAAA:8 a=aqhxxquPscKkPkbc_e4A:9","X-Proofpoint-GUID":"FrrUsR-Y5D1ACdhaXo4TKElw8BYYDCfS","X-Proofpoint-Spam-Details-Enc":"AW1haW4tMjYwNDI4MDExOCBTYWx0ZWRfX7OK290+s3wjC\n /SqUA9UQrQBSHlgoA9YPqHao6cr4pApyoMNAVueAIhN4ahzVwQl7/I4KqKNAX3f6FHSMP0KGPm/\n yfljAZc+mF3nqWZKJ+pQa2seuXGJvrzdtDmg18hSUUOvJejhM+9CMJja05rRfL2wBiHxP7vIag5\n /p6LcOKsrZgoo237AXvlR8QuVZawbei4FYPzCkRXvrw3K6MkkrRwY2ayl3Ks4C3POdMweEb8uSU\n cxOlkjaHnMjr91umKBtUNEtm5Y01K+PkJyeVNggGUFI4eNSBSGJpVImzZAE9BeVKFfRh8WRVj/r\n +XgJW/xfpszhSqaP0kCH8GPD1ARnFXMDQy91kmjQBhPR3n+p5D7Vc64NRahtRUvYPDdkRJgE9JI\n vATpHeF+VEryxW8IMX+Vi84pn1HTCZucCxuw2S6q9CI6dNNy+bFZ85EC8gqkqEpK+Y7AGl5CAoC\n c6sw1m/im8sJUCy3+mA==","X-Proofpoint-Virus-Version":"vendor=baseguard\n engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49\n definitions=2026-04-28_04,2026-04-28_01,2025-10-01_01","X-Proofpoint-Spam-Details":"rule=outbound_notspam policy=outbound score=0\n priorityscore=1501 lowpriorityscore=0 bulkscore=0 spamscore=0 impostorscore=0\n clxscore=1011 malwarescore=0 phishscore=0 suspectscore=0 adultscore=0\n classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0\n reason=mlx scancount=1 engine=8.22.0-2604200000 definitions=main-2604280118","X-Spam-Status":"No,\n score=0.4 required=3.0 tests=DATE_IN_PAST_03_06,DKIM_SIGNED,\n\tDKIM_VALID,RCVD_IN_DNSWL_LOW,RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,\n\tSPF_HELO_NONE,SPF_PASS autolearn=disabled version=4.0.1 OzLabs 8","X-Spam-Checker-Version":"SpamAssassin 4.0.1 (2024-03-25) on lists.ozlabs.org"},"content":"On pseries platforms, binding Broadcom PCIe NIC devices to the vfio-pci\ndriver frequently triggers an unintended EEH (Extended Error Handling)\nisolation event.\n\nThis occurs because the device firmware violates PCIe specification\nrecovery timings when transitioning from the D3hot to D0 power state\nduring the binding process. The strict pseries PHB catches the\nresulting Unsupported Request during the subsequent configuration\nspace read, assuming a device failure.\n\nAdd a pseries-specific PCI fixup quirk for Broadcom devices to\nexplicitly extend the `d3hot_delay` to 200ms. This forces the PCI\ncore to sleep long enough for the firmware to safely complete the\nD0 transition before attempting config reads, ensuring a clean VFIO\npassthrough initialization.\n\nSigned-off-by: Narayana Murty N <nnmlinux@linux.ibm.com>\n---\n arch/powerpc/platforms/pseries/pci.c | 21 +++++++++++++++++++++\n 1 file changed, 21 insertions(+)","diff":"diff --git a/arch/powerpc/platforms/pseries/pci.c b/arch/powerpc/platforms/pseries/pci.c\nindex 84e4ffe957a8..5f3cf9a7bdd3 100644\n--- a/arch/powerpc/platforms/pseries/pci.c\n+++ b/arch/powerpc/platforms/pseries/pci.c\n@@ -291,3 +291,24 @@ int pseries_root_bridge_prepare(struct pci_host_bridge *bridge)\n \tbus->cur_bus_speed = prop_to_pci_speed(pcie_link_speed_stats[1]);\n \treturn 0;\n }\n+\n+/*\n+ * Workaround for sluggish PCIe device firmware.\n+ *\n+ * The device violates the PCIe spec recovery timing when transitioning\n+ * from D3hot to D0. On standard architectures this is often ignored, but\n+ * the strict PowerPC pseries PHB catches the Unsupported Request during\n+ * the subsequent config read and triggers an EEH.\n+ *\n+ * We inject a longer delay to ensure the device is ready before the PCI\n+ * core attempts to access configuration space.\n+ */\n+static void quirk_pseries_d0_wake_delay(struct pci_dev *dev)\n+{\n+\tdev->d3hot_delay = 200;\n+\tpci_info(dev, \"pseries  Quirk:D3hot->D0 delay %d ms to prevent EEH\\n\",\n+\t\t dev->d3hot_delay);\n+}\n+/* Blanket application to ALL Broadcom PCI devices */\n+DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_BROADCOM,\n+\t\t\tPCI_ANY_ID, quirk_pseries_d0_wake_delay);\n","prefixes":["1/1"]}