{"id":2221038,"url":"http://patchwork.ozlabs.org/api/1.1/covers/2221038/?format=json","web_url":"http://patchwork.ozlabs.org/project/linux-pci/cover/20260409-ls7a-bridge-fixes-v1-0-3650fedf1afc@rong.moe/","project":{"id":28,"url":"http://patchwork.ozlabs.org/api/1.1/projects/28/?format=json","name":"Linux PCI development","link_name":"linux-pci","list_id":"linux-pci.vger.kernel.org","list_email":"linux-pci@vger.kernel.org","web_url":null,"scm_url":null,"webscm_url":null},"msgid":"<20260409-ls7a-bridge-fixes-v1-0-3650fedf1afc@rong.moe>","date":"2026-04-08T17:56:56","name":"[0/2] PCI: loongson: Do not ignore downstream devices on external bridges","submitter":{"id":87882,"url":"http://patchwork.ozlabs.org/api/1.1/people/87882/?format=json","name":"Rong Zhang","email":"i@rong.moe"},"mbox":"http://patchwork.ozlabs.org/project/linux-pci/cover/20260409-ls7a-bridge-fixes-v1-0-3650fedf1afc@rong.moe/mbox/","series":[{"id":499173,"url":"http://patchwork.ozlabs.org/api/1.1/series/499173/?format=json","web_url":"http://patchwork.ozlabs.org/project/linux-pci/list/?series=499173","date":"2026-04-08T17:56:57","name":"PCI: loongson: Do not ignore downstream devices on external bridges","version":1,"mbox":"http://patchwork.ozlabs.org/series/499173/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/covers/2221038/comments/","headers":{"Return-Path":"\n <linux-pci+bounces-52168-incoming=patchwork.ozlabs.org@vger.kernel.org>","X-Original-To":["incoming@patchwork.ozlabs.org","linux-pci@vger.kernel.org"],"Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=rong.moe header.i=i@rong.moe header.a=rsa-sha256\n header.s=zmail2048 header.b=GjPFp+7z;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=2600:3c04:e001:36c::12fc:5321; helo=tor.lore.kernel.org;\n envelope-from=linux-pci+bounces-52168-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)","smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=rong.moe header.i=i@rong.moe\n header.b=\"GjPFp+7z\"","smtp.subspace.kernel.org;\n arc=pass smtp.client-ip=136.143.188.15","smtp.subspace.kernel.org;\n dmarc=pass (p=none dis=none) header.from=rong.moe","smtp.subspace.kernel.org;\n spf=pass smtp.mailfrom=rong.moe"],"Received":["from tor.lore.kernel.org (tor.lore.kernel.org\n [IPv6:2600:3c04:e001:36c::12fc:5321])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4frW4j5W2Wz1yD6\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 09 Apr 2026 03:57:57 +1000 (AEST)","from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby tor.lore.kernel.org (Postfix) with ESMTP id 57D5A30104A4\n\tfor <incoming@patchwork.ozlabs.org>; Wed,  8 Apr 2026 17:57:47 +0000 (UTC)","from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 14BD53D902C;\n\tWed,  8 Apr 2026 17:57:47 +0000 (UTC)","from sender4-op-o15.zoho.com (sender4-op-o15.zoho.com\n [136.143.188.15])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id 099343D9027;\n\tWed,  8 Apr 2026 17:57:44 +0000 (UTC)","by mx.zohomail.com with SMTPS id 1775671038793514.9253555983514;\n\tWed, 8 Apr 2026 10:57:18 -0700 (PDT)"],"ARC-Seal":["i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1775671067; cv=pass;\n b=C4lGVo80r+TiCj5D8jC+CNfXhwGivwRDi3zjitXtmnDim/QXq7jow7nVMTNU439hiXZtAWWrM8oAu06lxWvqfwosnCYrihyCa4ZA5IKZyecA+vo1xgXwG3JaQ34GFPzEu10+8Y9YGLA1mgq4xi/0l3edjzspUaklQ1QOUeNhceo=","i=1; a=rsa-sha256; t=1775671041; cv=none;\n\td=zohomail.com; s=zohoarc;\n\tb=exeaXtbr2Hw43s8iGcGd8frkjNj4yj5XJuuj0IkGZSXOuGB7zvyPAIBatElcaelomnOTgZRBvRUhmzfybOfRJKhyzfL+YiS/Bl/WD60IKSLRcNr4vUyqAtjLjdmj4bTZlmLOFHTuI9eR/H/TBznxvtHKOfJI1dabfWuL+5/JgkE="],"ARC-Message-Signature":["i=2; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1775671067; c=relaxed/simple;\n\tbh=Y6T0jbAcKzSvw6cN8qw0CztXkKVreZpkXHAOkeyyZWI=;\n\th=From:Subject:Date:Message-Id:MIME-Version:Content-Type:To:Cc;\n b=K7BC30Fsx7LqvB1IMIwn+yNogb2hcBO2OzGUYxu6O1beeGPSyA1gjQ7IdNC/Xzilm+UGH2r6VDcbTPY2TcIjUzR4m/YEXEoUfhNfkKtFueGcG5JaadCUf3Q90YjzxWLzfsWstR678ErLht2/dFB2xDxr9CtMEPX/BlDTfOyvqJs=","i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com;\n s=zohoarc;\n\tt=1775671041;\n h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:MIME-Version:Message-ID:Subject:Subject:To:To:Message-Id:Reply-To;\n\tbh=p4pF/F9iArMybAchaDSsfxBcz1TRYzAHsA/fPnJEh7Q=;\n\tb=d12wKUnwCGdTCK/7902RZ6G3Dup4QMXi8XbZDvuAuN2URcoxDqVHYMs6r8I9JAUq0LwKc7Wn4KoQi+AUL5nGYR2slrXzmytiGqBRg8Yu8r3qkcjDPLnbuAlIQVty9cZE6/po5yrGMDEuZ+dX1rYC8XjSosnpIWeupMf35/n50WU="],"ARC-Authentication-Results":["i=2; smtp.subspace.kernel.org;\n dmarc=pass (p=none dis=none) header.from=rong.moe;\n spf=pass smtp.mailfrom=rong.moe;\n dkim=pass (2048-bit key) header.d=rong.moe header.i=i@rong.moe\n header.b=GjPFp+7z; arc=pass smtp.client-ip=136.143.188.15","i=1; mx.zohomail.com;\n\tdkim=pass  header.i=rong.moe;\n\tspf=pass  smtp.mailfrom=i@rong.moe;\n\tdmarc=pass header.from=<i@rong.moe>"],"DKIM-Signature":"v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1775671041;\n\ts=zmail2048; d=rong.moe; i=i@rong.moe;\n\th=From:From:Subject:Subject:Date:Date:Message-Id:Message-Id:MIME-Version:Content-Type:Content-Transfer-Encoding:To:To:Cc:Cc:Reply-To;\n\tbh=p4pF/F9iArMybAchaDSsfxBcz1TRYzAHsA/fPnJEh7Q=;\n\tb=GjPFp+7zMBflyY0tAme4KCFoFIJ3+aQ5+f9umJ7zDW5OkOTwjU0yTRIO7dh20y3I\n\tKXgaoUZcWfNt2PhezJ5Aa4t6Ke+ewQUTDw67D5hx3xx0/3mjorD09BiS4YDIFB4A6Hx\n\tNVMquKKxiveILly4aK4f3m6WhiGu9WUtAXBM0YRKsqH6ksfUYJKujsD12l0DGVe6+Wl\n\tF8TwGA30YqMjmazWPwwEBKstrap6GTyfEGsm9iuUQT2qhK3WvI598B3gqn8P1xlbjXF\n\tU5cOOA+HOZk3x6n6ivcWGhQKuTTIve2dYg6RCxNLtul8pPuLZD7X5w0Bpwtj7lQEIOm\n\tmQhE95Butw==","From":"Rong Zhang <i@rong.moe>","Subject":"[PATCH 0/2] PCI: loongson: Do not ignore downstream devices on\n external bridges","Date":"Thu, 09 Apr 2026 01:56:56 +0800","Message-Id":"<20260409-ls7a-bridge-fixes-v1-0-3650fedf1afc@rong.moe>","Precedence":"bulk","X-Mailing-List":"linux-pci@vger.kernel.org","List-Id":"<linux-pci.vger.kernel.org>","List-Subscribe":"<mailto:linux-pci+subscribe@vger.kernel.org>","List-Unsubscribe":"<mailto:linux-pci+unsubscribe@vger.kernel.org>","MIME-Version":"1.0","Content-Type":"text/plain; charset=\"utf-8\"","Content-Transfer-Encoding":"7bit","X-B4-Tracking":"v=1; b=H4sIAOiW1mkC/yWMywrCMBAAf6XsuYEY0pj6K8VDHquulCjZKkLIv\n 3fV4zDMNGCshAynoUHFNzE9isBhHCDdQrmioiwMRhunrfZq5WNQsVIWdaEPsvJhjpMNLjqTQLp\n nxZ+QbDn/mV/xjmn7jqD3HWQdQph1AAAA","X-Change-ID":"20260408-ls7a-bridge-fixes-8a9b54a6b62c","To":"Lorenzo Pieralisi <lpieralisi@kernel.org>, =?utf-8?q?Krzysztof_Wilczy?=\n\t=?utf-8?q?=C5=84ski?= <kwilczynski@kernel.org>,\n  Manivannan Sadhasivam <mani@kernel.org>, Rob Herring <robh@kernel.org>,\n  Bjorn Helgaas <bhelgaas@google.com>, Huacai Chen <chenhuacai@kernel.org>","Cc":"linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org,\n Jiaxun Yang <jiaxun.yang@flygoat.com>,\n \"Lain \\\"Fearyncess\\\" Yang\" <i@lain.vg>, Rong Zhang <i@rong.moe>","X-Mailer":"b4 0.16-dev-7777e","X-ZohoMailClient":"External"},"content":"Loongson PCI host controllers have a hardware quirk that requires\nsoftware to ignore downstream devices with device number > 0 on the\ninternal bridges. The current implementation applies the workaround to\nall non-root buses, which breaks external bridges (e.g., PCIe switches)\nwith multiple downstream devices.\n\nFix it by only applying the workaround to internal bridges.\n\nTested on Loongson-LS3A4000-7A1000-NUC-SE, using AMD Promontory 21\nchipset add-in card [1].\n\n  $ lspci -tnnnvvv\n  -[0000:00]-+-00.0  Loongson Technology LLC 7A1000 Chipset Hyper Transport Bridge Controller [0014:7a00]\n             +-00.1  Loongson Technology LLC 7A2000 Chipset Hyper Transport Bridge Controller [0014:7a10]\n             +-03.0  Loongson Technology LLC 2K1000/2000 / 7A1000 Chipset Gigabit Ethernet Controller [0014:7a03]\n             +-04.0  Loongson Technology LLC 2K1000 / 7A1000/2000 Chipset USB OHCI Controller [0014:7a24]\n             +-04.1  Loongson Technology LLC 2K1000 / 7A1000/2000 Chipset USB EHCI Controller [0014:7a14]\n             +-05.0  Loongson Technology LLC 2K1000 / 7A1000/2000 Chipset USB OHCI Controller [0014:7a24]\n             +-05.1  Loongson Technology LLC 2K1000 / 7A1000/2000 Chipset USB EHCI Controller [0014:7a14]\n             +-06.0  Loongson Technology LLC 7A1000 Chipset Vivante GC1000 GPU [0014:7a15]\n             +-06.1  Loongson Technology LLC 2K1000 / 7A1000 Chipset Display Controller [0014:7a06]\n             +-07.0  Loongson Technology LLC 2K1000/2000/3000 / 3B6000M / 7A1000/2000 Chipset HD Audio Controller [0014:7a07]\n             +-08.0  Loongson Technology LLC 2K1000 / 7A1000 Chipset 3Gb/s SATA AHCI Controller [0014:7a08]\n             +-08.1  Loongson Technology LLC 2K1000 / 7A1000 Chipset 3Gb/s SATA AHCI Controller [0014:7a08]\n             +-08.2  Loongson Technology LLC 2K1000 / 7A1000 Chipset 3Gb/s SATA AHCI Controller [0014:7a08]\n             +-09.0-[01]----00.0  Qualcomm Technologies, Inc QCNFA765 Wireless Network Adapter [17cb:1103]\n             +-0a.0-[02]----00.0  Etron Technology, Inc. EJ188/EJ198 USB 3.0 Host Controller [1b6f:7052]\n             +-0f.0-[03-08]----00.0-[04-08]--+-00.0-[05]----00.0  Shenzhen Longsys Electronics Co., Ltd. FORESEE XP1000 / Lexar Professional CFexpress Type B Gold series, NM620 PCIe NVME SSD (DRAM-less) [1d97:5216]\n             |                               +-08.0-[06]----00.0  MAXIO Technology (Hangzhou) Ltd. NVMe SSD Controller MAP1202 (DRAM-less) [1e4b:1202]\n             |                               +-0c.0-[07]----00.0  Advanced Micro Devices, Inc. [AMD] 600 Series Chipset USB 3.2 Controller [1022:43f7]\n             |                               \\-0d.0-[08]----00.0  Advanced Micro Devices, Inc. [AMD] 600 Series Chipset SATA Controller [1022:43f6]\n             \\-16.0  Loongson Technology LLC 7A1000 Chipset SPI Controller [0014:7a0b]\n\nFixes: 2410e3301fcc (\"PCI: loongson: Don't access non-existent devices\")\nLink: https://oshwhub.com/wesd/b650 [1]\nCo-developed-by: Jiaxun Yang <jiaxun.yang@flygoat.com>\nSigned-off-by: Jiaxun Yang <jiaxun.yang@flygoat.com>\nCo-developed-by: Lain \"Fearyncess\" Yang <i@lain.vg>\nSigned-off-by: Lain \"Fearyncess\" Yang <i@lain.vg>\nSigned-off-by: Rong Zhang <i@rong.moe>\n---\nRong Zhang (2):\n      PCI: loongson: Move bridge device ids to file scope\n      PCI: loongson: Do not ignore downstream devices on external bridges\n\n drivers/pci/controller/pci-loongson.c | 31 ++++++++++++++++---------------\n 1 file changed, 16 insertions(+), 15 deletions(-)\n---\nbase-commit: 3036cd0d3328220a1858b1ab390be8b562774e8a\nchange-id: 20260408-ls7a-bridge-fixes-8a9b54a6b62c\n\nThanks,\nRong"}