All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [PATCH v2] net: asix: Fix ASIX 88772B with driver model
@ 2016-09-10  1:54 Marcel Ziswiler
  2016-09-10 16:36 ` Joe Hershberger
  2016-09-10 16:52 ` Marek Vasut
  0 siblings, 2 replies; 3+ messages in thread
From: Marcel Ziswiler @ 2016-09-10  1:54 UTC (permalink / raw)
  To: u-boot

From: Alban Bedel <alban.bedel@avionic-design.de>

Commit 147271209a9d ("net: asix: fix operation without eeprom")
added a special handling for ASIX 88772B that enable another
type of header. This break the driver in DM mode as the extra handling
needed in the receive path is missing.

However this new header mode is not required and only seems to
increase the code complexity, so this patch revert this part of
commit 147271209a9d.

This also reverts commit 41d1258aceb45b45f9e68f67a9c40f0afbc09dc9
("net: asix: Fix AX88772B when used with DriverModel") of late.

Fixes: 147271209a9d ("net: asix: fix operation without eeprom")

Signed-off-by: Alban Bedel <alban.bedel@avionic-design.de>
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>

---
Please note that this also obsoletes the following patch sent earlier
as requested by Marek:

[PATCH] Revert "net: asix: Fix AX88772B when used with DriverModel"

Changes in v2:
- reverting the changes from Joshua's patch as well as suggested by
  Marek

 drivers/usb/eth/asix.c | 27 +++------------------------
 1 file changed, 3 insertions(+), 24 deletions(-)

diff --git a/drivers/usb/eth/asix.c b/drivers/usb/eth/asix.c
index a610ae4..1c6e967 100644
--- a/drivers/usb/eth/asix.c
+++ b/drivers/usb/eth/asix.c
@@ -67,11 +67,8 @@
 	 AX_MEDIUM_AC | AX_MEDIUM_RE)
 
 /* AX88772 & AX88178 RX_CTL values */
-#define AX_RX_CTL_RH2M		0x0200	/* 32-bit aligned RX IP header */
-#define AX_RX_CTL_RH1M		0x0100	/* Enable RX header format type 1 */
-#define AX_RX_CTL_SO		0x0080
-#define AX_RX_CTL_AB		0x0008
-#define AX_RX_HEADER_DEFAULT	(AX_RX_CTL_RH1M | AX_RX_CTL_RH2M)
+#define AX_RX_CTL_SO			0x0080
+#define AX_RX_CTL_AB			0x0008
 
 #define AX_DEFAULT_RX_CTL	\
 	(AX_RX_CTL_SO | AX_RX_CTL_AB)
@@ -98,8 +95,6 @@
 #define FLAG_TYPE_AX88772B	(1U << 2)
 #define FLAG_EEPROM_MAC		(1U << 3) /* initial mac address in eeprom */
 
-#define ASIX_USB_VENDOR_ID	0x0b95
-#define AX88772B_USB_PRODUCT_ID	0x772b
 
 /* driver private */
 struct asix_private {
@@ -431,15 +426,10 @@ static int asix_init_common(struct ueth_data *dev, uint8_t *enetaddr)
 	int timeout = 0;
 #define TIMEOUT_RESOLUTION 50	/* ms */
 	int link_detected;
-	u32 ctl = AX_DEFAULT_RX_CTL;
 
 	debug("** %s()\n", __func__);
 
-	if ((dev->pusb_dev->descriptor.idVendor == ASIX_USB_VENDOR_ID) &&
-	    (dev->pusb_dev->descriptor.idProduct == AX88772B_USB_PRODUCT_ID))
-		ctl |= AX_RX_HEADER_DEFAULT;
-
-	if (asix_write_rx_ctl(dev, ctl) < 0)
+	if (asix_write_rx_ctl(dev, AX_DEFAULT_RX_CTL) < 0)
 		goto out_err;
 
 	if (asix_write_hwaddr_common(dev, enetaddr) < 0)
@@ -572,12 +562,6 @@ static int asix_recv(struct eth_device *eth)
 			return -1;
 		}
 
