Re: [PATCH v10 12/15] memory: tegra: Introduce Tegra30 EMC driver
From: Jon Hunter <jonathanh@nvidia.com>
Date: 2019-11-15 12:54:16
Also in:
linux-clk, linux-tegra, lkml
On 11/08/2019 22:00, Dmitry Osipenko wrote:
Introduce driver for the External Memory Controller (EMC) found on Tegra30 chips, it controls the external DRAM on the board. The purpose of this driver is to program memory timing for external memory on the EMC clock rate change. Acked-by: Peter De Schrijver <redacted> Signed-off-by: Dmitry Osipenko <digetx@gmail.com> --- drivers/memory/tegra/Kconfig | 10 + drivers/memory/tegra/Makefile | 1 + drivers/memory/tegra/mc.c | 9 +- drivers/memory/tegra/mc.h | 30 +- drivers/memory/tegra/tegra30-emc.c | 1232 ++++++++++++++++++++++++++++ drivers/memory/tegra/tegra30.c | 42 + include/soc/tegra/mc.h | 2 +- 7 files changed, 1311 insertions(+), 15 deletions(-) create mode 100644 drivers/memory/tegra/tegra30-emc.c
This patch is causing the following crash on Tegra30-cardhu-a04 on entering suspend ... [ 58.320034] 8<--- cut here --- [ 58.323166] Unable to handle kernel NULL pointer dereference at virtual address 0000004c [ 58.331262] pgd = 62bca252 [ 58.334028] [0000004c] *pgd=00000000 [ 58.337615] Internal error: Oops: 5 [#1] PREEMPT SMP ARM [ 58.342927] Modules linked in: brcmfmac brcmutil [ 58.347559] CPU: 1 PID: 689 Comm: rtcwake Tainted: G W 5.4.0-rc6-next-20191108 #1 [ 58.356343] Hardware name: NVIDIA Tegra SoC (Flattened Device Tree) [ 58.362620] PC is at tegra_emc_suspend+0x4/0x50 [ 58.367161] LR is at dpm_run_callback+0x38/0x1d4 [ 58.371778] pc : [<c07a9ce0>] lr : [<c05c2a2c>] psr: a0000113 [ 58.378042] sp : ee3afd98 ip : 00000000 fp : 00000000 [ 58.383265] r10: c1077e1c r9 : ef254c54 r8 : c1077de4 [ 58.388488] r7 : c0d1d3e4 r6 : ef254c10 r5 : 00000002 r4 : c05b5e28 [ 58.395013] r3 : c07a9cdc r2 : 00000000 r1 : c0bbadc4 r0 : ef254c10 [ 58.401542] Flags: NzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment none [ 58.408677] Control: 10c5387d Table: adcf804a DAC: 00000051 [ 58.414423] Process rtcwake (pid: 689, stack limit = 0x8afb9f6f) [ 58.420429] Stack: (0xee3afd98 to 0xee3b0000) [ 58.424787] fd80: ef254c10 c110c438 [ 58.432969] fda0: 00000000 00000002 c1077de4 ef254c54 c1077e1c c05c30fc 00000000 ef254ca8 [ 58.441150] fdc0: ef254c10 c1077de4 c110c438 c1077de4 c05c3560 c1077e1c 00000000 c05c5730 [ 58.449330] fde0: 00000002 c10c3648 c10d3df0 00000000 00000002 00000003 c1004e48 00000004 [ 58.457511] fe00: ede68100 edf50210 00475228 c05c6030 c10d3dbc 00000000 00000003 c017d16c [ 58.465693] fe20: c10c889c 00000004 ede68100 edf50210 00475228 c0181404 c0cbbba4 ee3afe5c [ 58.473873] fe40: c10c889c e8e19516 ee3afe5c c1004e48 00000000 00000003 c10c889c 00000004 [ 58.482054] fe60: ede68100 edf50210 00475228 c017dd18 00000008 e8e19516 00000cc0 00000003 [ 58.490234] fe80: c0cbeff4 00000003 c10d3dd0 c017c088 00000004 edf50200 00000000 00000000 [ 58.498415] fea0: ede68100 ee3aff78 edf50210 c02fcfe4 00000000 00000000 c1004e48 c02fceec [ 58.506602] fec0: 00476438 ee3aff78 00000000 00476438 00000004 c027a3f0 00000055 00000cc0 [ 58.514791] fee0: 00000477 00477000 edcf8010 edcf8010 00000000 00000000 00000000 00000000 [ 58.522981] ff00: ffefe1dc eff2b394 00000000 e8e19516 00000001 ee3affb0 ef2bb700 edf2a200 [ 58.531166] ff20: 0047743c 00000817 eddd5ad0 e8e19516 edf2a240 00000004 edc53e40 00476438 [ 58.539352] ff40: ee3aff78 00000000 00476438 00000004 00475228 c027b99c 00000000 00000000 [ 58.547542] ff60: c1004e48 edc53e40 00000000 00000000 edc53e40 c027bc3c 00000000 00000000 [ 58.555732] ff80: 00001008 e8e19516 0000006c 00476438 00475228 00000004 c0101204 ee3ae000 [ 58.563922] ffa0: 00000004 c0101000 0000006c 00476438 00000004 00476438 00000004 00000000 [ 58.572107] ffc0: 0000006c 00476438 00475228 00000004 00000004 00000004 0046278c 00475228 [ 58.580294] ffe0: 00000004 be9db9b8 b6eb3c0b b6e3e206 600f0030 00000004 00000000 00000000 [ 58.588491] [<c07a9ce0>] (tegra_emc_suspend) from [<c110c438>] (0xc110c438) [ 58.595466] Code: e7c4321f e5c4304c e8bd8010 e5902040 (e5d2304c) [ 58.601656] ---[ end trace 8d7d1a7fb898a1d0 ]--- [ 88.142888] ------------[ cut here ]------------ Jon -- nvpublic