工具/软件:Linux
您好!
我们使用的是运行 Linux 4.1.18的基于 Beagle Bone 的定制板、我们将 Wifi 芯片连接到 MMC0端口。
我们最初使用的是内核3.12、我们正在尝试迁移到4.1.18。 其中一个主要原因是、在内核3.12中、MMC 驱动程序没有中断支持、而只是轮询、导致我们在 Wi-Fi 上获得的吞吐量非常低。 这似乎已在3.17及更高版本中得到修正、因此我们将移至4.1.18
我们已将 MMC 设置为在中断模式下运行、并且器件树中的配置与 ti-omap-hsmmc.txt 内核文档中的配置相同/非常相似
我看到、调用 probe 函数后、它会启动启用中断的 SDIO_IRQ_THread。 我看到启用后几乎立即接收到中断,即使 DAT1线路为高电平(在逻辑分析仪上验证)。 我假设驱动程序配置引脚、以便在线路变为低电平时产生中断。 是这样吗?
你们能不能建议我做了什么事情、或者我如何调试这个?
器件树配置如下所示、如果您需要更多详细信息、请告诉我
```μ A
mmc1{(&M)
兼容="ti、am33xx-hsmmc";
VMMC-SUPPLY =<&vmmcsd_fixed>;
总线宽度=<4>;
pinctrl-names ="default"、"idle";
pinctrl-0 =<&mmc1_PINS_DEFAULT>;
pinctrl-1 =<&mmc1_PINS_IDLE>;
中断扩展=<&INTC 64 &GPIO2 28 0>;
状态="正常";
};
```μ A
编辑:
我无法确定驱动程序中中断标志的位置。 在探测函数中、我可以告诉该标志被设置为 TRIGGER_NONE。 请给我指出。
谢谢
Shankar
