Skip to content

Commit 37f32d5

Browse files
committed
Merge tag 'kvm-s390-master-7.1-2' of https://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux into HEAD
KVM: s390: some vSIE and UCONTROL fixes Fix some memory issues and some hangs in vSIE.
2 parents e23844b + 9029496 commit 37f32d5

343 files changed

Lines changed: 6520 additions & 2138 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.mailmap

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -584,6 +584,8 @@ Mayuresh Janorkar <mayur@ti.com>
584584
Md Sadre Alam <quic_mdalam@quicinc.com> <mdalam@codeaurora.org>
585585
Miaoqing Pan <quic_miaoqing@quicinc.com> <miaoqing@codeaurora.org>
586586
Michael Buesch <m@bues.ch>
587+
Michal Grzeschik <mgr@kernel.org> <m.grzeschik@pengutronix.de>
588+
Michal Grzeschik <mgr@kernel.org> <mgr@pengutronix.de>
587589
Michael Riesch <michael.riesch@collabora.com> <michael.riesch@wolfvision.net>
588590
Michal Simek <michal.simek@amd.com> <michal.simek@xilinx.com>
589591
Michel Dänzer <michel@tungstengraphics.com>

Documentation/.renames.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -786,6 +786,7 @@ networking/altera_tse networking/device_drivers/ethernet/altera/altera_tse
786786
networking/bpf_flow_dissector bpf/prog_flow_dissector
787787
networking/cxacru networking/device_drivers/atm/cxacru
788788
networking/defza networking/device_drivers/fddi/defza
789+
networking/device_drivers/3com/3c509 networking/device_drivers/ethernet/3com/3c509
789790
networking/device_drivers/3com/vortex networking/device_drivers/ethernet/3com/vortex
790791
networking/device_drivers/amazon/ena networking/device_drivers/ethernet/amazon/ena
791792
networking/device_drivers/aquantia/atlantic networking/device_drivers/ethernet/aquantia/atlantic

Documentation/crypto/krb5.rst

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -158,13 +158,22 @@ returned.
158158
When a message has been received, the location and size of the data with the
159159
message can be determined by calling::
160160

161-
void crypto_krb5_where_is_the_data(const struct krb5_enctype *krb5,
162-
enum krb5_crypto_mode mode,
163-
size_t *_offset, size_t *_len);
161+
int crypto_krb5_where_is_the_data(const struct krb5_enctype *krb5,
162+
enum krb5_crypto_mode mode,
163+
size_t *_offset, size_t *_len);
164164

165165
The caller provides the offset and length of the message to the function, which
166166
then alters those values to indicate the region containing the data (plus any
167-
padding). It is up to the caller to determine how much padding there is.
167+
padding). It is up to the caller to determine how much padding there is. The
168+
function returns an error if the length is too small or if the mode is
169+
unsupported. An additional function::
170+
171+
int crypto_krb5_check_data_len(const struct krb5_enctype *krb5,
172+
enum krb5_crypto_mode mode,
173+
size_t len, size_t min_content);
174+
175+
is provided to just do a basic check that the decrypted/verified message would
176+
have a sufficient minimum payload.
168177

169178
Preparation Functions
170179
---------------------

Documentation/devicetree/bindings/net/eswin,eic7700-eth.yaml

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,15 @@ properties:
7373
HSP CSR is to control and get status of different high-speed peripherals
7474
(such as Ethernet, USB, SATA, etc.) via register, which can tune
7575
board-level's parameters of PHY, etc.
76+
77+
Additional background information about the High-Speed Subsystem
78+
and the HSP CSR block is available in Chapter 10 ("High-Speed Interface")
79+
of the EIC7700X SoC Technical Reference Manual, Part 4
80+
(EIC7700X_SoC_Technical_Reference_Manual_Part4.pdf). The manual is
81+
publicly available at
82+
https://github.com/eswincomputing/EIC7700X-SoC-Technical-Reference-Manual/releases
83+
84+
This reference is provided for background information only.
7685
$ref: /schemas/types.yaml#/definitions/phandle-array
7786
items:
7887
- items:
@@ -82,6 +91,8 @@ properties:
8291
- description: Offset of AXI clock controller Low-Power request
8392
register
8493
- description: Offset of register controlling TX/RX clock delay
94+
- description: Optional offset of register controlling TXD delay
95+
- description: Optional offset of register controlling RXD delay
8596

