18c2ecf20Sopenharmony_ciWhat:		/sys/class/net/<iface>/cdc_ncm/min_tx_pkt
28c2ecf20Sopenharmony_ciDate:		May 2014
38c2ecf20Sopenharmony_ciKernelVersion:	3.16
48c2ecf20Sopenharmony_ciContact:	Bjørn Mork <bjorn@mork.no>
58c2ecf20Sopenharmony_ciDescription:
68c2ecf20Sopenharmony_ci		The driver will pad NCM Transfer Blocks (NTBs) longer
78c2ecf20Sopenharmony_ci		than this to tx_max, allowing the device to receive
88c2ecf20Sopenharmony_ci		tx_max sized frames with no terminating short
98c2ecf20Sopenharmony_ci		packet. NTBs shorter than this limit are transmitted
108c2ecf20Sopenharmony_ci		as-is, without any padding, and are terminated with a
118c2ecf20Sopenharmony_ci		short USB packet.
128c2ecf20Sopenharmony_ci
138c2ecf20Sopenharmony_ci		Padding to tx_max allows the driver to transmit NTBs
148c2ecf20Sopenharmony_ci		back-to-back without any interleaving short USB
158c2ecf20Sopenharmony_ci		packets.  This reduces the number of short packet
168c2ecf20Sopenharmony_ci		interrupts in the device, and represents a tradeoff
178c2ecf20Sopenharmony_ci		between USB bus bandwidth and device DMA optimization.
188c2ecf20Sopenharmony_ci
198c2ecf20Sopenharmony_ci		Set to 0 to pad all frames. Set greater than tx_max to
208c2ecf20Sopenharmony_ci		disable all padding.
218c2ecf20Sopenharmony_ci
228c2ecf20Sopenharmony_ciWhat:		/sys/class/net/<iface>/cdc_ncm/ndp_to_end
238c2ecf20Sopenharmony_ciDate:		Dec 2015
248c2ecf20Sopenharmony_ciKernelVersion:	4.5
258c2ecf20Sopenharmony_ciContact:	Bjørn Mork <bjorn@mork.no>
268c2ecf20Sopenharmony_ciDescription:
278c2ecf20Sopenharmony_ci		Boolean attribute showing the status of the "NDP to
288c2ecf20Sopenharmony_ci		end" quirk.  Defaults to 'N', except for devices
298c2ecf20Sopenharmony_ci		already known to need it enabled.
308c2ecf20Sopenharmony_ci
318c2ecf20Sopenharmony_ci		The "NDP to end" quirk makes the driver place the NDP
328c2ecf20Sopenharmony_ci		(the packet index table) after the payload.  The NCM
338c2ecf20Sopenharmony_ci		specification does not mandate this, but some devices
348c2ecf20Sopenharmony_ci		are known to be more restrictive. Write 'Y' to this
358c2ecf20Sopenharmony_ci		attribute for temporary testing of a suspect device
368c2ecf20Sopenharmony_ci		failing to work with the default driver settings.
378c2ecf20Sopenharmony_ci
388c2ecf20Sopenharmony_ci		A device entry should be added to the driver if this
398c2ecf20Sopenharmony_ci		quirk is found to be required.
408c2ecf20Sopenharmony_ci
418c2ecf20Sopenharmony_ciWhat:		/sys/class/net/<iface>/cdc_ncm/rx_max
428c2ecf20Sopenharmony_ciDate:		May 2014
438c2ecf20Sopenharmony_ciKernelVersion:	3.16
448c2ecf20Sopenharmony_ciContact:	Bjørn Mork <bjorn@mork.no>
458c2ecf20Sopenharmony_ciDescription:
468c2ecf20Sopenharmony_ci		The maximum NTB size for RX.  Cannot exceed the
478c2ecf20Sopenharmony_ci		maximum value supported by the device. Must allow at
488c2ecf20Sopenharmony_ci		least one max sized datagram plus headers.
498c2ecf20Sopenharmony_ci
508c2ecf20Sopenharmony_ci		The actual limits are device dependent.  See
518c2ecf20Sopenharmony_ci		dwNtbInMaxSize.
528c2ecf20Sopenharmony_ci
538c2ecf20Sopenharmony_ci		Note: Some devices will silently ignore changes to
548c2ecf20Sopenharmony_ci		this value, resulting in oversized NTBs and
558c2ecf20Sopenharmony_ci		corresponding framing errors.
568c2ecf20Sopenharmony_ci
578c2ecf20Sopenharmony_ciWhat:		/sys/class/net/<iface>/cdc_ncm/tx_max
588c2ecf20Sopenharmony_ciDate:		May 2014
598c2ecf20Sopenharmony_ciKernelVersion:	3.16
608c2ecf20Sopenharmony_ciContact:	Bjørn Mork <bjorn@mork.no>
618c2ecf20Sopenharmony_ciDescription:
628c2ecf20Sopenharmony_ci		The maximum NTB size for TX.  Cannot exceed the
638c2ecf20Sopenharmony_ci		maximum value supported by the device.  Must allow at
648c2ecf20Sopenharmony_ci		least one max sized datagram plus headers.
658c2ecf20Sopenharmony_ci
668c2ecf20Sopenharmony_ci		The actual limits are device dependent.  See
678c2ecf20Sopenharmony_ci		dwNtbOutMaxSize.
688c2ecf20Sopenharmony_ci
698c2ecf20Sopenharmony_ciWhat:		/sys/class/net/<iface>/cdc_ncm/tx_timer_usecs
708c2ecf20Sopenharmony_ciDate:		May 2014
718c2ecf20Sopenharmony_ciKernelVersion:	3.16
728c2ecf20Sopenharmony_ciContact:	Bjørn Mork <bjorn@mork.no>
738c2ecf20Sopenharmony_ciDescription:
748c2ecf20Sopenharmony_ci		Datagram aggregation timeout in µs. The driver will
758c2ecf20Sopenharmony_ci		wait up to 3 times this timeout for more datagrams to
768c2ecf20Sopenharmony_ci		aggregate before transmitting an NTB frame.
778c2ecf20Sopenharmony_ci
788c2ecf20Sopenharmony_ci		Valid range: 5 to 4000000
798c2ecf20Sopenharmony_ci
808c2ecf20Sopenharmony_ci		Set to 0 to disable aggregation.
818c2ecf20Sopenharmony_ci
828c2ecf20Sopenharmony_ciThe following read-only attributes all represent fields of the
838c2ecf20Sopenharmony_cistructure defined in section 6.2.1 "GetNtbParameters" of "Universal
848c2ecf20Sopenharmony_ciSerial Bus Communications Class Subclass Specifications for Network
858c2ecf20Sopenharmony_ciControl Model Devices" (CDC NCM), Revision 1.0 (Errata 1), November
868c2ecf20Sopenharmony_ci24, 2010 from USB Implementers Forum, Inc.  The descriptions are
878c2ecf20Sopenharmony_ciquoted from table 6-3 of CDC NCM: "NTB Parameter Structure".
888c2ecf20Sopenharmony_ci
898c2ecf20Sopenharmony_ciWhat:		/sys/class/net/<iface>/cdc_ncm/bmNtbFormatsSupported
908c2ecf20Sopenharmony_ciDate:		May 2014
918c2ecf20Sopenharmony_ciKernelVersion:	3.16
928c2ecf20Sopenharmony_ciContact:	Bjørn Mork <bjorn@mork.no>
938c2ecf20Sopenharmony_ciDescription:
948c2ecf20Sopenharmony_ci		- Bit 0: 16-bit NTB supported (set to 1)
958c2ecf20Sopenharmony_ci		- Bit 1: 32-bit NTB supported
968c2ecf20Sopenharmony_ci		- Bits 2 – 15: reserved (reset to zero; must be ignored by host)
978c2ecf20Sopenharmony_ci
988c2ecf20Sopenharmony_ciWhat:		/sys/class/net/<iface>/cdc_ncm/dwNtbInMaxSize
998c2ecf20Sopenharmony_ciDate:		May 2014
1008c2ecf20Sopenharmony_ciKernelVersion:	3.16
1018c2ecf20Sopenharmony_ciContact:	Bjørn Mork <bjorn@mork.no>
1028c2ecf20Sopenharmony_ciDescription:
1038c2ecf20Sopenharmony_ci		IN NTB Maximum Size in bytes
1048c2ecf20Sopenharmony_ci
1058c2ecf20Sopenharmony_ciWhat:		/sys/class/net/<iface>/cdc_ncm/wNdpInDivisor
1068c2ecf20Sopenharmony_ciDate:		May 2014
1078c2ecf20Sopenharmony_ciKernelVersion:	3.16
1088c2ecf20Sopenharmony_ciContact:	Bjørn Mork <bjorn@mork.no>
1098c2ecf20Sopenharmony_ciDescription:
1108c2ecf20Sopenharmony_ci		Divisor used for IN NTB Datagram payload alignment
1118c2ecf20Sopenharmony_ci
1128c2ecf20Sopenharmony_ciWhat:		/sys/class/net/<iface>/cdc_ncm/wNdpInPayloadRemainder
1138c2ecf20Sopenharmony_ciDate:		May 2014
1148c2ecf20Sopenharmony_ciKernelVersion:	3.16
1158c2ecf20Sopenharmony_ciContact:	Bjørn Mork <bjorn@mork.no>
1168c2ecf20Sopenharmony_ciDescription:
1178c2ecf20Sopenharmony_ci		Remainder used to align input datagram payload within
1188c2ecf20Sopenharmony_ci		the NTB: (Payload Offset) mod (wNdpInDivisor) =
1198c2ecf20Sopenharmony_ci		wNdpInPayloadRemainder
1208c2ecf20Sopenharmony_ci
1218c2ecf20Sopenharmony_ciWhat:		/sys/class/net/<iface>/cdc_ncm/wNdpInAlignment
1228c2ecf20Sopenharmony_ciDate:		May 2014
1238c2ecf20Sopenharmony_ciKernelVersion:	3.16
1248c2ecf20Sopenharmony_ciContact:	Bjørn Mork <bjorn@mork.no>
1258c2ecf20Sopenharmony_ciDescription:
1268c2ecf20Sopenharmony_ci		NDP alignment modulus for NTBs on the IN pipe. Shall
1278c2ecf20Sopenharmony_ci		be a power of 2, and shall be at least 4.
1288c2ecf20Sopenharmony_ci
1298c2ecf20Sopenharmony_ciWhat:		/sys/class/net/<iface>/cdc_ncm/dwNtbOutMaxSize
1308c2ecf20Sopenharmony_ciDate:		May 2014
1318c2ecf20Sopenharmony_ciKernelVersion:	3.16
1328c2ecf20Sopenharmony_ciContact:	Bjørn Mork <bjorn@mork.no>
1338c2ecf20Sopenharmony_ciDescription:
1348c2ecf20Sopenharmony_ci		OUT NTB Maximum Size
1358c2ecf20Sopenharmony_ci
1368c2ecf20Sopenharmony_ciWhat:		/sys/class/net/<iface>/cdc_ncm/wNdpOutDivisor
1378c2ecf20Sopenharmony_ciDate:		May 2014
1388c2ecf20Sopenharmony_ciKernelVersion:	3.16
1398c2ecf20Sopenharmony_ciContact:	Bjørn Mork <bjorn@mork.no>
1408c2ecf20Sopenharmony_ciDescription:
1418c2ecf20Sopenharmony_ci		OUT NTB Datagram alignment modulus
1428c2ecf20Sopenharmony_ci
1438c2ecf20Sopenharmony_ciWhat:		/sys/class/net/<iface>/cdc_ncm/wNdpOutPayloadRemainder
1448c2ecf20Sopenharmony_ciDate:		May 2014
1458c2ecf20Sopenharmony_ciKernelVersion:	3.16
1468c2ecf20Sopenharmony_ciContact:	Bjørn Mork <bjorn@mork.no>
1478c2ecf20Sopenharmony_ciDescription:
1488c2ecf20Sopenharmony_ci		Remainder used to align output datagram payload
1498c2ecf20Sopenharmony_ci		offsets within the NTB: Padding, shall be transmitted
1508c2ecf20Sopenharmony_ci		as zero by function, and ignored by host.  (Payload
1518c2ecf20Sopenharmony_ci		Offset) mod (wNdpOutDivisor) = wNdpOutPayloadRemainder
1528c2ecf20Sopenharmony_ci
1538c2ecf20Sopenharmony_ciWhat:		/sys/class/net/<iface>/cdc_ncm/wNdpOutAlignment
1548c2ecf20Sopenharmony_ciDate:		May 2014
1558c2ecf20Sopenharmony_ciKernelVersion:	3.16
1568c2ecf20Sopenharmony_ciContact:	Bjørn Mork <bjorn@mork.no>
1578c2ecf20Sopenharmony_ciDescription:
1588c2ecf20Sopenharmony_ci		NDP alignment modulus for use in NTBs on the OUT
1598c2ecf20Sopenharmony_ci		pipe. Shall be a power of 2, and shall be at least 4.
1608c2ecf20Sopenharmony_ci
1618c2ecf20Sopenharmony_ciWhat:		/sys/class/net/<iface>/cdc_ncm/wNtbOutMaxDatagrams
1628c2ecf20Sopenharmony_ciDate:		May 2014
1638c2ecf20Sopenharmony_ciKernelVersion:	3.16
1648c2ecf20Sopenharmony_ciContact:	Bjørn Mork <bjorn@mork.no>
1658c2ecf20Sopenharmony_ciDescription:
1668c2ecf20Sopenharmony_ci		Maximum number of datagrams that the host may pack
1678c2ecf20Sopenharmony_ci		into a single OUT NTB. Zero means that the device
1688c2ecf20Sopenharmony_ci		imposes no limit.
169