annotate e1000_wip.patch @ 128:0fdaa93ed62b

Start to clean up new compiler patch
author Louis Opter <louis@lse.epita.fr>
date Mon, 26 Aug 2013 22:53:34 -0700
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
128
0fdaa93ed62b Start to clean up new compiler patch
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
1 # HG changeset patch
0fdaa93ed62b Start to clean up new compiler patch
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
2 # Parent e2e8117a5aede962810a9a561890d2cf80997815
0fdaa93ed62b Start to clean up new compiler patch
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
3 diff --git a/rathaxes/samples/e1000/e1000.blt b/rathaxes/samples/e1000/e1000.blt
0fdaa93ed62b Start to clean up new compiler patch
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
4 --- a/rathaxes/samples/e1000/e1000.blt
0fdaa93ed62b Start to clean up new compiler patch
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
5 +++ b/rathaxes/samples/e1000/e1000.blt
0fdaa93ed62b Start to clean up new compiler patch
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
6 @@ -186,9 +186,9 @@
0fdaa93ed62b Start to clean up new compiler patch
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
7 goto err_skbuffs_alloc;
0fdaa93ed62b Start to clean up new compiler patch
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
8 }
0fdaa93ed62b Start to clean up new compiler patch
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
9 ${Socket::SKBuff.ref} skbuff = &hw_ctx->rx_ring.skbuffs[i];
0fdaa93ed62b Start to clean up new compiler patch
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
10 - // XXX breaks rtxGen: ${local.skbuff.init(local.k_sk_buff)};
0fdaa93ed62b Start to clean up new compiler patch
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
11 - skbuff->skbuff = k_sk_buff;
0fdaa93ed62b Start to clean up new compiler patch
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
12 - skbuff->dma_handle = 0;
0fdaa93ed62b Start to clean up new compiler patch
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
13 + ${local.skbuff.init(local.k_sk_buff)};
0fdaa93ed62b Start to clean up new compiler patch
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
14 + // skbuff->skbuff = k_sk_buff;
0fdaa93ed62b Start to clean up new compiler patch
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
15 + // *(dma_addr_t *)&(skbuff->dma_handle) = 0;
0fdaa93ed62b Start to clean up new compiler patch
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
16 // XXX #46: ${local.skbuff.map_from(rtx_ether_ctx.device)};
0fdaa93ed62b Start to clean up new compiler patch
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
17 if (rtx_socket_skbuff_map(${local.skbuff}, ${rtx_ether_ctx.device}, RTX_DMA_FROM_DEVICE))
0fdaa93ed62b Start to clean up new compiler patch
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
18 {
0fdaa93ed62b Start to clean up new compiler patch
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
19 @@ -228,7 +228,7 @@
0fdaa93ed62b Start to clean up new compiler patch
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
20 {
0fdaa93ed62b Start to clean up new compiler patch
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
21 dma_unmap_single(
0fdaa93ed62b Start to clean up new compiler patch
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
22 ${rtx_ether_ctx.device},
0fdaa93ed62b Start to clean up new compiler patch
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
23 - hw_ctx->rx_ring.skbuffs[i].dma_handle,
0fdaa93ed62b Start to clean up new compiler patch
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
24 + *((dma_addr_t *)&(hw_ctx->rx_ring.skbuffs[i].dma_handle)),
0fdaa93ed62b Start to clean up new compiler patch
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
25 ${config.rx_buffer_len},
0fdaa93ed62b Start to clean up new compiler patch
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
26 DMA_FROM_DEVICE);
0fdaa93ed62b Start to clean up new compiler patch
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
27 err_skbuffs_map:
0fdaa93ed62b Start to clean up new compiler patch
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
28 @@ -350,7 +350,7 @@
0fdaa93ed62b Start to clean up new compiler patch
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
29 E1000_TXD_CMD_RS |
0fdaa93ed62b Start to clean up new compiler patch
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
30 skb_headlen(${local.k_skb.k_sk_buff}));
0fdaa93ed62b Start to clean up new compiler patch
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
31 tx_desc->upper.data = 0;
0fdaa93ed62b Start to clean up new compiler patch
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
32 - tx_desc->buff_addr = cpu_to_le64(skb->dma_handle);
0fdaa93ed62b Start to clean up new compiler patch
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
33 + tx_desc->buff_addr = cpu_to_le64(${local.skb.dma_handle.k_dma_handle});
0fdaa93ed62b Start to clean up new compiler patch
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
34 memcpy(&self->skbuffs[self->tail], ${local.k_skb.k_sk_buff}, sizeof(*${local.k_skb.k_sk_buff}));
0fdaa93ed62b Start to clean up new compiler patch
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
35 self->tail = (self->tail + 1) % ${config.tx_ring_size};
0fdaa93ed62b Start to clean up new compiler patch
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
36 }
0fdaa93ed62b Start to clean up new compiler patch
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
37 @@ -890,15 +890,18 @@
0fdaa93ed62b Start to clean up new compiler patch
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
38 */
0fdaa93ed62b Start to clean up new compiler patch
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
39 for (int i = 0; i != ${config.rx_ring_size}; ++i)
0fdaa93ed62b Start to clean up new compiler patch
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
40 {
0fdaa93ed62b Start to clean up new compiler patch
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
41 + /*
0fdaa93ed62b Start to clean up new compiler patch
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
42 + * XXX Leaking casts:
0fdaa93ed62b Start to clean up new compiler patch
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
43 + *
0fdaa93ed62b Start to clean up new compiler patch
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
44 + * We should go through the rtx types (Socket::SKBuff,
0fdaa93ed62b Start to clean up new compiler patch
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
45 + * AbstractSKBuff), but we can't because of the array here,
0fdaa93ed62b Start to clean up new compiler patch
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
46 + * which is not supported by the compiler.
0fdaa93ed62b Start to clean up new compiler patch
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
47 + */
0fdaa93ed62b Start to clean up new compiler patch
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
48 dma_unmap_single(
0fdaa93ed62b Start to clean up new compiler patch
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
49 ${rtx_ether_ctx.device},
0fdaa93ed62b Start to clean up new compiler patch
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
50 - (dma_addr_t)hw_ctx_->rx_ring.skbuffs[i].dma_handle,
0fdaa93ed62b Start to clean up new compiler patch
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
51 + *((dma_addr_t *)&(hw_ctx_->rx_ring.skbuffs[i].dma_handle)),
0fdaa93ed62b Start to clean up new compiler patch
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
52 ${config.rx_buffer_len},
0fdaa93ed62b Start to clean up new compiler patch
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
53 DMA_FROM_DEVICE);
0fdaa93ed62b Start to clean up new compiler patch
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
54 - /* XXX Leaking cast
0fdaa93ed62b Start to clean up new compiler patch
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
55 - * (We should go through the rtx types (Socket::SKBuff,
0fdaa93ed62b Start to clean up new compiler patch
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
56 - * AbstractSKBuff)
0fdaa93ed62b Start to clean up new compiler patch
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
57 - */
0fdaa93ed62b Start to clean up new compiler patch
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
58 dev_kfree_skb((struct sk_buff *)hw_ctx_->rx_ring.skbuffs[i].skbuff);
0fdaa93ed62b Start to clean up new compiler patch
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
59 }
0fdaa93ed62b Start to clean up new compiler patch
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
60 dma_free_coherent(${rtx_ether_ctx.device}, hw_ctx_->rx_ring.size,