]> git.baikalelectronics.ru Git - uboot.git/commit
x86: apl: Fix save/restore of ITSS priorities
authorSimon Glass <sjg@chromium.org>
Fri, 17 Jul 2020 03:22:30 +0000 (21:22 -0600)
committerBin Meng <bmeng.cn@gmail.com>
Fri, 17 Jul 2020 06:32:24 +0000 (14:32 +0800)
commit7f29cfa96ec6d752423a36c882833f4d905f239f
treee83c7d924f0f22e3d2e5c4feee61442b0f23435c
parent3369d2cd689d9f5572271330f050ba73bb8c2a1a
x86: apl: Fix save/restore of ITSS priorities

The FSP-S changes the ITSS priorities. The code that tries to save it
before running FSP-S and restore it afterwards does not work as U-Boot
relocates in between the save and restore. This means that the driver
data saved before relocation is lost and the new driver just sees zeroes.

Fix this by allocating space in the relocated memory for the ITSS data.
Save it there and access it from the driver after relocation.

This fixes interrupt handling on coral.

Also drop the log_msg_ret() in irq_first_device_type() since this function
can be called speculatively in places where we are not sure if there is
an interrupt controller of that type. The resulting log errors are
confusing when there is no error.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Wolfgang Wallner <wolfgang.wallner@br-automation.com>
arch/x86/cpu/apollolake/fsp_s.c
arch/x86/cpu/cpu.c
arch/x86/cpu/intel_common/itss.c
arch/x86/include/asm/global_data.h
arch/x86/include/asm/itss.h
drivers/misc/irq-uclass.c