Mercurial > archived > louis > epitech > mq > rathaxes
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 |
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, |