[PATCH v2 34/44] x86: apl: Fix save/restore of ITSS priorities

Bin Meng bmeng.cn at gmail.com
Mon Jul 13 07:58:03 CEST 2020


On Wed, Jul 8, 2020 at 11:34 AM Simon Glass <sjg at chromium.org> wrote:
>
> 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 at chromium.org>
> ---
>
> Changes in v2:
> - Add mention of why log_msg_ret() is dropped
>
>  arch/x86/cpu/apollolake/fsp_s.c    | 11 +++++------
>  arch/x86/cpu/cpu.c                 | 13 +++++++++++++
>  arch/x86/cpu/intel_common/itss.c   | 25 +++++++++++++++++++++++--
>  arch/x86/include/asm/global_data.h |  1 +
>  arch/x86/include/asm/itss.h        |  2 +-
>  drivers/misc/irq-uclass.c          |  2 +-
>  6 files changed, 44 insertions(+), 10 deletions(-)
>

Reviewed-by: Bin Meng <bmeng.cn at gmail.com>


More information about the U-Boot mailing list