162306a36Sopenharmony_ciWhat:		/sys/class/net/<iface>/cdc_ncm/min_tx_pkt
262306a36Sopenharmony_ciDate:		May 2014
362306a36Sopenharmony_ciKernelVersion:	3.16
462306a36Sopenharmony_ciContact:	Bjørn Mork <bjorn@mork.no>
562306a36Sopenharmony_ciDescription:
662306a36Sopenharmony_ci		The driver will pad NCM Transfer Blocks (NTBs) longer
762306a36Sopenharmony_ci		than this to tx_max, allowing the device to receive
862306a36Sopenharmony_ci		tx_max sized frames with no terminating short
962306a36Sopenharmony_ci		packet. NTBs shorter than this limit are transmitted
1062306a36Sopenharmony_ci		as-is, without any padding, and are terminated with a
1162306a36Sopenharmony_ci		short USB packet.
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_ci		Padding to tx_max allows the driver to transmit NTBs
1462306a36Sopenharmony_ci		back-to-back without any interleaving short USB
1562306a36Sopenharmony_ci		packets.  This reduces the number of short packet
1662306a36Sopenharmony_ci		interrupts in the device, and represents a tradeoff
1762306a36Sopenharmony_ci		between USB bus bandwidth and device DMA optimization.
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_ci		Set to 0 to pad all frames. Set greater than tx_max to
2062306a36Sopenharmony_ci		disable all padding.
2162306a36Sopenharmony_ci
2262306a36Sopenharmony_ciWhat:		/sys/class/net/<iface>/cdc_ncm/ndp_to_end
2362306a36Sopenharmony_ciDate:		Dec 2015
2462306a36Sopenharmony_ciKernelVersion:	4.5
2562306a36Sopenharmony_ciContact:	Bjørn Mork <bjorn@mork.no>
2662306a36Sopenharmony_ciDescription:
2762306a36Sopenharmony_ci		Boolean attribute showing the status of the "NDP to
2862306a36Sopenharmony_ci		end" quirk.  Defaults to 'N', except for devices
2962306a36Sopenharmony_ci		already known to need it enabled.
3062306a36Sopenharmony_ci
3162306a36Sopenharmony_ci		The "NDP to end" quirk makes the driver place the NDP
3262306a36Sopenharmony_ci		(the packet index table) after the payload.  The NCM
3362306a36Sopenharmony_ci		specification does not mandate this, but some devices
3462306a36Sopenharmony_ci		are known to be more restrictive. Write 'Y' to this
3562306a36Sopenharmony_ci		attribute for temporary testing of a suspect device
3662306a36Sopenharmony_ci		failing to work with the default driver settings.
3762306a36Sopenharmony_ci
3862306a36Sopenharmony_ci		A device entry should be added to the driver if this
3962306a36Sopenharmony_ci		quirk is found to be required.
4062306a36Sopenharmony_ci
4162306a36Sopenharmony_ciWhat:		/sys/class/net/<iface>/cdc_ncm/rx_max
4262306a36Sopenharmony_ciDate:		May 2014
4362306a36Sopenharmony_ciKernelVersion:	3.16
4462306a36Sopenharmony_ciContact:	Bjørn Mork <bjorn@mork.no>
4562306a36Sopenharmony_ciDescription:
4662306a36Sopenharmony_ci		The maximum NTB size for RX.  Cannot exceed the
4762306a36Sopenharmony_ci		maximum value supported by the device. Must allow at
4862306a36Sopenharmony_ci		least one max sized datagram plus headers.
4962306a36Sopenharmony_ci
5062306a36Sopenharmony_ci		The actual limits are device dependent.  See
5162306a36Sopenharmony_ci		dwNtbInMaxSize.
5262306a36Sopenharmony_ci
5362306a36Sopenharmony_ci		Note: Some devices will silently ignore changes to
5462306a36Sopenharmony_ci		this value, resulting in oversized NTBs and
5562306a36Sopenharmony_ci		corresponding framing errors.
5662306a36Sopenharmony_ci
5762306a36Sopenharmony_ciWhat:		/sys/class/net/<iface>/cdc_ncm/tx_max
5862306a36Sopenharmony_ciDate:		May 2014
5962306a36Sopenharmony_ciKernelVersion:	3.16
6062306a36Sopenharmony_ciContact:	Bjørn Mork <bjorn@mork.no>
6162306a36Sopenharmony_ciDescription:
6262306a36Sopenharmony_ci		The maximum NTB size for TX.  Cannot exceed the
6362306a36Sopenharmony_ci		maximum value supported by the device.  Must allow at
6462306a36Sopenharmony_ci		least one max sized datagram plus headers.
6562306a36Sopenharmony_ci
6662306a36Sopenharmony_ci		The actual limits are device dependent.  See
6762306a36Sopenharmony_ci		dwNtbOutMaxSize.
6862306a36Sopenharmony_ci
6962306a36Sopenharmony_ciWhat:		/sys/class/net/<iface>/cdc_ncm/tx_timer_usecs
7062306a36Sopenharmony_ciDate:		May 2014
7162306a36Sopenharmony_ciKernelVersion:	3.16
7262306a36Sopenharmony_ciContact:	Bjørn Mork <bjorn@mork.no>
7362306a36Sopenharmony_ciDescription:
7462306a36Sopenharmony_ci		Datagram aggregation timeout in µs. The driver will
7562306a36Sopenharmony_ci		wait up to 3 times this timeout for more datagrams to
7662306a36Sopenharmony_ci		aggregate before transmitting an NTB frame.
7762306a36Sopenharmony_ci
7862306a36Sopenharmony_ci		Valid range: 5 to 4000000
7962306a36Sopenharmony_ci
8062306a36Sopenharmony_ci		Set to 0 to disable aggregation.
8162306a36Sopenharmony_ci
8262306a36Sopenharmony_ciThe following read-only attributes all represent fields of the
8362306a36Sopenharmony_cistructure defined in section 6.2.1 "GetNtbParameters" of "Universal
8462306a36Sopenharmony_ciSerial Bus Communications Class Subclass Specifications for Network
8562306a36Sopenharmony_ciControl Model Devices" (CDC NCM), Revision 1.0 (Errata 1), November
8662306a36Sopenharmony_ci24, 2010 from USB Implementers Forum, Inc.  The descriptions are
8762306a36Sopenharmony_ciquoted from table 6-3 of CDC NCM: "NTB Parameter Structure".
8862306a36Sopenharmony_ci
8962306a36Sopenharmony_ciWhat:		/sys/class/net/<iface>/cdc_ncm/bmNtbFormatsSupported
9062306a36Sopenharmony_ciDate:		May 2014
9162306a36Sopenharmony_ciKernelVersion:	3.16
9262306a36Sopenharmony_ciContact:	Bjørn Mork <bjorn@mork.no>
9362306a36Sopenharmony_ciDescription:
9462306a36Sopenharmony_ci		- Bit 0: 16-bit NTB supported (set to 1)
9562306a36Sopenharmony_ci		- Bit 1: 32-bit NTB supported
9662306a36Sopenharmony_ci		- Bits 2 – 15: reserved (reset to zero; must be ignored by host)
9762306a36Sopenharmony_ci
9862306a36Sopenharmony_ciWhat:		/sys/class/net/<iface>/cdc_ncm/dwNtbInMaxSize
9962306a36Sopenharmony_ciDate:		May 2014
10062306a36Sopenharmony_ciKernelVersion:	3.16
10162306a36Sopenharmony_ciContact:	Bjørn Mork <bjorn@mork.no>
10262306a36Sopenharmony_ciDescription:
10362306a36Sopenharmony_ci		IN NTB Maximum Size in bytes
10462306a36Sopenharmony_ci
10562306a36Sopenharmony_ciWhat:		/sys/class/net/<iface>/cdc_ncm/wNdpInDivisor
10662306a36Sopenharmony_ciDate:		May 2014
10762306a36Sopenharmony_ciKernelVersion:	3.16
10862306a36Sopenharmony_ciContact:	Bjørn Mork <bjorn@mork.no>
10962306a36Sopenharmony_ciDescription:
11062306a36Sopenharmony_ci		Divisor used for IN NTB Datagram payload alignment
11162306a36Sopenharmony_ci
11262306a36Sopenharmony_ciWhat:		/sys/class/net/<iface>/cdc_ncm/wNdpInPayloadRemainder
11362306a36Sopenharmony_ciDate:		May 2014
11462306a36Sopenharmony_ciKernelVersion:	3.16
11562306a36Sopenharmony_ciContact:	Bjørn Mork <bjorn@mork.no>
11662306a36Sopenharmony_ciDescription:
11762306a36Sopenharmony_ci		Remainder used to align input datagram payload within
11862306a36Sopenharmony_ci		the NTB: (Payload Offset) mod (wNdpInDivisor) =
11962306a36Sopenharmony_ci		wNdpInPayloadRemainder
12062306a36Sopenharmony_ci
12162306a36Sopenharmony_ciWhat:		/sys/class/net/<iface>/cdc_ncm/wNdpInAlignment
12262306a36Sopenharmony_ciDate:		May 2014
12362306a36Sopenharmony_ciKernelVersion:	3.16
12462306a36Sopenharmony_ciContact:	Bjørn Mork <bjorn@mork.no>
12562306a36Sopenharmony_ciDescription:
12662306a36Sopenharmony_ci		NDP alignment modulus for NTBs on the IN pipe. Shall
12762306a36Sopenharmony_ci		be a power of 2, and shall be at least 4.
12862306a36Sopenharmony_ci
12962306a36Sopenharmony_ciWhat:		/sys/class/net/<iface>/cdc_ncm/dwNtbOutMaxSize
13062306a36Sopenharmony_ciDate:		May 2014
13162306a36Sopenharmony_ciKernelVersion:	3.16
13262306a36Sopenharmony_ciContact:	Bjørn Mork <bjorn@mork.no>
13362306a36Sopenharmony_ciDescription:
13462306a36Sopenharmony_ci		OUT NTB Maximum Size
13562306a36Sopenharmony_ci
13662306a36Sopenharmony_ciWhat:		/sys/class/net/<iface>/cdc_ncm/wNdpOutDivisor
13762306a36Sopenharmony_ciDate:		May 2014
13862306a36Sopenharmony_ciKernelVersion:	3.16
13962306a36Sopenharmony_ciContact:	Bjørn Mork <bjorn@mork.no>
14062306a36Sopenharmony_ciDescription:
14162306a36Sopenharmony_ci		OUT NTB Datagram alignment modulus
14262306a36Sopenharmony_ci
14362306a36Sopenharmony_ciWhat:		/sys/class/net/<iface>/cdc_ncm/wNdpOutPayloadRemainder
14462306a36Sopenharmony_ciDate:		May 2014
14562306a36Sopenharmony_ciKernelVersion:	3.16
14662306a36Sopenharmony_ciContact:	Bjørn Mork <bjorn@mork.no>
14762306a36Sopenharmony_ciDescription:
14862306a36Sopenharmony_ci		Remainder used to align output datagram payload
14962306a36Sopenharmony_ci		offsets within the NTB: Padding, shall be transmitted
15062306a36Sopenharmony_ci		as zero by function, and ignored by host.  (Payload
15162306a36Sopenharmony_ci		Offset) mod (wNdpOutDivisor) = wNdpOutPayloadRemainder
15262306a36Sopenharmony_ci
15362306a36Sopenharmony_ciWhat:		/sys/class/net/<iface>/cdc_ncm/wNdpOutAlignment
15462306a36Sopenharmony_ciDate:		May 2014
15562306a36Sopenharmony_ciKernelVersion:	3.16
15662306a36Sopenharmony_ciContact:	Bjørn Mork <bjorn@mork.no>
15762306a36Sopenharmony_ciDescription:
15862306a36Sopenharmony_ci		NDP alignment modulus for use in NTBs on the OUT
15962306a36Sopenharmony_ci		pipe. Shall be a power of 2, and shall be at least 4.
16062306a36Sopenharmony_ci
16162306a36Sopenharmony_ciWhat:		/sys/class/net/<iface>/cdc_ncm/wNtbOutMaxDatagrams
16262306a36Sopenharmony_ciDate:		May 2014
16362306a36Sopenharmony_ciKernelVersion:	3.16
16462306a36Sopenharmony_ciContact:	Bjørn Mork <bjorn@mork.no>
16562306a36Sopenharmony_ciDescription:
16662306a36Sopenharmony_ci		Maximum number of datagrams that the host may pack
16762306a36Sopenharmony_ci		into a single OUT NTB. Zero means that the device
16862306a36Sopenharmony_ci		imposes no limit.
169