|
10 | 10 | <a href=#10 id=10 data-nosnippet>10</a> task::{Context, Poll, Waker}, |
11 | 11 | <a href=#11 id=11 data-nosnippet>11</a>}; |
12 | 12 | <a href=#12 id=12 data-nosnippet>12</a> |
13 | | -<a href=#13 id=13 data-nosnippet>13</a><span class="kw">use </span>cortex_m::interrupt::{<span class="self">self</span>, Mutex}; |
| 13 | +<a href=#13 id=13 data-nosnippet>13</a><span class="kw">use </span>critical_section::Mutex; |
14 | 14 | <a href=#14 id=14 data-nosnippet>14</a> |
15 | 15 | <a href=#15 id=15 data-nosnippet>15</a><span class="kw">impl</span><<span class="kw">const </span>CHANNELS: usize> <span class="kw">super</span>::Dma<CHANNELS> { |
16 | 16 | <a href=#16 id=16 data-nosnippet>16</a> <span class="doccomment">/// Handle a DMA interrupt |
|
54 | 54 | <a href=#54 id=54 data-nosnippet>54</a> } |
55 | 55 | <a href=#55 id=55 data-nosnippet>55</a> |
56 | 56 | <a href=#56 id=56 data-nosnippet>56</a> <span class="kw">if </span>channel.is_complete() | channel.is_error() { |
57 | | -<a href=#57 id=57 data-nosnippet>57</a> interrupt::free(|cs| { |
| 57 | +<a href=#57 id=57 data-nosnippet>57</a> critical_section::with(|cs| { |
58 | 58 | <a href=#58 id=58 data-nosnippet>58</a> <span class="kw">let </span>waker = <span class="self">self</span>.wakers[channel.channel()].borrow(cs); |
59 | 59 | <a href=#59 id=59 data-nosnippet>59</a> <span class="kw">let </span><span class="kw-2">mut </span>waker = waker.borrow_mut(); |
60 | 60 | <a href=#60 id=60 data-nosnippet>60</a> <span class="kw">if let </span><span class="prelude-val">Some</span>(waker) = waker.take() { |
|
133 | 133 | <a href=#133 id=133 data-nosnippet>133</a><span class="kw">impl </span>Future <span class="kw">for </span>Transfer<<span class="lifetime">'_</span>> { |
134 | 134 | <a href=#134 id=134 data-nosnippet>134</a> <span class="kw">type </span>Output = <span class="prelude-ty">Result</span><(), Error>; |
135 | 135 | <a href=#135 id=135 data-nosnippet>135</a> <span class="kw">fn </span>poll(<span class="self">self</span>: Pin<<span class="kw-2">&mut </span><span class="self">Self</span>>, cx: <span class="kw-2">&mut </span>Context<<span class="lifetime">'_</span>>) -> Poll<<span class="self">Self</span>::Output> { |
136 | | -<a href=#136 id=136 data-nosnippet>136</a> interrupt::free(|cs| { |
| 136 | +<a href=#136 id=136 data-nosnippet>136</a> critical_section::with(|cs| { |
137 | 137 | <a href=#137 id=137 data-nosnippet>137</a> <span class="kw">let </span>waker = <span class="self">self</span>.channel.waker.borrow(cs); |
138 | 138 | <a href=#138 id=138 data-nosnippet>138</a> <span class="kw">let </span><span class="kw-2">mut </span>waker = waker.borrow_mut(); |
139 | 139 | <a href=#139 id=139 data-nosnippet>139</a> <span class="kw-2">*</span>waker = <span class="prelude-val">Some</span>(cx.waker().clone()); |
|
166 | 166 | <a href=#166 id=166 data-nosnippet>166</a> <span class="self">self</span>.channel.disable(); |
167 | 167 | <a href=#167 id=167 data-nosnippet>167</a> <span class="self">self</span>.channel.clear_complete(); |
168 | 168 | <a href=#168 id=168 data-nosnippet>168</a> <span class="self">self</span>.channel.clear_error(); |
169 | | -<a href=#169 id=169 data-nosnippet>169</a> interrupt::free(|cs| { |
| 169 | +<a href=#169 id=169 data-nosnippet>169</a> critical_section::with(|cs| { |
170 | 170 | <a href=#170 id=170 data-nosnippet>170</a> <span class="kw">let </span>waker = <span class="self">self</span>.channel.waker.borrow(cs); |
171 | 171 | <a href=#171 id=171 data-nosnippet>171</a> <span class="kw">let </span><span class="kw-2">mut </span>waker = waker.borrow_mut(); |
172 | 172 | <a href=#172 id=172 data-nosnippet>172</a> <span class="kw-2">*</span>waker = <span class="prelude-val">None</span>; |
|
0 commit comments