Linux: sdtweak poll_once 在 Pi 4 上不起作用

创建于 2019-10-14  ·  6评论  ·  资料来源: raspberrypi/linux

当网络使用dtoverlay=sdtweak,poll_once启动 pi 时,仍然会轮询该卡,从而每 10 秒产生一次日志垃圾邮件:

[  144.474158] mmc0: Timeout waiting for hardware cmd interrupt.
[  144.474182] mmc0: sdhci: ============ SDHCI REGISTER DUMP ===========
[  144.474199] mmc0: sdhci: Sys addr:  0x00000000 | Version:  0x00001002
[  144.474205] mmc0: sdhci: Blk size:  0x00000000 | Blk cnt:  0x00000000
[  144.474213] mmc0: sdhci: Argument:  0x00000000 | Trn mode: 0x00000000
[  144.474221] mmc0: sdhci: Present:   0x1fff0001 | Host ctl: 0x00000001
[  144.474228] mmc0: sdhci: Power:     0x0000000f | Blk gap:  0x00000080
[  144.474234] mmc0: sdhci: Wake-up:   0x00000000 | Clock:    0x0000f447
[  144.474242] mmc0: sdhci: Timeout:   0x00000000 | Int stat: 0x00000000
[  144.474250] mmc0: sdhci: Int enab:  0x00ff1003 | Sig enab: 0x00ff1003
[  144.474257] mmc0: sdhci: ACmd stat: 0x00000000 | Slot int: 0x00000000
[  144.474262] mmc0: sdhci: Caps:      0x45ee6432 | Caps_1:   0x0000a525
[  144.474267] mmc0: sdhci: Cmd:       0x0000371a | Max curr: 0x00080008
[  144.474275] mmc0: sdhci: Resp[0]:   0x00000000 | Resp[1]:  0x00000000
[  144.474280] mmc0: sdhci: Resp[2]:   0x00000000 | Resp[3]:  0x00000000
[  144.474284] mmc0: sdhci: Host ctl2: 0x00000000
[  144.474288] mmc0: sdhci: ADMA Err:  0x00000000 | ADMA Ptr: 0x00000000
[  144.474293] mmc0: sdhci: ============================================

所有6条评论

sdtweak 未能在 pi4 上设置不可移除标志的直接原因是它并不意味着:

pi<strong i="6">@raspberrypi</strong>:~ $ dtoverlay -h sdtweak
Name:   sdtweak

Info:   Tunes the bcm2835-sdhost SD/MMC driver
        N.B. This functionality is now available via the sd_* dtparams in the
        base DTB.
...

需要的是一个通用的sd_pollonce dtparam,它很容易添加。 但是,当 SD 卡被移除(或延迟插入)时,它可能不是您想要的,因为它可能反应不佳。

除了sd_pollonce之外,也许真正需要的是驱动程序更改以减少日志垃圾邮件,也许以sd_debug条件。

请问这个可以解决吗?

我已将更新的 .dts 文件推送到 rpi-4.19.y,将 sd_poll_once dtparams 添加到所有下游 .dtbs。 您可以在此处获取 bcm2711-rpi-4-b.dtb 的预构建版本。 与dtparam=sd_poll_once一起使用。

使用sd_poll_once现在绿色 LED 不工作

@pelwell ,您在一月份将构建推送到 Google Drive 以解决此问题。 你有机会在这里发布补丁吗?

正如 sdtweak 文档所说,它提供的功能现在可以通过特定于板的 dtparams 获得:

dtparam=sd_poll_once

sdtweak 已被有效弃用,并将被正式弃用和删除。

此页面是否有帮助?
0 / 5 - 0 等级