From patchwork Wed Jul 10 22:16:14 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jim Quinlan X-Patchwork-Id: 13729754 Received: from mail-yb1-f175.google.com (mail-yb1-f175.google.com [209.85.219.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 F27F81494CE for ; Wed, 10 Jul 2024 22:16:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.219.175 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1720649797; cv=none; b=DS5Q68PyhgFvXhQo/8rF7MOQ0GeKnNR23XHBL1L5APfkLi2qW3jwRuoZM/v2ISejDy4jaMKo92sTh2WJK3DMP/29pP6x4W4DcQbIIj5OqLOboAm3Z8Y4xWxDLftuNzvMsBSHsuMzjyPmbEr/WeOBATnFqgaQ2pnIHvaCjD4nY9M= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1720649797; c=relaxed/simple; bh=Bcq/6WP40QTSU6Ca62TYkBdhWHzuDOZYTRnzTmZq3Do=; h=From:To:Cc:Subject:Date:Message-Id:Content-Type; b=UJGc/46soczj6AzlXi6O2gkeRelGNM2FgsPX6bE8Rz9Db/bQBf5zcuwjrREjy70/UlO6SzsctX3C2A8RYgreN/l/Q6VL5hDuCcWP0sUqKcxExospEjJRNRCVHaisEHpVXPbhfIFGVrTr1Gh8Qf1dx2B1XeEHWNqM7d6blBs2uIA= 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=BgvwD7xK; arc=none smtp.client-ip=209.85.219.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="BgvwD7xK" Received: by mail-yb1-f175.google.com with SMTP id 3f1490d57ef6-dfab4779d95so268903276.0 for ; Wed, 10 Jul 2024 15:16:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1720649794; x=1721254594; darn=vger.kernel.org; h=message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=xZG3A79XjcAVL4O8FwPYKlEMzpnnV+557aDZtkfrI1Q=; b=BgvwD7xKetlJ3/ZIxkUrLFDQOlXYeVdtaanG49z1EadtGybM3ReEJb8xK0C5AGA0FO dpIrkb4sNM13Gw6wwGZzcrBJ7hMpNE3D21XmXNmbgRwBgz7h2sIxGKxNLjpetLf6HKKl /9794ZuEANJyAp7MfEWGu/lZ69F+7xCnAAruQ= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1720649794; x=1721254594; h=message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=xZG3A79XjcAVL4O8FwPYKlEMzpnnV+557aDZtkfrI1Q=; b=I1fCLhT8MOalDBEhbWtYL/LvNxv54gkk5M+0y2rjg4232waMnmAtgSqqyU9ERL1JAr vKF0cP5EQNX94jumAhL/tGeT2X7C8Wo6epX87L4+uAsQsl+olRDLWVRGQPWrvbuDCjmj b65JMb604hC8EiIGj7qJHLYaU1XxCI2BNxihvNxTGO4hEeDdrC9vtBPanTO5y+eiZxrI DF6c46sm2IdH6h4+Hcgk47mlZ3ulk1HKy54Ikr/+hhi9smJMD5fDzY3AIZcDc5R2Engp SshQnC1k+/ZFzCM7Ql8FcG7AkajkuudRah9T1WrD6rYFOOVjlFJHwrdTfZC3lYapK7Ym u/4Q== X-Gm-Message-State: AOJu0Yy5+LP1x3V3y+DLFFr33R7seMm23rYzlEP+tFjV86+AkD2lqjLe hL6t1VGAHULrJFIgdOqZuoYh9QFrUSxGKTzWvQeIvDJjVpjwmOsGbWF1ra1IMG/aqewCm/Vblpz Q0xiy+BI/bgJNuDJl5PynpkrUD4yoVvREzaiQHAaV4BBPUb/wWIp2PC8/py9s5sW6yyBbJWE3Ke RYYxDaLLpwrZpWr71EtJAV1B+E0cMPyWe6JDTjKXYE8Rj/vjwy X-Google-Smtp-Source: AGHT+IEZ0Kw7OoDkj9qJz1eHra/w87iwb5T32TAAanEbJDbIi9axHZXM5XH0ux05OFlmC9C+nCkkiQ== X-Received: by 2002:a05:6902:1883:b0:e05:7a31:8c70 with SMTP id 3f1490d57ef6-e057a31911bmr798310276.20.1720649793735; Wed, 10 Jul 2024 15:16:33 -0700 (PDT) Received: from stbsrv-and-01.and.broadcom.net ([192.19.144.250]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-6b61ba04c16sm20182326d6.60.2024.07.10.15.16.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 10 Jul 2024 15:16:33 -0700 (PDT) From: Jim Quinlan To: linux-pci@vger.kernel.org, Nicolas Saenz Julienne , Bjorn Helgaas , Lorenzo Pieralisi , Cyril Brulebois , Stanimir Varbanov , Krzysztof Kozlowski , bcm-kernel-feedback-list@broadcom.com, jim2101024@gmail.com, james.quinlan@broadcom.com Cc: devicetree@vger.kernel.org (open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS), Florian Fainelli , linux-arm-kernel@lists.infradead.org (moderated list:BROADCOM BCM2711/BCM2835 ARM ARCHITECTURE), linux-kernel@vger.kernel.org (open list), linux-rpi-kernel@lists.infradead.org (moderated list:BROADCOM BCM2711/BCM2835 ARM ARCHITECTURE), Rob Herring Subject: [PATCH v3 00/12] PCI: brcnstb: Enable STB 7712 SOC Date: Wed, 10 Jul 2024 18:16:14 -0400 Message-Id: <20240710221630.29561-1-james.quinlan@broadcom.com> X-Mailer: git-send-email 2.17.1 Precedence: bulk X-Mailing-List: linux-pci@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: V3 Changes: o Commit "Enable 7712 SOCs" -- Move "model" check from outside to inside func (Stan) o Commit "Check return value of all reset_control_xxx calls" -- Propagate errors up the chain instead of ignoring them (Stan) o Commit "Refactor for chips with many regular inbound BARs" -- Nine suggestions given, nine implemented (Stan) o Commit "Make HARD_DEBUG, INTR2_CPU_BASE offsets SoC-specific" -- Drop tab, add parens around macro params in expression (Stan) o Commit "Use swinit reset if available" -- Treat swinit the same as other reset controllers (Stan) Stan suggested to use dev_err_probe() for getting resources but I will defer that to future series (if that's okay). o Commit "Get resource before we start asserting resets" -- Squash this with previous commit (Stan) o Commit "Use "clk_out" error path label" -- Move clk_prepare_enable() after getting resouurces (Stan) -- Change subject to "Use more common error handling code in brcm_pcie_probe()" (Markus) -- Use imperative commit description (Markus) -- "Fixes:" tag added for missing error return. (Markus) o Commit "dt-bindings: PCI ..." -- Split off maintainer change in separate commit. -- Tried to accomodate Krzysztof's requests, I'm not sure I have succeeded. Krzysztof, please see [1] below. [1] Wrt the YAML of brcmstb PCIe resets, here is what I am trying to describe: CHIP NUM_RESETS NAMES ==== ========== ===== 4908 1 perst 7216 1 rescal 7712 3 rescal, bridge, swinit Others 0 - V2 Changes (note: four new commits): o Commit "dt-bindings: PCI ..." -- s/Adds/Add/, fix spelling error (Bjorn) -- Order compatible strings alphabetically (Krzysztof) -- Give definitions first then rules (Krzysztof) -- Add reason for change in maintainer (Krzysztof) o Commit "Use swinit reset if available" -- no need for "else" clause (Philipp) -- fix improper use of dev_err_probe() (Philipp) o Commit "Use "clk_out" error path label" -- Improve commit message (Bjorn) o Commit "PCI: brcmstb: Make HARD_DEBUG, INTR2_CPU_BASE offsets SoC-specific" -- Improve commit subject line (Bjorn) o Commit (NEW) -- Change field name from 'type' to 'model' -- Added as requested (Stanimir) o Commit (NEW) -- Check return value of all reset_control_xxx calls -- Added as requested (Stanimir) o Commit (NEW) "Get resource before we start asserting reset controllers" -- Added as requested (Stanimir) o Commit (NEW) -- "Remove two unused constants from driver" V1: This submission is for the Broadcom STB 7712, sibling SOC of the RPi5 chip. Stanimir has already submitted a patch "Add PCIe support for bcm2712" for the RPi version of the SOC. It is hoped that Stanimir will allow us to submit this series first and subsequently rebase his patch(es). The largest commit, "Refactor for chips with many regular inbound BARs" affects both the STB and RPi SOCs. It allows for multiple inbound ranges where previously only one was effectively used. This feature will also be present in future STB chips, as well as Broadcom's Cable Modem group. Jim Quinlan (12): dt-bindings: PCI: Change brcmstb YAML maintainer dt-bindings: PCI: Cleanup of brcmstb YAML and add 7712 SoC PCI: brcmstb: Use common error handling code in brcm_pcie_probe() PCI: brcmstb: Use bridge reset if available PCI: brcmstb: Use swinit reset if available PCI: brcmstb: PCI: brcmstb: Make HARD_DEBUG, INTR2_CPU_BASE offsets SoC-specific PCI: brcmstb: Remove two unused constants from driver PCI: brcmstb: Don't conflate the reset rescal with phy ctrl PCI: brcmstb: Refactor for chips with many regular inbound BARs PCI: brcmstb: Check return value of all reset_control_xxx calls PCI: brcmstb: Change field name from 'type' to 'model' PCI: brcmstb: Enable 7712 SOCs .../bindings/pci/brcm,stb-pcie.yaml | 48 +- drivers/pci/controller/pcie-brcmstb.c | 484 +++++++++++++----- 2 files changed, 397 insertions(+), 135 deletions(-) base-commit: 55027e689933ba2e64f3d245fb1ff185b3e7fc81 Tested-by: Florian Fainelli