This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DRA745: omap_hsmmc driver: dynamically enable AUTO_CMD23

Part Number: DRA745
Other Parts Discussed in Thread: CSD


A customer is reworking omap_hsmmc driver (from 6AL1.2 release based on kernel 3.14) for AUTO_CMD23 support. They have previously successfully hard coded this support by setting MMC_CAP_CMD23 in mmc->caps in hsmmc_probe(), AUTO_CMD23 in host flags (patch attached - denso_emmc_closed-end_hard_coded.patch).

Now they need to dynamically turn on this support based on reading ext_csd from the card during mmc_init_card(). This is copied into a new member in mmc_host struct, which is then used in omap_hsmmc_start_command() (patch attached - denso_emmc_closed_end_dynamic-with-debug.patch). However, the logic does not seem to be working. From ftrace, they still don't see proper block counters, etc. 

What is the recommended approach to propagate ext_csd value from the card through the driver so that it results in the driver initiating an actual AUTO_CMD23  transfer?