Tool/software: Linux
Hi,
We are using beagle bone based custom board running linux 4.1.18 and we have a Wifi chip connected to the MMC0 port.
We initially had kernel 3.12 and we are trying to migrate to 4.1.18. One of the main reasons being, in kernel 3.12 the mmc driver did not have interrupt support and it was only polling which was causing us to get a very low throughput on Wi-Fi. This seems to have been fixed in 3.17 and above hence we are moving to 4.1.18
We have set up the mmc to run in interrupt mode and the configuration in device tree is same/very similar to what is there in the kernel Documentation in ti-omap-hsmmc.txt
I see that once the probe function is called, it starts the sdio_irq_thread which enables the interrupt. And I'm seeing that I receive the interrupt almost immediately after enabling, even though DAT1 line is high (verified on logic analyser) . I'm assuming that the driver configures the pin such that interrupt happens when the line goes LOW. Is this correct?
Can you guys suggest if there is anything wrong that I might be doing or how I can debug this?
The device tree configuration is as below, let me know if you need any more details
```
&mmc1 {
compatible = "ti,am33xx-hsmmc";
vmmc-supply = <&vmmcsd_fixed>;
bus-width = <4>;
pinctrl-names = "default", "idle";
pinctrl-0 = <&mmc1_pins_default>;
pinctrl-1 = <&mmc1_pins_idle>;
interrupts-extended = <&intc 64 &gpio2 28 0>;
status = "okay";
};
```
Edit:
I was not able to figure out where in the driver is the interrupt flags set. As far as i can tell the flag is set to TRIGGER_NONE in probe function. Could you please point me to it?
Thanks
Shankar