_florent_ changed the topic of #litex to: LiteX FPGA SoC builder and Cores / Github : https://github.com/enjoy-digital, https://github.com/litex-hub / Logs: https://freenode.irclog.whitequark.org/litex
tpb has quit [Remote host closed the connection]
tpb has joined #litex
Dolu has joined #litex
<Dolu> benh: Hi, i'm working on VexRiscv SMP. About the SMP stuff / DMA coherency, basicaly, VexRiscv SMP is based on write-through invalidate L1 D$
<Dolu> So, each CPU has a invalidation port, to make the DMA coherent, i was thinking about snooping all DMA writes to invalidate all the CPU related cache line, so seem similar to your idea isn't it ?
<Dolu> But about the sync stuff, i think that's a bit different, basicaly the invalidation bus is as following :
<Dolu> 3 Streams : inv stream to request invalidation (interconnect -> CPU), ack stream to notify the invalidation is effective (CPU -> interconnect), sync stream to notify the master who produce the invalidation that it is done and coherent. (interconnect -> CPU)
<Dolu> Basicaly, the DMA can be seen as a proper "HART", my idea was that a CPU can ask the DMA to issue a fence (so basicaly, waiting that all pending sync are done)
<Dolu> Or maybe the DMA should just simply not consider a memory job done until all the modified memory is consistant ?
<Dolu> But honestly i do not have much experiences into SMP systems XD, so i might say bullshit.
Dolu has quit [Ping timeout: 272 seconds]
st-gourichon-f has quit [Ping timeout: 240 seconds]
st-gourichon-fid has joined #litex
HoloIRCUser1 has joined #litex
HoloIRCUser2 has joined #litex
HoloIRCUser has quit [Ping timeout: 246 seconds]
HoloIRCUser1 has quit [Ping timeout: 246 seconds]
<scanakci> is it possible to have ethernet support without depending on any external interrupts? I saw this discussion and looks like it is possible (https://github.com/litex-hub/linux-on-litex-vexriscv/issues/13). I just wanted to make sure that I am not misinterpreting something.
<tpb> Title: Integrate LiteEth · Issue #13 · litex-hub/linux-on-litex-vexriscv · GitHub (at github.com)
CarlFK has quit [Read error: Connection reset by peer]
Degi has quit [Ping timeout: 260 seconds]
Degi has joined #litex
CarlFK has joined #litex
<futarisIRCcloud> scanakci: Polling works (slowly).
<scanakci> thanks @futarisIRCcloud.
gregdavill has quit [Quit: Leaving]
disasm[m] has quit [*.net *.split]
xobs has quit [*.net *.split]
Claude has quit [*.net *.split]
guan has quit [*.net *.split]
pdp7 has quit [*.net *.split]
xobs has joined #litex
disasm[m] has joined #litex
guan has joined #litex
pdp7 has joined #litex
Claude has joined #litex
Dolu has joined #litex
CarlFK has quit [Quit: Leaving.]
<benh> Dolu: hey
<benh> Dolu: not sure you need to notify the master per-se...
<benh> Dolu: Ideally you want to synchronize the control path to the master with the DMA path, so if you really have completely separate "busses"
<benh> Dolu: you could have something like the MMIO reads by the CPU from that master would have their response held until previous invalidations by that master have completed
<benh> not necessarily *all* invalidations, just previous ones
<benh> but there are many different ways ... the MMIO orderingg method is just the most common
<benh> if you really don't want to go down that path, and prefer just notifying the master, then you can have a status reg that the CPU can read to check that pending DMAs have completed
<benh> but it's impractical as the master could already be writing data for a different packet
<benh> anyway, food for thoughts...
synaption[m] has quit [Quit: killed]
john_k[m] has quit [Quit: killed]
david-sawatzke[m has quit [Quit: killed]
sajattack[m] has quit [Quit: killed]
abeljj[m] has quit [Quit: killed]
nrossi has quit [Quit: killed]
bunnie has quit [Quit: killed]
disasm[m] has quit [Quit: killed]
xobs has quit [Quit: killed]
CarlFK has joined #litex
sajattack[m] has joined #litex
synaption[m] has joined #litex
abeljj[m] has joined #litex
david-sawatzke[m has joined #litex
disasm[m] has joined #litex
nrossi has joined #litex
john_k[m] has joined #litex
xobs has joined #litex
bunnie has joined #litex
Dolu has quit [Quit: Leaving]
HoloIRCUser has joined #litex
HoloIRCUser2 has quit [Read error: Connection reset by peer]
Skip has joined #litex
Alberto has joined #litex
Alberto is now known as Guest44387
Guest44387 has quit [Remote host closed the connection]
mocambo has joined #litex
mocambo has quit [Remote host closed the connection]
abeljj[m] has quit [Quit: Idle for 30+ days]
captain_morgan has quit [Read error: Connection reset by peer]
captain_morgan has joined #litex
robert1 has joined #litex
dkozel is now known as dkozel-m
dkozel-m is now known as dkozel
Dolu has joined #litex
<Dolu> benh: Hi ^^ What do you mean by 'per-se' ?
CarlFK has quit [Quit: Leaving.]
Dolu has quit [Quit: Leaving]
<sajattack[m]> too cool
robert1 has quit [Remote host closed the connection]
CarlFK has joined #litex
<benh> That looks amazing ! I just ordered one :)
<benh> now the question is ... is there such a thing as an M2 slot to PCIe slot that allows to use that thing as a PCIe master :)
<tpb> Title: XC7K325T-2FFG900C XC7K325T-2FFG676I IC FPGA 900FPGA BGA676Good for Mining | eBay (at www.ebay.ca)
CarlFK has quit [Ping timeout: 246 seconds]
CarlFK has joined #litex