openwrt/target/linux
Ansuel Smith bc0ca20ca9 ipq806x: fix bug in L2 cache scaling
It has been notice a buf in L2 cache scaling where the scaling is not
done proprely if the frequency is set to the initial state before
the new frequency.

From: https://patchwork.kernel.org/patch/10565443/

* The clocks are set to aux clock rate first to make sure the
* secondary mux is not sourcing off of QSB. The rate is then set to
* two different rates to force a HFPLL reinit under all
* circumstances.

In the initial stage of boot to force a new frequency to apply, is
needed to first set the frequency back to the lowest one (aux_rate)
and then to the target one. This force and make sure the controller
actually switch the frequency to the right one. Apply the same
mechanism to L2 frequency scaling. Before scaling to the target
frequency, first set the frequency to the aux_rate to force the
transition, then scale it to the target frequency. Doing the wrong way
can produce unexpected results and could lock the scaling mechanism
until a full reboot is done (Causing a full reset by the krait-cc driver)

From: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=77612720a2362230af726baa4149c40ec7a7fb05

When the Hfplls are reprogrammed during the rate change,
the primary muxes which are sourced from the same hfpll
for higher frequencies, needs to be switched to the 'safe
secondary mux' as the parent for that small window. This
is done by registering a clk notifier for the muxes and
switching to the safe parent in the PRE_RATE_CHANGE notifier
and back to the original parent in the POST_RATE_CHANGE notifier.

This should apply also to L2 scaling... as we can't relly use
the notifier, we manually do this on L2 scaling.

Tested-By: Marc Benoit <marcb62185@gmail.com> [19.07: R7800]
Tested-by: Stefan Lippers-Hollmann <s.l-h@gmx.de> [nbg6817/ipq8065]
Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
(cherry picked from commit 5ab9c0b388)
2020-02-23 08:27:32 +01:00
..
apm821xx kernel: bump 4.14 to 4.14.169 2020-02-04 18:11:26 +01:00
ar71xx kernel: bump 4.14 to 4.14.167 2020-01-24 13:17:32 +01:00
arc770 treewide: use wpad-basic for not small flash targets 2018-10-16 15:07:41 +01:00
archs38 treewide: use wpad-basic for not small flash targets 2018-10-16 15:07:41 +01:00
armvirt kernel: Remove CONFIG_COMPAT 2019-05-11 17:15:41 +02:00
at91 at91: disable legacy PTYs and virtual terminals 2019-12-17 11:27:20 +02:00
ath25 treewide: sysupgrade: use $UPGRADE_BACKUP to check for backup 2019-09-16 05:57:08 +02:00
ath79 ath79: ar934x: use reset for usb-phy-analog 2020-02-23 08:27:32 +01:00
bcm53xx bcm53xx: build images for Luxul ABR-4500 and XBR-4500 routers 2020-02-07 12:09:27 +01:00
brcm47xx brcm47xx: fix switch port order for Netgear WN2500RP V1 2020-01-21 13:55:25 +01:00
brcm63xx kernel: bump 4.14 to 4.14.169 2020-02-04 18:11:26 +01:00
brcm2708 kernel: bump 4.14 to 4.14.169 2020-02-04 18:11:26 +01:00
cns3xxx kernel: bump 4.14 to 4.14.156 2019-11-29 10:00:35 +01:00
gemini kernel: bump 4.14 to 4.14.156 2019-11-29 10:00:35 +01:00
generic kernel: add missing symbol 2020-02-05 18:24:39 +01:00
imx6 treewide: remove 4.19 leftovers 2019-10-08 12:45:13 +02:00
ipq40xx ipq40xx: use ath10k-ct-smallbuffers for 128 MiB devices 2019-12-26 16:19:58 +01:00
ipq806x ipq806x: fix bug in L2 cache scaling 2020-02-23 08:27:32 +01:00
kirkwood kirkwood: fix HDD LED labels for Zyxel NSA325 in 01_leds 2020-01-21 13:55:03 +01:00
lantiq kernel: bump 4.14 to 4.14.159 2019-12-24 15:29:32 +01:00
layerscape kernel: bump 4.14 to 4.14.169 2020-02-04 18:11:26 +01:00
malta malta: remove CONFIG_LEGACY_PTY from kernel config 2019-12-17 11:27:30 +02:00
mediatek kernel: bump 4.14 to 4.14.169 2020-02-04 18:11:26 +01:00
mpc85xx mpc85xx: remove CONFIG_LEGACY_PTY from kernel config 2019-12-17 11:27:20 +02:00
mvebu kernel: bump 4.14 to 4.14.160 2019-12-25 15:51:43 +01:00
mxs kernel: bump 4.14 to 4.14.156 2019-11-29 10:00:35 +01:00
octeon treewide: remove 4.19 leftovers 2019-10-08 12:45:13 +02:00
octeontx kernel: bump 4.14 to 4.14.160 2019-12-25 15:51:43 +01:00
omap treewide: use new procd sysupgrade $UPGRADE_BACKUP variable 2019-09-12 13:27:29 +02:00
oxnas oxnas: disable legacy PTYs and virtual terminals 2019-12-17 11:27:12 +02:00
pistachio kernel: bump 4.14 to 4.14.91 2019-01-07 17:09:06 +01:00
ramips ramips: append tail to WF2881 initramfs image 2020-02-21 14:12:30 +01:00
rb532 kernel: bump 4.14 to 4.14.86 2018-12-10 11:48:44 +01:00
samsung kernel: Do not set CONFIG_DEVMEM or CONFIG_DEVKMEM 2019-05-11 17:15:41 +02:00
sunxi kernel: bump 4.14 to 4.14.169 2020-02-04 18:11:26 +01:00
tegra treewide: remove 4.19 leftovers 2019-10-08 12:45:13 +02:00
uml uml: remove CONFIG_LEGACY_PTY from kernel config 2019-12-17 11:27:16 +02:00
x86 x86: fix missing led variable warning during boot 2020-01-06 08:40:06 +01:00
zynq zynq: make title consistent for all devices 2019-05-17 21:41:43 +02:00
Makefile