On 1/7/21 12:54 PM, Gabriel L. Somlo wrote: > Hi, > > I'm debugging a driver for a (fpga-based soft core) microSD card Linux > device, and the existing driver (in drivers/mmc/host/...) makes sense > at first sight, but, either due to shortcomings in the softcore > (Verilog by way of Migen) "hardware", or the actual Linux driver > itself, suffers from intermittent data transfer errors. > > I find myself wishing I could get a top-down idea of how the Linux mmc > layer is put together, so I could examine the driver in question with > a critical eye, rather than my current approach, which is best described > as "blind-man attempts to comprehend an elephant by touching various > locations on its body, hoping the collected experiences will suddenly > come into focus and begin to make sense". :D > > This latter approach gives me information that makes sense on first > sight, when taken uncritically, but doesn't help me figure out the > "unknown unknowns" :) > > The alternative, of course, would be to read the actual source code in > "drivers/mmc/core/..." until I "know it by heart", and then look at my > (and a few other existing) drivers in "drivers/mmc/host/..." to try and > get an idea of what I'm missing. > > I'll go with the latter if necessary, but would prefer a gentler > introduction to "drivers/mmc". Any (link, pointer to) a tutorial, > assuming one exists, would be MUCH appreciated! > > Thanks, > --Gabriel > Hi, The only & closest thing that I could find is https://www.slideshare.net/rampalliraj/linux-kernel-mmc-storage-driver-overview HTH. _______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies