u-boot-brain/cmd
Patrice Chotard c2a2123e33 cmd: cache: Fix non-cached memory cachability
If dcache is switched OFF to ON state and if non-cached memory is
used, this non-cached memory must be re-declared as uncached to mmu
each time dcache is set ON.

Introduce noncached_set_region() to set this non-cached region's mmu
settings. Let architecture override it by defining it as a weak
function.

For ARM architecture, noncached_set_region() defines all noncached
region as non-cacheable.

Issue found on STM32MP1 platform using dwc_eth_qos ethernet driver,
when going from dcache OFF to dcache ON state, ethernet driver issued
TX timeout errors when performing dhcp or ping.

It can be reproduced with the following sequence:

dhcp
while true ; do
  ping 192.168.1.300 ;
  dcache off ;
  ping 192.168.1.300 ;
  dcache on ;
done

Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
Cc: Marek Vasut <marex@denx.de>
Cc: Joe Hershberger <joe.hershberger@ni.com>
Cc: Ramon Fried <rfried.dev@gmail.com>
Cc: Stephen Warren <swarren@nvidia.com>
Reviewed-by: Marek Vasut <marex@denx.de>
2020-05-07 09:01:42 -04:00
..
arm cmd: add exception command 2019-04-22 12:06:39 -04:00
mvebu cmd: mvebu: bubt: fix quoted string split across lines 2020-05-04 07:04:04 +02:00
riscv cmd: add exception command 2019-04-22 12:06:39 -04:00
ti common: Move RAM-sizing functions to init.h 2020-01-17 14:02:35 -05:00
x86 x86: Update the fsp command for FSP2 2019-12-15 11:44:19 +08:00
.gitignore cmd: rework "license" command 2017-02-08 15:56:28 -05:00
ab_select.c cmd: Add 'ab_select' command 2019-07-24 13:16:29 -04:00
abootimg.c cmd: abootimg: Add abootimg command 2020-02-04 09:07:24 +05:30
acpi.c acpi: Add an acpi command 2020-04-30 17:16:12 +08:00
adc.c cmd: adc: Use the sub-command infrastructure 2019-01-15 15:28:54 -05:00
adtimg.c cmd: adtimg: Refactor usage style 2020-01-10 14:18:26 -05:00
aes.c aes: add support of aes192 and aes256 2020-01-17 10:15:49 -05:00
armflash.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
avb.c cmd: avb: Support A/B slots 2019-10-31 07:22:53 -04:00
axi.c cmd: Add axi command 2018-08-11 09:16:08 +02:00
bcb.c cmd: bcb: Apply non-functional refinements 2019-07-24 13:16:29 -04:00
bdinfo.c cmd: Add an indication of 32/64-bit to bdinfo 2020-05-04 15:28:28 +08:00
bedbug.c cmd/bedbug.c: Make bedbug_init have a return value 2020-05-01 11:34:01 -04:00
bind.c cmd: Add bind/unbind commands to bind a device to a driver from the command line 2018-08-21 16:21:37 +02:00
binop.c env: Move env_set() to env.h 2019-08-11 16:43:41 -04:00
blk_common.c cmd/blk_common: clarify no partition error message 2020-01-16 09:39:45 -05:00
blkcache.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
blob.c env: Drop environment.h header file where not needed 2019-08-11 16:43:41 -04:00
bmp.c common: Move the image globals into image.h 2020-01-17 14:02:35 -05:00
boot.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
bootcount.c bootcount: Add bootcount command 2018-05-23 17:30:05 -04:00
bootefi.c efi_loader: remove superfluous NULL check in bootefi.c 2020-04-30 10:25:07 +02:00
booti.c image: Add compressed Image parsing support in booti. 2020-04-17 12:32:36 -04:00
bootm.c image: Rename load_addr, save_addr, save_size 2020-01-17 14:02:35 -05:00
bootmenu.c env: Move env_get() to env.h 2019-08-11 16:43:41 -04:00
bootstage.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
bootz.c common: Move the image globals into image.h 2020-01-17 14:02:35 -05:00
btrfs.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
cache.c cmd: cache: Fix non-cached memory cachability 2020-05-07 09:01:42 -04:00
cbfs.c cbfs: Move result variable into the struct 2019-08-18 21:54:10 +08:00
clk.c clk: support clk tree dump 2019-08-22 00:10:09 +02:00
cls.c cmd: add clear screen 'cls' command 2018-12-04 19:44:57 +01:00
config.c common: Move gzip functions into a new gzip header 2019-08-11 16:43:41 -04:00
conitrace.c cmd: add conitrace command 2018-09-25 21:49:18 -04:00
console.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
cpu.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
cramfs.c common: Move the image globals into image.h 2020-01-17 14:02:35 -05:00
cros_ec.c cros_ec: Update cros_ec_read_hash() to specify the image 2018-10-09 04:40:27 -06:00
dataflash_mmc_mux.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
date.c cmd: date: Do not overwrite arguments 2019-02-19 08:55:43 -05:00
demo.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
dfu.c dfu: Add optional timeout parameter 2020-01-07 14:37:50 +01:00
diag.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
disk.c common: Move the image globals into image.h 2020-01-17 14:02:35 -05:00
dm.c cmd: Add test and fix bugs for dm drivers 2020-04-09 09:18:56 -04:00
echo.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
eeprom.c cmd: eeprom: Staticize eeprom_i2c_bus 2020-04-20 06:47:54 +02:00
efi.c common: Move sorting functions to their own header file 2019-12-02 18:23:08 -05:00
efidebug.c cmd: efidebug: simplify UEFI protocol calls 2020-05-04 12:26:11 +02:00
elf.c lib: elf: Move the generic elf loading/validating functions to lib 2020-03-03 13:08:14 +05:30
ethsw.c net: Always build the string_to_enetaddr() helper 2019-12-09 09:47:41 -06:00
exit.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
ext2.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
ext4.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
fastboot.c cmd: fastboot: handle watchdog while waiting for fastboot commands. 2019-03-16 13:29:43 +01:00
fat.c cmd: fat: remove unused includes 2020-04-17 12:32:36 -04:00
fdt.c fdt: Fix 'system' command 2020-04-16 08:07:58 -06:00
fitupd.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
flash.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
fpga.c env: Move env_get() to env.h 2019-08-11 16:43:41 -04:00
fpgad.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
fs_uuid.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
fs.c fs: do_load: pass device path for efi payload 2019-06-20 22:26:20 +00:00
fuse.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
gettime.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
gpio.c cmd: gpio: Make gpio input return pin value again 2020-03-13 09:30:30 -04:00
gpt.c cmd/gpt: avoid NULL check before free() 2020-05-01 11:34:01 -04:00
hash.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
help.c Drop linker-generated array creation when CONFIG_CMDLINE is disabled 2019-07-29 09:32:09 -04:00
host.c dm: core: Create a new header file for 'compat' features 2020-02-05 19:33:46 -07:00
i2c.c crc32: Use the crc.h header for crc functions 2019-12-02 18:23:08 -05:00
ide.c Drop PCMCIA 2019-08-11 19:27:41 -04:00
ini.c env: Drop environment.h header file where not needed 2019-08-11 16:43:41 -04:00
io.c iod: Enhance to support display of multiple values 2019-10-08 13:57:44 +08:00
iotrace.c iotrace: fix behaviour when buffer is full 2018-06-18 14:02:04 -04:00
irq.c common: Move enable/disable_interrupts out of common.h 2019-12-02 18:25:01 -05:00
itest.c cmd: itest: add support for .q size specifier 2019-10-11 19:05:14 -04:00
jffs2.c common: Move the image globals into image.h 2020-01-17 14:02:35 -05:00
Kconfig acpi: Add an acpi command 2020-04-30 17:16:12 +08:00
led.c cmd/led.c: fix typos in online help 2019-06-21 10:07:11 -04:00
legacy_led.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
legacy-mtd-utils.c cmd: nand/sf: isolate legacy code 2019-12-04 17:10:51 -05:00
legacy-mtd-utils.h cmd: nand/sf: isolate legacy code 2019-12-04 17:10:51 -05:00
license.c common: Move gzip functions into a new gzip header 2019-08-11 16:43:41 -04:00
load.c common: Move the image globals into image.h 2020-01-17 14:02:35 -05:00
log.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
lzmadec.c env: Move env_set_hex() to env.h 2019-08-11 16:43:41 -04:00
mac.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
Makefile acpi: Add an acpi command 2020-04-30 17:16:12 +08:00
md5sum.c env: Move env_set() to env.h 2019-08-11 16:43:41 -04:00
mdio.c net: mdio: Clarify code flow Covarity 244085 & 244090 2019-09-04 11:37:18 -05:00
mem.c CMD: random: fix return code 2020-04-27 14:55:29 -04:00
mfsl.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
mii.c cmd: mii: Add the standard 1000BASE-T registers 2019-07-15 13:32:25 -05:00
misc.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
mmc.c cmd: mmc: provide boot area protection command 2020-04-22 20:41:55 +08:00
mp.c common: Move older CPU functions to their own header 2019-12-02 18:23:06 -05:00
mtd.c dm: core: Require users of devres to include the header 2020-02-05 19:33:46 -07:00
mtdparts.c cmd: mtdparts: Fix build with option ..._SHOW_NET_SIZES 2019-11-07 18:01:13 -05:00
nand.c common: Move the image globals into image.h 2020-01-17 14:02:35 -05:00
net.c common: Move the image globals into image.h 2020-01-17 14:02:35 -05:00
nvedit_efi.c cmd: env: add "-at" option to "env set -e" command 2020-04-16 08:12:47 +02:00
nvedit.c cmd: env: add "-at" option to "env set -e" command 2020-04-16 08:12:47 +02:00
nvme.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
onenand.c cmd/onenand.c: block align warning 2016-10-06 20:57:42 -04:00
osd.c cmd: Add osd commands 2018-09-28 18:27:33 +02:00
part.c cmd: part: number: return hexadecimal value 2019-10-04 12:21:23 -04:00
pcap.c net: introduce packet capture support 2019-09-04 11:37:19 -05:00
pci.c cmd: pci: Adjust display of digits for 64bit address and size 2019-08-26 11:46:28 -04:00
pinmux.c cmd: pinmux: Fix warnings when compiling with W=1 2019-07-12 11:50:57 +02:00
pmc.c x86: sandbox: Add a PMC emulator and test 2019-12-15 11:44:11 +08:00
pmic.c pmic: allow dump command for non contiguous register maps 2020-01-27 19:54:20 -05:00
pxe_utils.c cmd: pxe: execute the cls command only when supported 2020-01-22 17:49:25 -05:00
pxe_utils.h cmd: Prepare sysboot command independence 2019-12-06 16:44:18 -05:00
pxe.c common: Move functions for loading from fat/ext2 to fs.h 2020-01-17 13:26:49 -05:00
qfw.c env: Move env_set() to env.h 2019-08-11 16:43:41 -04:00
read.c cmd/read.c: Fix checking blk_dread return value 2017-08-20 09:54:30 -04:00
reginfo.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
regulator.c cmd: add missing line breaks for pr_err() 2018-06-07 20:06:29 -04:00
reiser.c image: Rename load_addr, save_addr, save_size 2020-01-17 14:02:35 -05:00
remoteproc.c cmd: remoteproc: Allow list command to print the probed devices 2019-07-26 21:49:24 -04:00
rng.c dm: core: Create a new header file for 'compat' features 2020-02-05 19:33:46 -07:00
rockusb.c rockchip: use 'arch-rockchip' as header file path 2019-05-01 00:00:05 +02:00
sata.c cmd: sata: Add block unbind device function 2020-01-27 19:54:20 -05:00
sb.c spl: Add support for passing handoff info to U-Boot proper 2018-11-26 08:25:37 -05:00
scsi.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
setexpr.c env: Move env_set_hex() to env.h 2019-08-11 16:43:41 -04:00
sf.c cmd: nand/sf: isolate legacy code 2019-12-04 17:10:51 -05:00
sha1sum.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
smccc.c arm64: Add SMC and HVC commands 2018-05-08 09:07:35 -04:00
sound.c dm: sound: Complete migration to driver model 2018-12-13 16:36:41 -07:00
source.c common: Rename and move source() 2020-01-17 14:02:35 -05:00
spi.c cmd: spi: Permit setting bus frequency 2020-01-27 22:27:21 +05:30
spl.c env: Move env_set_hex() to env.h 2019-08-11 16:43:41 -04:00
strings.c Remove the cmd_ prefix from command files 2016-01-25 10:39:43 -05:00
sysboot.c cmd: sysboot: Fix checkpatch WARNING/CHECK 2019-12-06 16:44:19 -05:00
terminal.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
test.c cmd: avoid decimal conversion 2019-10-11 15:33:27 -04:00
thordown.c thor: fix error path after g_dnl_register() failure 2019-10-31 12:12:31 +01:00
time.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
tlv_eeprom.c cmd: add tlv_eeprom command 2020-01-21 15:56:15 +01:00
tpm_test.c common: Move reset_cpu() to the CPU header 2020-01-17 14:02:31 -05:00
tpm-common.c dm: core: Create a new header file for 'compat' features 2020-02-05 19:33:46 -07:00
tpm-user-utils.h cmd: tpm: add a subcommand device 2020-02-05 19:33:46 -07:00
tpm-v1.c cmd: tpm: add a subcommand device 2020-02-05 19:33:46 -07:00
tpm-v2.c cmd: tpm: add a subcommand device 2020-02-05 19:33:46 -07:00
trace.c env: Move env_set_hex() to env.h 2019-08-11 16:43:41 -04:00
tsi148.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
ubi.c cmd: ubi: add a command to rename volume 2020-04-20 06:34:56 +02:00
ubifs.c cmd: ubifs: Factor out some checking codes into cmd_ubifs_mount() 2018-09-28 20:22:32 -04:00
ufs.c cmd: Add Support for UFS commands 2019-10-23 20:47:12 -04:00
universe.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
unlz4.c cmd: Add unlz4 command 2020-04-17 12:32:12 -04:00
unzip.c env: Move env_set_hex() to env.h 2019-08-11 16:43:41 -04:00
usb_gadget_sdp.c usb: gadget: error out if g_dnl registration fails 2019-06-14 12:39:50 +02:00
usb_mass_storage.c dm: core: Create a new header file for 'compat' features 2020-02-05 19:33:46 -07:00
usb.c usb: Make portspeed return a read-only string 2019-04-09 13:11:45 +02:00
version.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
virtio.c virtio: cmd: Add virtio command for virtio devices 2018-11-14 09:16:27 -08:00
w1.c w1: add command for onewire protocol 2018-09-28 20:22:36 -04:00
wdt.c cmd: add wdt command 2019-04-12 07:04:18 +02:00
wol.c net: Add new wol command - Wake on LAN 2018-07-02 14:14:20 -05:00
ximg.c dm: core: Create a new header file for 'compat' features 2020-02-05 19:33:46 -07:00
yaffs2.c Remove the cmd_ prefix from command files 2016-01-25 10:39:43 -05:00
zfs.c zfs: remove unused buf variable 2020-01-23 07:29:58 -05:00
zip.c env: Move env_set_hex() to env.h 2019-08-11 16:43:41 -04:00