Mercurial > archived > louis > epitech > mq > rathaxes
comparison rathaxes_samples_e1000_add_a_dma_abstraction.patch @ 118:ad21d8a182ad
WIP: put up (hopefully the last) some touches on the dma abstraction
author | Louis Opter <louis@lse.epita.fr> |
---|---|
date | Fri, 26 Jul 2013 16:44:08 -0700 |
parents | f3c7e9b0c5cf |
children | d84bc9a46771 |
comparison
equal
deleted
inserted
replaced
117:f3c7e9b0c5cf | 118:ad21d8a182ad |
---|---|
50 + dma_addr_t data; | 50 + dma_addr_t data; |
51 + } | 51 + } |
52 + | 52 + |
53 + map | 53 + map |
54 + { | 54 + { |
55 + k_dma_handle: (dma_addr_t)(${self}); | 55 + k_dma_handle: (*(dma_addr_t *)&(${self})); |
56 + } | 56 + } |
57 + } | 57 + } |
58 + | 58 + |
59 + template type DMA::DMAHandle() | 59 + template type DMA::DMAHandle() |
60 + { | 60 + { |
64 + } | 64 + } |
65 + | 65 + |
66 + map | 66 + map |
67 + { | 67 + { |
68 + /* XXX: we should use ${DMA::AbstractDMAHandle} here: */ | 68 + /* XXX: we should use ${DMA::AbstractDMAHandle} here: */ |
69 + dma_handle: (dma_addr_t)(${self}); | 69 + dma_handle: (*(dma_addr_t *)&(${self})); |
70 + } | 70 + } |
71 + } | 71 + } |
72 + | 72 + |
73 + template type DMA::AbstractDMADirection() | 73 + template type DMA::AbstractDMADirection() |
74 + { | 74 + { |
77 + enum dma_data_direction data; | 77 + enum dma_data_direction data; |
78 + } | 78 + } |
79 + | 79 + |
80 + map | 80 + map |
81 + { | 81 + { |
82 + k_dma_direction: (enum dma_data_direction)(${self}); | 82 + k_dma_direction: ((enum dma_data_direction)(${self})); |
83 + } | 83 + } |
84 + } | 84 + } |
85 + | 85 + |
86 + template type DMA::DMADirection() | 86 + template type DMA::DMADirection() |
87 + { | 87 + { |
101 + | 101 + |
102 + template sequence map(Device::AbstractDevice dev, Builtin::symbol buf, Builtin::number size, DMA::DMADirection dir) | 102 + template sequence map(Device::AbstractDevice dev, Builtin::symbol buf, Builtin::number size, DMA::DMADirection dir) |
103 + { | 103 + { |
104 + chunk ::CALL() | 104 + chunk ::CALL() |
105 + { | 105 + { |
106 + ((${DMA::DMAHandle})dma_map_single(${dev.k_device}, ${buf}, ${size}, ${dir.dma_direction})); | 106 + dma_map_single(${dev.k_device}, ${buf}, ${size}, ${dir.dma_direction}); |
107 + } | 107 + } |
108 + } | 108 + } |
109 + | 109 + |
110 + template sequence unmap(Device::AbstractDevice dev, DMA::AbstractDMAHandle handle, Builtin::number size, DMA::DMADirection dir) | 110 + template sequence unmap(Device::AbstractDevice dev, DMA::AbstractDMAHandle handle, Builtin::number size, DMA::DMADirection dir) |
111 + { | 111 + { |