History log of /fuchsia/zircon/system/dev/ethernet/asix-88772b/asix-88772b.c
Revision Date Author Comments
# f4f2a396 03-Aug-2018 Ruchira Ravoori <ravoorir@google.com>

[zircon][usb-request] Move usb request struct to usb protocol header

usb-request.c is being moved out of the ddk folder and its fucntionality
is either moved into the usb protocol or the usb library. As part of
this effort, this changeset moves the usb_request_t and friends to usb
protocol header.

Test: Build. Tested usb mass storage on vim2

Change-Id: I31659e51d5f6e899d5eb747e7baa86602c0329ea


# 696add84 31-Jul-2018 Ruchira Ravoori <ravoorir@google.com>

[zircon][ulib] Move usb out of driver ulib

This changeset moves usb.c out of the driver ulib and adds a separate
library for itself. In a later changeset some of the usb-request.c
functionality will move in into this library.

Test: Build. Sanity test of usb on vim2

Change-Id: I4807a3327943a71b5b88b22ab5c49756b042d969


# 662e00c7 30-Jul-2018 Ruchira Ravoori <ravoorir@google.com>

[zircon][usb] Use usb protocol ops instead of usb-request functions

In a previous changeset, I added protocol ops for the usb request functionality.
The motivation behind the changeset is to move usb-request.c out of ddk
and support the operations in usb protocol instead. This changeset, uses those
protocol ops instead of calling the functions in usb-request.c. In a
later changeset, I will move the usb-request.c out of the ddk folder.

Test: Build. Sanity test on vim2

ZX-2404 #comment Start using protocol ops

Change-Id: Ib3f0d3929138a09b23704fa0ee80ccf62a121d35


# 54dc7146 26-Mar-2018 Ruchira Ravoori <ravoorir@rodete-desktop-imager.corp.google.com>

[zircon][xhci][usb-cdc]Add a delay between requests when TRB Error occurs

When downloading files from the target using some of the usb-c ethernet adapters that use
usb-cdc-ecm driver, the scp loses connection intermittently and will not work until a reboot.
The underlying reason is that the device is not able to match the pace of the requests from
client driver. When this happens, the xhc controller converts the NRDY packets on the bus to
TRB Error. There is no way we can further know what the reason for TRB Error and it can be
other things too. So we do the normal reset deque ptr when we see a TRB Error, but we also
introduce a delay between the requests to slow down the I/O. There is a likely chance that
we might need to increase the delays as the situation arises.
NET-97 #done

Change-Id: Id06022e5a7b0129419b2768e37ec61daaa2df368


# fe48d46b 14-Mar-2018 Mike Voydanoff <voydanoff@google.com>

[dev][usb] Switch to new USB request allocator protocol

This is needed to allow using BTIs for USB request buffers

Change-Id: I349fec2cbfb525c2dd910986dcb3b4a4c28b36e1


# af3c0b25 08-Mar-2018 Brian Swetland <swetland@google.com>

[ddk][ethernet] rename PROTOCOL_ETHERMAC to PROTOCOL_ETHERNET_IMPL

Change-Id: Iebcd11d56559e55e4d83bbe861535200cd246ba5


# acac33d3 09-Jan-2018 Chris Phoenix <cphoenix@google.com>

[dev][ethernet] Bit-twiddling for promiscuous mode

Add bit-twiddling to turn promiscuous on and off for AX88179, AX887722b,
Realtek 8111, and intel-ethernet drivers.

Test: builds; ethernet still works.

NET-9

Change-Id: I3683685c8e2969096621599f92e6d01f68fed404


# 53613185 08-Jan-2018 Chris Phoenix <cphoenix@google.com>

[dev][ethernet] Add set_param() to ethermac

Allows setting params (such as promiscuous mode) on ethernet drivers.

Test: builds; ethernet still works

NET-9

Change-Id: I4670dd0fe724a45881623304d3eeff50acf7d45e


# 245e34e9 08-Jan-2018 Chris Phoenix <cphoenix@google.com>

Clean up logging in ethernet asix-88772b.c

Test: builds
NET-360

Change-Id: I60300c02efcb6e252ff93c667c676b66de0c9720


# 257495d8 14-Nov-2017 Josh Conner <joshconner@google.com>

[asix-88772b] Increase rx buffer size to 16k

NET-119

Change-Id: Ib3e8479fc67e768ac788fcfab6e396e9653f9673


# 1dd63f41 09-Nov-2017 Josh Conner <joshconner@google.com>

[asix-88772b] Increase size of bulk in buffers

Increase USB transaction buffer size to support burst transfers
from the device.

NET-119

Change-Id: I7da560e408e3a119034b7467bfbfecc37b61f0f2


# 2e0fc961 05-Nov-2017 Mike Voydanoff <voydanoff@google.com>

[ddk] Remove driver bind() cookie and unbind() callback

Also removed "owner" and "owner_cookie" from internal zx_device_t struct

Adjusted intel-hda audio drivers to create devices to hold driver context
rather than using the driver bind cookie.

