1. 20 May, 2020 1 commit
    • Varun Wadekar's avatar
      Tegra: enable SDEI handling · d886628d
      Varun Wadekar authored
      
      
      This patch enables SDEI support for all Tegra platforms, with
      the following configuration settings.
      
      * SGI 8 as the source IRQ
      * Special Private Event 0
      * Three private, dynamic events
      * Three shared, dynamic events
      * Twelve general purpose explicit events
      
      Verified using TFTF SDEI test suite.
      
      ******************************* Summary *******************************
       Test suite 'SDEI'                                               Passed
       =================================
       Tests Skipped : 0
       Tests Passed  : 5
       Tests Failed  : 0
       Tests Crashed : 0
       Total tests   : 5
       =================================
      Signed-off-by: default avatarVarun Wadekar <vwadekar@nvidia.com>
      Change-Id: I1922069931a7876a4594e53260ee09f2e4f09390
      d886628d
  2. 01 Apr, 2020 1 commit
  3. 09 Mar, 2020 1 commit
  4. 03 Mar, 2020 1 commit
  5. 31 Jan, 2019 2 commits
  6. 18 Jan, 2019 1 commit
    • Anthony Zhou's avatar
      Tegra: common: fix defects flagged by MISRA scan · 4c994002
      Anthony Zhou authored
      
      
      Macro assert(e) request 'e' is a bool type, if useing other
      type, MISRA report a "The Essential Type Model" violation,
      Add a judgement to fix the defects, if 'e' is not bool type.
      
      Remove unused code [Rule 2.5]
      Fix the essential type model violation [Rule 10.6, 10.7]
      Use local parameter to raplace function parameter [Rule 17.8]
      
      Change-Id: Ifce932addbb0a4b063ef6b38349d886c051d81c0
      Signed-off-by: default avatarAnthony Zhou <anzhou@nvidia.com>
      4c994002
  7. 16 Jan, 2019 1 commit
  8. 04 Jan, 2019 1 commit
    • Antonio Nino Diaz's avatar
      Sanitise includes across codebase · 09d40e0e
      Antonio Nino Diaz authored
      Enforce full include path for includes. Deprecate old paths.
      
      The following folders inside include/lib have been left unchanged:
      
      - include/lib/cpus/${ARCH}
      - include/lib/el3_runtime/${ARCH}
      
      The reason for this change is that having a global namespace for
      includes isn't a good idea. It defeats one of the advantages of having
      folders and it introduces problems that are sometimes subtle (because
      you may not know the header you are actually including if there are two
      of them).
      
      For example, this patch had to be created because two headers were
      called the same way: e0ea0928 ("Fix gpio includes of mt8173 platform
      to avoid collision."). More recently, this patch has had similar
      problems: 46f9b2c3 ("drivers: add tzc380 support").
      
      This problem was introduced in commit 4ecca339
      
       ("Move include and
      source files to logical locations"). At that time, there weren't too
      many headers so it wasn't a real issue. However, time has shown that
      this creates problems.
      
      Platforms that want to preserve the way they include headers may add the
      removed paths to PLAT_INCLUDES, but this is discouraged.
      
      Change-Id: I39dc53ed98f9e297a5966e723d1936d6ccf2fc8f
      Signed-off-by: default avatarAntonio Nino Diaz <antonio.ninodiaz@arm.com>
      09d40e0e
  9. 28 Sep, 2018 1 commit
  10. 15 Jun, 2017 1 commit
    • Anthony Zhou's avatar
      Tegra: fiq_glue: fix MISRA defects · 5bd1a177
      Anthony Zhou authored
      
      
      Main fixes:
      
      * Added explicit casts (e.g. 0U) to integers in order for them to be
        compatible with whatever operation they're used in [Rule 10.1]
      
      * Convert object type to match the type of function parameters
        [Rule 10.3]
      
      * Added curly braces ({}) around if statements in order to
        make them compound [Rule 15.6]
      
      * Expressions resulting from the expansion of macro parameters
        shall be enclosed in parentheses[Rule 20.7]
      
      Change-Id: I5cf83caafcc1650b545ca731bf3eb8f0bfeb362b
      Signed-off-by: default avatarAnthony Zhou <anzhou@nvidia.com>
      5bd1a177
  11. 03 May, 2017 1 commit
  12. 28 Feb, 2017 2 commits
    • Varun Wadekar's avatar
      Tegra: GIC: differentiate between FIQs targeted towards EL3/S-EL1 · 45eab456
      Varun Wadekar authored
      
      
      This patch modifies the secure IRQ registration process to allow platforms
      to specify the target CPUs as well as the owner of the IRQ. IRQs "owned"
      by the EL3 would return INTR_TYPE_EL3 whereas those owned by the Trusted
      OS would return INTR_TYPE_S_EL1 as a result.
      
      Change-Id: I528f7c8220d0ae0c0f354e78d69e188abb666ef6
      Signed-off-by: default avatarVarun Wadekar <vwadekar@nvidia.com>
      45eab456
    • Varun Wadekar's avatar
      Tegra: implement FIQ interrupt handler · 78e2bd10
      Varun Wadekar authored
      
      
      This patch adds a handler for FIQ interrupts triggered when
      the CPU is in the NS world. The handler stores the NS world's
      context along with ELR_EL3/SPSR_EL3.
      
      The NS world driver issues an SMC initially to register it's
      handler. The monitor firmware stores this handler address and
      jumps to it when the FIQ interrupt fires. Upon entry into the
      NS world the driver then issues another SMC to get the CPU
      context when the FIQ fired. This allows the NS world driver to
      determine the CPU state and call stack when the interrupt
      fired. Generally, systems register watchdog interrupts as FIQs
      which are then used to get the CPU state during hangs/crashes.
      
      Change-Id: I733af61a08d1318c75acedbe9569a758744edd0c
      Signed-off-by: default avatarVarun Wadekar <vwadekar@nvidia.com>
      78e2bd10