[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <fa5a20d0-77db-58bd-3956-ac664dffa587@quicinc.com>
Date: Mon, 4 Sep 2023 11:56:58 +0530
From: Krishna Chaitanya Chundru <quic_krichai@...cinc.com>
To: Ilpo Järvinen <ilpo.jarvinen@...ux.intel.com>,
<linux-pci@...r.kernel.org>, Bjorn Helgaas <helgaas@...nel.org>,
Lorenzo Pieralisi <lorenzo.pieralisi@....com>,
Rob Herring <robh@...nel.org>,
Krzysztof Wilczyński <kw@...ux.com>,
Lukas Wunner <lukas@...ner.de>,
Alexandru Gagniuc <mr.nuke.me@...il.com>
CC: <linux-kernel@...r.kernel.org>,
Srinivas Pandruvada <srinivas.pandruvada@...ux.intel.com>,
Alex Deucher <alexdeucher@...il.com>
Subject: Re: [PATCH 00/10] Add PCIe Bandwidth Controller
On 8/17/2023 5:46 PM, Ilpo Järvinen wrote:
> Hi all,
>
> This series adds PCIe bandwidth controller (bwctrl) and associated PCIe
> cooling driver to the thermal core side for limiting PCIe link speed
> due to thermal reasons. PCIe bandwidth controller is a PCI express bus
> port service driver. A cooling device is created for each port the
> service driver finds if they support changing speeds.
I see we had support for only link speed changes here but we need to add
support for
link width change also as bandwidth notification from PCIe supports both
link speed and link width.
- KC
>
> bwctrl now is built on top of BW notifications revert. I'm just not
> sure what is the best practice when re-adding some old functionality in
> a modified form so please let me know if I need to somehow alter that
> patch.
>
> The series is based on top of the RMW changes in pci/pcie-rmw.
>
> Ilpo Järvinen (10):
> PCI: Protect Link Control 2 Register with RMW locking
> drm/radeon: Use RMW accessors for changing LNKCTL2
> drm/amdgpu: Use RMW accessors for changing LNKCTL2
> drm/IB/hfi1: Use RMW accessors for changing LNKCTL2
> PCI: Store all PCIe Supported Link Speeds
> PCI: Cache PCIe device's Supported Speed Vector
> PCI/LINK: Re-add BW notification portdrv as PCIe BW controller
> PCI/bwctrl: Add "controller" part into PCIe bwctrl
> thermal: Add PCIe cooling driver
> selftests/pcie_bwctrl: Create selftests
>
> MAINTAINERS | 8 +
> drivers/gpu/drm/amd/amdgpu/cik.c | 41 +--
> drivers/gpu/drm/amd/amdgpu/si.c | 41 +--
> drivers/gpu/drm/radeon/cik.c | 40 +--
> drivers/gpu/drm/radeon/si.c | 40 +--
> drivers/infiniband/hw/hfi1/pcie.c | 30 +-
> drivers/pci/pcie/Kconfig | 9 +
> drivers/pci/pcie/Makefile | 1 +
> drivers/pci/pcie/bwctrl.c | 309 ++++++++++++++++++
> drivers/pci/pcie/portdrv.c | 9 +-
> drivers/pci/pcie/portdrv.h | 10 +-
> drivers/pci/probe.c | 38 ++-
> drivers/pci/remove.c | 2 +
> drivers/thermal/Kconfig | 10 +
> drivers/thermal/Makefile | 2 +
> drivers/thermal/pcie_cooling.c | 107 ++++++
> include/linux/pci-bwctrl.h | 33 ++
> include/linux/pci.h | 3 +
> include/uapi/linux/pci_regs.h | 1 +
> tools/testing/selftests/Makefile | 1 +
> tools/testing/selftests/pcie_bwctrl/Makefile | 2 +
> .../pcie_bwctrl/set_pcie_cooling_state.sh | 122 +++++++
> .../selftests/pcie_bwctrl/set_pcie_speed.sh | 67 ++++
> 23 files changed, 795 insertions(+), 131 deletions(-)
> create mode 100644 drivers/pci/pcie/bwctrl.c
> create mode 100644 drivers/thermal/pcie_cooling.c
> create mode 100644 include/linux/pci-bwctrl.h
> create mode 100644 tools/testing/selftests/pcie_bwctrl/Makefile
> create mode 100755 tools/testing/selftests/pcie_bwctrl/set_pcie_cooling_state.sh
> create mode 100755 tools/testing/selftests/pcie_bwctrl/set_pcie_speed.sh
>
Powered by blists - more mailing lists