1. 22 Mar, 2020 6 commits
    • Varun Wadekar's avatar
      Tegra194: SiP function ID to read SMMU_PER registers · 8f0e22d5
      Varun Wadekar authored
      
      
      This patch introduces SiP function ID, 0xC200FF00, to read SMMU_PER
      error records from all supported SMMU blocks.
      
      The register values are passed over to the client via CPU registers
      X1 - X3, where
      
      X1 = SMMU_PER[instance #1] | SMMU_PER[instance #0]
      X2 = SMMU_PER[instance #3] | SMMU_PER[instance #2]
      X3 = SMMU_PER[instance #5] | SMMU_PER[instance #4]
      
      Change-Id: Id56263f558838ad05f6021f8432e618e99e190fc
      Signed-off-by: default avatarVarun Wadekar <vwadekar@nvidia.com>
      8f0e22d5
    • Ken Chang's avatar
      Tegra: memctrl: map video memory as uncached · 9b51aa87
      Ken Chang authored
      
      
      Memmap video memory as uncached normal memory by adding flag
      'MT_NON_CACHEABLE' in mmap_add_dynamic_region().
      This improves the time taken for clearing the non-overlapping video
      memory:
      
      test conditions: 32MB memory size, EMC running at 1866MHz, t186
      1) without MT_NON_CACHEABLE: 30ms ~ 40ms
      <3>[  133.852885]  vpr-heap: update vpr base to 0x00000000c6000000, size=e000000
      <3>[  133.860471] _tegra_set_vpr_params[120]: begin
      <3>[  133.896481] _tegra_set_vpr_params[123]: end
      <3>[  133.908944]  vpr-heap: update vpr base to 0x00000000c6000000, size=c000000
      <3>[  133.916397] _tegra_set_vpr_params[120]: begin
      <3>[  133.956369] _tegra_set_vpr_params[123]: end
      <3>[  133.970394]  vpr-heap: update vpr base to 0x00000000c6000000, size=a000000
      <3>[  133.977934] _tegra_set_vpr_params[120]: begin
      <3>[  134.013874] _tegra_set_vpr_params[123]: end
      <3>[  134.025666]  vpr-heap: update vpr base to 0x00000000c6000000, size=8000000
      <3>[  134.033512] _tegra_set_vpr_params[120]: begin
      <3>[  134.065996] _tegra_set_vpr_params[123]: end
      <3>[  134.075465]  vpr-heap: update vpr base to 0x00000000c6000000, size=6000000
      <3>[  134.082923] _tegra_set_vpr_params[120]: begin
      <3>[  134.113119] _tegra_set_vpr_params[123]: end
      <3>[  134.123448]  vpr-heap: update vpr base to 0x00000000c6000000, size=4000000
      <3>[  134.130790] _tegra_set_vpr_params[120]: begin
      <3>[  134.162523] _tegra_set_vpr_params[123]: end
      <3>[  134.172413]  vpr-heap: update vpr base to 0x00000000c6000000, size=2000000
      <3>[  134.179772] _tegra_set_vpr_params[120]: begin
      <3>[  134.209142] _tegra_set_vpr_params[123]: end
      
      2) with MT_NON_CACHEABLE: 10ms ~ 18ms
      <3>[  102.108702]  vpr-heap: update vpr base to 0x00000000c6000000, size=e000000
      <3>[  102.116296] _tegra_set_vpr_params[120]: begin
      <3>[  102.134272] _tegra_set_vpr_params[123]: end
      <3>[  102.145839]  vpr-heap: update vpr base to 0x00000000c6000000, size=c000000
      <3>[  102.153226] _tegra_set_vpr_params[120]: begin
      <3>[  102.164201] _tegra_set_vpr_params[123]: end
      <3>[  102.172275]  vpr-heap: update vpr base to 0x00000000c6000000, size=a000000
      <3>[  102.179638] _tegra_set_vpr_params[120]: begin
      <3>[  102.190342] _tegra_set_vpr_params[123]: end
      <3>[  102.197524]  vpr-heap: update vpr base to 0x00000000c6000000, size=8000000
      <3>[  102.205085] _tegra_set_vpr_params[120]: begin
      <3>[  102.216112] _tegra_set_vpr_params[123]: end
      <3>[  102.224080]  vpr-heap: update vpr base to 0x00000000c6000000, size=6000000
      <3>[  102.231387] _tegra_set_vpr_params[120]: begin
      <3>[  102.241775] _tegra_set_vpr_params[123]: end
      <3>[  102.248825]  vpr-heap: update vpr base to 0x00000000c6000000, size=4000000
      <3>[  102.256069] _tegra_set_vpr_params[120]: begin
      <3>[  102.266368] _tegra_set_vpr_params[123]: end
      <3>[  102.273400]  vpr-heap: update vpr base to 0x00000000c6000000, size=2000000
      <3>[  102.280672] _tegra_set_vpr_params[120]: begin
      <3>[  102.290929] _tegra_set_vpr_params[123]: end
      
      Change-Id: I5f604064ce7b8b73ea9ad5860156ae5e2c6cc42a
      Signed-off-by: default avatarKen Chang <kenc@nvidia.com>
      9b51aa87
    • Kalyani Chidambaram's avatar
      Tegra: remove support for USE_COHERENT_MEM · aba5dddc
      Kalyani Chidambaram authored
      
      
      This patch removes the support for 'USE_COHERENT_MEM' as
      Tegra platforms no longer support the feature.
      
      Change-Id: If1c80fc4e5974412572b3bc1fdf9e70b1ee5d4ec
      Signed-off-by: default avatarKalyani Chidambaram <kalyanic@nvidia.com>
      aba5dddc
    • Varun Wadekar's avatar
      Tegra: remove circular dependency with common_def.h · 42080d48
      Varun Wadekar authored
      
      
      This patch stops including common_def.h from platform_def.h to
      fix a circular depoendency between them.
      
      This means platform_def.h now has to define the linker macros:
      * PLATFORM_LINKER_FORMAT
      * PLATFORM_LINKER_ARCH
      
      Change-Id: Icd540b1bd32fb37e0e455e9146c8b7f4b314e012
      Signed-off-by: default avatarVarun Wadekar <vwadekar@nvidia.com>
      42080d48
    • Varun Wadekar's avatar
      Tegra: include missing stdbool.h · a5bfcad8
      Varun Wadekar authored
      
      
      This patch includes the missing stdbool.h header from flowctrl.h
      and bpmp_ivc.c files.
      
      Change-Id: If60d19142b1cb8ae663fbdbdf1ffe45cbbdbc1b2
      Signed-off-by: default avatarVarun Wadekar <vwadekar@nvidia.com>
      a5bfcad8
    • Kalyani Chidambaram's avatar
      Tegra: remove support for SEPARATE_CODE_AND_RODATA=0 · 2bf1085d
      Kalyani Chidambaram authored
      
      
      Tegra platforms will not be supporting SEPARATE_CODE_AND_RODATA=0.
      
      This patch uses the common macros provided by bl_common.h as a result
      and adds a check to assert if SEPARATE_CODE_AND_RODATA set is not set
      to '1'.
      
      Change-Id: I376ea60c00ad69cb855d89418bdb80623f14800e
      Signed-off-by: default avatarKalyani Chidambaram <kalyanic@nvidia.com>
      2bf1085d
  2. 19 Mar, 2020 9 commits
  3. 11 Mar, 2020 9 commits
  4. 09 Mar, 2020 10 commits
  5. 05 Mar, 2020 1 commit
    • Varun Wadekar's avatar
      Tegra: spe: use CONSOLE_T_BASE to save MMIO base address · 9e7e9867
      Varun Wadekar authored
      Commit ac71344e
      
       moved the base address
      for the MMIO aperture of the console inside the console_t struct. As
      a result, the driver should now save the MMIO base address to console_t
      at offset marked by the CONSOLE_T_BASE macro.
      
      This patch updates the SPE console driver to use the CONSOLE_T_BASE macro
      to save/access the MMIO base address.
      Signed-off-by: default avatarVarun Wadekar <vwadekar@nvidia.com>
      Change-Id: I42afc2608372687832932269108ed642f218fd40
      9e7e9867
  6. 03 Mar, 2020 1 commit
  7. 25 Feb, 2020 3 commits
  8. 20 Feb, 2020 1 commit
    • Varun Wadekar's avatar
      Tegra: spe: uninit console on a timeout · 8a47fe43
      Varun Wadekar authored
      
      
      There are chances a denial-of-service attack, if an attacker
      removes the SPE firmware from the system. The console driver
      would end up waiting for the firmware to respond indefinitely.
      The console driver must detect such scenarios and uninit the
      interface as a result.
      
      This patch adds a timeout to the interaction with the SPE
      firmware and uninits the interface if it times out.
      
      Change-Id: I06f27a858baed25711d41105b4110865f1a01727
      Signed-off-by: default avatarVarun Wadekar <vwadekar@nvidia.com>
      8a47fe43