diff options
| author | Giuseppe CAVALLARO <peppe.cavallaro@st.com> | 2010-09-16 23:23:42 -0400 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2010-09-17 19:12:58 -0400 |
| commit | b71c7aaa1e2a9858f0c469026098fbd6e046d7bb (patch) | |
| tree | 39c7454d1e2230f9176e1a3c47b92e3f76a9f256 | |
| parent | c629882ac73cab2cd41d9948caeed633fc570fc0 (diff) | |
stmmac: use one memset() to reset TDES01
Use one memset() to reset all TDES01 fields instead
of one by one to reduce number of instructions.
Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@st.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
| -rw-r--r-- | drivers/net/stmmac/enh_desc.c | 2 | ||||
| -rw-r--r-- | drivers/net/stmmac/norm_desc.c | 17 |
2 files changed, 2 insertions, 17 deletions
diff --git a/drivers/net/stmmac/enh_desc.c b/drivers/net/stmmac/enh_desc.c index 77ff88c3958b..5d1471d8f8f6 100644 --- a/drivers/net/stmmac/enh_desc.c +++ b/drivers/net/stmmac/enh_desc.c | |||
| @@ -284,7 +284,7 @@ static void enh_desc_release_tx_desc(struct dma_desc *p) | |||
| 284 | { | 284 | { |
| 285 | int ter = p->des01.etx.end_ring; | 285 | int ter = p->des01.etx.end_ring; |
| 286 | 286 | ||
| 287 | memset(p, 0, sizeof(struct dma_desc)); | 287 | memset(p, 0, offsetof(struct dma_desc, des2)); |
| 288 | p->des01.etx.end_ring = ter; | 288 | p->des01.etx.end_ring = ter; |
| 289 | } | 289 | } |
| 290 | 290 | ||
diff --git a/drivers/net/stmmac/norm_desc.c b/drivers/net/stmmac/norm_desc.c index 51f4440ab98b..0dce90cb8124 100644 --- a/drivers/net/stmmac/norm_desc.c +++ b/drivers/net/stmmac/norm_desc.c | |||
| @@ -174,22 +174,7 @@ static void ndesc_release_tx_desc(struct dma_desc *p) | |||
| 174 | { | 174 | { |
| 175 | int ter = p->des01.tx.end_ring; | 175 | int ter = p->des01.tx.end_ring; |
| 176 | 176 | ||
| 177 | /* clean field used within the xmit */ | 177 | memset(p, 0, offsetof(struct dma_desc, des2)); |
| 178 | p->des01.tx.first_segment = 0; | ||
| 179 | p->des01.tx.last_segment = 0; | ||
| 180 | p->des01.tx.buffer1_size = 0; | ||
| 181 | |||
| 182 | /* clean status reported */ | ||
| 183 | p->des01.tx.error_summary = 0; | ||
| 184 | p->des01.tx.underflow_error = 0; | ||
| 185 | p->des01.tx.no_carrier = 0; | ||
| 186 | p->des01.tx.loss_carrier = 0; | ||
| 187 | p->des01.tx.excessive_deferral = 0; | ||
| 188 | p->des01.tx.excessive_collisions = 0; | ||
| 189 | p->des01.tx.late_collision = 0; | ||
| 190 | p->des01.tx.heartbeat_fail = 0; | ||
| 191 | p->des01.tx.deferred = 0; | ||
| 192 | |||
| 193 | /* set termination field */ | 178 | /* set termination field */ |
| 194 | p->des01.tx.end_ring = ter; | 179 | p->des01.tx.end_ring = ter; |
| 195 | } | 180 | } |
