blob: dc2c74412cf905216d7115a017768ef291090176 [file] [log] [blame]
Kristofer Jonsson0c79f892021-06-02 17:15:57 +02001@startuml
2
3skinparam backgroundColor #FEFEFE
4
5box "Application" #0091BD
6participant "main()" as main
7end box
8
9box "Driver library" #00C1DE
10participant "Device" as ddev
11participant "Buffer" as dbuf
12participant "Network" as dnet
13participant "Inference" as dinf
14end box
15
16box "Kernel driver" #7D868C
17participant "Device" as kdev
18participant "Buffer" as kbuf
19participant "Network" as knet
20participant "Inference" as kinf
21end box
22
23activate main
24
25main -> ddev++: Device()
26 note over kdev
27 Open device node
28 end note
29
30 ddev -> kdev++: open(<device node>)
31 return file descriptor
32return
33
34main -> dbuf++: Buffer(device)
35 dbuf -> kdev++: ioctl(BUFFER_CREATE)
36 note over kbuf
37 Create buffer and return file descriptor
38 end note
39
40 kdev -> kbuf++: create()
41 return file descriptor
42 return file descriptor
43
44 note over kbuf
45 Memory map buffer
46 end note
47
48 dbuf -> kbuf++: mmap(file descriptor)
49 return
50return
51
52@enduml