From nobody Fri Dec 19 14:37:02 2025 Received: from m16.mail.163.com (m16.mail.163.com [220.197.31.5]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 7623A287501; Mon, 19 May 2025 16:32:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=220.197.31.5 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1747672354; cv=none; b=bgZHsIe4KClXd9kHOr6kq0qtPiEO4lOJX5Z1WKXTEAO7v3J6R5Q3xPLQS++KmXoW8ajMfTvtHuoVS6DMuEsugvK8OMxV8BSh2Xd+o+K0ZxSQExb8nBvYmJQoWF8fB8V48MMAcR537AC920btp0wkW4SIVYrV9XTfq5En4lTTxzg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1747672354; c=relaxed/simple; bh=VWQTTDD8HisB9NEM4ezmf9iZh/lAnzuvVionokqAlV4=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=TX89lzMa/fGXgc8jCubJgh1OYKNJtvdlJBKn/F6awqV3MBPwZurOsaZg/twcQIAg06UFeIe3wW/yPMAWKx9uZCKrD/heAYNl5D8ILiPCZblzCSPp8EEe53wzZI6eW+pS3QlGlYu8wClpvECLaAq+enXqsnWib8rhAsBDpSfEkGM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=163.com; spf=pass smtp.mailfrom=163.com; dkim=pass (1024-bit key) header.d=163.com header.i=@163.com header.b=EQhefIq4; arc=none smtp.client-ip=220.197.31.5 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=163.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=163.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=163.com header.i=@163.com header.b="EQhefIq4" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=163.com; s=s110527; h=From:To:Subject:Date:Message-Id:MIME-Version; bh=oZ cJF2JpoopsTyYlHBsjPAyggH5QqX4Y36kxOfVBgqg=; b=EQhefIq4ZftanfhflZ t00SkqTM5RkNKw4/9x9htauGITwaeOE0kjWkz7O/sykdOBUH7/gJZqGLD1V26aUi Ks8ik7385pO+Sg12dVbaYNe9BqgUpSSyquw61oEeMjmBnvRE3u0zSK1ZQXUezH8Y gmnzUt7Pu5xC2eE0KfqceKXyU= Received: from localhost.localdomain (unknown []) by gzga-smtp-mtada-g1-1 (Coremail) with SMTP id _____wC3vJ4CXStoPbk5Cg--.56045S3; Tue, 20 May 2025 00:32:03 +0800 (CST) From: Hans Zhang <18255117159@163.com> To: bhelgaas@google.com, lpieralisi@kernel.org, kw@linux.com, krzk+dt@kernel.org, manivannan.sadhasivam@linaro.org, ilpo.jarvinen@linux.intel.com, jingoohan1@gmail.com Cc: robh@kernel.org, linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org, Hans Zhang <18255117159@163.com> Subject: [PATCH 1/3] PCI: Add PCIE_SPEED2LNKCTL2_TLS_ENC conversion macro Date: Tue, 20 May 2025 00:31:54 +0800 Message-Id: <20250519163156.217567-2-18255117159@163.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20250519163156.217567-1-18255117159@163.com> References: <20250519163156.217567-1-18255117159@163.com> 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 X-CM-TRANSID: _____wC3vJ4CXStoPbk5Cg--.56045S3 X-Coremail-Antispam: 1Uf129KBjvJXoW7ZF4UuryrZrW7AFWDZrWUArb_yoW8Jw18p3 W7AFyUArWrW3W3C3s8Was2qa4rXFZ3GF4Uur47W39xXFyft34kAr12yFW7tr9xZr4jkry8 ZanrKrWUCFyI9F7anT9S1TB71UUUUU7qnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDUYxBIdaVFxhVjvjDU0xZFpf9x0pio7KsUUUUU= X-CM-SenderInfo: rpryjkyvrrlimvzbiqqrwthudrp/xtbBDxdSo2grV+Vn5gAAsZ Content-Type: text/plain; charset="utf-8" Introduce PCIE_SPEED2LNKCTL2_TLS_ENC macro to standardize the conversion between PCIe speed enumerations and LNKCTL2_TLS register values. This centralizes speed-to-register mapping logic, eliminating duplicated conversion code across multiple drivers. Signed-off-by: Hans Zhang <18255117159@163.com> --- drivers/pci/pci.h | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/drivers/pci/pci.h b/drivers/pci/pci.h index f92928dadc6a..b7e2d08825c6 100644 --- a/drivers/pci/pci.h +++ b/drivers/pci/pci.h @@ -415,6 +415,15 @@ void pci_bus_put(struct pci_bus *bus); (lnkctl2) =3D=3D PCI_EXP_LNKCTL2_TLS_2_5GT ? PCIE_SPEED_2_5GT : \ PCI_SPEED_UNKNOWN) =20 +#define PCIE_SPEED2LNKCTL2_TLS_ENC(speed) \ + ((speed) =3D=3D PCIE_SPEED_2_5GT ? PCI_EXP_LNKCTL2_TLS_2_5GT : \ + (speed) =3D=3D PCIE_SPEED_5_0GT ? PCI_EXP_LNKCTL2_TLS_5_0GT : \ + (speed) =3D=3D PCIE_SPEED_8_0GT ? PCI_EXP_LNKCTL2_TLS_8_0GT : \ + (speed) =3D=3D PCIE_SPEED_16_0GT ? PCI_EXP_LNKCTL2_TLS_16_0GT : \ + (speed) =3D=3D PCIE_SPEED_32_0GT ? PCI_EXP_LNKCTL2_TLS_32_0GT : \ + (speed) =3D=3D PCIE_SPEED_64_0GT ? PCI_EXP_LNKCTL2_TLS_64_0GT : \ + 0) + /* PCIe speed to Mb/s reduced by encoding overhead */ #define PCIE_SPEED2MBS_ENC(speed) \ ((speed) =3D=3D PCIE_SPEED_64_0GT ? 64000*1/1 : \ --=20 2.25.1 From nobody Fri Dec 19 14:37:02 2025 Received: from m16.mail.163.com (m16.mail.163.com [220.197.31.5]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 446C02882B9; Mon, 19 May 2025 16:32:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=220.197.31.5 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1747672357; cv=none; b=gx+OUE3mBo2y4QbKuABTyNsw0RC2SsPnlGTEc9c9uNW11qoAOILZSYVqtAOtulNYLVb1OnDBzLm1gVJQPj00Sf0/oupEIOQiWPdh6jueCCSdz3jWJ2kpCuG8DoRioJRfxo2bxkfx0fu3OUq7DTk62z8KlUWQJ/UEMHQSURjepas= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1747672357; c=relaxed/simple; bh=wd18m7ELW+3UjHnDRV1VpQgKTznLOu++NFPMRX2T/as=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=oIqcw0EiUD7NEAtV+nHfv+c1Z20LHHCbQRLrjMWv+Ks87lKoEpEgn326DXxyM8IZjIo8cVbUU3YNCdSL8Gsu8Vxi8hT23JUPEvtO8WBcmW+FoqpZXMtfeggUxu2IXZrORQ0+WncrssmEkyxAxjUPCEGHLAwwsBVWtvT44EB1Rsg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=163.com; spf=pass smtp.mailfrom=163.com; dkim=pass (1024-bit key) header.d=163.com header.i=@163.com header.b=FD8dNOdP; arc=none smtp.client-ip=220.197.31.5 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=163.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=163.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=163.com header.i=@163.com header.b="FD8dNOdP" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=163.com; s=s110527; h=From:To:Subject:Date:Message-Id:MIME-Version; bh=Lf Om0h+1AOk1AidZgxJzloTWVu2I2j61f1wzvYEiDB8=; b=FD8dNOdPVeXkj2Zt2a 06yIXZzEHnJHL35sSH8s2YTz5Z/MAFU6Yfn85RsbeJXqDxOI99wbTH55J4bbyMRY THIi1KaqW+zqZiRTdxvk+YsWGamO/LGHKUAk3SfpjzAGYLMAekxJuAMqH2UIgE+F 0uJEOncp2BjxKTCdvgmVbO5bQ= Received: from localhost.localdomain (unknown []) by gzga-smtp-mtada-g1-1 (Coremail) with SMTP id _____wC3vJ4CXStoPbk5Cg--.56045S4; Tue, 20 May 2025 00:32:04 +0800 (CST) From: Hans Zhang <18255117159@163.com> To: bhelgaas@google.com, lpieralisi@kernel.org, kw@linux.com, krzk+dt@kernel.org, manivannan.sadhasivam@linaro.org, ilpo.jarvinen@linux.intel.com, jingoohan1@gmail.com Cc: robh@kernel.org, linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org, Hans Zhang <18255117159@163.com> Subject: [PATCH 2/3] PCI: dwc: Simplify link speed configuration with macro Date: Tue, 20 May 2025 00:31:55 +0800 Message-Id: <20250519163156.217567-3-18255117159@163.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20250519163156.217567-1-18255117159@163.com> References: <20250519163156.217567-1-18255117159@163.com> 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 X-CM-TRANSID: _____wC3vJ4CXStoPbk5Cg--.56045S4 X-Coremail-Antispam: 1Uf129KBjvJXoW7WFW5ZFWUuryxuF1fXF4ruFg_yoW8Xw1Dpa y3AFy8AF48JF43uFs0ga4kXa4UXFnxGFWDGFZ8W3Z3XFy2yasxX3W0yrySq34akFZ2yr1a 9r17JrWUG3W7tFUanT9S1TB71UUUUU7qnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDUYxBIdaVFxhVjvjDU0xZFpf9x0zEGYLLUUUUU= X-CM-SenderInfo: rpryjkyvrrlimvzbiqqrwthudrp/xtbBDxlSo2grV+Vn7wAAse Content-Type: text/plain; charset="utf-8" Replace switch-case based speed-to-register conversion in DesignWare driver with the newly introduced PCIE_SPEED2LNKCTL2_TLS_ENC macro. Signed-off-by: Hans Zhang <18255117159@163.com> --- drivers/pci/controller/dwc/pcie-designware.c | 18 +++--------------- 1 file changed, 3 insertions(+), 15 deletions(-) diff --git a/drivers/pci/controller/dwc/pcie-designware.c b/drivers/pci/con= troller/dwc/pcie-designware.c index 97d76d3dc066..951e2ce69dfa 100644 --- a/drivers/pci/controller/dwc/pcie-designware.c +++ b/drivers/pci/controller/dwc/pcie-designware.c @@ -754,24 +754,12 @@ static void dw_pcie_link_set_max_speed(struct dw_pcie= *pci) ctrl2 =3D dw_pcie_readl_dbi(pci, offset + PCI_EXP_LNKCTL2); ctrl2 &=3D ~PCI_EXP_LNKCTL2_TLS; =20 - switch (pcie_link_speed[pci->max_link_speed]) { - case PCIE_SPEED_2_5GT: - link_speed =3D PCI_EXP_LNKCTL2_TLS_2_5GT; - break; - case PCIE_SPEED_5_0GT: - link_speed =3D PCI_EXP_LNKCTL2_TLS_5_0GT; - break; - case PCIE_SPEED_8_0GT: - link_speed =3D PCI_EXP_LNKCTL2_TLS_8_0GT; - break; - case PCIE_SPEED_16_0GT: - link_speed =3D PCI_EXP_LNKCTL2_TLS_16_0GT; - break; - default: + link_speed =3D pcie_link_speed[pci->max_link_speed]; + link_speed =3D PCIE_SPEED2LNKCTL2_TLS_ENC(link_speed); + if (link_speed =3D=3D 0) { /* Use hardware capability */ link_speed =3D FIELD_GET(PCI_EXP_LNKCAP_SLS, cap); ctrl2 &=3D ~PCI_EXP_LNKCTL2_HASD; - break; } =20 dw_pcie_writel_dbi(pci, offset + PCI_EXP_LNKCTL2, ctrl2 | link_speed); --=20 2.25.1 From nobody Fri Dec 19 14:37:02 2025 Received: from m16.mail.163.com (m16.mail.163.com [117.135.210.2]) by smtp.subspace.kernel.org (Postfix) with ESMTP id F168D28851F; Mon, 19 May 2025 16:32:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=117.135.210.2 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1747672358; cv=none; b=oALR6JTPHU56XzEGa2+QHOdiwjf+8pMfE+LPp3oWu0ELAtNKP1WaNeBLKG4nPtI63In07g6a/EDu9ZumcEWRpLllf6Ibk9r+EOhApTKgfP2+whzfM2DJguIi41eRUIsaItFpSsFR0/S7khGDMniJndKWQcsKG2Yk5CdHOjUtobQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1747672358; c=relaxed/simple; bh=PXNCiJ5xoO/xCmMEKbAoMNDvhrwKWD3uo/0LaRx0nvY=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=UJcex4eQo9ayMbxc/EUwkLo57loCVJJuN2TzNLW8dglQ68iqVzTChpTnYqG4+UnGvAREApefmuZ373zMbyGHPF9lHz3+c/ALcw0jiojKxO4MOT3DEo98I/tmTJneaXuoQ5SsiKa+G+X9DD4AFd6RUUgBqXn83EacXp64DfP2MHk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=163.com; spf=pass smtp.mailfrom=163.com; dkim=pass (1024-bit key) header.d=163.com header.i=@163.com header.b=lgcWPvCX; arc=none smtp.client-ip=117.135.210.2 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=163.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=163.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=163.com header.i=@163.com header.b="lgcWPvCX" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=163.com; s=s110527; h=From:To:Subject:Date:Message-Id:MIME-Version; bh=ck 1FJ/X8Z/gmDk70VFd/aZnFUDoMaQAgbxAZxJENzgg=; b=lgcWPvCXC7fVj89HHt Pi4wr6F+OS0WYhkgY6dDYIHIjWmlP93S9H35zeXFSxTn5xHC/Mc9BtYK9P/eJDZ9 UYqr02U2zPl0+ZOsQmJ63tFZUMAN1sDTIoh3sYN6CCYiO9ZlhUqAXxa00h+MWP7q 5MEDrstcEMDQjFADOOlAPuMcM= Received: from localhost.localdomain (unknown []) by gzga-smtp-mtada-g1-1 (Coremail) with SMTP id _____wC3vJ4CXStoPbk5Cg--.56045S5; Tue, 20 May 2025 00:32:05 +0800 (CST) From: Hans Zhang <18255117159@163.com> To: bhelgaas@google.com, lpieralisi@kernel.org, kw@linux.com, krzk+dt@kernel.org, manivannan.sadhasivam@linaro.org, ilpo.jarvinen@linux.intel.com, jingoohan1@gmail.com Cc: robh@kernel.org, linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org, Hans Zhang <18255117159@163.com> Subject: [PATCH 3/3] PCI/bwctrl: Replace legacy speed conversion with shared macro Date: Tue, 20 May 2025 00:31:56 +0800 Message-Id: <20250519163156.217567-4-18255117159@163.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20250519163156.217567-1-18255117159@163.com> References: <20250519163156.217567-1-18255117159@163.com> 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 X-CM-TRANSID: _____wC3vJ4CXStoPbk5Cg--.56045S5 X-Coremail-Antispam: 1Uf129KBjvJXoW7try3CrWruw1fGw4xWw13twb_yoW8Ar4fpa 9xZr1UAry8Aw15CrZ0g3WvqFyUXFnxJrWUC3yfW3s5XFyfA395Ga4ayFWrtryaqrZIkry8 Can8JF48Gw17KaUanT9S1TB71UUUUU7qnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDUYxBIdaVFxhVjvjDU0xZFpf9x0zRvtC-UUUUU= X-CM-SenderInfo: rpryjkyvrrlimvzbiqqrwthudrp/xtbBDxxSo2grV+Vn8AABsF Content-Type: text/plain; charset="utf-8" Remove obsolete pci_bus_speed2lnkctl2() function and utilize the common PCIE_SPEED2LNKCTL2_TLS_ENC macro instead. Signed-off-by: Hans Zhang <18255117159@163.com> --- drivers/pci/pcie/bwctrl.c | 19 +------------------ 1 file changed, 1 insertion(+), 18 deletions(-) diff --git a/drivers/pci/pcie/bwctrl.c b/drivers/pci/pcie/bwctrl.c index d8d2aa85a229..3e17f6366a69 100644 --- a/drivers/pci/pcie/bwctrl.c +++ b/drivers/pci/pcie/bwctrl.c @@ -63,23 +63,6 @@ static bool pcie_valid_speed(enum pci_bus_speed speed) return (speed >=3D PCIE_SPEED_2_5GT) && (speed <=3D PCIE_SPEED_64_0GT); } =20 -static u16 pci_bus_speed2lnkctl2(enum pci_bus_speed speed) -{ - static const u8 speed_conv[] =3D { - [PCIE_SPEED_2_5GT] =3D PCI_EXP_LNKCTL2_TLS_2_5GT, - [PCIE_SPEED_5_0GT] =3D PCI_EXP_LNKCTL2_TLS_5_0GT, - [PCIE_SPEED_8_0GT] =3D PCI_EXP_LNKCTL2_TLS_8_0GT, - [PCIE_SPEED_16_0GT] =3D PCI_EXP_LNKCTL2_TLS_16_0GT, - [PCIE_SPEED_32_0GT] =3D PCI_EXP_LNKCTL2_TLS_32_0GT, - [PCIE_SPEED_64_0GT] =3D PCI_EXP_LNKCTL2_TLS_64_0GT, - }; - - if (WARN_ON_ONCE(!pcie_valid_speed(speed))) - return 0; - - return speed_conv[speed]; -} - static inline u16 pcie_supported_speeds2target_speed(u8 supported_speeds) { return __fls(supported_speeds); @@ -101,7 +84,7 @@ static u16 pcie_bwctrl_select_speed(struct pci_dev *port= , enum pci_bus_speed spe u8 desired_speeds, supported_speeds; struct pci_dev *dev; =20 - desired_speeds =3D GENMASK(pci_bus_speed2lnkctl2(speed_req), + desired_speeds =3D GENMASK(PCIE_SPEED2LNKCTL2_TLS_ENC(speed_req), __fls(PCI_EXP_LNKCAP2_SLS_2_5GB)); =20 supported_speeds =3D port->supported_speeds; --=20 2.25.1