From patchwork Tue Jul 16 19:03:02 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ramon Fried X-Patchwork-Id: 1132900 X-Patchwork-Delegate: joe.hershberger@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="RwIlrFx5"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 45p8wN53qhz9sDB for ; Wed, 17 Jul 2019 05:04:52 +1000 (AEST) Received: by lists.denx.de (Postfix, from userid 105) id 61226C21E49; Tue, 16 Jul 2019 19:04:29 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=FREEMAIL_FROM, RCVD_IN_MSPIKE_H2, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id A581DC21EA7; Tue, 16 Jul 2019 19:03:37 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 36F3FC21C4A; Tue, 16 Jul 2019 19:03:36 +0000 (UTC) Received: from mail-wm1-f68.google.com (mail-wm1-f68.google.com [209.85.128.68]) by lists.denx.de (Postfix) with ESMTPS id 08E61C21E12 for ; Tue, 16 Jul 2019 19:03:24 +0000 (UTC) Received: by mail-wm1-f68.google.com with SMTP id g67so15612216wme.1 for ; Tue, 16 Jul 2019 12:03:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=MpiK84GK0T9Y7T3fvzc3NNnjZwjy0i2EV0iwagyCzgY=; b=RwIlrFx51bTR6QUAD1mnEIFZSNyqR+NNX4vBLCNGLsLYJc1mCXRYwe3EXkql++ZJDU pOo+B6cwj41Fvzm+FXCPWwX9CacUFoIWthJUgTYMS/d0DbB/fOjMwUEO1jCyKj+O+SD4 X6zu8w89A/vA6LnCzqXQ12iFGj2zYo4u26p8Eafck1Ufpp17uWKgap6DNVEzuPlazpkj 5fHxJ/CgwfeKT4+h4poYywQ3pNzo0ZzkN7QonlGDsRDFuATBEY3xqP93kNUcL6+5NVNh 5kXkQxljp00zzQARk1GbD2vyIh7FQJB1pxOP5LdwW0N8RmgDAjfmPjYK2v9j3fcxhfql sKVQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=MpiK84GK0T9Y7T3fvzc3NNnjZwjy0i2EV0iwagyCzgY=; b=RMr4VFva+S9EnI37mJUIMf+bmlF6Ix4EO9gs2EHvCSnfL6w88Ifxnzpe71V5FnnlMZ 3m6f7cGlXolXd7Rdg6RpjBOcGWlVXh8zsUbbHhOpN1tazfMiG5vpnFEOwKiViICReuQv UGP9tAkE5WsYrNqx4NGe+2MpgTibtyAcnWjJKiZ+bHGJSV5f0ZuJBKg6ZE86eVGjQ/jR bnhV40zf1YuVzlmVXB7rKfvOxrcnOZiPqAri/4VCYuAbGTbYrcbtTeK7sYDjU8SJVVWa beAe5oSfLOIt++WLVBa0q3FTaPgL9tpcI2ZVzLeDCYTbE5Qab2hskGoiYPzjx6k6a+1h 6Acw== X-Gm-Message-State: APjAAAU5lybkwIjl53YzcjEEjvrL+6RgT8hlBp9DzTZjIshba02gziMY H99oKbjrKYVEw0ODF6hsacVm7ideYYM= X-Google-Smtp-Source: APXvYqzME7SFA8xAlJ2EsVgfaYK04YLDsrv81/Ix4YokBulsrQzRmOh+Z+kpj9I4CIxZJDqTqH+eKQ== X-Received: by 2002:a1c:f408:: with SMTP id z8mr6408776wma.97.1563303803471; Tue, 16 Jul 2019 12:03:23 -0700 (PDT) Received: from localhost.localdomain ([141.226.31.91]) by smtp.gmail.com with ESMTPSA id i66sm36508397wmi.11.2019.07.16.12.03.21 (version=TLS1_3 cipher=AEAD-AES256-GCM-SHA384 bits=256/256); Tue, 16 Jul 2019 12:03:23 -0700 (PDT) From: Ramon Fried To: u-boot@lists.denx.de, joe.hershberger@ni.com Date: Tue, 16 Jul 2019 22:03:02 +0300 Message-Id: <20190716190305.20520-3-rfried.dev@gmail.com> X-Mailer: git-send-email 2.22.0 In-Reply-To: <20190716190305.20520-1-rfried.dev@gmail.com> References: <20190716190305.20520-1-rfried.dev@gmail.com> MIME-Version: 1.0 Subject: [U-Boot] [PATCH 3/6] net: macb: use bit access macro from header file X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" macb.h provides macros for reading/setting bitfields, in macb registers and descriptors. use that instead of redefining them in the source file. Signed-off-by: Ramon Fried Reviewed-by: Anup Patel Tested-by: Anup Patel Acked-by: Joe Hershberger --- v2: nothing. drivers/net/macb.c | 48 +++++++++++++++------------------------------- 1 file changed, 15 insertions(+), 33 deletions(-) diff --git a/drivers/net/macb.c b/drivers/net/macb.c index 0fed43bbe2..a968a4bd06 100644 --- a/drivers/net/macb.c +++ b/drivers/net/macb.c @@ -77,27 +77,8 @@ struct macb_dma_desc { #define MACB_RX_DMA_DESC_SIZE (DMA_DESC_BYTES(MACB_RX_RING_SIZE)) #define MACB_TX_DUMMY_DMA_DESC_SIZE (DMA_DESC_BYTES(1)) -#define RXADDR_USED 0x00000001 -#define RXADDR_WRAP 0x00000002 - #define RXBUF_FRMLEN_MASK 0x00000fff -#define RXBUF_FRAME_START 0x00004000 -#define RXBUF_FRAME_END 0x00008000 -#define RXBUF_TYPEID_MATCH 0x00400000 -#define RXBUF_ADDR4_MATCH 0x00800000 -#define RXBUF_ADDR3_MATCH 0x01000000 -#define RXBUF_ADDR2_MATCH 0x02000000 -#define RXBUF_ADDR1_MATCH 0x04000000 -#define RXBUF_BROADCAST 0x80000000 - #define TXBUF_FRMLEN_MASK 0x000007ff -#define TXBUF_FRAME_END 0x00008000 -#define TXBUF_NOCRC 0x00010000 -#define TXBUF_EXHAUSTED 0x08000000 -#define TXBUF_UNDERRUN 0x10000000 -#define TXBUF_MAXRETRY 0x20000000 -#define TXBUF_WRAP 0x40000000 -#define TXBUF_USED 0x80000000 struct macb_device { void *regs; @@ -316,9 +297,9 @@ static int _macb_send(struct macb_device *macb, const char *name, void *packet, paddr = dma_map_single(packet, length, DMA_TO_DEVICE); ctrl = length & TXBUF_FRMLEN_MASK; - ctrl |= TXBUF_FRAME_END; + ctrl |= MACB_BIT(TX_LAST); if (tx_head == (MACB_TX_RING_SIZE - 1)) { - ctrl |= TXBUF_WRAP; + ctrl |= MACB_BIT(TX_WRAP); macb->tx_head = 0; } else { macb->tx_head++; @@ -340,7 +321,7 @@ static int _macb_send(struct macb_device *macb, const char *name, void *packet, barrier(); macb_invalidate_ring_desc(macb, TX); ctrl = macb->tx_ring[tx_head].ctrl; - if (ctrl & TXBUF_USED) + if (ctrl & MACB_BIT(TX_USED)) break; udelay(1); } @@ -348,9 +329,9 @@ static int _macb_send(struct macb_device *macb, const char *name, void *packet, dma_unmap_single(packet, length, paddr); if (i <= MACB_TX_TIMEOUT) { - if (ctrl & TXBUF_UNDERRUN) + if (ctrl & MACB_BIT(TX_UNDERRUN)) printf("%s: TX underrun\n", name); - if (ctrl & TXBUF_EXHAUSTED) + if (ctrl & MACB_BIT(TX_BUF_EXHAUSTED)) printf("%s: TX buffers exhausted in mid frame\n", name); } else { printf("%s: TX timeout\n", name); @@ -369,14 +350,14 @@ static void reclaim_rx_buffers(struct macb_device *macb, macb_invalidate_ring_desc(macb, RX); while (i > new_tail) { - macb->rx_ring[i].addr &= ~RXADDR_USED; + macb->rx_ring[i].addr &= ~MACB_BIT(RX_USED); i++; if (i > MACB_RX_RING_SIZE) i = 0; } while (i < new_tail) { - macb->rx_ring[i].addr &= ~RXADDR_USED; + macb->rx_ring[i].addr &= ~MACB_BIT(RX_USED); i++; } @@ -396,17 +377,17 @@ static int _macb_recv(struct macb_device *macb, uchar **packetp) for (;;) { macb_invalidate_ring_desc(macb, RX); - if (!(macb->rx_ring[next_rx_tail].addr & RXADDR_USED)) + if (!(macb->rx_ring[next_rx_tail].addr & MACB_BIT(RX_USED))) return -EAGAIN; status = macb->rx_ring[next_rx_tail].ctrl; - if (status & RXBUF_FRAME_START) { + if (status & MACB_BIT(RX_SOF)) { if (next_rx_tail != macb->rx_tail) reclaim_rx_buffers(macb, next_rx_tail); macb->wrapped = false; } - if (status & RXBUF_FRAME_END) { + if (status & MACB_BIT(RX_EOF)) { buffer = macb->rx_buffer + 128 * macb->rx_tail; length = status & RXBUF_FRMLEN_MASK; @@ -699,7 +680,7 @@ static int gmac_init_multi_queues(struct macb_device *macb) if (queue_mask & (1 << i)) num_queues++; - macb->dummy_desc->ctrl = TXBUF_USED; + macb->dummy_desc->ctrl = MACB_BIT(TX_USED); macb->dummy_desc->addr = 0; flush_dcache_range(macb->dummy_desc_dma, macb->dummy_desc_dma + ALIGN(MACB_TX_DUMMY_DMA_DESC_SIZE, PKTALIGN)); @@ -732,7 +713,7 @@ static int _macb_init(struct macb_device *macb, const char *name) paddr = macb->rx_buffer_dma; for (i = 0; i < MACB_RX_RING_SIZE; i++) { if (i == (MACB_RX_RING_SIZE - 1)) - paddr |= RXADDR_WRAP; + paddr |= MACB_BIT(RX_WRAP); macb->rx_ring[i].addr = paddr; macb->rx_ring[i].ctrl = 0; paddr += 128; @@ -743,9 +724,10 @@ static int _macb_init(struct macb_device *macb, const char *name) for (i = 0; i < MACB_TX_RING_SIZE; i++) { macb->tx_ring[i].addr = 0; if (i == (MACB_TX_RING_SIZE - 1)) - macb->tx_ring[i].ctrl = TXBUF_USED | TXBUF_WRAP; + macb->tx_ring[i].ctrl = MACB_BIT(TX_USED) | + MACB_BIT(TX_WRAP); else - macb->tx_ring[i].ctrl = TXBUF_USED; + macb->tx_ring[i].ctrl = MACB_BIT(TX_USED); } macb_flush_ring_desc(macb, TX);