-		if ((dev->pusb_dev->descriptor.idVendor ==
-		     ASIX_USB_VENDOR_ID) &&
-		    (dev->pusb_dev->descriptor.idProduct ==
-		     AX88772B_USB_PRODUCT_ID))
-			buf_ptr += 2;
-
 		/* Notify net stack */
 		net_process_received_packet(buf_ptr + sizeof(packet_len),
 					    packet_len);
@@ -819,11 +803,6 @@ int asix_eth_recv(struct udevice *dev, int flags, uchar **packetp)
 	}
 
 	*packetp = ptr + sizeof(packet_len);
-
-	if ((ueth->pusb_dev->descriptor.idVendor == ASIX_USB_VENDOR_ID) &&
-	    (ueth->pusb_dev->descriptor.idProduct == AX88772B_USB_PRODUCT_ID))
-		*packetp += 2;
-
 	return packet_len;
 
 err:
-- 
2.5.5

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [U-Boot] [PATCH v2] net: asix: Fix ASIX 88772B with driver model
  2016-09-10  1:54 [U-Boot] [PATCH v2] net: asix: Fix ASIX 88772B with driver model Marcel Ziswiler
@ 2016-09-10 16:36 ` Joe Hershberger
  2016-09-10 16:52 ` Marek Vasut
  1 sibling, 0 replies; 3+ messages in thread
From: Joe Hershberger @ 2016-09-10 16:36 UTC (permalink / raw)
  To: u-boot

On Fri, Sep 9, 2016 at 8:54 PM, Marcel Ziswiler
<marcel.ziswiler@toradex.com> wrote:
> From: Alban Bedel <alban.bedel@avionic-design.de>
>
> Commit 147271209a9d ("net: asix: fix operation without eeprom")
> added a special handling for ASIX 88772B that enable another
> type of header. This break the driver in DM mode as the extra handling
> needed in the receive path is missing.
>
> However this new header mode is not required and only seems to
> increase the code complexity, so this patch revert this part of
> commit 147271209a9d.
>
> This also reverts commit 41d1258aceb45b45f9e68f67a9c40f0afbc09dc9
> ("net: asix: Fix AX88772B when used with DriverModel") of late.
>
> Fixes: 147271209a9d ("net: asix: fix operation without eeprom")
>
> Signed-off-by: Alban Bedel <alban.bedel@avionic-design.de>
> Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
>
> ---
> Please note that this also obsoletes the following patch sent earlier
> as requested by Marek:
>
> [PATCH] Revert "net: asix: Fix AX88772B when used with DriverModel"
>
> Changes in v2:
> - reverting the changes from Joshua's patch as well as suggested by
>   Marek

Acked-by: Joe Hershberger <joe.hershberger@ni.com>

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [U-Boot] [PATCH v2] net: asix: Fix ASIX 88772B with driver model
  2016-09-10  1:54 [U-Boot] [PATCH v2] net: asix: Fix ASIX 88772B with driver model Marcel Ziswiler
  2016-09-10 16:36 ` Joe Hershberger
@ 2016-09-10 16:52 ` Marek Vasut
  1 sibling, 0 replies; 3+ messages in thread
From: Marek Vasut @ 2016-09-10 16:52 UTC (permalink / raw)
  To: u-boot

