Commit 15a52e50 authored by Phil Elwell's avatar Phil Elwell Committed by popcornmix
Browse files

lan78xx: Read initial EEE status from DT



Add two new DT properties:
* microchip,eee-enabled  - a boolean to enable EEE
* microchip,tx-lpi-timer - time in microseconds to wait before entering
                           low power state (zero disables tx lpi)

Signed-off-by: default avatarPhil Elwell <phil@raspberrypi.org>
parent 7b3c93ac
Loading
Loading
Loading
Loading
+16 −0
Original line number Diff line number Diff line
@@ -2337,6 +2337,22 @@ static int lan78xx_open(struct net_device *net)
	if (ret < 0)
		goto done;

	if (of_property_read_bool(dev->udev->dev.of_node,
				  "microchip,eee-enabled")) {
		struct ethtool_eee edata;
		memset(&edata, 0, sizeof(edata));
		edata.cmd = ETHTOOL_SEEE;
		edata.advertised = ADVERTISED_1000baseT_Full |
				   ADVERTISED_100baseT_Full;
		edata.eee_enabled = 1;
		if (of_property_read_u32(dev->udev->dev.of_node,
					 "microchip,tx-lpi-timer",
					 &edata.tx_lpi_timer))
			edata.tx_lpi_timer = 600; /* non-aggressive */
		edata.tx_lpi_enabled = !!edata.tx_lpi_timer;
		(void)lan78xx_set_eee(net, &edata);
	}

	/* for Link Check */
	if (dev->urb_intr) {
		ret = usb_submit_urb(dev->urb_intr, GFP_KERNEL);