Re: mmccam -> no more cards/sdio but "mmcprobe"

From: Bjoern A. Zeeb <bzeeb-lists_at_lists.zabbadoz.net>
Date: Mon, 21 Jul 2025 00:20:17 UTC
On Mon, 21 Jul 2025, Bjoern A. Zeeb wrote:

> On Sun, 20 Jul 2025, Warner Losh wrote:
>
>> On Sun, Jul 20, 2025, 5:19 PM Bjoern A. Zeeb 
>> <bzeeb-lists@lists.zabbadoz.net>
>> wrote:
>> 
>>> Hi,
>>> 
>>> I've updated one of my trees to main after a longer while and I am
>>> confused that I no longer see and SD card or SDIO (this is netbooted):
>>> 
>>> # sysctl kern.features.mmccam
>>> kern.features.mmccam: 1
>>> 
>>> # camcontrol devlist -v
>>> scbus0 on dw_mmc_sim0 bus 0:
>>> <>                                 at scbus0 target 0 lun 0 (mmcprobe0)
>>> scbus1 on dw_mmc_sim1 bus 0:
>>> <>                                 at scbus1 target 0 lun 0 (mmcprobe1)
>>> scbus-1 on xpt0 bus 0:
>>> <>                                 at scbus-1 target -1 lun ffffffff 
>>> (xpt0)
>>> 
>>> Where to start looking?
>>> 
>> 
>> So those probes are put there to evaluate devices that were found. If they
>> remain, then that never finished. Most likely never started.
>> 
>> What hardware is this on?
>
> arm64, rockchip
>
> [1.000651] rockchip_dwmmc0: <Synopsys DesignWare Mobile Storage Host 
> Controller (RockChip)> mem 0xff500000-0xff503fff irq 42 on ofwbus0
> [1.000652] rockchip_dwmmc0: vmmc-supply regulator found
> [1.000653] rockchip_dwmmc0: vqmmc-supply regulator found
> [1.000654] rockchip_dwmmc0: Hardware version ID is 270a
> [1.000656] rockchip_dwmmc0: Disabling HS200+ (tuning code not written)
> [1.000657] ofwbus0: <mmc@ff510000> mem 0xff510000-0xff513fff irq 43 disabled 
> compat rockchip,rk3328-dw-mshc (no driver attached)
> [1.000658] rockchip_dwmmc1: <Synopsys DesignWare Mobile Storage Host 
> Controller (RockChip)> mem 0xff520000-0xff523fff irq 44 on ofwbus0
> [1.000659] rockchip_dwmmc1: Hardware version ID is 270a
> [1.000660] rockchip_dwmmc1: Disabling HS200+ (tuning code not written)

I found the tunable:

kern.cam.dflags=0x41

Output see below;  if it helps I can run with 0xff:

[1.035158] (noperiph:dw_mmc_sim0:0:-1:ffffffff): xpt_async(AC_PATH_REGISTERED)
[1.035752] (noperiph:dw_mmc_sim1:0:-1:ffffffff): xpt_async(AC_PATH_REGISTERED)
[1.038843] (noperiph:dw_mmc_sim0:0:-1:ffffffff): XPT_SCAN_{BUS,TGT,LUN}
[1.039609] (noperiph:dw_mmc_sim0:0:0:0): XPT_SCAN_{BUS,TGT,LUN}
[1.040031] (noperiph:dw_mmc_sim0:0:0:0):  Set up the mmcprobe device...
[1.040560] (mmcprobe0:dw_mmc_sim0:0:0:0): Periph created
[1.040933] (mmcprobe0:dw_mmc_sim0:0:0:0): Probe started
[1.041289] (mmcprobe0:dw_mmc_sim0:0:0:0): Probe PROBE_INVALID to PROBE_RESET
[1.041809] (mmcprobe0:dw_mmc_sim0:0:0:0): mmcprobe_start
[1.042163] (mmcprobe0:dw_mmc_sim0:0:0:0): Start with PROBE_RESET
[1.042588] (mmcprobe0:dw_mmc_sim0:0:0:0): Start with PROBE_IDENTIFY
[1.043249] (noperiph:dw_mmc_sim1:0:-1:ffffffff): XPT_SCAN_{BUS,TGT,LUN}
[1.043729] (noperiph:dw_mmc_sim1:0:0:0): XPT_SCAN_{BUS,TGT,LUN}
[1.044143] (noperiph:dw_mmc_sim1:0:0:0):  Set up the mmcprobe device...
[1.044650] (mmcprobe1:dw_mmc_sim1:0:0:0): Periph created
[1.045007] (mmcprobe1:dw_mmc_sim1:0:0:0): Probe started
[1.045362] (mmcprobe1:dw_mmc_sim1:0:0:0): Probe PROBE_INVALID to PROBE_RESET
[1.045878] (mmcprobe1:dw_mmc_sim1:0:0:0): mmcprobe_start
[1.046237] (mmcprobe1:dw_mmc_sim1:0:0:0): Start with PROBE_RESET
[1.046655] (mmcprobe1:dw_mmc_sim1:0:0:0): Start with PROBE_IDENTIFY
[1.085627] (mmcprobe0:dw_mmc_sim0:0:0:0): mmcprobe_done
[1.085996] (mmcprobe0:dw_mmc_sim0:0:0:0): done with PROBE_RESET
[1.086437] (mmcprobe0:dw_mmc_sim0:0:0:0): Probe PROBE_RESET to PROBE_POWER_OFF
[1.086997] (mmcprobe0:dw_mmc_sim0:0:0:0): mmcprobe_done: remaining freeze count 0
[1.087592] (mmcprobe1:dw_mmc_sim1:0:0:0): mmcprobe_done
[1.087970] (mmcprobe1:dw_mmc_sim1:0:0:0): done with PROBE_RESET
[1.088396] (mmcprobe1:dw_mmc_sim1:0:0:0): Probe PROBE_RESET to PROBE_POWER_OFF
[1.088936] (mmcprobe1:dw_mmc_sim1:0:0:0): mmcprobe_done: remaining freeze count 0


