From nobody Thu Apr 9 05:47:45 2026 Received: from mail-pl1-f175.google.com (mail-pl1-f175.google.com [209.85.214.175]) (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 C9DAF3B5305 for ; Wed, 11 Mar 2026 07:52:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.175 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773215581; cv=none; b=XsctGa+g3RLbsn3MS2O3b3i7YoMG5ZuOAzu8nMgoNja9l0qjUQxdUNLvLRSI5R7GrQ7OQhLU5xvzV19SVC0q4kjic7xp59BvWER/5mb55apdpP3S34r73g0PaKeUWXW2q2l9SYafcEoNeGXCWqW9PsXtpkJlNxP8HM2T5+f2qpk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773215581; c=relaxed/simple; bh=bl/12JkQlT9A4nnYO9kT7mEnId3zinKyckVn0+i+E0s=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=qdBUtw7rzlxBQXp07ZMYvu/F7J6dhdSmPsntDPVBDM3R7qVutmOm11wP0z30Jqu/Ye9T4rdqxQE0b8K1d3uOWHtmKoqIY3xHMugvP0xpfI2Uypm6umwVU51VSGK3HmhiZ78xTUVBVYIZrrnD9Z0sCHcOsSY+11B7EaOtqJRd3Rs= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=chromium.org; spf=pass smtp.mailfrom=chromium.org; dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b=cJpKLN1h; arc=none smtp.client-ip=209.85.214.175 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=chromium.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=chromium.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b="cJpKLN1h" Received: by mail-pl1-f175.google.com with SMTP id d9443c01a7336-2ae4d48dc2fso46613025ad.3 for ; Wed, 11 Mar 2026 00:52:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1773215578; x=1773820378; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=4MochbUCbZ+H/kxuMI2SH03ESgJqy+nQAwtcP82AWQU=; b=cJpKLN1hSnj3ttMLmO8ILmSxV75l3vn45JTECSe5B0PKPzKQOOgdQ3OnhgCkNDrf1k tGiBpzraYOibUCZARBNJ1L/J0Wi86tnRk10163Nsb5O9TYSOqDsrAqBVa+i0XdfOFp42 RrE16S0cSAMmznx0hR5zygimT+dotrQRxhxe8= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1773215578; x=1773820378; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=4MochbUCbZ+H/kxuMI2SH03ESgJqy+nQAwtcP82AWQU=; b=qqXU12XRS36kMxZCovc+VkJyQiZv9jtGxlPe1ZZNmkat/GUjuH/ZTFd3VNYUGofQn0 POhzpHc3ZCO7zGOgqRwmrvz5sMOChwFgAzRDcrMIAZdvULxUd8oblsPiFZv53Jfn2Px/ gHcrqQJrUGOjY2Krn5CwNHbzP4o6G/6vAn+juPFPmWBzwSloX4LABXpBs8P5bMkpW3aq DorBFL2GfZv4F6gSyS0nqnZQktGfbQQoR66pbA28Z5iyyF40XQ+8ace59g12myWzBflX BlIBKBFjbye8LV4q0QIsMrh2ittDb6JAvfPYETbxr5r/W8oU8ln0gVeYuE2ngeoBEalw yddg== X-Forwarded-Encrypted: i=1; AJvYcCVJHueJuUenWGE1rXKlleMIGBzhuasZYZQipXPYebYGzOlzR1mqq2iuf754uhXDYWmdZHkh3xcVwtfybBs=@vger.kernel.org X-Gm-Message-State: AOJu0YzAroYHQVtP7tscbEr2MkUA0SzefgklQOHX1TF6bNCpecjwIyf2 s8vAqc5LK7dwLQ4YGO5T5tMa2aN0caoivcIe6f8/rjFyU6hyXw+v5PLNuXZ5FAdrBw== X-Gm-Gg: ATEYQzx3HCztCmJQSXIdJ6uXzRlvN5lFlpV9rzj6Ws2xuUqjI/NURU+ZqLvJGYz0MVV jRkGXVvXifQ4W052p7jA9OFBygV7hrzUiilCV5a0KqpPlKj4Aj8tleaXnAcfPIbiFLhTpXd6AXF iOJSsB2SYI4ctUc6AFcToDcuzDL5C0RWE11a28tOtoExeTi9UT5DnlWnwEyI6B1Z98fWQ2jw+J0 e+m0buDUS9BpuC/A3sRLH+4sZFsQixHTZ9yQP+OxtIZ1arQj3tmyslx6YU0pOqJJHFJmfx26aw8 sboXLOh+/XFvOdigx15M1splhap3Hl+4NMb1wW0/xgRtYcZPSQXmppkNpiDEvL0IgCdOMYP4rkw kEZatbpZlTlLFlllpRwbXMXwx9y1pimj3mFF7kkzeI2arTZj64PHxQ5cBrZYGPzDtEc46HqKZ+2 oHXqU1IcaJA4Tb1kmtLXxs6+nmshqIFk5O1jJ9wS1s9IBFSDW+Alp71M6abZ1TmooKXFhlQ54NY Q5Ppps4 X-Received: by 2002:a17:90b:3dc7:b0:359:15c8:e8e1 with SMTP id 98e67ed59e1d1-35a0132b646mr1645675a91.25.1773215577983; Wed, 11 Mar 2026 00:52:57 -0700 (PDT) Received: from wenstp920.tpe.corp.google.com ([2a00:79e0:201d:8:805b:14e9:f783:bcae]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-35a0236f79asm727816a91.6.2026.03.11.00.52.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 11 Mar 2026 00:52:57 -0700 (PDT) From: Chen-Yu Tsai To: Matthias Brugger , AngeloGioacchino Del Regno , Ryder Lee , Lorenzo Pieralisi , =?UTF-8?q?Krzysztof=20Wilczy=C5=84ski?= , Manivannan Sadhasivam , Rob Herring , Bjorn Helgaas Cc: Chen-Yu Tsai , Bartosz Golaszewski , linux-pci@vger.kernel.org, linux-mediatek@lists.infradead.org, linux-kernel@vger.kernel.org, Bartosz Golaszewski Subject: [PATCH v5 6/7] PCI: mediatek-gen3: Disable device if further setup fails Date: Wed, 11 Mar 2026 15:52:21 +0800 Message-ID: <20260311075223.3303497-7-wenst@chromium.org> X-Mailer: git-send-email 2.53.0.473.g4a7958ca14-goog In-Reply-To: <20260311075223.3303497-1-wenst@chromium.org> References: <20260311075223.3303497-1-wenst@chromium.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" If further setup fails after the device is powered on and link training succeeds, we want to place the device back in a quiescence state to avoid unintended activity and save power. This also helps with power state tracking and balancing once pwrctrl API is integrated. Power down the device in the error paths of mtk_pcie_startup_port() and mtk_pcie_probe(). Reviewed-by: AngeloGioacchino Del Regno Reviewed-by: Bartosz Golaszewski Reviewed-by: Manivannan Sadhasivam Signed-off-by: Chen-Yu Tsai --- Changes since v4: - Adapted to mtk_pcie_devices_power_down() name change Changes since v3: - Adapted to movement of existing setup code - Cleanup in mtk_pcie_setup() moved to mtk_pcie_probe() --- drivers/pci/controller/pcie-mediatek-gen3.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/drivers/pci/controller/pcie-mediatek-gen3.c b/drivers/pci/cont= roller/pcie-mediatek-gen3.c index 526db8815401..208866d33c77 100644 --- a/drivers/pci/controller/pcie-mediatek-gen3.c +++ b/drivers/pci/controller/pcie-mediatek-gen3.c @@ -556,10 +556,14 @@ static int mtk_pcie_startup_port(struct mtk_gen3_pcie= *pcie) dev_err(pcie->dev, "PCIe link down, current LTSSM state: %s (%#x)\n", ltssm_state, val); - return err; + goto err_power_down_device; } =20 return 0; + +err_power_down_device: + mtk_pcie_devices_power_down(pcie); + return err; } =20 #define MTK_MSI_FLAGS_REQUIRED (MSI_FLAG_USE_DEF_DOM_OPS | \ @@ -1219,6 +1223,7 @@ static int mtk_pcie_probe(struct platform_device *pde= v) return 0; =20 err_power_down_pcie: + mtk_pcie_devices_power_down(pcie); mtk_pcie_power_down(pcie); err_tear_down_irq: mtk_pcie_irq_teardown(pcie); --=20 2.53.0.473.g4a7958ca14-goog