8697
required:
8798
- compatible
@@ -116,7 +127,7 @@ examples:
116127
reset-names = "stmmaceth";
117128
rx-internal-delay-ps = <200>;
118129
tx-internal-delay-ps = <200>;
119-
eswin,hsp-sp-csr = <&hsp_sp_csr 0x100 0x108 0x118>;
130+
eswin,hsp-sp-csr = <&hsp_sp_csr 0x100 0x108 0x118 0x114 0x11c>;
120131
snps,axi-config = <&stmmac_axi_setup>;
121132
snps,aal;
122133
snps,fixed-burst;
Lines changed: 249 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,249 @@
1+
.. SPDX-License-Identifier: GPL-2.0
2+
3+
=============================================================================
4+
Linux and the 3Com EtherLink III Series Ethercards (driver v1.18c and higher)
5+
=============================================================================
6+
7+
This file contains the instructions and caveats for v1.18c and higher versions
8+
of the 3c509 driver. You should not use the driver without reading this file.
9+
10+
release 1.0
11+
12+
28 February 2002
13+
14+
Current maintainer (corrections to):
15+
Maciej W. Rozycki <macro@orcam.me.uk>
16+
17+
Introduction
18+
============
19+
20+
The following are notes and information on using the 3Com EtherLink III series
21+
ethercards in Linux. These cards are commonly known by the most widely-used
22+
card's 3Com model number, 3c509. They are all 10mb/s ISA-bus cards and shouldn't
23+
be (but sometimes are) confused with the similarly-numbered PCI-bus "3c905"
24+
(aka "Vortex" or "Boomerang") series. Kernel support for the 3c509 family is
25+
provided by the module 3c509.c, which has code to support all of the following
26+
models:
27+
28+
- 3c509 (original ISA card)
29+
- 3c509B (later revision of the ISA card; supports full-duplex)
30+
- 3c589 (PCMCIA)
31+
- 3c589B (later revision of the 3c589; supports full-duplex)
32+
- 3c579 (EISA)
33+
34+
Large portions of this documentation were heavily borrowed from the guide
35+
written the original author of the 3c509 driver, Donald Becker. The master
36+
copy of that document, which contains notes on older versions of the driver,
37+
currently resides on Scyld web server: http://www.scyld.com/.
38+
39+
40+
Special Driver Features
41+
=======================
42+
43+
Overriding card settings
44+
45+
The driver allows boot- or load-time overriding of the card's detected IOADDR,
46+
IRQ, and transceiver settings, although this capability shouldn't generally be
47+
needed except to enable full-duplex mode (see below). An example of the syntax
48+
for LILO parameters for doing this::
49+
50+
ether=10,0x310,3,0x3c509,eth0
51+
52+
This configures the first found 3c509 card for IRQ 10, base I/O 0x310, and
53+
transceiver type 3 (10base2). The flag "0x3c509" must be set to avoid conflicts
54+
with other card types when overriding the I/O address. When the driver is
55+
loaded as a module, only the IRQ may be overridden. For example,
56+
setting two cards to IRQ10 and IRQ11 is done by using the irq module
57+
option::
58+
59+
options 3c509 irq=10,11
60+
61+
62+
Full-duplex mode
63+
================
64+
65+
The v1.18c driver added support for the 3c509B's full-duplex capabilities.
66+
In order to enable and successfully use full-duplex mode, three conditions
67+
must be met:
68+
69+
(a) You must have a Etherlink III card model whose hardware supports full-
70+
duplex operations. Currently, the only members of the 3c509 family that are
71+
positively known to support full-duplex are the 3c509B (ISA bus) and 3c589B
72+
(PCMCIA) cards. Cards without the "B" model designation do *not* support
73+
full-duplex mode; these include the original 3c509 (no "B"), the original
74+
3c589, the 3c529 (MCA bus), and the 3c579 (EISA bus).
75+
76+
(b) You must be using your card's 10baseT transceiver (i.e., the RJ-45
77+
connector), not its AUI (thick-net) or 10base2 (thin-net/coax) interfaces.
78+
AUI and 10base2 network cabling is physically incapable of full-duplex
79+
operation.
80+
81+
(c) Most importantly, your 3c509B must be connected to a link partner that is
82+
itself full-duplex capable. This is almost certainly one of two things: a full-
83+
duplex-capable Ethernet switch (*not* a hub), or a full-duplex-capable NIC on
84+
another system that's connected directly to the 3c509B via a crossover cable.
85+
86+
Full-duplex mode can be enabled using 'ethtool'.
87+
88+
.. warning::
89+
90+
Extremely important caution concerning full-duplex mode
91+
92+
Understand that the 3c509B's hardware's full-duplex support is much more
93+
limited than that provide by more modern network interface cards. Although
94+
at the physical layer of the network it fully supports full-duplex operation,
95+
the card was designed before the current Ethernet auto-negotiation (N-way)
96+
spec was written. This means that the 3c509B family ***cannot and will not
97+
auto-negotiate a full-duplex connection with its link partner under any
98+
circumstances, no matter how it is initialized***. If the full-duplex mode
99+
of the 3c509B is enabled, its link partner will very likely need to be
100+
independently _forced_ into full-duplex mode as well; otherwise various nasty
101+
failures will occur - at the very least, you'll see massive numbers of packet
102+
collisions. This is one of very rare circumstances where disabling auto-
103+
negotiation and forcing the duplex mode of a network interface card or switch
104+
would ever be necessary or desirable.
105+
106+
107+
Available Transceiver Types
108+
===========================
109+
110+
For versions of the driver v1.18c and above, the available transceiver types are:
111+
112+
== =========================================================================
113+
0 transceiver type from EEPROM config (normally 10baseT); force half-duplex
114+
1 AUI (thick-net / DB15 connector)
115+
2 (undefined)
116+
3 10base2 (thin-net == coax / BNC connector)
117+
4 10baseT (RJ-45 connector); force half-duplex mode
118+
8 transceiver type and duplex mode taken from card's EEPROM config settings
119+
12 10baseT (RJ-45 connector); force full-duplex mode
120+
== =========================================================================
121+
122+
Prior to driver version 1.18c, only transceiver codes 0-4 were supported. Note
123+
that the new transceiver codes 8 and 12 are the *only* ones that will enable
124+
full-duplex mode, no matter what the card's detected EEPROM settings might be.
125+
This insured that merely upgrading the driver from an earlier version would
126+
never automatically enable full-duplex mode in an existing installation;
127+
it must always be explicitly enabled via one of these code in order to be
128+
activated.
129+
130+
The transceiver type can be changed using 'ethtool'.
131+
132+
133+
Interpretation of error messages and common problems
134+
----------------------------------------------------
135+
136+
Error Messages
137+
^^^^^^^^^^^^^^
138+
139+
eth0: Infinite loop in interrupt, status 2011.
140+
These are "mostly harmless" message indicating that the driver had too much
141+
work during that interrupt cycle. With a status of 0x2011 you are receiving
142+
packets faster than they can be removed from the card. This should be rare
143+
or impossible in normal operation. Possible causes of this error report are:
144+
145+
- a "green" mode enabled that slows the processor down when there is no
146+
keyboard activity.
147+
148+
- some other device or device driver hogging the bus or disabling interrupts.
149+
Check /proc/interrupts for excessive interrupt counts. The timer tick
150+
interrupt should always be incrementing faster than the others.
151+
152+
No received packets
153+
^^^^^^^^^^^^^^^^^^^
154+
155+
If a 3c509, 3c562 or 3c589 can successfully transmit packets, but never
156+
receives packets (as reported by /proc/net/dev or 'ifconfig') you likely
157+
have an interrupt line problem. Check /proc/interrupts to verify that the
158+
card is actually generating interrupts. If the interrupt count is not
159+
increasing you likely have a physical conflict with two devices trying to
160+
use the same ISA IRQ line. The common conflict is with a sound card on IRQ10
161+
or IRQ5, and the easiest solution is to move the 3c509 to a different
162+
interrupt line. If the device is receiving packets but 'ping' doesn't work,
163+
you have a routing problem.
164+
165+
Tx Carrier Errors Reported in /proc/net/dev
166+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
167+
168+
169+
If an EtherLink III appears to transmit packets, but the "Tx carrier errors"
170+
field in /proc/net/dev increments as quickly as the Tx packet count, you
171+
likely have an unterminated network or the incorrect media transceiver selected.
172+
173+
3c509B card is not detected on machines with an ISA PnP BIOS.
174+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
175+
176+
While the updated driver works with most PnP BIOS programs, it does not work
177+
with all. This can be fixed by disabling PnP support using the 3Com-supplied
178+
setup program.
179+
180+
3c509 card is not detected on overclocked machines
181+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
182+
183+
Increase the delay time in id_read_eeprom() from the current value, 500,
184+
to an absurdly high value, such as 5000.
185+
186+
187+
Decoding Status and Error Messages
188+
----------------------------------
189+
190+
191+
The bits in the main status register are:
192+
193+
===== ======================================
194+
value description
195+
===== ======================================
196+
0x01 Interrupt latch
197+
0x02 Tx overrun, or Rx underrun
198+
0x04 Tx complete
199+
0x08 Tx FIFO room available
200+
0x10 A complete Rx packet has arrived
201+
0x20 A Rx packet has started to arrive
202+
0x40 The driver has requested an interrupt
203+
0x80 Statistics counter nearly full
204+
===== ======================================
205+
206+
The bits in the transmit (Tx) status word are:
207+
208+
===== ============================================
209+
value description
210+
===== ============================================
211+
0x02 Out-of-window collision.
212+
0x04 Status stack overflow (normally impossible).
213+
0x08 16 collisions.
214+
0x10 Tx underrun (not enough PCI bus bandwidth).
215+
0x20 Tx jabber.
216+
0x40 Tx interrupt requested.
217+
0x80 Status is valid (this should always be set).
218+
===== ============================================
219+
220+
221+
When a transmit error occurs the driver produces a status message such as::
222+
223+
eth0: Transmit error, Tx status register 82
224+
225+
The two values typically seen here are:
226+
227+
0x82
228+
^^^^
229+
230+
Out of window collision. This typically occurs when some other Ethernet
231+
host is incorrectly set to full duplex on a half duplex network.
232+
233+
0x88
234+
^^^^
235+
236+
16 collisions. This typically occurs when the network is exceptionally busy
237+
or when another host doesn't correctly back off after a collision. If this
238+
error is mixed with 0x82 errors it is the result of a host incorrectly set
239+
to full duplex (see above).
240+
241+
Both of these errors are the result of network problems that should be
242+
corrected. They do not represent driver malfunction.
243+
244+
245+
Revision history (this file)
246+
============================
247+
248+
28Feb02 v1.0 DR New; major portions based on Becker original 3c509 docs
249+

Documentation/networking/device_drivers/ethernet/index.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ Contents:
1010
.. toctree::
1111
:maxdepth: 2
1212

13+
3com/3c509
1314
3com/vortex
1415
amazon/ena
1516
altera/altera_tse

0 commit comments

Comments
 (0)