0004-net-macb-use-bit-access-macro-from-header-file.patch 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  1. From 1fe204b13da46ad8528589280bbd9574167402af Mon Sep 17 00:00:00 2001
  2. From: Ramon Fried <rfried.dev@gmail.com>
  3. Date: Tue, 11 Jun 2019 18:19:27 +0300
  4. Subject: [PATCH 04/21] net: macb: use bit access macro from header file
  5. macb.h provides macros for reading/setting bitfields,
  6. in macb registers and descriptors. use that instead
  7. of redefining them in the source file.
  8. Signed-off-by: Ramon Fried <rfried.dev@gmail.com>
  9. Upstream-Status: Submitted
  10. ---
  11. drivers/net/macb.c | 48 +++++++++++++++-------------------------------
  12. 1 file changed, 15 insertions(+), 33 deletions(-)
  13. diff --git a/drivers/net/macb.c b/drivers/net/macb.c
  14. index 6885da9c38..d957afe21a 100644
  15. --- a/drivers/net/macb.c
  16. +++ b/drivers/net/macb.c
  17. @@ -77,27 +77,8 @@ struct macb_dma_desc {
  18. #define MACB_RX_DMA_DESC_SIZE (DMA_DESC_BYTES(MACB_RX_RING_SIZE))
  19. #define MACB_TX_DUMMY_DMA_DESC_SIZE (DMA_DESC_BYTES(1))
  20. -#define RXADDR_USED 0x00000001
  21. -#define RXADDR_WRAP 0x00000002
  22. -
  23. #define RXBUF_FRMLEN_MASK 0x00000fff
  24. -#define RXBUF_FRAME_START 0x00004000
  25. -#define RXBUF_FRAME_END 0x00008000
  26. -#define RXBUF_TYPEID_MATCH 0x00400000
  27. -#define RXBUF_ADDR4_MATCH 0x00800000
  28. -#define RXBUF_ADDR3_MATCH 0x01000000
  29. -#define RXBUF_ADDR2_MATCH 0x02000000
  30. -#define RXBUF_ADDR1_MATCH 0x04000000
  31. -#define RXBUF_BROADCAST 0x80000000
  32. -
  33. #define TXBUF_FRMLEN_MASK 0x000007ff
  34. -#define TXBUF_FRAME_END 0x00008000
  35. -#define TXBUF_NOCRC 0x00010000
  36. -#define TXBUF_EXHAUSTED 0x08000000
  37. -#define TXBUF_UNDERRUN 0x10000000
  38. -#define TXBUF_MAXRETRY 0x20000000
  39. -#define TXBUF_WRAP 0x40000000
  40. -#define TXBUF_USED 0x80000000
  41. struct macb_device {
  42. void *regs;
  43. @@ -316,9 +297,9 @@ static int _macb_send(struct macb_device *macb, const char *name, void *packet,
  44. paddr = dma_map_single(packet, length, DMA_TO_DEVICE);
  45. ctrl = length & TXBUF_FRMLEN_MASK;
  46. - ctrl |= TXBUF_FRAME_END;
  47. + ctrl |= MACB_BIT(TX_LAST);
  48. if (tx_head == (MACB_TX_RING_SIZE - 1)) {
  49. - ctrl |= TXBUF_WRAP;
  50. + ctrl |= MACB_BIT(TX_WRAP);
  51. macb->tx_head = 0;
  52. } else {
  53. macb->tx_head++;
  54. @@ -340,7 +321,7 @@ static int _macb_send(struct macb_device *macb, const char *name, void *packet,
  55. barrier();
  56. macb_invalidate_ring_desc(macb, TX);
  57. ctrl = macb->tx_ring[tx_head].ctrl;
  58. - if (ctrl & TXBUF_USED)
  59. + if (ctrl & MACB_BIT(TX_USED))
  60. break;
  61. udelay(1);
  62. }
  63. @@ -348,9 +329,9 @@ static int _macb_send(struct macb_device *macb, const char *name, void *packet,
  64. dma_unmap_single(packet, length, paddr);
  65. if (i <= MACB_TX_TIMEOUT) {
  66. - if (ctrl & TXBUF_UNDERRUN)
  67. + if (ctrl & MACB_BIT(TX_UNDERRUN))
  68. printf("%s: TX underrun\n", name);
  69. - if (ctrl & TXBUF_EXHAUSTED)
  70. + if (ctrl & MACB_BIT(TX_BUF_EXHAUSTED))
  71. printf("%s: TX buffers exhausted in mid frame\n", name);
  72. } else {
  73. printf("%s: TX timeout\n", name);
  74. @@ -369,14 +350,14 @@ static void reclaim_rx_buffers(struct macb_device *macb,
  75. macb_invalidate_ring_desc(macb, RX);
  76. while (i > new_tail) {
  77. - macb->rx_ring[i].addr &= ~RXADDR_USED;
  78. + macb->rx_ring[i].addr &= ~MACB_BIT(RX_USED);
  79. i++;
  80. if (i > MACB_RX_RING_SIZE)
  81. i = 0;
  82. }
  83. while (i < new_tail) {
  84. - macb->rx_ring[i].addr &= ~RXADDR_USED;
  85. + macb->rx_ring[i].addr &= ~MACB_BIT(RX_USED);
  86. i++;
  87. }
  88. @@ -396,17 +377,17 @@ static int _macb_recv(struct macb_device *macb, uchar **packetp)
  89. for (;;) {
  90. macb_invalidate_ring_desc(macb, RX);
  91. - if (!(macb->rx_ring[next_rx_tail].addr & RXADDR_USED))
  92. + if (!(macb->rx_ring[next_rx_tail].addr & MACB_BIT(RX_USED)))
  93. return -EAGAIN;
  94. status = macb->rx_ring[next_rx_tail].ctrl;
  95. - if (status & RXBUF_FRAME_START) {
  96. + if (status & MACB_BIT(RX_SOF)) {
  97. if (next_rx_tail != macb->rx_tail)
  98. reclaim_rx_buffers(macb, next_rx_tail);
  99. macb->wrapped = false;
  100. }
  101. - if (status & RXBUF_FRAME_END) {
  102. + if (status & MACB_BIT(RX_EOF)) {
  103. buffer = macb->rx_buffer + 128 * macb->rx_tail;
  104. length = status & RXBUF_FRMLEN_MASK;
  105. @@ -697,7 +678,7 @@ static int gmac_init_multi_queues(struct macb_device *macb)
  106. if (queue_mask & (1 << i))
  107. num_queues++;
  108. - macb->dummy_desc->ctrl = TXBUF_USED;
  109. + macb->dummy_desc->ctrl = MACB_BIT(TX_USED);
  110. macb->dummy_desc->addr = 0;
  111. flush_dcache_range(macb->dummy_desc_dma, macb->dummy_desc_dma +
  112. ALIGN(MACB_TX_DUMMY_DMA_DESC_SIZE, PKTALIGN));
  113. @@ -730,7 +711,7 @@ static int _macb_init(struct macb_device *macb, const char *name)
  114. paddr = macb->rx_buffer_dma;
  115. for (i = 0; i < MACB_RX_RING_SIZE; i++) {
  116. if (i == (MACB_RX_RING_SIZE - 1))
  117. - paddr |= RXADDR_WRAP;
  118. + paddr |= MACB_BIT(RX_WRAP);
  119. macb->rx_ring[i].addr = paddr;
  120. macb->rx_ring[i].ctrl = 0;
  121. paddr += 128;
  122. @@ -741,9 +722,10 @@ static int _macb_init(struct macb_device *macb, const char *name)
  123. for (i = 0; i < MACB_TX_RING_SIZE; i++) {
  124. macb->tx_ring[i].addr = 0;
  125. if (i == (MACB_TX_RING_SIZE - 1))
  126. - macb->tx_ring[i].ctrl = TXBUF_USED | TXBUF_WRAP;
  127. + macb->tx_ring[i].ctrl = MACB_BIT(TX_USED) |
  128. + MACB_BIT(TX_WRAP);
  129. else
  130. - macb->tx_ring[i].ctrl = TXBUF_USED;
  131. + macb->tx_ring[i].ctrl = MACB_BIT(TX_USED);
  132. }
  133. macb_flush_ring_desc(macb, TX);
  134. --
  135. 2.22.0