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?