From patchwork Wed Feb 5 19:12:01 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jim Quinlan X-Patchwork-Id: 13961796 X-Patchwork-Delegate: kw@linux.com 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 184A4213E61 for ; Wed, 5 Feb 2025 19:12:57 +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=1738782779; cv=none; b=g8/Rc6rY5B8BhzxdD7k9hTySp+6n68sRlkIemHTLJcNnOdNZNsfGCMR5rTMcpXPWdhQ90dNyrBZywCYu/cy+yHXvcANxJO8ANSAQhQRwIZ0nCfxqLgPs99Gb/1whVQrv8VNYmbGlLSKS0lPQgtv69UfNtI1ufs1DaWN7Lz+xwbA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738782779; c=relaxed/simple; bh=emQr1WRfTCyFVdLp/d2GBD9ikd08vqQkCZbU50KHAFI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=gb5PmV7vAD1NQShP3n0hGlCRDKD2Rv8f4svZey2XVr6kNWUx/SiGZMy6m6ojPke2eVrYFLK6kKqd0qhrH6psEurrR6MZhLrd9OfedhJhDSj97J9+hnJNk8K5WsBDcngAotWbO0xytfsTIcO5oaDAM+KmrwgQEnassDLJMN4ZQo0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=broadcom.com; spf=fail smtp.mailfrom=broadcom.com; dkim=pass (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b=HSv45CGI; arc=none smtp.client-ip=209.85.214.175 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=broadcom.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=broadcom.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b="HSv45CGI" Received: by mail-pl1-f175.google.com with SMTP id d9443c01a7336-21f21cc7af5so2365235ad.2 for ; Wed, 05 Feb 2025 11:12:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1738782777; x=1739387577; 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=FyxoQmP+DrPfyNDFU6zDEUm+WeVsHxsrhuRbOaUfCms=; b=HSv45CGI4Ea/sVTKiWPO4a1fFgb16sYlmeXa3im+0zas5xWxvtSsIpSzxB7MBVaf67 LPOSeq14W5qHUVwsa1s9iM4Iin+3NCCmoqr//zfjNLs9tjbZskgxmplAMV/wMKFgRG/7 1CkuMMK+foScvUgPApFlcgGxZ8wRQn82P4+bE= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738782777; x=1739387577; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=FyxoQmP+DrPfyNDFU6zDEUm+WeVsHxsrhuRbOaUfCms=; b=mhpN+mPIpq3ts+e4sLZElGAB7aJRl+TnUyTR6M72hJfx2CfDgeWYJCXLb7yfBFIsgN XdHD3vxDptB30lLF+wmemXSJZPcpGZxPf2f0EuKyDx0XLpBZTL48tUz2DqhRIwh88IVI Hs/X3Mp/hf0EH5hrZVsqDUEgAW0XwMcNjqmbkEWdo4P1h55H/RzeY5SHL9ORWIeVgnGG 5kWIQ9INNDh1f9RTo360qdVEN2rJ1OdK0ighpsw37q5s51dxMA3Gp+7c8uHcT/2aUss3 a6Hxhf+gUNDrWgwKdkRWVwmbOu4n7v3DACb6jG9iSUo2MqZ/txyz3rn6CWwK9kPFdgD6 5KOQ== X-Gm-Message-State: AOJu0YyfVknwRgK2ldtc9HMZiWcBeBt/FWm1WhcDvKm5JxJjQDrkNHy4 AVptSD5FOq1qwsG8fY5RxPKI27ueptDMTpX9xX7pSfRNopvlWuu4WndghcSHACIgilUNHxPfXe7 YPWaC86oU3HWLqi2XZHEhlimUYhHuL20NVoj6UtLxdxbtjhp6bD3EjCADAPuPywE3EEEuS6DA7c 8/GKhxBNZa+4KDgOeBVQ+a4RctIIpceVx72Timp+URwaIDFC84 X-Gm-Gg: ASbGncvXKE2ctawN9ETr4nUptmFWjiGu/mkWJVsy5HOcKGDcilCMX90ouYVHYZFTU3W 7k+NwYmlto1/hY/KcR8LavppvPFls4Q6OgC8bEsCdpS22f/3cg/KNwCobk8GNBm+x4usCeVKIno 9tOR+F+dR2nF+16RYayfhMh1aUtNlsaXDsAViZv5/rZHLJOHAyn+cX+t3LFecCkDgtWVWEFuUm9 bVcpeKAfSyeRnBnbk0mgbArBNT9RTA8kygs9p9tEmPEyGlKGPL7FsOw8OCRVWdZvPjTWjtTY44c CIDhDQ/LJw0NR2rk87qSjZouwXCpzRd5rqMIXh+Ta3G7xOODXmZMHplWCUzL+vWYluQ2wmQ= X-Google-Smtp-Source: AGHT+IGu6hun4FwjJUr/ASi5VtU1r7KzOWGkU1swFqWYgTtfTk7Rzk7GNGUnU+ZBJXjxJW+oGt6ZSw== X-Received: by 2002:a05:6a00:3002:b0:725:b201:2362 with SMTP id d2e1a72fcca58-7303511e562mr5701360b3a.11.1738782746930; Wed, 05 Feb 2025 11:12:26 -0800 (PST) Received: from stbsrv-and-02.and.broadcom.net ([192.19.144.250]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-72fe69ceb1csm12670842b3a.151.2025.02.05.11.12.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 05 Feb 2025 11:12:26 -0800 (PST) From: Jim Quinlan To: linux-pci@vger.kernel.org, Nicolas Saenz Julienne , Bjorn Helgaas , Lorenzo Pieralisi , Cyril Brulebois , Stanimir Varbanov , bcm-kernel-feedback-list@broadcom.com, jim2101024@gmail.com, james.quinlan@broadcom.com Cc: Florian Fainelli , Lorenzo Pieralisi , =?utf-8?q?Krzysztof_Wilczy=C5=84?= =?utf-8?q?ski?= , Manivannan Sadhasivam , Rob Herring , linux-rpi-kernel@lists.infradead.org (moderated list:BROADCOM BCM2711/BCM2835 ARM ARCHITECTURE), linux-arm-kernel@lists.infradead.org (moderated list:BROADCOM BCM2711/BCM2835 ARM ARCHITECTURE), linux-kernel@vger.kernel.org (open list) Subject: [PATCH v1 1/6] PCI: brcmstb: Refactor max speed limit functionality Date: Wed, 5 Feb 2025 14:12:01 -0500 Message-ID: <20250205191213.29202-2-james.quinlan@broadcom.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250205191213.29202-1-james.quinlan@broadcom.com> References: <20250205191213.29202-1-james.quinlan@broadcom.com> Precedence: bulk X-Mailing-List: linux-pci@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Make changes to the code that limits the PCIe max speed. (1) Do the changes before link-up, not after. We do not want to temporarily rise to a higher speed than desired. (2) Use constants from pci_reg.h when possible (3) Use uXX_replace_bits(...) for setting a register field. (4) Use the internal link capabilities register for writing the max speed, not the official config space register where the speed field is RO. Updating this field is not necessary to limit the speed so this mistake was harmless. Signed-off-by: Jim Quinlan --- drivers/pci/controller/pcie-brcmstb.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/drivers/pci/controller/pcie-brcmstb.c b/drivers/pci/controller/pcie-brcmstb.c index 546056f7f0d3..f8fc3d620ee2 100644 --- a/drivers/pci/controller/pcie-brcmstb.c +++ b/drivers/pci/controller/pcie-brcmstb.c @@ -47,6 +47,7 @@ #define PCIE_RC_CFG_PRIV1_LINK_CAPABILITY 0x04dc #define PCIE_RC_CFG_PRIV1_LINK_CAPABILITY_ASPM_SUPPORT_MASK 0xc00 +#define PCIE_RC_CFG_PRIV1_LINK_CAPABILITY_MAX_LINK_SPEED_MASK 0xf #define PCIE_RC_CFG_PRIV1_ROOT_CAP 0x4f8 #define PCIE_RC_CFG_PRIV1_ROOT_CAP_L1SS_MODE_MASK 0xf8 @@ -413,12 +414,12 @@ static int brcm_pcie_set_ssc(struct brcm_pcie *pcie) static void brcm_pcie_set_gen(struct brcm_pcie *pcie, int gen) { u16 lnkctl2 = readw(pcie->base + BRCM_PCIE_CAP_REGS + PCI_EXP_LNKCTL2); - u32 lnkcap = readl(pcie->base + BRCM_PCIE_CAP_REGS + PCI_EXP_LNKCAP); + u32 lnkcap = readl(pcie->base + PCIE_RC_CFG_PRIV1_LINK_CAPABILITY); - lnkcap = (lnkcap & ~PCI_EXP_LNKCAP_SLS) | gen; - writel(lnkcap, pcie->base + BRCM_PCIE_CAP_REGS + PCI_EXP_LNKCAP); + u32p_replace_bits(&lnkcap, gen, PCIE_RC_CFG_PRIV1_LINK_CAPABILITY_MAX_LINK_SPEED_MASK); + writel(lnkcap, pcie->base + PCIE_RC_CFG_PRIV1_LINK_CAPABILITY); - lnkctl2 = (lnkctl2 & ~0xf) | gen; + u16p_replace_bits(&lnkctl2, gen, PCI_EXP_LNKCTL2_TLS); writew(lnkctl2, pcie->base + BRCM_PCIE_CAP_REGS + PCI_EXP_LNKCTL2); } @@ -1324,6 +1325,10 @@ static int brcm_pcie_start_link(struct brcm_pcie *pcie) bool ssc_good = false; int ret, i; + /* Limit the generation if specified */ + if (pcie->gen) + brcm_pcie_set_gen(pcie, pcie->gen); + /* Unassert the fundamental reset */ ret = pcie->cfg->perst_set(pcie, 0); if (ret) @@ -1350,9 +1355,6 @@ static int brcm_pcie_start_link(struct brcm_pcie *pcie) brcm_config_clkreq(pcie); - if (pcie->gen) - brcm_pcie_set_gen(pcie, pcie->gen); - if (pcie->ssc) { ret = brcm_pcie_set_ssc(pcie); if (ret == 0) From patchwork Wed Feb 5 19:12:02 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jim Quinlan X-Patchwork-Id: 13961791 X-Patchwork-Delegate: kw@linux.com Received: from mail-pl1-f179.google.com (mail-pl1-f179.google.com [209.85.214.179]) (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 7642B1FFC46 for ; Wed, 5 Feb 2025 19:12:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.179 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738782752; cv=none; b=lU7GiZ46QHFuEjl+FcuCAdg9MyogZUv/CvAIB3gtdTk67B/ZlV5H3EFv8wDN22t1yv+PaUVdL0qLr5YGlT7g/Vu1xl5c/wZb0gDke6unQzs/PQoXaMR7atlIFELpOdKsUpNwgryUvMuqbz1c/AL9FqRfAwmDwd5dSkZq4DQ5N9o= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738782752; c=relaxed/simple; bh=pnzOH1e2axdVqJngQp6tdqFmDskboQFLalroUwFTUdc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Bx1OkPJ6ra6kK+oXIGFdH5VIz5oR06XX4CxPJgD1FPTZyF18gs/JdNoWjsLsz+8x9uOTL/xXoYqnOlCv/F3WBEXOC73EAgOQp/MaFXPe0EENaPxEsjDkVHXOW+SHXTNaeQI6H4KZJBcH2BnvSBW1cDa1dPgR9oe1tqw4uNFhA2U= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=broadcom.com; spf=fail smtp.mailfrom=broadcom.com; dkim=pass (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b=G34l7Riw; arc=none smtp.client-ip=209.85.214.179 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=broadcom.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=broadcom.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b="G34l7Riw" Received: by mail-pl1-f179.google.com with SMTP id d9443c01a7336-216728b1836so3469675ad.0 for ; Wed, 05 Feb 2025 11:12:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1738782750; x=1739387550; 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=rshGoTVKNv7yJ8UG0ncdA2L3Ez+eMRudoZQa+hQwzgo=; b=G34l7Riw5CEHbbRxZts1CYc48HpXGjRfgWl5FQoMWp8Oo28jSTwQRwdu3DvfK5RjfP yX58EoHrk8Ndjp+fezovoQh9xvZDb2lqna+hPkT9ECX8e2NDwNXRN0pxx0PFLrkwJ/km Mqq2WEcfwyhhkuuNOMUS769/Nj8gI2tCmzI/4= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738782750; x=1739387550; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=rshGoTVKNv7yJ8UG0ncdA2L3Ez+eMRudoZQa+hQwzgo=; b=kIZUzSjevn650LcnXlZcv6DyMJZQ1yYHqHkSS5pOYXBLgVMtq3KLvBieyFq3VPBf93 9N2Vy3YWuRTtnF7NPuFTHj6uWZn3UrJX/bhYvX/+L6deDUrxiulXxP1XfhY/V6Cn7QJL j0tJfoQigHyQvOwCpXSbCkndzX0mlCXWYalbdi5+WMm5OwLAn62pNMF59QgLG8hyRBRs kcbk4pXVnnC0KurYX+QhROJ45skSnQL/gPsJ2HCpWiplS2mWwzlrGFJKm9rQWVOxmikM 5kVsf1gQ7iwgod7PwMhhxPpylNwwxMC78o642o5LryIivtG9wbLBLIHl8mwDTHAXZrPt tmnQ== X-Gm-Message-State: AOJu0Yz0B9Oivl8UvawZppYs4JVuZ0UOCuZi2TGpAWvSFBR34P29PhWf RNzfCrVXmqaQEczapjT3N2WGVRsV2gOflTmjnmYFZ0ouREXrikBBH/iSRbYlOjnp/lFDTs+iuMG PgNoH/DLU4/5f8rEqGAwMMFFUSAT94Keg8H3M5umPxD+XywvOxwvcBr441NmFatZ4nWR0u9mbVz pbH9cXYVmc7ss7lB5pk0LRfqnRvQxzinVRWflQBT1rTDPs2NfK X-Gm-Gg: ASbGncuqFexCwXWRiidU/KenVY0wT0b24d1ywaNHpBL82JadrIR2CyFNIN2WlWEoqOf Vts2GjpzNQEQiwwWBKwy30joFM7r48ZEZGQE5WWHzWZbT448n7YByQz+zp5dKCJzV9IWTgMaJ2i 1h19fd67LzP12IdAWu5sgey/7ED8/4+3qz9nyKAtHM0jq82TYQ1xNoyiKrruQCW8rjWvKYdI/l3 eJGwvc4DfExAeCQJWNJyV7QjTS6TSSwt+b/cRa2XfFTxFMzdDD3vtj/kDY7SZ3YLuja9DMMeEFd 7SDao5wTtl1cqN3a2FvbBTcOCkqi0UUA1AGyoe6g0ZNpXdtxxjEsI+yg9csInZMTitrzmF0= X-Google-Smtp-Source: AGHT+IEvH1UsOv2Pdep53yziZn/D7SThmLNGW4jFaeetD7lQZsfU1M4mdvMGq8u34jzx7Ya85/+NnQ== X-Received: by 2002:a05:6a20:2d0b:b0:1ea:ddd1:2fa7 with SMTP id adf61e73a8af0-1ede88b9994mr7396175637.28.1738782750080; Wed, 05 Feb 2025 11:12:30 -0800 (PST) Received: from stbsrv-and-02.and.broadcom.net ([192.19.144.250]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-72fe69ceb1csm12670842b3a.151.2025.02.05.11.12.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 05 Feb 2025 11:12:29 -0800 (PST) From: Jim Quinlan To: linux-pci@vger.kernel.org, Nicolas Saenz Julienne , Bjorn Helgaas , Lorenzo Pieralisi , Cyril Brulebois , Stanimir Varbanov , bcm-kernel-feedback-list@broadcom.com, jim2101024@gmail.com, james.quinlan@broadcom.com Cc: Florian Fainelli , Lorenzo Pieralisi , =?utf-8?q?Krzysztof_Wilczy=C5=84?= =?utf-8?q?ski?= , Manivannan Sadhasivam , Rob Herring , linux-rpi-kernel@lists.infradead.org (moderated list:BROADCOM BCM2711/BCM2835 ARM ARCHITECTURE), linux-arm-kernel@lists.infradead.org (moderated list:BROADCOM BCM2711/BCM2835 ARM ARCHITECTURE), linux-kernel@vger.kernel.org (open list) Subject: [PATCH v1 2/6] PCI: brcmstb: Fix error path upon call of regulator_bulk_get() Date: Wed, 5 Feb 2025 14:12:02 -0500 Message-ID: <20250205191213.29202-3-james.quinlan@broadcom.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250205191213.29202-1-james.quinlan@broadcom.com> References: <20250205191213.29202-1-james.quinlan@broadcom.com> Precedence: bulk X-Mailing-List: linux-pci@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 If regulator_bulk_get() returns an error, no regulators are created and we need to set their number to zero. If we do not do this and the PCIe link-up fails, regulator_bulk_free() will be invoked and effect a panic. Also print out the error value, as we cannot return an error upwards as Linux will WARN on an error from add_bus(). Fixes: 9e6be018b263 ("PCI: brcmstb: Enable child bus device regulators from DT") Signed-off-by: Jim Quinlan --- drivers/pci/controller/pcie-brcmstb.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/pci/controller/pcie-brcmstb.c b/drivers/pci/controller/pcie-brcmstb.c index f8fc3d620ee2..bf919467cbcd 100644 --- a/drivers/pci/controller/pcie-brcmstb.c +++ b/drivers/pci/controller/pcie-brcmstb.c @@ -1417,7 +1417,8 @@ static int brcm_pcie_add_bus(struct pci_bus *bus) ret = regulator_bulk_get(dev, sr->num_supplies, sr->supplies); if (ret) { - dev_info(dev, "No regulators for downstream device\n"); + dev_info(dev, "Did not get regulators; err=%d\n", ret); + sr->num_supplies = 0; goto no_regulators; } From patchwork Wed Feb 5 19:12:03 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jim Quinlan X-Patchwork-Id: 13961792 X-Patchwork-Delegate: kw@linux.com Received: from mail-pl1-f173.google.com (mail-pl1-f173.google.com [209.85.214.173]) (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 9B6DC205AB8 for ; Wed, 5 Feb 2025 19:12:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.173 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738782756; cv=none; b=N/oXsk1qclFW5xi6IGSxpzPP6yph0Nh6nn4nL0aeJKEeSPRESJbL4UBPOjRvsmTxycAf2O3POmAUORITqwSTL0jYscDPUtC6LjNPWxWUJTAN1ndhZ8ecv/cfCqES9XF38vtrE0BoOFW70tpMk+PKjhp8pHgJQHb4NoOnen07ArM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738782756; c=relaxed/simple; bh=UOaTvQH694j5NPXqH8YX0yM0fuej0rpwLUTQghdWl0I=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Zcpb4XuJljs1cHcq0SSn86r/vlD1xQCiLQi6rrRQcerF/zZu62GbUrmoWJHyPjOny72i9bpxIFBWyd/lVlKOzLMHgKVBPyIVuUXAxmCgSzS2S1eACD/LNvUcq8Ioxu6OS17/2aCWOArECUj+iteM4GyJFjiL9YO2xv6s+Y/ccLI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=broadcom.com; spf=fail smtp.mailfrom=broadcom.com; dkim=pass (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b=A9GElEUe; arc=none smtp.client-ip=209.85.214.173 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=broadcom.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=broadcom.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b="A9GElEUe" Received: by mail-pl1-f173.google.com with SMTP id d9443c01a7336-219f8263ae0so3891745ad.0 for ; Wed, 05 Feb 2025 11:12:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1738782753; x=1739387553; 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=rl5E0UVjy+KHHY0GruFIRH1nxCM5/nCEesXNNBsIatY=; b=A9GElEUeIbvmJcxzBukyz1jbrl+RbOeLkyl5HcUG284mWMyWpX9mAI4Wh/a2U+PG5e yglnbrryzc/8NupWix+bgE8V1wGSU4eVXw/w3wOi2qx027CpYrUBagMGDz8VX6Q3Y1Y0 kLdS/1tpe86tnsuaAWOdcsuD1yIVrAvGHTxSA= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738782753; x=1739387553; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=rl5E0UVjy+KHHY0GruFIRH1nxCM5/nCEesXNNBsIatY=; b=J4whRpal37Zzmr36tfSqGEl7Y06206BrkumHQ65QxViK3vKKWeBuAA2mr8U/VV2OnX lLkyCP1fvQCrm25g08WsK9rR9WNLOj08N9QfR6Pvn46TOlAGPBcG/MV1UP3So9GykAwx j2fe3iFozCL9jR6RH7JftCHfkkPHKXdoL9+Pqb7ZBVDcEIS9MkyM/HXvQp8DmShBXT0c Dqb8V85swB5aPAguPcN8U5lEzlcNh67jRV0wfQl58GNuC7oJ5xj4lEJQyF0AHBf4azWb QIJbo196l+ff+S53QMOmT21figk9uQDA73bzkYZcH3rADKpT9c403G9WZCNAACVWhFvy aQzA== X-Gm-Message-State: AOJu0Yy6dT+6ruy9Y8Docv0+E4ppgfMlBGoTkGCOa5TEM6eX3TpAvpe3 SPeGWcpeR9ydTzYycGIzuw6nMlHVQBRPJdKWbRaegElihs5kRDpVEMeIpYrYSx204RnP0Tw2xOn LJtlSxcwUz8CtRKkqYUo1UeemKJDTYM0aVyYQPTTg/AfSUjXFPdADGh7CKnj9YFiX+AFy4dKTBm 2J9XdR7JM9b7y/UVF2dFwvrIi3dlM2NvFxiwDKES1Des5/eZca X-Gm-Gg: ASbGncufaH27vHNdcmeYE5go7Ct/iUh9gDBdYkwrc7oUXezhkJNL2jgw9CgQhLG9Tax 3O6c4m0Fse7BuQHTyDdyLFmDvX4GzNzsFIH/kQAzwuNR9Pw/Lb3kkwRzBBzKnO4md6iTyRWBAa+ ycubhI/CRgg38hO1kbwOw8AdaWT9adQkQhLMzDI8evcypKl0JFg+FinW24aRwWgSaRARXuc8oL5 vY4FHjHcgYREl4aWrN0C2/vJLfdoDctDf3Kg3RLgPYaExg9uuh3iqyx86Awd1nbGun9DmJKCEVn uLKpTM86ZwQpPaJqNMyKP9F532MZ5S9TdejlOZw9r17qnuaoiRLDDJYXZZTenaKLxXcZz5g= X-Google-Smtp-Source: AGHT+IGHNDQdUmc+0d+Oa25tolqBbEh64Eprx1WXUEnsJUtgXypSDf+wemV6e9iAiBws6tIO7Kj01Q== X-Received: by 2002:a05:6a00:3cc3:b0:72d:3c4d:c1ea with SMTP id d2e1a72fcca58-730351017f7mr5551115b3a.7.1738782753270; Wed, 05 Feb 2025 11:12:33 -0800 (PST) Received: from stbsrv-and-02.and.broadcom.net ([192.19.144.250]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-72fe69ceb1csm12670842b3a.151.2025.02.05.11.12.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 05 Feb 2025 11:12:32 -0800 (PST) From: Jim Quinlan To: linux-pci@vger.kernel.org, Nicolas Saenz Julienne , Bjorn Helgaas , Lorenzo Pieralisi , Cyril Brulebois , Stanimir Varbanov , bcm-kernel-feedback-list@broadcom.com, jim2101024@gmail.com, james.quinlan@broadcom.com Cc: Florian Fainelli , Lorenzo Pieralisi , =?utf-8?q?Krzysztof_Wilczy=C5=84?= =?utf-8?q?ski?= , Manivannan Sadhasivam , Rob Herring , linux-rpi-kernel@lists.infradead.org (moderated list:BROADCOM BCM2711/BCM2835 ARM ARCHITECTURE), linux-arm-kernel@lists.infradead.org (moderated list:BROADCOM BCM2711/BCM2835 ARM ARCHITECTURE), linux-kernel@vger.kernel.org (open list) Subject: [PATCH v1 3/6] PCI: brcmstb: Fix potential premature regluator disabling Date: Wed, 5 Feb 2025 14:12:03 -0500 Message-ID: <20250205191213.29202-4-james.quinlan@broadcom.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250205191213.29202-1-james.quinlan@broadcom.com> References: <20250205191213.29202-1-james.quinlan@broadcom.com> Precedence: bulk X-Mailing-List: linux-pci@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Our system for enabling and disabling regulators is designed to work only on the port driver below the root complex. The conditions to discriminate for this case should be the same when we are adding or removing the bus. Without this change the regulators may be disabled prematurely when a bus further down the tree is removed. Fixes: 9e6be018b263 ("PCI: brcmstb: Enable child bus device regulators from DT") Signed-off-by: Jim Quinlan --- drivers/pci/controller/pcie-brcmstb.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/pci/controller/pcie-brcmstb.c b/drivers/pci/controller/pcie-brcmstb.c index bf919467cbcd..4f5d751cbdd7 100644 --- a/drivers/pci/controller/pcie-brcmstb.c +++ b/drivers/pci/controller/pcie-brcmstb.c @@ -1441,7 +1441,7 @@ static void brcm_pcie_remove_bus(struct pci_bus *bus) struct subdev_regulators *sr = pcie->sr; struct device *dev = &bus->dev; - if (!sr) + if (!sr || !bus->parent || !pci_is_root_bus(bus->parent)) return; if (regulator_bulk_disable(sr->num_supplies, sr->supplies)) From patchwork Wed Feb 5 19:12:04 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jim Quinlan X-Patchwork-Id: 13961797 X-Patchwork-Delegate: kw@linux.com Received: from mail-pj1-f48.google.com (mail-pj1-f48.google.com [209.85.216.48]) (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 BAD3E20C03C for ; Wed, 5 Feb 2025 19:13:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.48 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738782789; cv=none; b=bkny8Ne88/5dP1jaRn4XJfRRe9sx3zq5bi3cXPnKYSYoMiuJLRCUFbMdfQKjNN8a/V4p9zGSFgrxD2/9ZZ8/Fzi4I7W1HtKuJMZPH3+BKMY60/lFWRIP+MdEWr2NqrztPTW85Nj90mLAB1/PnoVctJzCz4zzjF4Ep+209aK8YuU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738782789; c=relaxed/simple; bh=tmKlWkoxyVVoBftC1tqR72Fa3nMd+vjFUErcYQ3Ogz8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=F9Rv/DgW3NR51406niv/a2KvZCWTvUlLoOVWSsq9A3ADJR3AMDlsF/yEvKOptmrbOhooIkUkVThAHtWF5taq6nm4xOIBNwL6pe8+aqkrNW79aQL2NcIXtqEXN/Fsxb9Jg82N9+alR1ZMI1Mc0uXoxf+o2463GhWJRBXNCKVcGSQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=broadcom.com; spf=fail smtp.mailfrom=broadcom.com; dkim=pass (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b=f/6li2LR; arc=none smtp.client-ip=209.85.216.48 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=broadcom.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=broadcom.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b="f/6li2LR" Received: by mail-pj1-f48.google.com with SMTP id 98e67ed59e1d1-2f9c3ef6849so74195a91.3 for ; Wed, 05 Feb 2025 11:13:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1738782786; x=1739387586; 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=p2SP8UN+7O3+LtijH955HifaeFHXMbD1xCtBylyCBjw=; b=f/6li2LRa/J3WFAPNqmbqk+D1JoF7B/SQOUf3vMHrbmfS1efayd0oAfSdDyfP5e83Q ygsXUXWtvhF7lvpm5mDmg8tmdpT/SY+lqE/YtCi+Ips05BmM7hCyPeHURDgO9/2QPlxM 2Xv7SCmRE1pfOcrCCtyN1xUUB6UyHkgjQjd5g= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738782786; x=1739387586; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=p2SP8UN+7O3+LtijH955HifaeFHXMbD1xCtBylyCBjw=; b=S60YIIPMpxl7fOjApRkHsNcfJwZ9QB04tvGdVpLjgaNswdeBG4rNOs1fLkjfN0xcRY qM5Oc4E7p2Jt2aCObq2eKhUp2SlrNND3+2AQycdJ/J+5gOa5BNZsopRbYl4PTSou2D+z zjophUBiXRGVj8HqIFNOA6ScVLOkwdOkIhbrAVMW+t5uOiMl3wjZxJqoPiwpNAgrjr3c jk+wyEOdkoM1r0WLr3wnMRKpvAAdBDSU/Qsf2Pb337zaRDLnf64P7iMJjaltlJ4gMLdF fUkU6q1RLOyfPoK3Z9mlNgA1YZ2c4xH4LPdT4MAqFjioqAOcrs4yOX0kxeZfkxm5pNvs nz3Q== X-Gm-Message-State: AOJu0YwyTegypC+Iw22cmA98eiOnjwNBFoUHg8XuixekaKCtx9dL/Ajf bQHCNsZGxg4ayuoRw3xvdJfHIjeC3eS3NEnNKHWzp81xfpgwV7d298sH6rT5SYLPqdGmBaVJZaT 3DurpiLjCG2epL3/31ghpHJ5BJg9kJ99PoGXUx5L9nN+4CB0OOi8Oc54evyniyibZL/8Xr7IkXi 1yk0t1r3IvrrPcfttkbMPPIH6eh/Z3LYhk7WYI4PkCe5ROcgeh X-Gm-Gg: ASbGncsERq05G2UcqRizez+KnqUNAT7KtvOo8zVe+oWSPlev7BfMZVs4p9GQ/ojFd/P q85Aen/EPTBf4xhDJNxdwk9Zg7VFudTURYNpP2dPriH3yvXo849KU7BDmqzNZQRdXJB8bN5Lrbs bGQ4wZp9EIpCBxfBdKBpVWE7gnBWZp8I3Lb+zsb6SSVZaCHkUcW5awX8Lvs9aps8TSoDqIWpWwE biDXXgawK9MhGV2CyCp20Nlb1Ks0MdfbB+nWgom/IlJopMsgxNW6nmeVsN3gQrsXtY5vAeSG2h1 fBnkmCO1FHpD/OXTBiUbLfzszwrfY5fxGt8j+KjSbClQM+TXbavPWwAKBjCb8lxQ6r0T6Ac= X-Google-Smtp-Source: AGHT+IFWf34gqo2Cq3GC10EE4JpvnnXxd/baqFQ4/rfJGOY8K+FfkhKwIxsYtkyKK3/Ky0Uqi5YYwA== X-Received: by 2002:a05:6a00:2908:b0:72d:8fa2:9998 with SMTP id d2e1a72fcca58-7303513ac4amr6540559b3a.14.1738782756542; Wed, 05 Feb 2025 11:12:36 -0800 (PST) Received: from stbsrv-and-02.and.broadcom.net ([192.19.144.250]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-72fe69ceb1csm12670842b3a.151.2025.02.05.11.12.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 05 Feb 2025 11:12:36 -0800 (PST) From: Jim Quinlan To: linux-pci@vger.kernel.org, Nicolas Saenz Julienne , Bjorn Helgaas , Lorenzo Pieralisi , Cyril Brulebois , Stanimir Varbanov , bcm-kernel-feedback-list@broadcom.com, jim2101024@gmail.com, james.quinlan@broadcom.com Cc: Florian Fainelli , Lorenzo Pieralisi , =?utf-8?q?Krzysztof_Wilczy=C5=84?= =?utf-8?q?ski?= , Manivannan Sadhasivam , Rob Herring , linux-rpi-kernel@lists.infradead.org (moderated list:BROADCOM BCM2711/BCM2835 ARM ARCHITECTURE), linux-arm-kernel@lists.infradead.org (moderated list:BROADCOM BCM2711/BCM2835 ARM ARCHITECTURE), linux-kernel@vger.kernel.org (open list) Subject: [PATCH v1 4/6] PCI: brcmstb: Use same constant table for config space access Date: Wed, 5 Feb 2025 14:12:04 -0500 Message-ID: <20250205191213.29202-5-james.quinlan@broadcom.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250205191213.29202-1-james.quinlan@broadcom.com> References: <20250205191213.29202-1-james.quinlan@broadcom.com> Precedence: bulk X-Mailing-List: linux-pci@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 The constants EXT_CFG_DATA and EXT_CFG_INDEX vary by SOC. One of the map_bus methods used these constants, the other used different constants. Fortunately there was no problem because the SoCs that used the latter map_bus method all had the same register constants. Remove the redundant constants and adjust the code to use them. In addition, update EXT_CFG_DATA to use the 4k-page based config space access system, which is what the second map_bus method was already using. Signed-off-by: Jim Quinlan --- drivers/pci/controller/pcie-brcmstb.c | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/drivers/pci/controller/pcie-brcmstb.c b/drivers/pci/controller/pcie-brcmstb.c index 4f5d751cbdd7..2d1969d7fd30 100644 --- a/drivers/pci/controller/pcie-brcmstb.c +++ b/drivers/pci/controller/pcie-brcmstb.c @@ -151,9 +151,6 @@ #define MSI_INT_MASK_SET 0x10 #define MSI_INT_MASK_CLR 0x14 -#define PCIE_EXT_CFG_DATA 0x8000 -#define PCIE_EXT_CFG_INDEX 0x9000 - #define PCIE_RGR1_SW_INIT_1_PERST_MASK 0x1 #define PCIE_RGR1_SW_INIT_1_PERST_SHIFT 0x0 @@ -728,8 +725,8 @@ static void __iomem *brcm_pcie_map_bus(struct pci_bus *bus, /* For devices, write to the config space index register */ idx = PCIE_ECAM_OFFSET(bus->number, devfn, 0); - writel(idx, pcie->base + PCIE_EXT_CFG_INDEX); - return base + PCIE_EXT_CFG_DATA + PCIE_ECAM_REG(where); + writel(idx, base + IDX_ADDR(pcie)); + return base + DATA_ADDR(pcie) + PCIE_ECAM_REG(where); } static void __iomem *brcm7425_pcie_map_bus(struct pci_bus *bus, @@ -1712,7 +1709,7 @@ static void brcm_pcie_remove(struct platform_device *pdev) static const int pcie_offsets[] = { [RGR1_SW_INIT_1] = 0x9210, [EXT_CFG_INDEX] = 0x9000, - [EXT_CFG_DATA] = 0x9004, + [EXT_CFG_DATA] = 0x8000, [PCIE_HARD_DEBUG] = 0x4204, [PCIE_INTR2_CPU_BASE] = 0x4300, }; @@ -1720,7 +1717,7 @@ static const int pcie_offsets[] = { static const int pcie_offsets_bcm7278[] = { [RGR1_SW_INIT_1] = 0xc010, [EXT_CFG_INDEX] = 0x9000, - [EXT_CFG_DATA] = 0x9004, + [EXT_CFG_DATA] = 0x8000, [PCIE_HARD_DEBUG] = 0x4204, [PCIE_INTR2_CPU_BASE] = 0x4300, }; @@ -1734,8 +1731,9 @@ static const int pcie_offsets_bcm7425[] = { }; static const int pcie_offsets_bcm7712[] = { + [RGR1_SW_INIT_1] = 0x9210, [EXT_CFG_INDEX] = 0x9000, - [EXT_CFG_DATA] = 0x9004, + [EXT_CFG_DATA] = 0x8000, [PCIE_HARD_DEBUG] = 0x4304, [PCIE_INTR2_CPU_BASE] = 0x4400, }; From patchwork Wed Feb 5 19:12:05 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jim Quinlan X-Patchwork-Id: 13961793 X-Patchwork-Delegate: kw@linux.com Received: from mail-pl1-f182.google.com (mail-pl1-f182.google.com [209.85.214.182]) (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 014761FF7BB for ; Wed, 5 Feb 2025 19:12:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.182 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738782762; cv=none; b=tUmnSb/+Q8k3/zIuxeT2VmvZKGh0jDjCjiX9Cic5+Sn9GK3MiWLE7xXxSsr/xEbnOOltMrdo0mMGgNexKWwdDwRDtZ3QlN5IkrdXKZYrR8MwizxclklJcEMNPIRIBm9fPx2A89STsS4rO8M4OY9m1cP1eV0ySRZde5N2IVYfvsw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738782762; c=relaxed/simple; bh=wZgft2YLjV2DroNV6XigKYbwwzbKeQIY9KdCoa4mICQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=rPwoejDemflwkGhPPEFt/ysnk7hvpOFPShSaMDdOUW2hCT7Ja1YCnKcKa07leG2tPw6D8T60VDIZFGM7/2jMprzy+euxtfgJqShVdpBK8YLWCBEEYVsVNAauitKqSFDoO6gPU1Ph+dd3ajwR3SX89pbOKoCYFHoGySfEpDctJPY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=broadcom.com; spf=fail smtp.mailfrom=broadcom.com; dkim=pass (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b=gNETaXez; arc=none smtp.client-ip=209.85.214.182 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=broadcom.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=broadcom.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b="gNETaXez" Received: by mail-pl1-f182.google.com with SMTP id d9443c01a7336-21634338cfdso3603665ad.2 for ; Wed, 05 Feb 2025 11:12:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1738782760; x=1739387560; 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=10mgnfIVzR+iSJ+OJSuQ8EcOXoSsF+yM91bimaJiDRM=; b=gNETaXezgNkXhyYIrmQJ9NUstck9E17lhxH3vgBSSteHFXDxiyQozJi3FefJvpTQM4 ozEEZK/Ccx8m+EhjhypuCY3hr/oPXXzPKaoNU1ZoaWuOydrQVwvPLHDL1xLSWzFJqlsa sYVdvtpj/VPihCFCpkC7AWnNu6vpa95xUvHZs= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738782760; x=1739387560; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=10mgnfIVzR+iSJ+OJSuQ8EcOXoSsF+yM91bimaJiDRM=; b=D4cgZegOBka3rytMArPUgUar2Jm/7YwoQyQhXIyhswgHpeALY1+z1Ue4GOqrUOUxGY KGaKbseRLmThrxfOlyg59EMabSliwFRlcMjYaupKIqDJsAu+2tWDuxpBKjMBCqGANxxR 7HDELpffC2ZmUZGnRiNJaRRHWeqqsAGXeHHaZped9VcCb3YT9h3Obf6swflcw4psGCZD ERwUoXXnFbi/4/FOrXwOOG+l8vAbkATE33fS/K5OUXtoqyWlw/1Jefbpj79IG7N3+0Df 43kf6DC7cokhIGGWD8fSdYFc80HNy2XbJrC5zSsJnVdskTWpoJUGikt7BHlur0T8IEhn cxnA== X-Gm-Message-State: AOJu0YyLE/SqGndgptFyHYF2lSnSf4aALsEtAYRim0Dh4+pOtqAwD0Yn 95hUz8mw3c1Elq1yfMlwhGy/m1yfyY8wQl2OHAW+OpxKnSBaL2N5R2mqQ+/jCQ4LLnzT4SSNSHt 2NVgsLog2I2blQd60XocsJ//G4JbNLt1XDI9YnqQmCLs6htPj/ml2OdY9AVz+YoyGULqXHxlHpG 0L0f6450fun8/ppiT/uYiPMW+YbI6C/ToV8TEdqkP040ax6rI4 X-Gm-Gg: ASbGncuJMOcVo2AupjUQcrpR2KyO8JMiiHAefIFjav1yBLBsPeGfvj7LwDFzW1DPbot QN1uqgpc48GYaX/6rrvD21U4NNLyH8nlT6APObPTzyszegrqVi9Is6KWgASmt5YypV2NsFf27z8 ozSGTDnyGkUChjqVlItl+xI8Bf4j3JZCtZqhQ4sLqZBlNdiXShp6TWJWtrSj5AIToCR8Etiksou gGVVe/j9ACMI5VWzAWQtPizWWX4fyvI/i899pL+CzuIagMzRENQHTGSPv6b9YmIGS6ztY1UJ7Fv e7buS7NEgMrOMEWemqGr3g4X+LS7/fn5o6YlqRn85DXLltKVODOAko37LLLEwadDU+WnHQs= X-Google-Smtp-Source: AGHT+IF/Wwlp9qYJd0K8y8zdsTfFgaW5Ghm0UX8Zc6UwKaMRKZ6CF/yzfZfIYoJNe7yUoNtnkLYNSA== X-Received: by 2002:a05:6a00:3905:b0:725:4615:a778 with SMTP id d2e1a72fcca58-7303511d28fmr6538015b3a.7.1738782759745; Wed, 05 Feb 2025 11:12:39 -0800 (PST) Received: from stbsrv-and-02.and.broadcom.net ([192.19.144.250]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-72fe69ceb1csm12670842b3a.151.2025.02.05.11.12.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 05 Feb 2025 11:12:39 -0800 (PST) From: Jim Quinlan To: linux-pci@vger.kernel.org, Nicolas Saenz Julienne , Bjorn Helgaas , Lorenzo Pieralisi , Cyril Brulebois , Stanimir Varbanov , bcm-kernel-feedback-list@broadcom.com, jim2101024@gmail.com, james.quinlan@broadcom.com Cc: Florian Fainelli , Lorenzo Pieralisi , =?utf-8?q?Krzysztof_Wilczy=C5=84?= =?utf-8?q?ski?= , Manivannan Sadhasivam , Rob Herring , linux-rpi-kernel@lists.infradead.org (moderated list:BROADCOM BCM2711/BCM2835 ARM ARCHITECTURE), linux-arm-kernel@lists.infradead.org (moderated list:BROADCOM BCM2711/BCM2835 ARM ARCHITECTURE), linux-kernel@vger.kernel.org (open list) Subject: [PATCH v1 5/6] PCI: brcmstb: Make two changes in MDIO register fields Date: Wed, 5 Feb 2025 14:12:05 -0500 Message-ID: <20250205191213.29202-6-james.quinlan@broadcom.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250205191213.29202-1-james.quinlan@broadcom.com> References: <20250205191213.29202-1-james.quinlan@broadcom.com> Precedence: bulk X-Mailing-List: linux-pci@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 The HW team has decided to "tighten" some field definitions in the MDIO packet format. Fortunately these two changes may be made in a backwards compatible manner. The CMD field used to be 12 bits and now is one. This change is backwards compatible because the field's starting bit position is unchanged and the only commands we've used have values 0 and 1. The PORT field's width has been changed from four to five bits. When written, the new bit is not contiguous with the other four. Fortunately, this change is backwards compatible because we have never used anything other than 0 for the port field's value. Signed-off-by: Jim Quinlan --- drivers/pci/controller/pcie-brcmstb.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/pci/controller/pcie-brcmstb.c b/drivers/pci/controller/pcie-brcmstb.c index 2d1969d7fd30..da7b10036948 100644 --- a/drivers/pci/controller/pcie-brcmstb.c +++ b/drivers/pci/controller/pcie-brcmstb.c @@ -176,8 +176,9 @@ #define MDIO_PORT0 0x0 #define MDIO_DATA_MASK 0x7fffffff #define MDIO_PORT_MASK 0xf0000 +#define MDIO_PORT_EXT_MASK 0x200000 #define MDIO_REGAD_MASK 0xffff -#define MDIO_CMD_MASK 0xfff00000 +#define MDIO_CMD_MASK 0x00100000 #define MDIO_CMD_READ 0x1 #define MDIO_CMD_WRITE 0x0 #define MDIO_DATA_DONE_MASK 0x80000000 @@ -328,6 +329,7 @@ static u32 brcm_pcie_mdio_form_pkt(int port, int regad, int cmd) { u32 pkt = 0; + pkt |= FIELD_PREP(MDIO_PORT_EXT_MASK, port >> 4); pkt |= FIELD_PREP(MDIO_PORT_MASK, port); pkt |= FIELD_PREP(MDIO_REGAD_MASK, regad); pkt |= FIELD_PREP(MDIO_CMD_MASK, cmd); From patchwork Wed Feb 5 19:12:06 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jim Quinlan X-Patchwork-Id: 13961794 X-Patchwork-Delegate: kw@linux.com Received: from mail-pl1-f170.google.com (mail-pl1-f170.google.com [209.85.214.170]) (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 2A4141FFC5D for ; Wed, 5 Feb 2025 19:12:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.170 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738782765; cv=none; b=HC0UwGviaCw4n43+G/Y0AJbDoB+S2VK5yD91mPQon7SV0vO+zLvCPwn1UQYKVF3wZF4+LCtnBEnrLuaGqmUYWlDsVWy2TuiyRJmhx54xy9GUi6HD6OhxSwuXKfqbTQbSFIeUwbGimBA28l9BvxQGikI7J+BWw4Eu6/QXudGMpOs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738782765; c=relaxed/simple; bh=QXoJSTy8Qec/wV8sRxRD2VX9SrJlzd1/bepXCqAcBgA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Wn5tVEwNrxqzT35eacytIkFuNoHNcRKiWzmAip0F7FykSHwD7J68yymAKCeo7AVBHRy2/j6CLwB5V+XWHwBO1a1asolDJgRHt7Fst5moMV5fr1cgGAtkog0dVr81XAeU4qNvTmJJlMv7seY4Gv6J6bv22kAKMmBO5WN2vZLgy3o= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=broadcom.com; spf=fail smtp.mailfrom=broadcom.com; dkim=pass (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b=CWZ0OJDO; arc=none smtp.client-ip=209.85.214.170 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=broadcom.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=broadcom.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b="CWZ0OJDO" Received: by mail-pl1-f170.google.com with SMTP id d9443c01a7336-2161eb95317so3841745ad.1 for ; Wed, 05 Feb 2025 11:12:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1738782763; x=1739387563; 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=X0ZTsssVvHzsc0e1DxaZAFNaCnLOP9m4uEkLrLv90vI=; b=CWZ0OJDOmwGP708rLU98leg72Av/z5pMPNC1hmOYXttjcyY4glyYSPI0l5gogUSePi nkAXgToTQLOCnbjZrs6B8aUVm38gDbmi1qfYR1UdVDNJmIWmlBeHJUBS+fav/Inz543S ealfqxIFkE+375jly1Rs9TCuM7Icg47RPyuoM= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738782763; x=1739387563; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=X0ZTsssVvHzsc0e1DxaZAFNaCnLOP9m4uEkLrLv90vI=; b=LfqCzmrY4Z4tBhTZS+DAR7ciumdmDhxmj6TBJdrK5sF7N0X2Zi14C90SU3nYmDAwE6 F9IgfkKrWjWz7a8FIa80b/o+KAb/B5Gu1C+rII9Lg2jTMTTalnjXXmVLgbF8rGHgUXCv WmyMvL7og4CESwxIJ02rmIMhfFa0LHNCilrlGyk1jRGN/j5H09IigHelhChSjSW8ktei /Jo9BftaC1IWAmYfvLZlUNoCms+NYn2L65Kp2XrFdZQ+EOvb+o12VMepoluOtABC6TzZ qcLjti5+I3OStguTMf99rUnhsbeI8q1U/XpQXbZjQRA+adnApWhVgmInn/aHuWEzXhaM sJOQ== X-Gm-Message-State: AOJu0Yz3KfDZmKBMZ6FdRnK6MkdE4zbQDX9G6U5JrEy2NpcJhMDoPzw4 9RE7D4UjejtixKvkYqP9UqtaiSYphXDU40hAQOmyjCOwNHGPspvZlBzyiljIu5gtoDtMmcnOflX +qQ+7Zur9Y/kfFYTwPCTdYI61HIEs2wtar3CXg9FhdT8I/hu8Xxom7WZjhlPK4IZi62p9WLucoW paSysnSagh/h3tztZUXeoUa5CHabwx8FhgL3vWG+UQ1rZAhihx X-Gm-Gg: ASbGnctfGuPxXGNdLbcnvFjTqICSsGpEH5bxgPOwzAlfSuXCqe/F5xxiZ79lCfagVOq JImnU2UsNPSX0F4z8WJOJWa5Rg3xITGEr/OIICxq2867pnZwm1MK5MkZNaevQRBL4XRbLNYfeoM XfWTYO4u/wqkZdtAsJFCPPtvsxBiLRf2naPLN3YBh8bEWvJnQN3AcX8UPL1VgLFkAMtXfSiR8oM 7sagUjhbsT7b/feNYLu8hytalbWXjPARHW/fYiTq7lSkQisXjyRhh3ltbifltBoDDO1K+00GF8u 6tTCEfddpdql1Z6A49xwCTW9O7wmtfzPAOZN+j8tFNVQXoO+3u6qa9a0btWM3vpdYwjzXDk= X-Google-Smtp-Source: AGHT+IEXcZFzv42qZ8TJ/klgDwqqS/+A00tWNgeMvaWCk7kbJI8shXduYKzokviPveKCUA311SJ4wA== X-Received: by 2002:a05:6a00:851:b0:725:96f2:9e63 with SMTP id d2e1a72fcca58-73035224858mr7975973b3a.24.1738782762954; Wed, 05 Feb 2025 11:12:42 -0800 (PST) Received: from stbsrv-and-02.and.broadcom.net ([192.19.144.250]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-72fe69ceb1csm12670842b3a.151.2025.02.05.11.12.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 05 Feb 2025 11:12:42 -0800 (PST) From: Jim Quinlan To: linux-pci@vger.kernel.org, Nicolas Saenz Julienne , Bjorn Helgaas , Lorenzo Pieralisi , Cyril Brulebois , Stanimir Varbanov , bcm-kernel-feedback-list@broadcom.com, jim2101024@gmail.com, james.quinlan@broadcom.com Cc: Florian Fainelli , Lorenzo Pieralisi , =?utf-8?q?Krzysztof_Wilczy=C5=84?= =?utf-8?q?ski?= , Manivannan Sadhasivam , Rob Herring , linux-rpi-kernel@lists.infradead.org (moderated list:BROADCOM BCM2711/BCM2835 ARM ARCHITECTURE), linux-arm-kernel@lists.infradead.org (moderated list:BROADCOM BCM2711/BCM2835 ARM ARCHITECTURE), linux-kernel@vger.kernel.org (open list) Subject: [PATCH v1 6/6] PCI: brcmstb: Cast an int variable to an irq_hw_number_t Date: Wed, 5 Feb 2025 14:12:06 -0500 Message-ID: <20250205191213.29202-7-james.quinlan@broadcom.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250205191213.29202-1-james.quinlan@broadcom.com> References: <20250205191213.29202-1-james.quinlan@broadcom.com> Precedence: bulk X-Mailing-List: linux-pci@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Just make it clear to the reader that there is a conversion happening, in this case from an int type to an irq_hw_number_t, an unsigned long int. Signed-off-by: Jim Quinlan --- drivers/pci/controller/pcie-brcmstb.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/pci/controller/pcie-brcmstb.c b/drivers/pci/controller/pcie-brcmstb.c index da7b10036948..1e24e7fc895c 100644 --- a/drivers/pci/controller/pcie-brcmstb.c +++ b/drivers/pci/controller/pcie-brcmstb.c @@ -560,7 +560,7 @@ static int brcm_irq_domain_alloc(struct irq_domain *domain, unsigned int virq, return hwirq; for (i = 0; i < nr_irqs; i++) - irq_domain_set_info(domain, virq + i, hwirq + i, + irq_domain_set_info(domain, virq + i, (irq_hw_number_t)hwirq + i, &brcm_msi_bottom_irq_chip, domain->host_data, handle_edge_irq, NULL, NULL); return 0;