Change-Id: I0eca7f6fa3b155be71843291812e7aa9fea5bf55


# 2a718acc 31-Oct-2017 Josh Conner <joshconner@google.com>

[asix-88772b] Queue netbufs when needed

Queue netbufs when USB transactions are not available.

NET-212

Change-Id: I853a6c8c013dc1a95b151cd104748a8b0cc80368


# 7f6f5a46 31-Oct-2017 Josh Conner <joshconner@google.com>

[asix-88772b] Set mtu to 1500

NET-205

Change-Id: I144fa3940f48b50b62dbf6f01dfbf13811ea550d


# f09ad7d2 13-Oct-2017 Josh Conner <joshconner@google.com>

[ethernet] Add support for asynchronous eth tx

queue_tx replaces send as the interface for both synchronous and
asynchronous transmissions. Tx data is now passed using ethmac_netbuf_t
structures. If the driver chooses to hold on to the netbuf until
buffer space is available, it can return ZX_ERR_SHOULD_WAIT from queue_tx
and call the ethmac complete_tx() callback when the netbuf is no longer
needed.

NET-212

Change-Id: I2da2c503a12fbea0f8c74d8d1e05b83161a15f4a


# b72b33d5 04-Oct-2017 Jocelyn Dang <jocelyndang@google.com>

[dev][usb] Change usb_control() to return length as out_length parameter

Can pass in NULL if out_length is not wanted.

ZX-1162 #comment

Change-Id: I20cb3d32a201c570a13e7f8ef62a70e8aea47fc4


# 68c9eef4 26-Sep-2017 Jocelyn Dang <jocelyndang@google.com>

[dev][usb] Migrate some ethernet drivers to use usb_request_t.

usb_request_t definition:
https://fuchsia-review.googlesource.com/#/c/zircon/+/66015/3/system/ulib/ddk/include/ddk/usb-request.h

Change-Id: Ib462145ce41a186129781df0dc1e7ddd34f17c81


# f3e2126c 12-Sep-2017 Roland McGrath <mcgrathr@google.com>

[zx] Magenta -> Zircon

The Great Renaming is here!

Change-Id: I3229bdeb2a3d0e40fb4db6fec8ca7d971fbffb94


# e3bc3aec 10-Jul-2017 Robert Hahn <hahnr@google.com>

[eth] Report link status for remainig drivers.

Should be the last piece for NET-6

Change-Id: I52f0792d5f9cfcd3078658beccb4db79c95abb8c


# fa5319e6 06-Jul-2017 Mike Voydanoff <voydanoff@google.com>

[ddk][usb] Remove USB driver support code from the DDK library

Most of the functionality in ddk/common/usb.c has been moved to the USB protocol.
The remainder (usb_iotxn_alloc() and the USB descriptor iterator support) is now
in libdriver.

Function names remain the same, but now take a usb_protocol_t* instead of a
mx_device_t* as its primary argument.

Change-Id: I36d4074eeea5b0c53028636a73dd3910476415af


# 83087d19 21-Jun-2017 Mike Voydanoff <voydanoff@google.com>

[udev][usb] Clean up error code usage

Previously most USB errors were being reported as MX_ERR_PEER_CLOSED.
We now return MX_ERR_IO_NOT_PRESENT to indicate that the USB device is no longer attached.
Other possibly recoverable errors are now reported as MX_ERR_IO.
Attempting to use a disabled endpoint now returns MX_ERR_BAD_STATE.
We continue to use MX_ERR_IO_REFUSED to report stalled endpoints.

Change-Id: I254a1e5ee7c6ae34c70d36a9a2d40deaa2f3d781


# 46d0900b 14-Jun-2017 Brian Swetland <swetland@google.com>

[ddk] new protocol support (1 of n)

This is the start of migration of device protocols from an vtable
structure to a structure with the vtable (ops) and context pointer
(ctx). These will look like:

typedef struct {
protocol_xyz_ops_t* ops;
void* ctx;
} protocol_xyz_t;

The new device_get_protocol(...) fills out a structure of that
style. The legacy device_op_get_protocol() works as before.
Once we've migrated all protocols, providers or protocols, and
consumers of protocols to the new style, we'll remove the legacy
interface.

The device hook get_protocol() is not used by any devices, so we
will convert it to the new style API now.

It's no longer possible to get the DEVICE protocol because that's
private between the devhost and the device and should not be
accessible to arbitrary clients. Nothing depends on this.

This also converts MX_PROTOCOL_ETHERMAC and WLANMAC to the new
style and updates the DDKTL's wrappers of device, ethermac, etc.

Change-Id: I023c645312102066d301e605881055ee8b3086b7


# c3196323 08-Jun-2017 Tim Kilbourn <tkilbourn@google.com>

[dev][ethernet] Use new magenta errors

Change-Id: Iffc06176ac9cbb9e539aad8884b10eec8d919bf0


# 860bc5d7 07-Jun-2017 Brian Swetland <swetland@google.com>

[udev][asix-88772b] rename

Change-Id: I81293482cefae6e8db83d7c8140a11de0e128e47