Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge branch 'remotes/lorenzo/pci/tegra'

- Revert tegra RAW fixup that caused a regression (Nicolas Chauvet)

- Remove PLL power supplies from tegra driver and DT binding (Thierry
Reding)

* remotes/lorenzo/pci/tegra:
PCI: tegra: Remove PLL power supplies
dt-bindings: pci: tegra: Remove PLL power supplies
PCI: tegra: Revert tegra124 raw_violation_fixup

+2 -52
-12
Documentation/devicetree/bindings/pci/nvidia,tegra20-pcie.txt
··· 112 112 - Required: 113 113 - avddio-pex-supply: Power supply for analog PCIe logic. Must supply 1.05 V. 114 114 - dvddio-pex-supply: Power supply for digital PCIe I/O. Must supply 1.05 V. 115 - - avdd-pex-pll-supply: Power supply for dedicated (internal) PCIe PLL. Must 116 - supply 1.05 V. 117 115 - hvdd-pex-supply: High-voltage supply for PCIe I/O and PCIe output clocks. 118 - Must supply 3.3 V. 119 - - hvdd-pex-pll-e-supply: High-voltage supply for PLLE (shared with USB3). 120 116 Must supply 3.3 V. 121 117 - vddio-pex-ctl-supply: Power supply for PCIe control I/O partition. Must 122 118 supply 2.8-3.3 V. 123 - - avdd-pll-erefe-supply: Power supply for PLLE (shared with USB3). Must 124 - supply 1.05 V. 125 119 126 120 Power supplies for Tegra210: 127 121 - Required: 128 - - avdd-pll-uerefe-supply: Power supply for PLLE (shared with USB3). Must 129 - supply 1.05 V. 130 122 - hvddio-pex-supply: High-voltage supply for PCIe I/O and PCIe output 131 123 clocks. Must supply 1.8 V. 132 124 - dvddio-pex-supply: Power supply for digital PCIe I/O. Must supply 1.05 V. 133 - - dvdd-pex-pll-supply: Power supply for dedicated (internal) PCIe PLL. Must 134 - supply 1.05 V. 135 - - hvdd-pex-pll-e-supply: High-voltage supply for PLLE (shared with USB3). 136 - Must supply 3.3 V. 137 125 - vddio-pex-ctl-supply: Power supply for PCIe control I/O partition. Must 138 126 supply 1.8 V. 139 127
+2 -40
drivers/pci/controller/pci-tegra.c
··· 181 181 182 182 #define AFI_PEXBIAS_CTRL_0 0x168 183 183 184 - #define RP_PRIV_XP_DL 0x00000494 185 - #define RP_PRIV_XP_DL_GEN2_UPD_FC_TSHOLD (0x1ff << 1) 186 - 187 - #define RP_RX_HDR_LIMIT 0x00000e00 188 - #define RP_RX_HDR_LIMIT_PW_MASK (0xff << 8) 189 - #define RP_RX_HDR_LIMIT_PW (0x0e << 8) 190 - 191 184 #define RP_ECTL_2_R1 0x00000e84 192 185 #define RP_ECTL_2_R1_RX_CTLE_1C_MASK 0xffff 193 186 ··· 316 323 bool program_uphy; 317 324 bool update_clamp_threshold; 318 325 bool program_deskew_time; 319 - bool raw_violation_fixup; 320 326 bool update_fc_timer; 321 327 bool has_cache_bars; 322 328 struct { ··· 649 657 value &= ~RP_VEND_CTL0_DSK_RST_PULSE_WIDTH_MASK; 650 658 value |= RP_VEND_CTL0_DSK_RST_PULSE_WIDTH; 651 659 writel(value, port->base + RP_VEND_CTL0); 652 - } 653 - 654 - /* Fixup for read after write violation. */ 655 - if (soc->raw_violation_fixup) { 656 - value = readl(port->base + RP_RX_HDR_LIMIT); 657 - value &= ~RP_RX_HDR_LIMIT_PW_MASK; 658 - value |= RP_RX_HDR_LIMIT_PW; 659 - writel(value, port->base + RP_RX_HDR_LIMIT); 660 - 661 - value = readl(port->base + RP_PRIV_XP_DL); 662 - value |= RP_PRIV_XP_DL_GEN2_UPD_FC_TSHOLD; 663 - writel(value, port->base + RP_PRIV_XP_DL); 664 - 665 - value = readl(port->base + RP_VEND_XP); 666 - value &= ~RP_VEND_XP_UPDATE_FC_THRESHOLD_MASK; 667 - value |= soc->update_fc_threshold; 668 - writel(value, port->base + RP_VEND_XP); 669 660 } 670 661 671 662 if (soc->update_fc_timer) { ··· 2000 2025 pcie->supplies[i++].supply = "hvdd-pex"; 2001 2026 pcie->supplies[i++].supply = "vddio-pexctl-aud"; 2002 2027 } else if (of_device_is_compatible(np, "nvidia,tegra210-pcie")) { 2003 - pcie->num_supplies = 6; 2028 + pcie->num_supplies = 3; 2004 2029 2005 2030 pcie->supplies = devm_kcalloc(pcie->dev, pcie->num_supplies, 2006 2031 sizeof(*pcie->supplies), ··· 2008 2033 if (!pcie->supplies) 2009 2034 return -ENOMEM; 2010 2035 2011 - pcie->supplies[i++].supply = "avdd-pll-uerefe"; 2012 2036 pcie->supplies[i++].supply = "hvddio-pex"; 2013 2037 pcie->supplies[i++].supply = "dvddio-pex"; 2014 - pcie->supplies[i++].supply = "dvdd-pex-pll"; 2015 - pcie->supplies[i++].supply = "hvdd-pex-pll-e"; 2016 2038 pcie->supplies[i++].supply = "vddio-pex-ctl"; 2017 2039 } else if (of_device_is_compatible(np, "nvidia,tegra124-pcie")) { 2018 - pcie->num_supplies = 7; 2040 + pcie->num_supplies = 4; 2019 2041 2020 2042 pcie->supplies = devm_kcalloc(dev, pcie->num_supplies, 2021 2043 sizeof(*pcie->supplies), ··· 2022 2050 2023 2051 pcie->supplies[i++].supply = "avddio-pex"; 2024 2052 pcie->supplies[i++].supply = "dvddio-pex"; 2025 - pcie->supplies[i++].supply = "avdd-pex-pll"; 2026 2053 pcie->supplies[i++].supply = "hvdd-pex"; 2027 - pcie->supplies[i++].supply = "hvdd-pex-pll-e"; 2028 2054 pcie->supplies[i++].supply = "vddio-pex-ctl"; 2029 - pcie->supplies[i++].supply = "avdd-pll-erefe"; 2030 2055 } else if (of_device_is_compatible(np, "nvidia,tegra30-pcie")) { 2031 2056 bool need_pexa = false, need_pexb = false; 2032 2057 ··· 2385 2416 .program_uphy = true, 2386 2417 .update_clamp_threshold = false, 2387 2418 .program_deskew_time = false, 2388 - .raw_violation_fixup = false, 2389 2419 .update_fc_timer = false, 2390 2420 .has_cache_bars = true, 2391 2421 .ectl.enable = false, ··· 2414 2446 .program_uphy = true, 2415 2447 .update_clamp_threshold = false, 2416 2448 .program_deskew_time = false, 2417 - .raw_violation_fixup = false, 2418 2449 .update_fc_timer = false, 2419 2450 .has_cache_bars = false, 2420 2451 .ectl.enable = false, ··· 2426 2459 .pads_pll_ctl = PADS_PLL_CTL_TEGRA30, 2427 2460 .tx_ref_sel = PADS_PLL_CTL_TXCLKREF_BUF_EN, 2428 2461 .pads_refclk_cfg0 = 0x44ac44ac, 2429 - /* FC threshold is bit[25:18] */ 2430 - .update_fc_threshold = 0x03fc0000, 2431 2462 .has_pex_clkreq_en = true, 2432 2463 .has_pex_bias_ctrl = true, 2433 2464 .has_intr_prsnt_sense = true, ··· 2435 2470 .program_uphy = true, 2436 2471 .update_clamp_threshold = true, 2437 2472 .program_deskew_time = false, 2438 - .raw_violation_fixup = true, 2439 2473 .update_fc_timer = false, 2440 2474 .has_cache_bars = false, 2441 2475 .ectl.enable = false, ··· 2458 2494 .program_uphy = true, 2459 2495 .update_clamp_threshold = true, 2460 2496 .program_deskew_time = true, 2461 - .raw_violation_fixup = false, 2462 2497 .update_fc_timer = true, 2463 2498 .has_cache_bars = false, 2464 2499 .ectl = { ··· 2499 2536 .program_uphy = false, 2500 2537 .update_clamp_threshold = false, 2501 2538 .program_deskew_time = false, 2502 - .raw_violation_fixup = false, 2503 2539 .update_fc_timer = false, 2504 2540 .has_cache_bars = false, 2505 2541 .ectl.enable = false,