* [PATCH net-next 0/3] net: emaclite: support arm64 platform @ 2019-12-16 12:08 Radhey Shyam Pandey 2019-12-16 12:08 ` [PATCH net-next 1/3] net: emaclite: Fix coding style Radhey Shyam Pandey ` (2 more replies) 0 siblings, 3 replies; 7+ messages in thread From: Radhey Shyam Pandey @ 2019-12-16 12:08 UTC (permalink / raw) To: davem, michal.simek Cc: netdev, linux-arm-kernel, linux-kernel, git, Radhey Shyam Pandey MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This patchset fixes the checkpatch warning reported in xilinx emaclite driver. It also remove obsolete arch dependency in kconfig to support aarch64 platform and fixes related gcc warnings. Michal Simek (1): net: emaclite: Fix arm64 compilation warnings Radhey Shyam Pandey (2): net: emaclite: Fix coding style net: emaclite: In kconfig remove arch dependency drivers/net/ethernet/xilinx/Kconfig | 2 +- drivers/net/ethernet/xilinx/xilinx_emaclite.c | 45 ++++++++++++--------------- 2 files changed, 21 insertions(+), 26 deletions(-) -- 2.7.4 ^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH net-next 1/3] net: emaclite: Fix coding style 2019-12-16 12:08 [PATCH net-next 0/3] net: emaclite: support arm64 platform Radhey Shyam Pandey @ 2019-12-16 12:08 ` Radhey Shyam Pandey 2019-12-17 21:57 ` David Miller 2019-12-16 12:08 ` [PATCH net-next 2/3] net: emaclite: In kconfig remove arch dependency Radhey Shyam Pandey 2019-12-16 12:08 ` [PATCH net-next 3/3] net: emaclite: Fix arm64 compilation warnings Radhey Shyam Pandey 2 siblings, 1 reply; 7+ messages in thread From: Radhey Shyam Pandey @ 2019-12-16 12:08 UTC (permalink / raw) To: davem, michal.simek Cc: netdev, linux-arm-kernel, linux-kernel, git, Radhey Shyam Pandey Make coding style changes to fix checkpatch script warnings. There is no functional change. Fixes below check and warnings- CHECK: Blank lines aren't necessary after an open brace '{' CHECK: spinlock_t definition without comment CHECK: Please don't use multiple blank lines WARNING: Prefer 'unsigned int' to bare use of 'unsigned' CHECK: braces {} should be used on all arms of this statement CHECK: Unbalanced braces around else statement CHECK: Alignment should match open parenthesis WARNING: Missing a blank line after declarations Signed-off-by: Radhey Shyam Pandey <radhey.shyam.pandey@xilinx.com> --- drivers/net/ethernet/xilinx/xilinx_emaclite.c | 35 ++++++++++++--------------- 1 file changed, 15 insertions(+), 20 deletions(-) diff --git a/drivers/net/ethernet/xilinx/xilinx_emaclite.c b/drivers/net/ethernet/xilinx/xilinx_emaclite.c index 0c26f5b..4aa6752 100644 --- a/drivers/net/ethernet/xilinx/xilinx_emaclite.c +++ b/drivers/net/ethernet/xilinx/xilinx_emaclite.c @@ -1,6 +1,5 @@ // SPDX-License-Identifier: GPL-2.0-or-later -/* - * Xilinx EmacLite Linux driver for the Xilinx Ethernet MAC Lite device. +/* Xilinx EmacLite Linux driver for the Xilinx Ethernet MAC Lite device. * * This is a new flat driver which is based on the original emac_lite * driver from John Williams <john.williams@xilinx.com>. @@ -91,8 +90,6 @@ #define XEL_ARP_PACKET_SIZE 28 /* Max ARP packet size */ #define XEL_HEADER_IP_LENGTH_OFFSET 16 /* IP Length Offset */ - - #define TX_TIMEOUT (60 * HZ) /* Tx timeout is 60 seconds. */ #define ALIGNMENT 4 @@ -124,7 +121,6 @@ * @last_link: last link status */ struct net_local { - struct net_device *ndev; bool tx_ping_pong; @@ -133,7 +129,7 @@ struct net_local { u32 next_rx_buf_to_use; void __iomem *base_addr; - spinlock_t reset_lock; + spinlock_t reset_lock; /* lock used for synchronization */ struct sk_buff *deferred_skb; struct phy_device *phy_dev; @@ -144,7 +140,6 @@ struct net_local { int last_link; }; - /*************************/ /* EmacLite driver calls */ /*************************/ @@ -207,7 +202,7 @@ static void xemaclite_disable_interrupts(struct net_local *drvdata) * address in the EmacLite device. */ static void xemaclite_aligned_write(void *src_ptr, u32 *dest_ptr, - unsigned length) + unsigned int length) { u32 align_buffer; u32 *to_u32_ptr; @@ -264,7 +259,7 @@ static void xemaclite_aligned_write(void *src_ptr, u32 *dest_ptr, * to a 16-bit aligned buffer. */ static void xemaclite_aligned_read(u32 *src_ptr, u8 *dest_ptr, - unsigned length) + unsigned int length) { u16 *to_u16_ptr, *from_u16_ptr; u32 *from_u32_ptr; @@ -329,7 +324,6 @@ static int xemaclite_send_data(struct net_local *drvdata, u8 *data, reg_data = xemaclite_readl(addr + XEL_TSR_OFFSET); if ((reg_data & (XEL_TSR_XMIT_BUSY_MASK | XEL_TSR_XMIT_ACTIVE_MASK)) == 0) { - /* Switch to next buffer if configured */ if (drvdata->tx_ping_pong != 0) drvdata->next_tx_buf_to_use ^= XEL_BUFFER_OFFSET; @@ -345,8 +339,9 @@ static int xemaclite_send_data(struct net_local *drvdata, u8 *data, if ((reg_data & (XEL_TSR_XMIT_BUSY_MASK | XEL_TSR_XMIT_ACTIVE_MASK)) != 0) return -1; /* Buffers were full, return failure */ - } else + } else { return -1; /* Buffer was full, return failure */ + } /* Write the frame to the buffer */ xemaclite_aligned_write(data, (u32 __force *)addr, byte_count); @@ -421,7 +416,6 @@ static u16 xemaclite_recv_data(struct net_local *drvdata, u8 *data, int maxlen) * or an IP packet or an ARP packet */ if (proto_type > ETH_DATA_LEN) { - if (proto_type == ETH_P_IP) { length = ((ntohl(xemaclite_readl(addr + XEL_HEADER_IP_LENGTH_OFFSET + @@ -431,23 +425,25 @@ static u16 xemaclite_recv_data(struct net_local *drvdata, u8 *data, int maxlen) length = min_t(u16, length, ETH_DATA_LEN); length += ETH_HLEN + ETH_FCS_LEN; - } else if (proto_type == ETH_P_ARP) + } else if (proto_type == ETH_P_ARP) { length = XEL_ARP_PACKET_SIZE + ETH_HLEN + ETH_FCS_LEN; - else + } else { /* Field contains type other than IP or ARP, use max * frame size and let user parse it */ length = ETH_FRAME_LEN + ETH_FCS_LEN; - } else + } + } else { /* Use the length in the frame, plus the header and trailer */ length = proto_type + ETH_HLEN + ETH_FCS_LEN; + } if (WARN_ON(length > maxlen)) length = maxlen; /* Read from the EmacLite device */ xemaclite_aligned_read((u32 __force *)(addr + XEL_RXBUFF_OFFSET), - data, length); + data, length); /* Acknowledge the frame */ reg_data = xemaclite_readl(addr + XEL_RSR_OFFSET); @@ -668,8 +664,7 @@ static irqreturn_t xemaclite_interrupt(int irq, void *dev_id) /* Check if the Transmission for the first buffer is completed */ tx_status = xemaclite_readl(base_addr + XEL_TSR_OFFSET); if (((tx_status & XEL_TSR_XMIT_BUSY_MASK) == 0) && - (tx_status & XEL_TSR_XMIT_ACTIVE_MASK) != 0) { - + (tx_status & XEL_TSR_XMIT_ACTIVE_MASK) != 0) { tx_status &= ~XEL_TSR_XMIT_ACTIVE_MASK; xemaclite_writel(tx_status, base_addr + XEL_TSR_OFFSET); @@ -679,8 +674,7 @@ static irqreturn_t xemaclite_interrupt(int irq, void *dev_id) /* Check if the Transmission for the second buffer is completed */ tx_status = xemaclite_readl(base_addr + XEL_BUFFER_OFFSET + XEL_TSR_OFFSET); if (((tx_status & XEL_TSR_XMIT_BUSY_MASK) == 0) && - (tx_status & XEL_TSR_XMIT_ACTIVE_MASK) != 0) { - + (tx_status & XEL_TSR_XMIT_ACTIVE_MASK) != 0) { tx_status &= ~XEL_TSR_XMIT_ACTIVE_MASK; xemaclite_writel(tx_status, base_addr + XEL_BUFFER_OFFSET + XEL_TSR_OFFSET); @@ -837,6 +831,7 @@ static int xemaclite_mdio_setup(struct net_local *lp, struct device *dev) of_address_to_resource(npp, 0, &res); if (lp->ndev->mem_start != res.start) { struct phy_device *phydev; + phydev = of_phy_find_device(lp->phy_node); if (!phydev) dev_info(dev, -- 2.7.4 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH net-next 1/3] net: emaclite: Fix coding style 2019-12-16 12:08 ` [PATCH net-next 1/3] net: emaclite: Fix coding style Radhey Shyam Pandey @ 2019-12-17 21:57 ` David Miller 2019-12-18 13:34 ` Radhey Shyam Pandey 0 siblings, 1 reply; 7+ messages in thread From: David Miller @ 2019-12-17 21:57 UTC (permalink / raw) To: radhey.shyam.pandey Cc: michal.simek, netdev, linux-arm-kernel, linux-kernel, git From: Radhey Shyam Pandey <radhey.shyam.pandey@xilinx.com> Date: Mon, 16 Dec 2019 17:38:08 +0530 > - spinlock_t reset_lock; > + spinlock_t reset_lock; /* lock used for synchronization */ If you're just going to put the comment there to shut up the warnings, I'm not applying your patches. You have to write a thoughtful comment which explains what this lock actually protects. ^ permalink raw reply [flat|nested] 7+ messages in thread
* RE: [PATCH net-next 1/3] net: emaclite: Fix coding style 2019-12-17 21:57 ` David Miller @ 2019-12-18 13:34 ` Radhey Shyam Pandey 0 siblings, 0 replies; 7+ messages in thread From: Radhey Shyam Pandey @ 2019-12-18 13:34 UTC (permalink / raw) To: David Miller; +Cc: Michal Simek, netdev, linux-arm-kernel, linux-kernel, git > -----Original Message----- > From: David Miller <davem@davemloft.net> > Sent: Wednesday, December 18, 2019 3:27 AM > To: Radhey Shyam Pandey <radheys@xilinx.com> > Cc: Michal Simek <michals@xilinx.com>; netdev@vger.kernel.org; linux-arm- > kernel@lists.infradead.org; linux-kernel@vger.kernel.org; git > <git@xilinx.com> > Subject: Re: [PATCH net-next 1/3] net: emaclite: Fix coding style > > From: Radhey Shyam Pandey <radhey.shyam.pandey@xilinx.com> > Date: Mon, 16 Dec 2019 17:38:08 +0530 > > > - spinlock_t reset_lock; > > + spinlock_t reset_lock; /* lock used for synchronization */ > > If you're just going to put the comment there to shut up the warnings, > I'm not applying your patches. > > You have to write a thoughtful comment which explains what this lock > actually protects. Thanks for the review. Sure, will fix reset_lock comment and also its kernel-doc description in v2. ^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH net-next 2/3] net: emaclite: In kconfig remove arch dependency 2019-12-16 12:08 [PATCH net-next 0/3] net: emaclite: support arm64 platform Radhey Shyam Pandey 2019-12-16 12:08 ` [PATCH net-next 1/3] net: emaclite: Fix coding style Radhey Shyam Pandey @ 2019-12-16 12:08 ` Radhey Shyam Pandey 2019-12-16 12:08 ` [PATCH net-next 3/3] net: emaclite: Fix arm64 compilation warnings Radhey Shyam Pandey 2 siblings, 0 replies; 7+ messages in thread From: Radhey Shyam Pandey @ 2019-12-16 12:08 UTC (permalink / raw) To: davem, michal.simek Cc: netdev, linux-arm-kernel, linux-kernel, git, Radhey Shyam Pandey To enable xilinx_emaclite driver support on zynqmp ultrascale platform (ARCH64) remove the obsolete ARCH dependency list. Also include HAS_IOMEM dependency to avoid compilation failure on architectures without IOMEM. Sanity build test done for microblaze, zynq and zynqmp ultrascale platform. Signed-off-by: Radhey Shyam Pandey <radhey.shyam.pandey@xilinx.com> --- drivers/net/ethernet/xilinx/Kconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/ethernet/xilinx/Kconfig b/drivers/net/ethernet/xilinx/Kconfig index 6304ebd..0692dd1 100644 --- a/drivers/net/ethernet/xilinx/Kconfig +++ b/drivers/net/ethernet/xilinx/Kconfig @@ -18,8 +18,8 @@ if NET_VENDOR_XILINX config XILINX_EMACLITE tristate "Xilinx 10/100 Ethernet Lite support" - depends on PPC32 || MICROBLAZE || ARCH_ZYNQ || MIPS select PHYLIB + depends on HAS_IOMEM ---help--- This driver supports the 10/100 Ethernet Lite from Xilinx. -- 2.7.4 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH net-next 3/3] net: emaclite: Fix arm64 compilation warnings 2019-12-16 12:08 [PATCH net-next 0/3] net: emaclite: support arm64 platform Radhey Shyam Pandey 2019-12-16 12:08 ` [PATCH net-next 1/3] net: emaclite: Fix coding style Radhey Shyam Pandey 2019-12-16 12:08 ` [PATCH net-next 2/3] net: emaclite: In kconfig remove arch dependency Radhey Shyam Pandey @ 2019-12-16 12:08 ` Radhey Shyam Pandey 2 siblings, 0 replies; 7+ messages in thread From: Radhey Shyam Pandey @ 2019-12-16 12:08 UTC (permalink / raw) To: davem, michal.simek Cc: netdev, linux-arm-kernel, linux-kernel, git, Radhey Shyam Pandey From: Michal Simek <michal.simek@xilinx.com> Recast pointers with ulong instead of u32 for arm64. This patch fixes these compilation warnings: drivers/net/ethernet/xilinx/xilinx_emaclite.c: In function ‘xemaclite_send_data’: drivers/net/ethernet/xilinx/xilinx_emaclite.c:335:35: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] addr = (void __iomem __force *)((u32 __force)addr ^ ^ drivers/net/ethernet/xilinx/xilinx_emaclite.c:335:10: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] addr = (void __iomem __force *)((u32 __force)addr ^ ^ drivers/net/ethernet/xilinx/xilinx_emaclite.c: In function ‘xemaclite_recv_data’: drivers/net/ethernet/xilinx/xilinx_emaclite.c:397:36: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] addr = (void __iomem __force *)((u32 __force)addr ^ ^ drivers/net/ethernet/xilinx/xilinx_emaclite.c:397:11: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] addr = (void __iomem __force *)((u32 __force)addr ^ ^ drivers/net/ethernet/xilinx/xilinx_emaclite.c: In function ‘xemaclite_rx_handler’: drivers/net/ethernet/xilinx/xilinx_emaclite.c:97:42: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] #define BUFFER_ALIGN(adr) ((ALIGNMENT - ((u32)adr)) % ALIGNMENT) ^ drivers/net/ethernet/xilinx/xilinx_emaclite.c:612:10: note: in expansion of macro ‘BUFFER_ALIGN’ align = BUFFER_ALIGN(skb->data); ^~~~~~~~~~~~ In file included from ./include/linux/dma-mapping.h:7, from ./include/linux/skbuff.h:31, from ./include/linux/if_ether.h:19, from ./include/uapi/linux/ethtool.h:19, from ./include/linux/ethtool.h:18, from ./include/linux/netdevice.h:37, from drivers/net/ethernet/xilinx/xilinx_emaclite.c:12: drivers/net/ethernet/xilinx/xilinx_emaclite.c: In function ‘xemaclite_of_probe’: drivers/net/ethernet/xilinx/xilinx_emaclite.c:1191:4: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] (unsigned int __force)lp->base_addr, ndev->irq); ^ ./include/linux/device.h:1780:33: note: in definition of macro ‘dev_info’ _dev_info(dev, dev_fmt(fmt), ##__VA_ARGS__) ^~~~~~~~~~~ Signed-off-by: Michal Simek <michal.simek@xilinx.com> Signed-off-by: Radhey Shyam Pandey <radhey.shyam.pandey@xilinx.com> --- drivers/net/ethernet/xilinx/xilinx_emaclite.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/net/ethernet/xilinx/xilinx_emaclite.c b/drivers/net/ethernet/xilinx/xilinx_emaclite.c index 4aa6752..cfb051a 100644 --- a/drivers/net/ethernet/xilinx/xilinx_emaclite.c +++ b/drivers/net/ethernet/xilinx/xilinx_emaclite.c @@ -94,7 +94,7 @@ #define ALIGNMENT 4 /* BUFFER_ALIGN(adr) calculates the number of bytes to the next alignment. */ -#define BUFFER_ALIGN(adr) ((ALIGNMENT - ((u32)adr)) % ALIGNMENT) +#define BUFFER_ALIGN(adr) ((ALIGNMENT - ((ulong)adr)) % ALIGNMENT) #ifdef __BIG_ENDIAN #define xemaclite_readl ioread32be @@ -332,7 +332,7 @@ static int xemaclite_send_data(struct net_local *drvdata, u8 *data, * if it is configured in HW */ - addr = (void __iomem __force *)((u32 __force)addr ^ + addr = (void __iomem __force *)((ulong __force)addr ^ XEL_BUFFER_OFFSET); reg_data = xemaclite_readl(addr + XEL_TSR_OFFSET); @@ -394,7 +394,7 @@ static u16 xemaclite_recv_data(struct net_local *drvdata, u8 *data, int maxlen) * will correct on subsequent calls */ if (drvdata->rx_ping_pong != 0) - addr = (void __iomem __force *)((u32 __force)addr ^ + addr = (void __iomem __force *)((ulong __force)addr ^ XEL_BUFFER_OFFSET); else return 0; /* No data was available */ @@ -1186,9 +1186,9 @@ static int xemaclite_of_probe(struct platform_device *ofdev) } dev_info(dev, - "Xilinx EmacLite at 0x%08X mapped to 0x%08X, irq=%d\n", + "Xilinx EmacLite at 0x%08X mapped to 0x%08lX, irq=%d\n", (unsigned int __force)ndev->mem_start, - (unsigned int __force)lp->base_addr, ndev->irq); + (unsigned long __force)lp->base_addr, ndev->irq); return 0; error: -- 2.7.4 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH net-next 0/3] net: emaclite: Trivial code cleanup @ 2022-04-14 12:37 Radhey Shyam Pandey 2022-04-14 12:37 ` [PATCH net-next 1/3] net: emaclite: Fix coding style Radhey Shyam Pandey 0 siblings, 1 reply; 7+ messages in thread From: Radhey Shyam Pandey @ 2022-04-14 12:37 UTC (permalink / raw) To: davem, kuba, pabeni, andrew Cc: michal.simek, netdev, linux-arm-kernel, linux-kernel, git, Radhey Shyam Pandey This patchset fix coding style issues, remove BUFFER_ALIGN macro and also update copyright text. I have to resend as earlier series didn't reach mailing list due to some configuration issue. Michal Simek (1): net: emaclite: Update copyright text to correct format Radhey Shyam Pandey (1): net: emaclite: Fix coding style Shravya Kumbham (1): net: emaclite: Remove custom BUFFER_ALIGN macro drivers/net/ethernet/xilinx/xilinx_emaclite.c | 55 +++++++++------------------ 1 file changed, 18 insertions(+), 37 deletions(-) -- 2.7.4 ^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH net-next 1/3] net: emaclite: Fix coding style 2022-04-14 12:37 [PATCH net-next 0/3] net: emaclite: Trivial code cleanup Radhey Shyam Pandey @ 2022-04-14 12:37 ` Radhey Shyam Pandey 0 siblings, 0 replies; 7+ messages in thread From: Radhey Shyam Pandey @ 2022-04-14 12:37 UTC (permalink / raw) To: davem, kuba, pabeni, andrew Cc: michal.simek, netdev, linux-arm-kernel, linux-kernel, git, Radhey Shyam Pandey Make coding style changes to fix checkpatch script warnings. There is no functional change. Fixes below check and warnings- CHECK: Blank lines aren't necessary after an open brace '{' CHECK: spinlock_t definition without comment CHECK: Please don't use multiple blank lines WARNING: Prefer 'unsigned int' to bare use of 'unsigned' CHECK: braces {} should be used on all arms of this statement CHECK: Unbalanced braces around else statement CHECK: Alignment should match open parenthesis WARNING: Missing a blank line after declarations Signed-off-by: Radhey Shyam Pandey <radhey.shyam.pandey@xilinx.com> --- drivers/net/ethernet/xilinx/xilinx_emaclite.c | 35 ++++++++++++--------------- 1 file changed, 15 insertions(+), 20 deletions(-) diff --git a/drivers/net/ethernet/xilinx/xilinx_emaclite.c b/drivers/net/ethernet/xilinx/xilinx_emaclite.c index 57a24f62e353..6294b714fbfa 100644 --- a/drivers/net/ethernet/xilinx/xilinx_emaclite.c +++ b/drivers/net/ethernet/xilinx/xilinx_emaclite.c @@ -1,6 +1,5 @@ // SPDX-License-Identifier: GPL-2.0-or-later -/* - * Xilinx EmacLite Linux driver for the Xilinx Ethernet MAC Lite device. +/* Xilinx EmacLite Linux driver for the Xilinx Ethernet MAC Lite device. * * This is a new flat driver which is based on the original emac_lite * driver from John Williams <john.williams@xilinx.com>. @@ -91,8 +90,6 @@ #define XEL_ARP_PACKET_SIZE 28 /* Max ARP packet size */ #define XEL_HEADER_IP_LENGTH_OFFSET 16 /* IP Length Offset */ - - #define TX_TIMEOUT (60 * HZ) /* Tx timeout is 60 seconds. */ #define ALIGNMENT 4 @@ -124,7 +121,6 @@ * @last_link: last link status */ struct net_local { - struct net_device *ndev; bool tx_ping_pong; @@ -133,7 +129,7 @@ struct net_local { u32 next_rx_buf_to_use; void __iomem *base_addr; - spinlock_t reset_lock; + spinlock_t reset_lock; /* serialize xmit and tx_timeout execution */ struct sk_buff *deferred_skb; struct phy_device *phy_dev; @@ -144,7 +140,6 @@ struct net_local { int last_link; }; - /*************************/ /* EmacLite driver calls */ /*************************/ @@ -207,7 +202,7 @@ static void xemaclite_disable_interrupts(struct net_local *drvdata) * address in the EmacLite device. */ static void xemaclite_aligned_write(const void *src_ptr, u32 *dest_ptr, - unsigned length) + unsigned int length) { const u16 *from_u16_ptr; u32 align_buffer; @@ -265,7 +260,7 @@ static void xemaclite_aligned_write(const void *src_ptr, u32 *dest_ptr, * to a 16-bit aligned buffer. */ static void xemaclite_aligned_read(u32 *src_ptr, u8 *dest_ptr, - unsigned length) + unsigned int length) { u16 *to_u16_ptr, *from_u16_ptr; u32 *from_u32_ptr; @@ -330,7 +325,6 @@ static int xemaclite_send_data(struct net_local *drvdata, u8 *data, reg_data = xemaclite_readl(addr + XEL_TSR_OFFSET); if ((reg_data & (XEL_TSR_XMIT_BUSY_MASK | XEL_TSR_XMIT_ACTIVE_MASK)) == 0) { - /* Switch to next buffer if configured */ if (drvdata->tx_ping_pong != 0) drvdata->next_tx_buf_to_use ^= XEL_BUFFER_OFFSET; @@ -346,8 +340,9 @@ static int xemaclite_send_data(struct net_local *drvdata, u8 *data, if ((reg_data & (XEL_TSR_XMIT_BUSY_MASK | XEL_TSR_XMIT_ACTIVE_MASK)) != 0) return -1; /* Buffers were full, return failure */ - } else + } else { return -1; /* Buffer was full, return failure */ + } /* Write the frame to the buffer */ xemaclite_aligned_write(data, (u32 __force *)addr, byte_count); @@ -423,7 +418,6 @@ static u16 xemaclite_recv_data(struct net_local *drvdata, u8 *data, int maxlen) * or an IP packet or an ARP packet */ if (proto_type > ETH_DATA_LEN) { - if (proto_type == ETH_P_IP) { length = ((ntohl(xemaclite_readl(addr + XEL_HEADER_IP_LENGTH_OFFSET + @@ -433,23 +427,25 @@ static u16 xemaclite_recv_data(struct net_local *drvdata, u8 *data, int maxlen) length = min_t(u16, length, ETH_DATA_LEN); length += ETH_HLEN + ETH_FCS_LEN; - } else if (proto_type == ETH_P_ARP) + } else if (proto_type == ETH_P_ARP) { length = XEL_ARP_PACKET_SIZE + ETH_HLEN + ETH_FCS_LEN; - else + } else { /* Field contains type other than IP or ARP, use max * frame size and let user parse it */ length = ETH_FRAME_LEN + ETH_FCS_LEN; - } else + } + } else { /* Use the length in the frame, plus the header and trailer */ length = proto_type + ETH_HLEN + ETH_FCS_LEN; + } if (WARN_ON(length > maxlen)) length = maxlen; /* Read from the EmacLite device */ xemaclite_aligned_read((u32 __force *)(addr + XEL_RXBUFF_OFFSET), - data, length); + data, length); /* Acknowledge the frame */ reg_data = xemaclite_readl(addr + XEL_RSR_OFFSET); @@ -671,8 +667,7 @@ static irqreturn_t xemaclite_interrupt(int irq, void *dev_id) /* Check if the Transmission for the first buffer is completed */ tx_status = xemaclite_readl(base_addr + XEL_TSR_OFFSET); if (((tx_status & XEL_TSR_XMIT_BUSY_MASK) == 0) && - (tx_status & XEL_TSR_XMIT_ACTIVE_MASK) != 0) { - + (tx_status & XEL_TSR_XMIT_ACTIVE_MASK) != 0) { tx_status &= ~XEL_TSR_XMIT_ACTIVE_MASK; xemaclite_writel(tx_status, base_addr + XEL_TSR_OFFSET); @@ -682,8 +677,7 @@ static irqreturn_t xemaclite_interrupt(int irq, void *dev_id) /* Check if the Transmission for the second buffer is completed */ tx_status = xemaclite_readl(base_addr + XEL_BUFFER_OFFSET + XEL_TSR_OFFSET); if (((tx_status & XEL_TSR_XMIT_BUSY_MASK) == 0) && - (tx_status & XEL_TSR_XMIT_ACTIVE_MASK) != 0) { - + (tx_status & XEL_TSR_XMIT_ACTIVE_MASK) != 0) { tx_status &= ~XEL_TSR_XMIT_ACTIVE_MASK; xemaclite_writel(tx_status, base_addr + XEL_BUFFER_OFFSET + XEL_TSR_OFFSET); @@ -840,6 +834,7 @@ static int xemaclite_mdio_setup(struct net_local *lp, struct device *dev) of_address_to_resource(npp, 0, &res); if (lp->ndev->mem_start != res.start) { struct phy_device *phydev; + phydev = of_phy_find_device(lp->phy_node); if (!phydev) dev_info(dev, -- 2.7.4 ^ permalink raw reply related [flat|nested] 7+ messages in thread
end of thread, other threads:[~2022-04-14 12:37 UTC | newest] Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2019-12-16 12:08 [PATCH net-next 0/3] net: emaclite: support arm64 platform Radhey Shyam Pandey 2019-12-16 12:08 ` [PATCH net-next 1/3] net: emaclite: Fix coding style Radhey Shyam Pandey 2019-12-17 21:57 ` David Miller 2019-12-18 13:34 ` Radhey Shyam Pandey 2019-12-16 12:08 ` [PATCH net-next 2/3] net: emaclite: In kconfig remove arch dependency Radhey Shyam Pandey 2019-12-16 12:08 ` [PATCH net-next 3/3] net: emaclite: Fix arm64 compilation warnings Radhey Shyam Pandey 2022-04-14 12:37 [PATCH net-next 0/3] net: emaclite: Trivial code cleanup Radhey Shyam Pandey 2022-04-14 12:37 ` [PATCH net-next 1/3] net: emaclite: Fix coding style Radhey Shyam Pandey
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).