[PATCH v1 0/6] Migrate watchdog reset to cyclic infrastructure
Stefan Roese
sr at denx.de
Fri Sep 16 09:21:59 CEST 2022
On 02.09.22 14:10, Stefan Roese wrote:
> This patchset migrates the watchdog triggering (WATCHDOG_RESET calls)
> to the newly introduced cyclic execution framework. For this, the
> watchdog driver now registers a cyclic execution function for each
> WDT device that needs to get serviced. Additionally the cyclic IF is
> a bit extended to also support the CONFIG_HW_WATCHDOG users. It might
> make sense to deprecate this HW_WATCHDOG usage at some point.
>
> Please note that this migration work is based on the cyclic execution
> infrastructure, which I posted in the last few weeks. So these cyclic
> patches need to be applied for this migration to work.
>
> Some further cleanup and improvements are possible after this patch.
> E.g. Heinrich mentioned that the WATCHDOG_RESET call locations need to
> get improved / changed in some places.
>
> I've pushed a working branch here for anyone who wants to do some
> testing with this patchset:
>
> https://source.denx.de/u-boot/custodians/u-boot-watchdog/-/commits/cyclic-v5-watchdog-migration-to-cyclic-v1-2022-09-02
>
> Here the log from octeon_ebb7304 compiled on this branch:
>
> U-Boot 2022.10-rc3-00063-g1050cb3e6d8e (Aug 29 2022 - 07:57:07 +0200)
>
> SoC: Octeon CN73xx (16 cores)
> Model: cavium,ebb7304
> DRAM: 256 MiB (16 GiB total)
> Core: 31 devices, 24 uclasses, devicetree: separate
> WDT: Started interrupt-controller at 1010000000000 with servicing all 1000ms (60s timeout)
> Flash: 8 MiB
> MMC: octeontx-mmc0: 0, octeontx-mmc1: 1
> Loading Environment from Flash... OK
> QLM 0: PCIe gen3 root complex, x4 lanes
> QLM 2: SGMII
> QLM 3: XLAUI
> QLM 5: SGMII
> Net: eth0: ethernet-mac-nexus at 11800e0000000
> => cyclic list
> function: interrupt-controller at 1010000000000, cpu-time: 4 us, frequency: 1.11 times/s
> => wdt list
> interrupt-controller at 1010000000000 (wdt_octeontx)
>
> Any comments and suggestions are welcome.
>
> Thanks,
> Stefan
>
> Stefan Roese (6):
> watchdog: Integrate watchdog triggering into the cyclic framework
> cyclic: Introduce schedule() function
> cyclic: Use schedule() instead of WATCHDOG_RESET()
> watchdog: Get rid of ASSEMBLY hacks
> watchdog: Remove WATCHDOG_RESET macro
> watchdog: Further cleanup
>
> arch/arm/mach-at91/phy.c | 2 +-
> arch/arm/mach-imx/i2c-mxv7.c | 2 +-
> arch/arm/mach-socfpga/spl_a10.c | 8 +-
> .../cmd_stm32prog/stm32prog_serial.c | 6 +-
> arch/m68k/lib/time.c | 2 +-
> arch/powerpc/cpu/mpc8xx/cpu_init.c | 2 +-
> arch/powerpc/lib/bootm.c | 6 +-
> arch/powerpc/lib/cache.c | 2 +-
> arch/powerpc/lib/interrupts.c | 2 +-
> arch/powerpc/lib/ticks.S | 5 +-
> board/astro/mcf5373l/fpga.c | 4 +-
> board/dhelectronics/dh_stm32mp1/board.c | 2 +-
> board/liebherr/display5/spl.c | 2 +-
> board/nokia/rx51/rx51.c | 2 +-
> board/st/stm32mp1/stm32mp1.c | 2 +-
> boot/bootretry.c | 2 +-
> boot/image-board.c | 2 +-
> cmd/fastboot.c | 2 +-
> cmd/mem.c | 16 ++--
> cmd/usb_mass_storage.c | 2 +-
> cmd/ximg.c | 2 +-
> common/board_f.c | 4 +-
> common/board_r.c | 2 +-
> common/cli_readline.c | 4 +-
> common/console.c | 2 +-
> common/cyclic.c | 11 +++
> common/dfu.c | 2 +-
> common/lcd.c | 10 +--
> common/menu.c | 6 +-
> common/usb_kbd.c | 2 +-
> common/xyzModem.c | 2 +-
> drivers/block/ide.c | 8 +-
> drivers/crypto/aspeed/aspeed_hace.c | 2 +-
> drivers/crypto/hash/hash_sw.c | 2 +-
> drivers/ddr/altera/sdram_arria10.c | 4 +-
> drivers/ddr/altera/sdram_n5x.c | 4 +-
> drivers/ddr/altera/sdram_soc64.c | 2 +-
> drivers/fpga/intel_sdm_mb.c | 8 +-
> drivers/fpga/socfpga_arria10.c | 8 +-
> drivers/i2c/mxc_i2c.c | 4 +-
> drivers/mmc/octeontx_hsmmc.c | 12 +--
> drivers/mmc/sh_mmcif.c | 6 +-
> drivers/mmc/stm32_sdmmc2.c | 2 +-
> drivers/mtd/cfi_flash.c | 4 +-
> drivers/mtd/nand/core.c | 2 +-
> drivers/mtd/nand/raw/atmel_nand.c | 6 +-
> drivers/mtd/nand/raw/nand_base.c | 10 +--
> drivers/mtd/nand/raw/nand_util.c | 6 +-
> drivers/mtd/nand/spi/core.c | 4 +-
> drivers/mtd/onenand/onenand_base.c | 4 +-
> drivers/mtd/spi/spi-nor-core.c | 4 +-
> drivers/net/octeontx2/nix.c | 2 +-
> drivers/net/octeontx2/nix_af.c | 32 ++++----
> drivers/ram/stm32mp1/stm32mp1_tests.c | 2 +-
> drivers/serial/atmel_usart.c | 2 +-
> drivers/serial/ns16550.c | 6 +-
> drivers/serial/serial-uclass.c | 2 +-
> drivers/serial/serial_bcm283x_mu.c | 2 +-
> drivers/serial/serial_lpuart.c | 8 +-
> drivers/serial/serial_mpc8xx.c | 4 +-
> drivers/serial/serial_mt7620.c | 2 +-
> drivers/serial/serial_mtk.c | 4 +-
> drivers/serial/serial_mxc.c | 6 +-
> drivers/serial/serial_octeon_bootcmd.c | 2 +-
> drivers/serial/serial_octeon_pcie_console.c | 4 +-
> drivers/serial/serial_pl01x.c | 8 +-
> drivers/serial/serial_sifive.c | 2 +-
> drivers/serial/serial_zynq.c | 2 +-
> drivers/spi/mtk_snfi_spi.c | 2 +-
> drivers/spi/octeon_spi.c | 2 +-
> drivers/spi/stm32_qspi.c | 2 +-
> drivers/timer/mpc83xx_timer.c | 4 +-
> drivers/usb/eth/lan7x.h | 4 +-
> drivers/usb/gadget/f_acm.c | 4 +-
> drivers/usb/gadget/f_sdp.c | 4 +-
> drivers/usb/host/ehci-hcd.c | 2 +-
> drivers/usb/musb-new/musb_uboot.c | 2 +-
> drivers/video/video_bmp.c | 4 +-
> drivers/watchdog/Kconfig | 2 +
> drivers/watchdog/wdt-uclass.c | 73 +++++++++++--------
> env/common.c | 2 +-
> fs/cramfs/uncompress.c | 3 +-
> fs/jffs2/jffs2_1pass.c | 2 +-
> include/cyclic.h | 12 +++
> include/linux/compat.h | 2 +-
> include/wait_bit.h | 2 +-
> include/watchdog.h | 68 +----------------
> lib/bzip2/bzlib.c | 2 +-
> lib/bzip2/bzlib_decompress.c | 8 +-
> lib/crc32.c | 2 +-
> lib/efi_loader/efi_boottime.c | 4 +-
> lib/gunzip.c | 2 +-
> lib/lzma/LzmaDec.c | 16 ++--
> lib/lzma/LzmaTools.c | 2 +-
> lib/md5.c | 2 +-
> lib/sha1.c | 2 +-
> lib/sha256.c | 2 +-
> lib/sha512.c | 4 +-
> lib/time.c | 2 +-
> lib/zlib/inflate.c | 8 +-
> net/net.c | 2 +-
> post/cpu/mpc83xx/ecc.c | 2 +-
> post/drivers/memory.c | 36 ++++-----
> post/lib_powerpc/cpu.c | 16 ++--
> post/lib_powerpc/fpu/fpu.c | 4 +-
> post/post.c | 4 +-
> test/common/cyclic.c | 2 +-
> test/dm/wdt.c | 9 ++-
> 108 files changed, 306 insertions(+), 333 deletions(-)
>
Applied to u-boot-watchdog/next
Thanks,
Stefan
More information about the U-Boot
mailing list