mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-26 10:49:33 +00:00
![Bjørn Mork](/assets/img/avatar_default.png)
Adding a writable sysfs attribute for the "NDP to end" quirk flag. This makes it easier for end users to test new devices for this firmware bug. We've been lucky so far, but we should not depend on reporters capable of rebuilding the driver. Cc: Enrico Mioso <mrkiko.rs@gmail.com> Signed-off-by: Bjørn Mork <bjorn@mork.no> Signed-off-by: David S. Miller <davem@davemloft.net>
168 lines
5.3 KiB
Text
168 lines
5.3 KiB
Text
What: /sys/class/net/<iface>/cdc_ncm/min_tx_pkt
|
||
Date: May 2014
|
||
KernelVersion: 3.16
|
||
Contact: Bjørn Mork <bjorn@mork.no>
|
||
Description:
|
||
The driver will pad NCM Transfer Blocks (NTBs) longer
|
||
than this to tx_max, allowing the device to receive
|
||
tx_max sized frames with no terminating short
|
||
packet. NTBs shorter than this limit are transmitted
|
||
as-is, without any padding, and are terminated with a
|
||
short USB packet.
|
||
|
||
Padding to tx_max allows the driver to transmit NTBs
|
||
back-to-back without any interleaving short USB
|
||
packets. This reduces the number of short packet
|
||
interrupts in the device, and represents a tradeoff
|
||
between USB bus bandwidth and device DMA optimization.
|
||
|
||
Set to 0 to pad all frames. Set greater than tx_max to
|
||
disable all padding.
|
||
|
||
What: /sys/class/net/<iface>/cdc_ncm/ndp_to_end
|
||
Date: Dec 2015
|
||
KernelVersion: 4.5
|
||
Contact: Bjørn Mork <bjorn@mork.no>
|
||
Description:
|
||
Boolean attribute showing the status of the "NDP to
|
||
end" quirk. Defaults to 'N', except for devices
|
||
already known to need it enabled.
|
||
|
||
The "NDP to end" quirk makes the driver place the NDP
|
||
(the packet index table) after the payload. The NCM
|
||
specification does not mandate this, but some devices
|
||
are known to be more restrictive. Write 'Y' to this
|
||
attribute for temporary testing of a suspect device
|
||
failing to work with the default driver settings.
|
||
|
||
A device entry should be added to the driver if this
|
||
quirk is found to be required.
|
||
|
||
What: /sys/class/net/<iface>/cdc_ncm/rx_max
|
||
Date: May 2014
|
||
KernelVersion: 3.16
|
||
Contact: Bjørn Mork <bjorn@mork.no>
|
||
Description:
|
||
The maximum NTB size for RX. Cannot exceed the
|
||
maximum value supported by the device. Must allow at
|
||
least one max sized datagram plus headers.
|
||
|
||
The actual limits are device dependent. See
|
||
dwNtbInMaxSize.
|
||
|
||
Note: Some devices will silently ignore changes to
|
||
this value, resulting in oversized NTBs and
|
||
corresponding framing errors.
|
||
|
||
What: /sys/class/net/<iface>/cdc_ncm/tx_max
|
||
Date: May 2014
|
||
KernelVersion: 3.16
|
||
Contact: Bjørn Mork <bjorn@mork.no>
|
||
Description:
|
||
The maximum NTB size for TX. Cannot exceed the
|
||
maximum value supported by the device. Must allow at
|
||
least one max sized datagram plus headers.
|
||
|
||
The actual limits are device dependent. See
|
||
dwNtbOutMaxSize.
|
||
|
||
What: /sys/class/net/<iface>/cdc_ncm/tx_timer_usecs
|
||
Date: May 2014
|
||
KernelVersion: 3.16
|
||
Contact: Bjørn Mork <bjorn@mork.no>
|
||
Description:
|
||
Datagram aggregation timeout in µs. The driver will
|
||
wait up to 3 times this timeout for more datagrams to
|
||
aggregate before transmitting an NTB frame.
|
||
|
||
Valid range: 5 to 4000000
|
||
|
||
Set to 0 to disable aggregation.
|
||
|
||
The following read-only attributes all represent fields of the
|
||
structure defined in section 6.2.1 "GetNtbParameters" of "Universal
|
||
Serial Bus Communications Class Subclass Specifications for Network
|
||
Control Model Devices" (CDC NCM), Revision 1.0 (Errata 1), November
|
||
24, 2010 from USB Implementers Forum, Inc. The descriptions are
|
||
quoted from table 6-3 of CDC NCM: "NTB Parameter Structure".
|
||
|
||
What: /sys/class/net/<iface>/cdc_ncm/bmNtbFormatsSupported
|
||
Date: May 2014
|
||
KernelVersion: 3.16
|
||
Contact: Bjørn Mork <bjorn@mork.no>
|
||
Description:
|
||
Bit 0: 16-bit NTB supported (set to 1)
|
||
Bit 1: 32-bit NTB supported
|
||
Bits 2 – 15: reserved (reset to zero; must be ignored by host)
|
||
|
||
What: /sys/class/net/<iface>/cdc_ncm/dwNtbInMaxSize
|
||
Date: May 2014
|
||
KernelVersion: 3.16
|
||
Contact: Bjørn Mork <bjorn@mork.no>
|
||
Description:
|
||
IN NTB Maximum Size in bytes
|
||
|
||
What: /sys/class/net/<iface>/cdc_ncm/wNdpInDivisor
|
||
Date: May 2014
|
||
KernelVersion: 3.16
|
||
Contact: Bjørn Mork <bjorn@mork.no>
|
||
Description:
|
||
Divisor used for IN NTB Datagram payload alignment
|
||
|
||
What: /sys/class/net/<iface>/cdc_ncm/wNdpInPayloadRemainder
|
||
Date: May 2014
|
||
KernelVersion: 3.16
|
||
Contact: Bjørn Mork <bjorn@mork.no>
|
||
Description:
|
||
Remainder used to align input datagram payload within
|
||
the NTB: (Payload Offset) mod (wNdpInDivisor) =
|
||
wNdpInPayloadRemainder
|
||
|
||
What: /sys/class/net/<iface>/cdc_ncm/wNdpInAlignment
|
||
Date: May 2014
|
||
KernelVersion: 3.16
|
||
Contact: Bjørn Mork <bjorn@mork.no>
|
||
Description:
|
||
NDP alignment modulus for NTBs on the IN pipe. Shall
|
||
be a power of 2, and shall be at least 4.
|
||
|
||
What: /sys/class/net/<iface>/cdc_ncm/dwNtbOutMaxSize
|
||
Date: May 2014
|
||
KernelVersion: 3.16
|
||
Contact: Bjørn Mork <bjorn@mork.no>
|
||
Description:
|
||
OUT NTB Maximum Size
|
||
|
||
What: /sys/class/net/<iface>/cdc_ncm/wNdpOutDivisor
|
||
Date: May 2014
|
||
KernelVersion: 3.16
|
||
Contact: Bjørn Mork <bjorn@mork.no>
|
||
Description:
|
||
OUT NTB Datagram alignment modulus
|
||
|
||
What: /sys/class/net/<iface>/cdc_ncm/wNdpOutPayloadRemainder
|
||
Date: May 2014
|
||
KernelVersion: 3.16
|
||
Contact: Bjørn Mork <bjorn@mork.no>
|
||
Description:
|
||
Remainder used to align output datagram payload
|
||
offsets within the NTB: Padding, shall be transmitted
|
||
as zero by function, and ignored by host. (Payload
|
||
Offset) mod (wNdpOutDivisor) = wNdpOutPayloadRemainder
|
||
|
||
What: /sys/class/net/<iface>/cdc_ncm/wNdpOutAlignment
|
||
Date: May 2014
|
||
KernelVersion: 3.16
|
||
Contact: Bjørn Mork <bjorn@mork.no>
|
||
Description:
|
||
NDP alignment modulus for use in NTBs on the OUT
|
||
pipe. Shall be a power of 2, and shall be at least 4.
|
||
|
||
What: /sys/class/net/<iface>/cdc_ncm/wNtbOutMaxDatagrams
|
||
Date: May 2014
|
||
KernelVersion: 3.16
|
||
Contact: Bjørn Mork <bjorn@mork.no>
|
||
Description:
|
||
Maximum number of datagrams that the host may pack
|
||
into a single OUT NTB. Zero means that the device
|
||
imposes no limit.
|