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