All of lore.kernel.org
 help / color / mirror / Atom feed
* Tutorial for "drivers/mmc/*"?
@ 2021-01-07 20:54 Gabriel L. Somlo
  2021-01-09  4:27   ` Randy Dunlap
  0 siblings, 1 reply; 3+ messages in thread
From: Gabriel L. Somlo @ 2021-01-07 20:54 UTC (permalink / raw)
  To: kernelnewbies

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

_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Tutorial for "drivers/mmc/*"?
@ 2021-01-09  4:27   ` Randy Dunlap
  0 siblings, 0 replies; 3+ messages in thread
From: Randy Dunlap @ 2021-01-09  4:27 UTC (permalink / raw)
  To: Gabriel L. Somlo, kernelnewbies

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@kernelnewbies.org
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Tutorial for "drivers/mmc/*"?
@ 2021-01-09  4:27   ` Randy Dunlap
  0 siblings, 0 replies; 3+ messages in thread
From: Randy Dunlap @ 2021-01-09  4:27 UTC (permalink / raw)
  To: kernelnewbies

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@kernelnewbies.org
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2021-01-09  4:35 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-01-07 20:54 Tutorial for "drivers/mmc/*"? Gabriel L. Somlo
2021-01-09  4:27 ` Randy Dunlap
2021-01-09  4:27   ` Randy Dunlap

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.