]> git.baikalelectronics.ru Git - uboot.git/commit
mips: mt76xx: Remove cache workaround and select SYS_MALLOC_CLEAR_ON_INIT
authorStefan Roese <sr@denx.de>
Thu, 23 May 2019 05:55:54 +0000 (07:55 +0200)
committerDaniel Schwierzeck <daniel.schwierzeck@gmail.com>
Fri, 24 May 2019 13:55:17 +0000 (15:55 +0200)
commit9098b682bada2b37110332a908bce28c7cc9a979
treeb882dbe8c550e3a4c961fc43dd9ed52e0be20a13
parent49c5d91777d48e7f33e293100f25b3fef8986f0e
mips: mt76xx: Remove cache workaround and select SYS_MALLOC_CLEAR_ON_INIT

With commit 6644dfa93f24 ("watchdog: Implement generic watchdog_reset()
version") the init sequence has changed in arch_misc_init(), resulting
in a re-appearance of the d-cache issue on MT7688 boards (e.g. gardena).
When this happens, the first (or sometimes later ones as well) TFTP
command hangs and does not complete correctly. This leads to the
assumption that the d-cache is not in a clean state once the ethernet
driver is called (d-cache is used here for the buffers). The old work-
around with the cache flush somehow does not work any more now with
the new code change.

To fix this issue, this patch now removes the old workaround and selects
CONFIG_SYS_MALLOC_CLEAR_ON_INIT for ARCH_MTMIPS. With this option the
complete malloc area is initialized with zeros (cache lines are touched).
Testing has shown that this also fixes the issue on the MT7688 boards.

Signed-off-by: Stefan Roese <sr@denx.de>
Suggested-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Cc: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
arch/mips/Kconfig
arch/mips/mach-mtmips/cpu.c