xref: /linux/Documentation/ABI/testing/sysfs-class-net-cdc_ncm (revision 827634added7f38b7d724cab1dccdb2b004c13c3)
1What:		/sys/class/net/<iface>/cdc_ncm/min_tx_pkt
2Date:		May 2014
3KernelVersion:	3.16
4Contact:	Bjørn Mork <bjorn@mork.no>
5Description:
6		The driver will pad NCM Transfer Blocks (NTBs) longer
7		than this to tx_max, allowing the device to receive
8		tx_max sized frames with no terminating short
9		packet. NTBs shorter than this limit are transmitted
10		as-is, without any padding, and are terminated with a
11		short USB packet.
12
13		Padding to tx_max allows the driver to transmit NTBs
14		back-to-back without any interleaving short USB
15		packets.  This reduces the number of short packet
16		interrupts in the device, and represents a tradeoff
17		between USB bus bandwidth and device DMA optimization.
18
19		Set to 0 to pad all frames. Set greater than tx_max to
20		disable all padding.
21
22What:		/sys/class/net/<iface>/cdc_ncm/rx_max
23Date:		May 2014
24KernelVersion:	3.16
25Contact:	Bjørn Mork <bjorn@mork.no>
26Description:
27		The maximum NTB size for RX.  Cannot exceed the
28		maximum value supported by the device. Must allow at
29		least one max sized datagram plus headers.
30
31		The actual limits are device dependent.  See
32		dwNtbInMaxSize.
33
34		Note: Some devices will silently ignore changes to
35		this value, resulting in oversized NTBs and
36		corresponding framing errors.
37
38What:		/sys/class/net/<iface>/cdc_ncm/tx_max
39Date:		May 2014
40KernelVersion:	3.16
41Contact:	Bjørn Mork <bjorn@mork.no>
42Description:
43		The maximum NTB size for TX.  Cannot exceed the
44		maximum value supported by the device.  Must allow at
45		least one max sized datagram plus headers.
46
47		The actual limits are device dependent.  See
48		dwNtbOutMaxSize.
49
50What:		/sys/class/net/<iface>/cdc_ncm/tx_timer_usecs
51Date:		May 2014
52KernelVersion:	3.16
53Contact:	Bjørn Mork <bjorn@mork.no>
54Description:
55		Datagram aggregation timeout in µs. The driver will
56		wait up to 3 times this timeout for more datagrams to
57		aggregate before transmitting an NTB frame.
58
59		Valid range: 5 to 4000000
60
61		Set to 0 to disable aggregation.
62
63The following read-only attributes all represent fields of the
64structure defined in section 6.2.1 "GetNtbParameters" of "Universal
65Serial Bus Communications Class Subclass Specifications for Network
66Control Model Devices" (CDC NCM), Revision 1.0 (Errata 1), November
6724, 2010 from USB Implementers Forum, Inc.  The descriptions are
68quoted from table 6-3 of CDC NCM: "NTB Parameter Structure".
69
70What:		/sys/class/net/<iface>/cdc_ncm/bmNtbFormatsSupported
71Date:		May 2014
72KernelVersion:	3.16
73Contact:	Bjørn Mork <bjorn@mork.no>
74Description:
75		Bit 0: 16-bit NTB supported (set to 1)
76		Bit 1: 32-bit NTB supported
77		Bits 2 – 15: reserved (reset to zero; must be ignored by host)
78
79What:		/sys/class/net/<iface>/cdc_ncm/dwNtbInMaxSize
80Date:		May 2014
81KernelVersion:	3.16
82Contact:	Bjørn Mork <bjorn@mork.no>
83Description:
84		IN NTB Maximum Size in bytes
85
86What:		/sys/class/net/<iface>/cdc_ncm/wNdpInDivisor
87Date:		May 2014
88KernelVersion:	3.16
89Contact:	Bjørn Mork <bjorn@mork.no>
90Description:
91		Divisor used for IN NTB Datagram payload alignment
92
93What:		/sys/class/net/<iface>/cdc_ncm/wNdpInPayloadRemainder
94Date:		May 2014
95KernelVersion:	3.16
96Contact:	Bjørn Mork <bjorn@mork.no>
97Description:
98		Remainder used to align input datagram payload within
99		the NTB: (Payload Offset) mod (wNdpInDivisor) =
100		wNdpInPayloadRemainder
101
102What:		/sys/class/net/<iface>/cdc_ncm/wNdpInAlignment
103Date:		May 2014
104KernelVersion:	3.16
105Contact:	Bjørn Mork <bjorn@mork.no>
106Description:
107		NDP alignment modulus for NTBs on the IN pipe. Shall
108		be a power of 2, and shall be at least 4.
109
110What:		/sys/class/net/<iface>/cdc_ncm/dwNtbOutMaxSize
111Date:		May 2014
112KernelVersion:	3.16
113Contact:	Bjørn Mork <bjorn@mork.no>
114Description:
115		OUT NTB Maximum Size
116
117What:		/sys/class/net/<iface>/cdc_ncm/wNdpOutDivisor
118Date:		May 2014
119KernelVersion:	3.16
120Contact:	Bjørn Mork <bjorn@mork.no>
121Description:
122		OUT NTB Datagram alignment modulus
123
124What:		/sys/class/net/<iface>/cdc_ncm/wNdpOutPayloadRemainder
125Date:		May 2014
126KernelVersion:	3.16
127Contact:	Bjørn Mork <bjorn@mork.no>
128Description:
129		Remainder used to align output datagram payload
130		offsets within the NTB: Padding, shall be transmitted
131		as zero by function, and ignored by host.  (Payload
132		Offset) mod (wNdpOutDivisor) = wNdpOutPayloadRemainder
133
134What:		/sys/class/net/<iface>/cdc_ncm/wNdpOutAlignment
135Date:		May 2014
136KernelVersion:	3.16
137Contact:	Bjørn Mork <bjorn@mork.no>
138Description:
139		NDP alignment modulus for use in NTBs on the OUT
140		pipe. Shall be a power of 2, and shall be at least 4.
141
142What:		/sys/class/net/<iface>/cdc_ncm/wNtbOutMaxDatagrams
143Date:		May 2014
144KernelVersion:	3.16
145Contact:	Bjørn Mork <bjorn@mork.no>
146Description:
147		Maximum number of datagrams that the host may pack
148		into a single OUT NTB. Zero means that the device
149		imposes no limit.
150