openwrt/target/linux
Ansuel Smith 5ab9c0b388 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: Stefan Lippers-Hollmann <s.l-h@gmx.de> [nbg6817/ipq8065]
Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
2019-12-26 08:31:41 +01:00
..
apm821xx kernel: bump 4.19 to 4.19.90 2019-12-24 15:34:43 +01:00
ar7 kernel: bump 4.9 to 4.9.207 2019-12-24 18:04:32 +01:00
ar71xx kernel: bump 4.14 to 4.14.159 2019-12-24 01:22:45 +01:00
arc770 treewide: remove kmod-usb-core from DEVICE_PACKAGES 2019-10-06 21:28:49 +02:00
archs38 treewide: remove kmod-usb-core from DEVICE_PACKAGES 2019-10-06 21:28:49 +02:00
armvirt treewide: Remove self from MAINTAINER entries 2019-12-23 13:18:04 -08:00
at91 at91: disable legacy PTYs and virtual terminals 2019-12-09 20:14:17 +01:00
ath25 ath25: split up DEVICE_TITLE 2019-10-19 13:16:57 +02:00
ath79 ath79: tp-link: use ath10k-ct-smallbuffers for 64 MiB devices 2019-12-25 11:59:16 +01:00
bcm53xx bcm53xx: sysupgrade: support Luxul NAND devices 2019-10-15 20:23:04 +02:00
brcm47xx brcm47xx: add switch configuration for WNR3500L 2019-12-08 00:21:36 +01:00
brcm63xx kernel: bump 4.19 to 4.19.85 2019-11-22 16:56:46 +01:00
brcm2708 brcm2708: fix malformed patch 2019-12-25 02:48:25 +01:00
cns3xxx kernel: bump 4.19 to 4.19.86 2019-11-29 09:59:49 +01:00
gemini kernel: Deactivate CONFIG_SFP in generic config 2019-12-23 15:25:36 +01:00
generic kernel: bump 4.9 to 4.9.207 2019-12-24 18:04:32 +01:00
imx6 kernel: Deactivate CONFIG_SFP in generic config 2019-12-23 15:25:36 +01:00
ipq40xx kernel: Deactivate CONFIG_SFP in generic config 2019-12-23 15:25:36 +01:00
ipq806x ipq806x: fix bug in L2 cache scaling 2019-12-26 08:31:41 +01:00
ixp4xx kernel: bump 4.9 to 4.9.207 2019-12-24 18:04:32 +01:00
kirkwood kirkwood: remove CONFIG_LEGACY_PTY from kernel config 2019-12-09 20:14:20 +01:00
lantiq kernel: bump 4.19 to 4.19.90 2019-12-24 15:34:43 +01:00
layerscape kernel: bump 4.14 to 4.14.160 2019-12-24 17:45:54 +01:00
malta treewide: Remove self from MAINTAINER entries 2019-12-23 13:18:04 -08:00
mediatek kernel: bump 4.19 to 4.19.88 2019-12-10 09:50:42 +01:00
mpc85xx mpc85xx: add support for Enterasys WS-AP3710i 2019-12-13 22:40:19 +01:00
mvebu kernel: bump 4.14 to 4.14.160 2019-12-24 17:45:54 +01:00
mxs treewide: kernel config: remove runtime options 2019-11-24 14:19:43 +01:00
octeon octeon: fix sysupgrade 2019-11-30 20:19:12 +02:00
octeontx kernel: bump 4.14 to 4.14.160 2019-12-24 17:45:54 +01:00
omap omap: switch from uEnv.txt to generic distro booting 2019-11-20 10:46:19 +01:00
orion orion: replace backticks by $(...) 2019-09-29 00:46:13 +02:00
oxnas kernel: bump 4.14 to 4.14.158 2019-12-10 09:50:42 +01:00
pistachio pistachio: split up DEVICE_TITLE 2019-10-12 23:37:00 +02:00
ramips ramips: add label MAC address for Mikrotik RB750Gr3 2019-12-23 02:24:55 +01:00
rb532 rb532: split up DEVICE_TITLE 2019-10-19 13:16:57 +02:00
samsung samsung: split up DEVICE_TITLE 2019-09-11 15:17:09 +02:00
sunxi sunxi: rename SUNXI_SOC to SOC 2019-12-20 01:18:44 +01:00
tegra x86,tegra,mvebu: image: use common reproducible IMG_PART_SIGNATURE 2019-11-11 16:37:13 +01:00
uml treewide: Remove self from MAINTAINER entries 2019-12-23 13:18:04 -08:00
x86 kernel: bump 4.19 to 4.19.90 2019-12-24 15:34:43 +01:00
zynq treewide: kernel config: remove runtime options 2019-11-24 14:19:43 +01:00
Makefile