]> git.baikalelectronics.ru Git - arm-tf.git/commitdiff
Tegra: fiq_glue: remove bakery locks from interrupt handler
authorVarun Wadekar <vwadekar@nvidia.com>
Fri, 6 Jul 2018 17:39:32 +0000 (10:39 -0700)
committerVarun Wadekar <vwadekar@nvidia.com>
Mon, 9 Mar 2020 22:25:15 +0000 (15:25 -0700)
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: Varun Wadekar <vwadekar@nvidia.com>
plat/nvidia/tegra/common/tegra_fiq_glue.c

index 8e198ae7659dd3fcf9e43c3601687e8e6e098956..dee99fb131fc3f60d69910c3108a0a8c1ab96e48 100644 (file)
@@ -1,5 +1,6 @@
 /*
  * 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
  */
@@ -12,7 +13,6 @@
 #include <common/debug.h>
 #include <context.h>
 #include <denver.h>
-#include <lib/bakery_lock.h>
 #include <lib/el3_runtime/context_mgmt.h>
 #include <plat/common/platform.h>
 
@@ -25,8 +25,6 @@
 /* Legacy FIQ used by earlier Tegra platforms */
 #define LEGACY_FIQ_PPI_WDT             28U
 
-static DEFINE_BAKERY_LOCK(tegra_fiq_lock);
-
 /*******************************************************************************
  * Static variables
  ******************************************************************************/
@@ -57,8 +55,6 @@ static uint64_t tegra_fiq_interrupt_handler(uint32_t 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
         * been registered
@@ -107,8 +103,6 @@ static uint64_t tegra_fiq_interrupt_handler(uint32_t id,
                plat_ic_end_of_interrupt(irq);
        }
 
-       bakery_lock_release(&tegra_fiq_lock);
-
        return 0;
 }