Commit f6178686 authored by Varun Wadekar's avatar Varun Wadekar
Browse files

Tegra: fiq_glue: remove bakery locks from interrupt handler



This patch removes usage of bakery_locks from the FIQ handler, as it
creates unnecessary dependency whenever the watchdog timer interrupt
fires. All operations inside the interrupt handler are 'reads', so
no need for serialization.

Change-Id: I3f675e610e4dabc5b1435fdd24bc28e424f5a8e4
Signed-off-by: default avatarVarun Wadekar <vwadekar@nvidia.com>
parent 41554fb2
/* /*
* Copyright (c) 2016-2020, ARM Limited and Contributors. All rights reserved. * Copyright (c) 2016-2020, ARM Limited and Contributors. All rights reserved.
* Copyright (c) 2020, NVIDIA Corporation. All rights reserved.
* *
* SPDX-License-Identifier: BSD-3-Clause * SPDX-License-Identifier: BSD-3-Clause
*/ */
...@@ -12,7 +13,6 @@ ...@@ -12,7 +13,6 @@
#include <common/debug.h> #include <common/debug.h>
#include <context.h> #include <context.h>
#include <denver.h> #include <denver.h>
#include <lib/bakery_lock.h>
#include <lib/el3_runtime/context_mgmt.h> #include <lib/el3_runtime/context_mgmt.h>
#include <plat/common/platform.h> #include <plat/common/platform.h>
...@@ -25,8 +25,6 @@ ...@@ -25,8 +25,6 @@
/* Legacy FIQ used by earlier Tegra platforms */ /* Legacy FIQ used by earlier Tegra platforms */
#define LEGACY_FIQ_PPI_WDT 28U #define LEGACY_FIQ_PPI_WDT 28U
static DEFINE_BAKERY_LOCK(tegra_fiq_lock);
/******************************************************************************* /*******************************************************************************
* Static variables * Static variables
******************************************************************************/ ******************************************************************************/
...@@ -57,8 +55,6 @@ static uint64_t tegra_fiq_interrupt_handler(uint32_t id, ...@@ -57,8 +55,6 @@ static uint64_t tegra_fiq_interrupt_handler(uint32_t id,
*/ */
irq = plat_ic_get_pending_interrupt_id(); irq = plat_ic_get_pending_interrupt_id();
bakery_lock_get(&tegra_fiq_lock);
/* /*
* Jump to NS world only if the NS world's FIQ handler has * Jump to NS world only if the NS world's FIQ handler has
* been registered * been registered
...@@ -107,8 +103,6 @@ static uint64_t tegra_fiq_interrupt_handler(uint32_t id, ...@@ -107,8 +103,6 @@ static uint64_t tegra_fiq_interrupt_handler(uint32_t id,
plat_ic_end_of_interrupt(irq); plat_ic_end_of_interrupt(irq);
} }
bakery_lock_release(&tegra_fiq_lock);
return 0; return 0;
} }
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment