MMCCAM sdhci_fdt0 panic on boot

From: Bjoern A. Zeeb <bzeeb-lists_at_lists.zabbadoz.net>
Date: Tue, 06 Jul 2021 22:52:55 UTC
Hi,

something has recently changed which causes this (last kernel was from
April 20 imho and was fine)?
I am wondering if it is because of MMCCAM/CAM updates or a DTS update I didn't fully do and we don't handle well?
My guess is the former...

/bz

rockchip_dwmmc0: <Synopsys DesignWare Mobile Storage Host Controller (RockChip)> mem 0xfe310000-0xfe313fff irq 10 on ofwbus0
rockchip_dwmmc0: Hardware version ID is 270a
rockchip_dwmmc1: <Synopsys DesignWare Mobile Storage Host Controller (RockChip)> mem 0xfe320000-0xfe323fff irq 11 on ofwbus0
rockchip_dwmmc1: vmmc-supply regulator found 
rockchip_dwmmc1: vqmmc-supply regulator found
rockchip_dwmmc1: Hardware version ID is 270a
sdhci_fdt0: <Rockchip RK3399 fdt SDHCI controller> mem 0xfe330000-0xfe33ffff irq 12 on ofwbus0
sdhci_fdt0: clk parent: clk_emmc
sdhci_fdt0: clk parent: aclk_emmc 
Clock: emmc_cardclock, parent: clk_emmc(0), freq: 99000000
rk_emmcphy0: Phy id: 0
rk_emmcphy0: got emmcclk clock 
sdhci_fdt0-slot0: Hardware doesn't specify timeout clock frequency, setting BROKEN_TIMEOUT quirk.
sdhci_fdt0-slot0: 99MHz HS 8bits VDD: 1.8V VCCQ: 3.3V DRV: BACD DMA embedded
sdhci_fdt0-slot0: ============== REGISTER DUMP ==============
sdhci_fdt0-slot0: Sys addr: 0xefd56c00 | Version:  0x00001002
sdhci_fdt0-slot0: Blk size: 0x00007200 | Blk cnt:  0x00000000
sdhci_fdt0-slot0: Argument: 0x00000001 | Trn mode: 0x00000013
sdhci_fdt0-slot0: Present:  0x1fff0000 | Host ctl: 0x00000024
sdhci_fdt0-slot0: Power:    0x0000000b | Blk gap:  0x00000080
sdhci_fdt0-slot0: Wake-up:  0x00000000 | Clock:    0x00000007
sdhci_fdt0-slot0: Timeout:  0x0000000e | Int stat: 0x00000000
sdhci_fdt0-slot0: Int enab: 0x027f003b | Sig enab: 0x00000000
sdhci_fdt0-slot0: AC12 err: 0x00000000 | Host ctl2:0x0000009d
sdhci_fdt0-slot0: Caps:     0x44ed6380 | Caps2:    0x800020f7
sdhci_fdt0-slot0: Max curr: 0x00000000 | ADMA err: 0x00000000
sdhci_fdt0-slot0: ADMA addr:0x00000000 | Slot int: 0x00000000
sdhci_fdt0-slot0: ===========================================
sdhci_fdt0: 1 slot(s) allocated
Fatal data abort:
   x0:                0
   x1: ffff000000b452b8
   x2: ffff0000008e8679
   x3:                0
   x4:            20000
   x5:               50
   x6: ffff000000522a58
   x7: ffff0000010166f8
   x8:          1030000
   x9:                0
  x10:                0
  x11:                0
  x12:                0
  x13:                0
  x14: ffff000000b452b8
  x15:                0
  x16:                0
  x17:                0
  x18: ffff0000010167a0
  x19: ffff0000a3d09030
  x20: ffff0000a3d092b8
  x21: ffff0000a3d092a0
  x22: ffff0000008f7da9
  x23:                1
  x24:                1
  x25: ffff0000a3d09030
  x26: ffff0000a3d09fc0
  x27:              298
  x28: ffff000040426bf0
  x29: ffff0000010167a0
   sp: ffff0000010167a0
   lr: ffff000000264d18
  elr: ffff000000506908
spsr:         600001c5
  far:               50
  esr:         96000004
panic: vm_fault failed: ffff000000506908 error 1
cpuid = 0
time = 1
KDB: stack backtrace:
db_trace_self() at db_trace_self
db_trace_self_wrapper() at db_trace_self_wrapper+0x30
vpanic() at vpanic+0x184
panic() at panic+0x44
data_abort() at data_abort+0x1e0
handle_el1h_sync() at handle_el1h_sync+0x74
--- exception, esr 0x96000004
device_get_unit() at device_get_unit+0x8
sdhci_start_slot() at sdhci_start_slot+0x4c
sdhci_fdt_attach() at sdhci_fdt_attach+0x5b4
device_attach() at device_attach+0x400
bus_generic_new_pass() at bus_generic_new_pass+0x11c
bus_generic_new_pass() at bus_generic_new_pass+0xac
bus_generic_new_pass() at bus_generic_new_pass+0xac
root_bus_configure() at root_bus_configure+0x40
mi_startup() at mi_startup+0x21c
virtdone() at virtdone+0x6c
KDB: enter: panic
[ thread pid 0 tid 100000 ]
Stopped at      kdb_enter+0x44: undefined       f903c11f

-- 
Bjoern A. Zeeb                                                     r15:7