Hmm okay:

# sysctl kern.cam.dflags
kern.cam.dflags: 255

not much else...

[1.000646] rockchip_dwmmc0: <Synopsys DesignWare Mobile Storage Host Controller (RockChip)> mem 0xff500000-0xff503fff irq 42 on ofwbus0
[1.000647] rockchip_dwmmc0: vmmc-supply regulator found
[1.000648] rockchip_dwmmc0: vqmmc-supply regulator found
[1.000649] rockchip_dwmmc0: Hardware version ID is 270a
[1.000651] rockchip_dwmmc0: Disabling HS200+ (tuning code not written)
[1.000652] ofwbus0: <mmc@ff510000> mem 0xff510000-0xff513fff irq 43 disabled compat rockchip,rk3328-dw-mshc (no driver attached)
[1.000653] rockchip_dwmmc1: <Synopsys DesignWare Mobile Storage Host Controller (RockChip)> mem 0xff520000-0xff523fff irq 44 on ofwbus0
[1.000654] rockchip_dwmmc1: Hardware version ID is 270a
[1.000655] rockchip_dwmmc1: Disabling HS200+ (tuning code not written)
[1.000682] ofwbus0: <mmc@ff5f0000> mem 0xff5f0000-0xff5f3fff irq 50 disabled compat rockchip,rk3328-dw-mshc (no driver attached)
[1.035161] (noperiph:dw_mmc_sim0:0:-1:ffffffff): xpt_async(AC_PATH_REGISTERED)
[1.035754] (noperiph:dw_mmc_sim1:0:-1:ffffffff): xpt_async(AC_PATH_REGISTERED)
[1.038855] (noperiph:dw_mmc_sim0:0:-1:ffffffff): XPT_SCAN_{BUS,TGT,LUN}
[1.039618] (noperiph:dw_mmc_sim0:0:0:0): XPT_SCAN_{BUS,TGT,LUN}
[1.040041] (noperiph:dw_mmc_sim0:0:0:0):  Set up the mmcprobe device...
[1.040572] (mmcprobe0:dw_mmc_sim0:0:0:0): Periph created
[1.040945] (mmcprobe0:dw_mmc_sim0:0:0:0): Probe started
[1.041301] (mmcprobe0:dw_mmc_sim0:0:0:0): Probe PROBE_INVALID to PROBE_RESET
[1.041817] (mmcprobe0:dw_mmc_sim0:0:0:0): mmcprobe_start
[1.042171] (mmcprobe0:dw_mmc_sim0:0:0:0): Start with PROBE_RESET
[1.042595] (mmcprobe0:dw_mmc_sim0:0:0:0): Start with PROBE_IDENTIFY
[1.043257] (noperiph:dw_mmc_sim1:0:-1:ffffffff): XPT_SCAN_{BUS,TGT,LUN}
[1.043737] (noperiph:dw_mmc_sim1:0:0:0): XPT_SCAN_{BUS,TGT,LUN}
[1.044151] (noperiph:dw_mmc_sim1:0:0:0):  Set up the mmcprobe device...
[1.044658] (mmcprobe1:dw_mmc_sim1:0:0:0): Periph created
[1.045015] (mmcprobe1:dw_mmc_sim1:0:0:0): Probe started
[1.045370] (mmcprobe1:dw_mmc_sim1:0:0:0): Probe PROBE_INVALID to PROBE_RESET
[1.045886] (mmcprobe1:dw_mmc_sim1:0:0:0): mmcprobe_start
[1.046244] (mmcprobe1:dw_mmc_sim1:0:0:0): Start with PROBE_RESET
[1.046663] (mmcprobe1:dw_mmc_sim1:0:0:0): Start with PROBE_IDENTIFY
[1.085689] (mmcprobe0:dw_mmc_sim0:0:0:0): mmcprobe_done
[1.086059] (mmcprobe0:dw_mmc_sim0:0:0:0): done with PROBE_RESET
[1.086488] (mmcprobe0:dw_mmc_sim0:0:0:0): Probe PROBE_RESET to PROBE_POWER_OFF
[1.087023] (mmcprobe0:dw_mmc_sim0:0:0:0): mmcprobe_done: remaining freeze count 0
[1.088196] (mmcprobe1:dw_mmc_sim1:0:0:0): mmcprobe_done
[1.088625] (mmcprobe1:dw_mmc_sim1:0:0:0): done with PROBE_RESET
[1.089343] (mmcprobe1:dw_mmc_sim1:0:0:0): Probe PROBE_RESET to PROBE_POWER_OFF
[1.090285] (mmcprobe1:dw_mmc_sim1:0:0:0): mmcprobe_done: remaining freeze count 0



-- 
Bjoern A. Zeeb                                                     r15:7