<somlo>
geertu: reading through drivers/block/ps3disk.c for possible inspiration for litesata... If I `grep -r lv1_storage_read` in the top-level kernel source directory, I can't find the place where it's actually defined:
<jevinskie[m]>
Wasn’t expecting to find lv1 references here :P
<somlo>
geertu: ok, thanks! I was trying to figure out the distinction between implementing a block device using `blk_mq_alloc_sq_tag_set()` and a `queue_rq()` method as part of a `blk_mq_ops()` structure (the way ps3disk.c does it) and using `disk->fops` and the `submit_bio` method like e.g. n64cart.c and brd.c, but got lost in all the black magic :)
<somlo>
I'm currently doing the latter, and it kinda sorta works *sometimes* -- but dd-ing things from the disk returns data with weird sector-sized offsets from where it *should* be :)
<somlo>
so the current job is to decide whether to debug (figure out what's wrong with my current approach) or whether to comprehend the distinction between what I'm currently trying to do and the `queue_rq` method employed by a bunch of other drivers
<somlo>
maybe if I find a device that uses `queue_rq` where I can also get an obvious example of where it all boils down to DMA-ing sectors to/from the actual disk :)
zjason` has joined #litex
zjason has quit [Ping timeout: 276 seconds]
tedh_ has quit [Remote host closed the connection]
tedh_ has joined #litex
<somlo>
successfully mount a liteSATA partition in linux (read-only for now, driver still contains crazy hacks): https://pastebin.com/eEt4LXsM