On 09/10/2016 03:54 AM, Marcel Ziswiler wrote:
> From: Alban Bedel <alban.bedel@avionic-design.de>
> 
> Commit 147271209a9d ("net: asix: fix operation without eeprom")
> added a special handling for ASIX 88772B that enable another
> type of header. This break the driver in DM mode as the extra handling
> needed in the receive path is missing.
> 
> However this new header mode is not required and only seems to
> increase the code complexity, so this patch revert this part of
> commit 147271209a9d.
> 
> This also reverts commit 41d1258aceb45b45f9e68f67a9c40f0afbc09dc9
> ("net: asix: Fix AX88772B when used with DriverModel") of late.
> 
> Fixes: 147271209a9d ("net: asix: fix operation without eeprom")
> 
> Signed-off-by: Alban Bedel <alban.bedel@avionic-design.de>
> Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
> 
> ---
> Please note that this also obsoletes the following patch sent earlier
> as requested by Marek:
> 
> [PATCH] Revert "net: asix: Fix AX88772B when used with DriverModel"
> 
> Changes in v2:
> - reverting the changes from Joshua's patch as well as suggested by
>   Marek
> 
>  drivers/usb/eth/asix.c | 27 +++------------------------
>  1 file changed, 3 insertions(+), 24 deletions(-)
> 
> diff --git a/drivers/usb/eth/asix.c b/drivers/usb/eth/asix.c
> index a610ae4..1c6e967 100644
> --- a/drivers/usb/eth/asix.c
> +++ b/drivers/usb/eth/asix.c
> @@ -67,11 +67,8 @@
>  	 AX_MEDIUM_AC | AX_MEDIUM_RE)
>  
>  /* AX88772 & AX88178 RX_CTL values */
> -#define AX_RX_CTL_RH2M		0x0200	/* 32-bit aligned RX IP header */
> -#define AX_RX_CTL_RH1M		0x0100	/* Enable RX header format type 1 */
> -#define AX_RX_CTL_SO		0x0080
> -#define AX_RX_CTL_AB		0x0008
> -#define AX_RX_HEADER_DEFAULT	(AX_RX_CTL_RH1M | AX_RX_CTL_RH2M)
> +#define AX_RX_CTL_SO			0x0080
> +#define AX_RX_CTL_AB			0x0008
>  
>  #define AX_DEFAULT_RX_CTL	\
>  	(AX_RX_CTL_SO | AX_RX_CTL_AB)
> @@ -98,8 +95,6 @@
>  #define FLAG_TYPE_AX88772B	(1U << 2)
>  #define FLAG_EEPROM_MAC		(1U << 3) /* initial mac address in eeprom */
>  
> -#define ASIX_USB_VENDOR_ID	0x0b95
> -#define AX88772B_USB_PRODUCT_ID	0x772b
>  
>  /* driver private */
>  struct asix_private {
> @@ -431,15 +426,10 @@ static int asix_init_common(struct ueth_data *dev, uint8_t *enetaddr)
>  	int timeout = 0;
>  #define TIMEOUT_RESOLUTION 50	/* ms */
>  	int link_detected;
> -	u32 ctl = AX_DEFAULT_RX_CTL;
>  
>  	debug("** %s()\n", __func__);
>  
> -	if ((dev->pusb_dev->descriptor.idVendor == ASIX_USB_VENDOR_ID) &&
> -	    (dev->pusb_dev->descriptor.idProduct == AX88772B_USB_PRODUCT_ID))
> -		ctl |= AX_RX_HEADER_DEFAULT;
> -
> -	if (asix_write_rx_ctl(dev, ctl) < 0)
> +	if (asix_write_rx_ctl(dev, AX_DEFAULT_RX_CTL) < 0)
>  		goto out_err;
>  
>  	if (asix_write_hwaddr_common(dev, enetaddr) < 0)
> @@ -572,12 +562,6 @@ static int asix_recv(struct eth_device *eth)
>  			return -1;
>  		}
>  
> -		if ((dev->pusb_dev->descriptor.idVendor ==
> -		     ASIX_USB_VENDOR_ID) &&
> -		    (dev->pusb_dev->descriptor.idProduct ==
> -		     AX88772B_USB_PRODUCT_ID))
> -			buf_ptr += 2;
> -
>  		/* Notify net stack */
>  		net_process_received_packet(buf_ptr + sizeof(packet_len),
>  					    packet_len);
> @@ -819,11 +803,6 @@ int asix_eth_recv(struct udevice *dev, int flags, uchar **packetp)
>  	}
>  
>  	*packetp = ptr + sizeof(packet_len);
> -
> -	if ((ueth->pusb_dev->descriptor.idVendor == ASIX_USB_VENDOR_ID) &&
> -	    (ueth->pusb_dev->descriptor.idProduct == AX88772B_USB_PRODUCT_ID))
> -		*packetp += 2;
> -
>  	return packet_len;
>  
>  err:
> 
Applied, thanks

-- 
Best regards,
Marek Vasut

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2016-09-10 16:52 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-09-10  1:54 [U-Boot] [PATCH v2] net: asix: Fix ASIX 88772B with driver model Marcel Ziswiler
2016-09-10 16:36 ` Joe Hershberger
2016-09-10 16:52 ` Marek Vasut

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.