Merge tag 'efi_updates_for_v5.11' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux-2.6-microblaze.git] / Documentation / ABI / testing / sysfs-class-net-cdc_ncm
1 What:           /sys/class/net/<iface>/cdc_ncm/min_tx_pkt
2 Date:           May 2014
3 KernelVersion:  3.16
4 Contact:        Bjørn Mork <bjorn@mork.no>
5 Description:
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
22 What:           /sys/class/net/<iface>/cdc_ncm/ndp_to_end
23 Date:           Dec 2015
24 KernelVersion:  4.5
25 Contact:        Bjørn Mork <bjorn@mork.no>
26 Description:
27                 Boolean attribute showing the status of the "NDP to
28                 end" quirk.  Defaults to 'N', except for devices
29                 already known to need it enabled.
30
31                 The "NDP to end" quirk makes the driver place the NDP
32                 (the packet index table) after the payload.  The NCM
33                 specification does not mandate this, but some devices
34                 are known to be more restrictive. Write 'Y' to this
35                 attribute for temporary testing of a suspect device
36                 failing to work with the default driver settings.
37
38                 A device entry should be added to the driver if this
39                 quirk is found to be required.
40
41 What:           /sys/class/net/<iface>/cdc_ncm/rx_max
42 Date:           May 2014
43 KernelVersion:  3.16
44 Contact:        Bjørn Mork <bjorn@mork.no>
45 Description:
46                 The maximum NTB size for RX.  Cannot exceed the
47                 maximum value supported by the device. Must allow at
48                 least one max sized datagram plus headers.
49
50                 The actual limits are device dependent.  See
51                 dwNtbInMaxSize.
52
53                 Note: Some devices will silently ignore changes to
54                 this value, resulting in oversized NTBs and
55                 corresponding framing errors.
56
57 What:           /sys/class/net/<iface>/cdc_ncm/tx_max
58 Date:           May 2014
59 KernelVersion:  3.16
60 Contact:        Bjørn Mork <bjorn@mork.no>
61 Description:
62                 The maximum NTB size for TX.  Cannot exceed the
63                 maximum value supported by the device.  Must allow at
64                 least one max sized datagram plus headers.
65
66                 The actual limits are device dependent.  See
67                 dwNtbOutMaxSize.
68
69 What:           /sys/class/net/<iface>/cdc_ncm/tx_timer_usecs
70 Date:           May 2014
71 KernelVersion:  3.16
72 Contact:        Bjørn Mork <bjorn@mork.no>
73 Description:
74                 Datagram aggregation timeout in µs. The driver will
75                 wait up to 3 times this timeout for more datagrams to
76                 aggregate before transmitting an NTB frame.
77
78                 Valid range: 5 to 4000000
79
80                 Set to 0 to disable aggregation.
81
82 The following read-only attributes all represent fields of the
83 structure defined in section 6.2.1 "GetNtbParameters" of "Universal
84 Serial Bus Communications Class Subclass Specifications for Network
85 Control Model Devices" (CDC NCM), Revision 1.0 (Errata 1), November
86 24, 2010 from USB Implementers Forum, Inc.  The descriptions are
87 quoted from table 6-3 of CDC NCM: "NTB Parameter Structure".
88
89 What:           /sys/class/net/<iface>/cdc_ncm/bmNtbFormatsSupported
90 Date:           May 2014
91 KernelVersion:  3.16
92 Contact:        Bjørn Mork <bjorn@mork.no>
93 Description:
94                 - Bit 0: 16-bit NTB supported (set to 1)
95                 - Bit 1: 32-bit NTB supported
96                 - Bits 2 – 15: reserved (reset to zero; must be ignored by host)
97
98 What:           /sys/class/net/<iface>/cdc_ncm/dwNtbInMaxSize
99 Date:           May 2014
100 KernelVersion:  3.16
101 Contact:        Bjørn Mork <bjorn@mork.no>
102 Description:
103                 IN NTB Maximum Size in bytes
104
105 What:           /sys/class/net/<iface>/cdc_ncm/wNdpInDivisor
106 Date:           May 2014
107 KernelVersion:  3.16
108 Contact:        Bjørn Mork <bjorn@mork.no>
109 Description:
110                 Divisor used for IN NTB Datagram payload alignment
111
112 What:           /sys/class/net/<iface>/cdc_ncm/wNdpInPayloadRemainder
113 Date:           May 2014
114 KernelVersion:  3.16
115 Contact:        Bjørn Mork <bjorn@mork.no>
116 Description:
117                 Remainder used to align input datagram payload within
118                 the NTB: (Payload Offset) mod (wNdpInDivisor) =
119                 wNdpInPayloadRemainder
120
121 What:           /sys/class/net/<iface>/cdc_ncm/wNdpInAlignment
122 Date:           May 2014
123 KernelVersion:  3.16
124 Contact:        Bjørn Mork <bjorn@mork.no>
125 Description:
126                 NDP alignment modulus for NTBs on the IN pipe. Shall
127                 be a power of 2, and shall be at least 4.
128
129 What:           /sys/class/net/<iface>/cdc_ncm/dwNtbOutMaxSize
130 Date:           May 2014
131 KernelVersion:  3.16
132 Contact:        Bjørn Mork <bjorn@mork.no>
133 Description:
134                 OUT NTB Maximum Size
135
136 What:           /sys/class/net/<iface>/cdc_ncm/wNdpOutDivisor
137 Date:           May 2014
138 KernelVersion:  3.16
139 Contact:        Bjørn Mork <bjorn@mork.no>
140 Description:
141                 OUT NTB Datagram alignment modulus
142
143 What:           /sys/class/net/<iface>/cdc_ncm/wNdpOutPayloadRemainder
144 Date:           May 2014
145 KernelVersion:  3.16
146 Contact:        Bjørn Mork <bjorn@mork.no>
147 Description:
148                 Remainder used to align output datagram payload
149                 offsets within the NTB: Padding, shall be transmitted
150                 as zero by function, and ignored by host.  (Payload
151                 Offset) mod (wNdpOutDivisor) = wNdpOutPayloadRemainder
152
153 What:           /sys/class/net/<iface>/cdc_ncm/wNdpOutAlignment
154 Date:           May 2014
155 KernelVersion:  3.16
156 Contact:        Bjørn Mork <bjorn@mork.no>
157 Description:
158                 NDP alignment modulus for use in NTBs on the OUT
159                 pipe. Shall be a power of 2, and shall be at least 4.
160
161 What:           /sys/class/net/<iface>/cdc_ncm/wNtbOutMaxDatagrams
162 Date:           May 2014
163 KernelVersion:  3.16
164 Contact:        Bjørn Mork <bjorn@mork.no>
165 Description:
166                 Maximum number of datagrams that the host may pack
167                 into a single OUT NTB. Zero means that the device
168                 imposes no limit.