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>
This commit is contained in:
Родитель
c629882ac7
Коммит
b71c7aaa1e
|
@ -284,7 +284,7 @@ static void enh_desc_release_tx_desc(struct dma_desc *p)
|
|||
{
|
||||
int ter = p->des01.etx.end_ring;
|
||||
|
||||
memset(p, 0, sizeof(struct dma_desc));
|
||||
memset(p, 0, offsetof(struct dma_desc, des2));
|
||||
p->des01.etx.end_ring = ter;
|
||||
}
|
||||
|
||||
|
|
|
@ -174,22 +174,7 @@ static void ndesc_release_tx_desc(struct dma_desc *p)
|
|||
{
|
||||
int ter = p->des01.tx.end_ring;
|
||||
|
||||
/* clean field used within the xmit */
|
||||
p->des01.tx.first_segment = 0;
|
||||
p->des01.tx.last_segment = 0;
|
||||
p->des01.tx.buffer1_size = 0;
|
||||
|
||||
/* clean status reported */
|
||||
p->des01.tx.error_summary = 0;
|
||||
p->des01.tx.underflow_error = 0;
|
||||
p->des01.tx.no_carrier = 0;
|
||||
p->des01.tx.loss_carrier = 0;
|
||||
p->des01.tx.excessive_deferral = 0;
|
||||
p->des01.tx.excessive_collisions = 0;
|
||||
p->des01.tx.late_collision = 0;
|
||||
p->des01.tx.heartbeat_fail = 0;
|
||||
p->des01.tx.deferred = 0;
|
||||
|
||||
memset(p, 0, offsetof(struct dma_desc, des2));
|
||||
/* set termination field */
|
||||
p->des01.tx.end_ring = ter;
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче