linux/drivers/phy
Nicolas Frattaroli 4688bb13da phy: rockchip-pcie: switch to FIELD_PREP_WM16 macro
The era of hand-rolled HIWORD_UPDATE macros is over, at least for those
drivers that use constant masks.

The Rockchip PCIe PHY driver, used on the RK3399, has its own definition
of HIWORD_UPDATE.

Remove it, and replace instances of it with hw_bitfield.h's
FIELD_PREP_WM16. To achieve this, some mask defines are reshuffled, as
FIELD_PREP_WM16 uses the mask as both the mask of bits to write and to
derive the shift amount from in order to shift the value.

In order to ensure that the mask is always a constant, the inst->index
shift is performed after the FIELD_PREP_WM16, as this is a runtime
value.

>From this, we gain compile-time error checking, and in my humble opinion
nicer code, as well as a single definition of this macro across the
entire codebase to aid in code comprehension.

Tested on a RK3399 ROCKPro64, where PCIe still works as expected when
accessing an NVMe drive.

Signed-off-by: Nicolas Frattaroli <nicolas.frattaroli@collabora.com>
Reviewed-by: Heiko Stuebner <heiko@sntech.de>
Signed-off-by: Yury Norov (NVIDIA) <yury.norov@gmail.com>
History 2025-09-22 15:52:44 -04:00
..
allwinner power: supply: core: rename power_supply_get_by_phandle to power_supply_get_by_reference 2025-06-22 02:04:30 +02:00
amlogic phy: amlogic: phy-meson-axg-pcie: Fix PHY creation order in axg-pcie probe 2025-04-11 17:07:15 +05:30
broadcom phy: drop probe registration printks 2025-06-16 22:54:21 +05:30
cadence phy: cadence-torrent: Add PCIe multilink + USB with same SSC register config for 100 MHz refclk 2025-06-16 22:37:19 +05:30
freescale phy: freescale: fsl-samsung-hdmi: Improve LUT search for best clock 2025-05-14 12:15:51 +01:00
hisilicon phy: HiSilicon: Don't use "proxy" headers 2024-12-08 21:36:59 +05:30
ingenic phy: Explicitly include correct DT includes 2023-07-17 11:52:56 +05:30
intel phy: Switch back to struct platform_driver::remove() 2024-10-17 20:33:03 +05:30
lantiq phy: constify of_phandle_args in xlate 2024-02-23 17:43:14 +05:30
marvell phy: drop probe registration printks 2025-06-16 22:54:21 +05:30
mediatek phy: mediatek: tphy: Cleanup and document slew calibration 2025-06-26 16:33:42 -07:00
microchip phy: PHY_LAN966X_SERDES should depend on SOC_LAN966 || MCHP_LAN966X_PCI 2025-02-14 18:04:57 +05:30
motorola phy: mapphone-mdm6600: use gpiod_multi_set_value_cansleep 2025-02-17 14:27:34 +01:00
mscc phy: constify of_phandle_args in xlate 2024-02-23 17:43:14 +05:30
nuvoton phy: nuvoton: add new driver for the Nuvoton MA35 SoC USB 2.0 PHY 2024-08-29 23:52:37 +05:30
qualcomm phy: qcom: phy-qcom-m31: Update IPQ5332 M31 USB phy initialization sequence 2025-07-22 19:00:06 +05:30
ralink phy: constify of_phandle_args in xlate 2024-02-23 17:43:14 +05:30
realtek USB / Thunderbolt (USB4) changes for 6.13-rc1 2024-11-29 11:19:31 -08:00
renesas phy-for-6.16 2025-06-05 08:20:21 -07:00
rockchip phy: rockchip-pcie: switch to FIELD_PREP_WM16 macro 2025-09-22 15:52:44 -04:00
samsung phy: exynos-mipi-video: correct cam0 sysreg property name for exynos7870 2025-07-22 18:44:51 +05:30
socionext phy: constify of_phandle_args in xlate 2024-02-23 17:43:14 +05:30
st phy: drop probe registration printks 2025-06-16 22:54:21 +05:30
starfive phy: starfive: jh7110-usb: Fix USB 2.0 host occasional detection failure 2025-05-14 09:45:12 +01:00
sunplus phy: sunplus: return negative error code in sp_usb_phy_probe 2023-11-27 18:39:18 +05:30
tegra phy: tegra: xusb: Fix unbalanced regulator disable in UTMI PHY mode 2025-06-15 19:48:56 +05:30
ti phy: drop probe registration printks 2025-06-16 22:54:21 +05:30
xilinx phy-zynqmp: Postpone getting clock rate until actually needed 2025-05-14 09:48:01 +01:00
Kconfig phy: phy-snps-eusb2: add support for exynos2200 2025-05-14 11:43:38 +01:00
Makefile phy: move phy-qcom-snps-eusb2 out of its vendor sub-directory 2025-05-14 11:43:37 +01:00
phy-airoha-pcie-regs.h phy: airoha: Fix REG_CSR_2L_RX{0,1}_REV0 definitions 2024-10-17 20:52:48 +05:30
phy-airoha-pcie.c phy: airoha: Fix REG_CSR_2L_JCPLL_SDM_HREN config in airoha_pcie_phy_init_ssc_jcpll() 2024-10-17 20:52:48 +05:30
phy-can-transceiver.c phy: can-transceiver: Re-instate "mux-states" property presence check 2025-04-11 17:00:15 +05:30
phy-core-mipi-dphy.c phy: dphy: add support to calculate the timing based on hs_clk_rate 2022-10-27 14:38:04 +03:00
phy-core.c phy: use per-PHY lockdep keys 2025-06-15 21:19:08 +05:30
phy-lgm-usb.c phy: Switch back to struct platform_driver::remove() 2024-10-17 20:33:03 +05:30
phy-lpc18xx-usb-otg.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
phy-nxp-ptn3222.c phy: add NXP PTN3222 eUSB2 to USB2 redriver 2024-10-17 20:48:27 +05:30
phy-pistachio-usb.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 422 2019-06-05 17:37:15 +02:00
phy-snps-eusb2.c phy-for-6.17 2025-08-01 12:31:50 -07:00
phy-xgene.c phy: constify of_phandle_args in xlate 2024-02-23 17:43:14 +05:30