- 11 Mar, 2020 2 commits
-
-
Pritesh Raithatha authored
SMMU and MC registers are saved as part of the System Suspend sequence. The register list includes some NS world SMMU registers that need to be saved by NS world software instead. All that remains as a result are the MC registers. This patch moves code to MC file as a result and renames all the variables and defines to use the MC prefix instead of SMMU. The Tegra186 and Tegra194 platform ports are updated to provide the MC context register list to the parent driver. The memory required for context save is reduced due to removal of the SMMU registers. Change-Id: I83a05079039f52f9ce91c938ada6cd6dfd9c843f Signed-off-by: Pritesh Raithatha <praithatha@nvidia.com>
-
Pritesh Raithatha authored
The platform code already contains the initial set of MC SID security configs to be locked during boot. This patch adds some more configs to the list. Since the reset value of these registers is already as per expectations, there is no need to change it. MC SID security configs - PTCR, - MIU6R, MIU6W, MIU7R, MIU7W, - MPCORER, MPCOREW, - NVDEC1SRD, NVDEC1SRD1, NVDEC1SWR. Change-Id: Ia9a1f6a6b6d34fb2787298651f7a4792a40b88ab Signed-off-by: Pritesh Raithatha <praithatha@nvidia.com>
-
- 09 Mar, 2020 2 commits
-
-
Pravin authored
This patch adds support for memqual miu 4,5. The MEMQUAL engine has miu0 to miu7 in which miu6 and miu7 is hardwired to bypass SMMU. So only miu0 to miu5 support is provided. Change-Id: Ib350334eec521e65f395f1c3205e2cdaf464ebea Signed-off-by: Pravin <pt@nvidia.com>
-
Stefan Kristiansson authored
As bpmp-fw is running at the same time as ATF, and the mss client reconfiguration sequence involves performing a hot flush resets on bpmp, there is a chance that bpmp-fw is trying to perform accesses while the hot flush is active. Therefore, the mss client reconfigure has been moved to System Suspend resume fw and bootloader, and it can be removed from here. Change-Id: I34019ad12abea9681f5e180af6bc86f2c4c6fc74 Signed-off-by: Stefan Kristiansson <stefank@nvidia.com>
-
- 20 Feb, 2020 1 commit
-
-
Pritesh Raithatha authored
This patch locks most of the stream id security config registers as per HW guidance. This patch keeps the stream id configs unlocked for the following clients, to allow some platforms to still function, until they make the transition to the latest guidance. - ISPRA - ISPFALR - ISPFALW - ISPWA - ISPWA1 - ISPWB - XUSB_DEVR - XUSB_DEVW - XUSB_HOSTR - XUSB_HOSTW - VIW - VIFALR - VIFALW Change-Id: I66192b228a0a237035938f498babc0325764d5df Signed-off-by: Pritesh Raithatha <praithatha@nvidia.com>
-
- 23 Jan, 2020 7 commits
-
-
Pritesh Raithatha authored
PCIE0R1 does not program stream IDs, so allow the stream ID to be overriden by the MC. Change-Id: I4dbd71e1ce24b11e646de421ef68c762818c2667 Signed-off-by: Pritesh Raithatha <praithatha@nvidia.com>
-
Puneet Saxena authored
HW bug in third party PCIE IP - PCIE datapath hangs when there are more than 28 outstanding requests on data backbone for x1 controller. Suggested SW WAR is to limit reorder_depth_limit to 16 for PCIE 1W/2AW/3W clients. Change-Id: Id5448251c35d2a93f66a8b5835ae4044f5cef067 Signed-off-by: Puneet Saxena <puneets@nvidia.com>
-
Pritesh Raithatha authored
-PTCR is ISO client so setting it to FORCE_NON_COHERENT. -MPCORER, MPCOREW and MIU0R/W to MIU7R/W clients itself will provide ordering so no need to override from mc. -MIU0R/W to MIU7R/W clients registers are not implemented in tegrasim so skipping it for simulation. -All the clients need to set CGID_TAG_ADR to maintain request ordering within a 4K boundary. Change-Id: Iaa3189a1f3e40fb4cef28be36bc4baeb5ac8f9ca Signed-off-by: Pritesh Raithatha <praithatha@nvidia.com>
-
Pritesh Raithatha authored
- All SoC clients should use CGID_TAG_ADR to improve perf - Remove tegra194_txn_override_cfgs array that is not getting used. Change-Id: I9130ef5ae8659ed5f9d843ab9a0ecf58b5ce9c74 Signed-off-by: Pritesh Raithatha <praithatha@nvidia.com>
-
Puneet Saxena authored
Memory clients are divided in to ISO/NonISO/Order/Unordered/Low BW/High BW. Based on the client types, HW team recommends, different memory ordering settings, IO coherency settings and SMMU register settings for optimized performance of the MC clients. For example ordered ISO clients should be set as strongly ordered and should bypass SCF and directly access MC hence set as FORCE_NON_COHERENT. Like this there are multiple recommendations for all of the MC clients. This change sets all these MC registers as per HW spec file. Change-Id: I8a8a0887cd86bf6fe8ac7835df6c888855738cd9 Signed-off-by: Puneet Saxena <puneets@nvidia.com> Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
-
Arto Merilainen authored
Due to a hardware bug PVA may perform memory transactions which cause coalescer faults. This change works around the issue by disabling coalescer for PVA0RDC and PVA1RDC. Change-Id: I27d1f6e7bc819fb303dae98079d9277fa346a1d3 Signed-off-by: Arto Merilainen <amerilainen@nvidia.com>
-
Puneet Saxena authored
Force memory transactions from seswr and sesrd as coherent_snoop from no-override. This is necessary as niso clients should use coherent path. Presently its set as FORCE_COHERENT_SNOOP. Once SE+TZ is enabled with SMMU, this needs to be replaced by FORCE_COHERENT. Change-Id: I8b50722de743b9028129b4715769ef93deab73b5 Signed-off-by: Puneet Saxena <puneets@nvidia.com>
-
- 17 Jan, 2020 3 commits
-
-
Krishna Reddy authored
Force memory transactions from viw and viflar/w as non-coherent from no-override. This is necessary as iso clients shouldn't use coherent path and stage-2 smmu mappings won't mark transactions as non-coherent. For native case, no-override works. But, not for virtualization case. Change-Id: I1a8fc17787c8d0f8579bdaeeb719084993e27276 Signed-off-by: Krishna Reddy <vdumpa@nvidia.com>
-
Krishna Reddy authored
Client order id reset values are incorrectly and'ed with mc_client_order_id macro, which resulted in getting reg value as always zero. Updated mc_client_order_id macro to avoid and'ing outside the macro, to take the reg value and update specific bit field as necessary. Change-Id: I880be6e4291d7cd58cf70d7c247a4044e57edd9e Signed-off-by: Krishna Reddy <vdumpa@nvidia.com>
-
Pritesh Raithatha authored
This patch enable the Memory Controller's "Coalescer" feature to improve performance of memory transactions. Change-Id: I50ba0354116284f85d9e170c293ce77e9f3fb4d8 Signed-off-by: Pritesh Raithatha <praithatha@nvidia.com>
-
- 28 Nov, 2019 8 commits
-
-
Steven Kao authored
This patch fixes the logic to check if the previous bootloader has disabled access to the TZDRAM configuration registers. The polarity for the bit was incorrect in the previous check. Change-Id: I7a0ba4f7b1714997508ece904c0261ca2c901a03 Signed-off-by: Steven Kao <skao@nvidia.com>
-
Steven Kao authored
This patch provides the platform with flexibility to perform custom steps during TZDRAM setup. Tegra194 platforms checks if the config registers are locked and TZDRAM setup has already been done by the previous bootloaders, before setting up the fence. Change-Id: Ifee7077d4b46a7031c4568934c63e361c53a12e3 Signed-off-by: Steven Kao <skao@nvidia.com>
-
Puneet Saxena authored
This patch enables IO coherency for SE clients, SEWR and SERD, by overriding their platform settings to "normal_coherent". This setting also converts read/write requests from these SE clients to Normal type. Change-Id: I31ad195ad30ecc9ee785e5e84184cda2eea5c45a Signed-off-by: Puneet Saxena <puneets@nvidia.com> Signed-off-by: Shravani Dingari <shravanid@nvidia.com> Signed-off-by: Jeff Tsai <jefft@nvidia.com>
-
Steven Kao authored
This patch renames all the secure scratch registers to reflect their usage. This is a list of all the macros being renamed: - SECURE_SCRATCH_RSV44_* -> SCRATCH_BOOT_PARAMS_ADDR_* - SECURE_SCRATCH_RSV97 -> SCRATCH_SECURE_BOOTP_FCFG - SECURE_SCRATCH_RSV99_* -> SCRATCH_SMMU_TABLE_ADDR_* - SECURE_SCRATCH_RSV109_* -> SCRATCH_RESET_VECTOR_* Change-Id: I838ece3da39bc4be8f349782e99bac777755fa39 Signed-off-by: Steven Kao <skao@nvidia.com>
-
Anthony Zhou authored
Main fixes: Fix invalid use of function pointer [Rule 1.3] 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] Force operands of an operator to the same type category [Rule 10.4] Fix implicit widening of composite assignment [Rule 10.6] Fixed if statement conditional to be essentially boolean [Rule 14.4] Added curly braces ({}) around if statements in order to make them compound [Rule 15.6] Voided non c-library functions whose return types are not used [Rule 17.7] Change-Id: I65a2b33e59aebb7746bd31544c79d57c3d5678c5 Signed-off-by: Anthony Zhou <anzhou@nvidia.com>
-
Varun Wadekar authored
Introduce platform handlers to reprogram the MSS settings. Change-Id: Ibb9a5457d1bad9ecccea619d69a62bed3bf7d861 Signed-off-by: Puneet Saxena <puneets@nvidia.com> Signed-off-by: Krishna Reddy <vdumpa@nvidia.com> Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
-
Ajay Gupta authored
T194 XUSB has support for XUSB virtualization. It will have one physical function (PF) and four Virtual function (VF) There were below two SIDs for XUSB until T186. 1) #define TEGRA_SID_XUSB_HOST 0x1bU 2) #define TEGRA_SID_XUSB_DEV 0x1cU We have below four new SIDs added for VF(s) 3) #define TEGRA_SID_XUSB_VF0 0x5dU 4) #define TEGRA_SID_XUSB_VF1 0x5eU 5) #define TEGRA_SID_XUSB_VF2 0x5fU 6) #define TEGRA_SID_XUSB_VF3 0x60U When virtualization is enabled then we have to disable SID override and program above SIDs in below newly added SID registers in XUSB PADCTL MMIO space. These registers are TZ protected and so need to be done in ATF. a) #define XUSB_PADCTL_HOST_AXI_STREAMID_PF_0 (0x136cU) b) #define XUSB_PADCTL_DEV_AXI_STREAMID_PF_0 (0x139cU) c) #define XUSB_PADCTL_HOST_AXI_STREAMID_VF_0 (0x1370U) d) #define XUSB_PADCTL_HOST_AXI_STREAMID_VF_1 (0x1374U) e) #define XUSB_PADCTL_HOST_AXI_STREAMID_VF_2 (0x1378U) f) #define XUSB_PADCTL_HOST_AXI_STREAMID_VF_3 (0x137cU) This change disables SID override and programs XUSB SIDs in above registers to support both virtualization and non-virtualization. Change-Id: I38213a72999e933c44c5392441f91034d3b47a39 Signed-off-by: Ajay Gupta <ajayg@nvidia.com>
-
Varun Wadekar authored
This patch adds platform support for the Memory Controller and SMMU drivers, for the Tegra194 SoC. Change-Id: Id8b482de70f1f93bedbca8d124575c39b469927f Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
-
- 24 Oct, 2019 2 commits
-
-
Pritesh Raithatha authored
GPU, MPCORE and PTC clients are changed and not going through SMMU. Removing it from streamid list. Change-Id: I14b450a11f02ad6c1a97e67e487d6d624911d019 Signed-off-by: Pritesh Raithatha <praithatha@nvidia.com>
-
Pritesh Raithatha authored
Define mc sid and txn override regs and sec cfgs. Create array for mc sid override regs and sec config that is used to initialize mc. Add smmu ctx regs array to hold register values during suspend. Change-Id: I7b265710a9ec2be7dea050058bce65c614772c78 Signed-off-by: Pritesh Raithatha <praithatha@nvidia.com>
-