You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
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)
4 years ago
..
apm821xx kernel: bump 4.14 to 4.14.169 4 years ago
ar71xx kernel: bump 4.14 to 4.14.167 4 years ago
arc770 treewide: use wpad-basic for not small flash targets 6 years ago
archs38 treewide: use wpad-basic for not small flash targets 6 years ago
armvirt kernel: Remove CONFIG_COMPAT 5 years ago
at91 at91: disable legacy PTYs and virtual terminals 4 years ago
ath25 treewide: sysupgrade: use $UPGRADE_BACKUP to check for backup 5 years ago
ath79 ath79: ar934x: use reset for usb-phy-analog 4 years ago
bcm53xx bcm53xx: build images for Luxul ABR-4500 and XBR-4500 routers 4 years ago
brcm47xx brcm47xx: fix switch port order for Netgear WN2500RP V1 4 years ago
brcm63xx kernel: bump 4.14 to 4.14.169 4 years ago
brcm2708 kernel: bump 4.14 to 4.14.169 4 years ago
cns3xxx kernel: bump 4.14 to 4.14.156 5 years ago
gemini kernel: bump 4.14 to 4.14.156 5 years ago
generic kernel: add missing symbol 4 years ago
imx6 treewide: remove 4.19 leftovers 5 years ago
ipq40xx ipq40xx: use ath10k-ct-smallbuffers for 128 MiB devices 4 years ago
ipq806x ipq806x: fix bug in L2 cache scaling 4 years ago
kirkwood kirkwood: fix HDD LED labels for Zyxel NSA325 in 01_leds 4 years ago
lantiq kernel: bump 4.14 to 4.14.159 4 years ago
layerscape kernel: bump 4.14 to 4.14.169 4 years ago
malta malta: remove CONFIG_LEGACY_PTY from kernel config 4 years ago
mediatek kernel: bump 4.14 to 4.14.169 4 years ago
mpc85xx mpc85xx: remove CONFIG_LEGACY_PTY from kernel config 4 years ago
mvebu kernel: bump 4.14 to 4.14.160 4 years ago
mxs kernel: bump 4.14 to 4.14.156 5 years ago
octeon treewide: remove 4.19 leftovers 5 years ago
octeontx kernel: bump 4.14 to 4.14.160 4 years ago
omap treewide: use new procd sysupgrade $UPGRADE_BACKUP variable 5 years ago
oxnas oxnas: disable legacy PTYs and virtual terminals 4 years ago
pistachio kernel: bump 4.14 to 4.14.91 5 years ago
ramips ramips: append tail to WF2881 initramfs image 4 years ago
rb532 kernel: bump 4.14 to 4.14.86 6 years ago
samsung kernel: Do not set CONFIG_DEVMEM or CONFIG_DEVKMEM 5 years ago
sunxi kernel: bump 4.14 to 4.14.169 4 years ago
tegra treewide: remove 4.19 leftovers 5 years ago
uml uml: remove CONFIG_LEGACY_PTY from kernel config 4 years ago
x86 x86: fix missing led variable warning during boot 4 years ago
zynq zynq: make title consistent for all devices 5 years ago
Makefile