Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   1) ======================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   2) S/390 common I/O-Layer
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   3) ======================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   4) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   5) command line parameters, procfs and debugfs entries
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   6) ===================================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   7) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   8) Command line parameters
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   9) -----------------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  10) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  11) * ccw_timeout_log
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  12) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  13)   Enable logging of debug information in case of ccw device timeouts.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  14) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  15) * cio_ignore = device[,device[,..]]
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  16) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  17) 	device := {all | [!]ipldev | [!]condev | [!]<devno> | [!]<devno>-<devno>}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  18) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  19)   The given devices will be ignored by the common I/O-layer; no detection
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  20)   and device sensing will be done on any of those devices. The subchannel to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  21)   which the device in question is attached will be treated as if no device was
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  22)   attached.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  23) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  24)   An ignored device can be un-ignored later; see the "/proc entries"-section for
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  25)   details.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  26) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  27)   The devices must be given either as bus ids (0.x.abcd) or as hexadecimal
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  28)   device numbers (0xabcd or abcd, for 2.4 backward compatibility). If you
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  29)   give a device number 0xabcd, it will be interpreted as 0.0.abcd.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  30) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  31)   You can use the 'all' keyword to ignore all devices. The 'ipldev' and 'condev'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  32)   keywords can be used to refer to the CCW based boot device and CCW console
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  33)   device respectively (these are probably useful only when combined with the '!'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  34)   operator). The '!' operator will cause the I/O-layer to _not_ ignore a device.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  35)   The command line
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  36)   is parsed from left to right.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  37) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  38)   For example::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  39) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  40) 	cio_ignore=0.0.0023-0.0.0042,0.0.4711
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  41) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  42)   will ignore all devices ranging from 0.0.0023 to 0.0.0042 and the device
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  43)   0.0.4711, if detected.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  44) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  45)   As another example::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  46) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  47) 	cio_ignore=all,!0.0.4711,!0.0.fd00-0.0.fd02
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  48) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  49)   will ignore all devices but 0.0.4711, 0.0.fd00, 0.0.fd01, 0.0.fd02.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  50) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  51)   By default, no devices are ignored.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  52) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  53) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  54) /proc entries
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  55) -------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  56) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  57) * /proc/cio_ignore
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  58) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  59)   Lists the ranges of devices (by bus id) which are ignored by common I/O.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  60) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  61)   You can un-ignore certain or all devices by piping to /proc/cio_ignore.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  62)   "free all" will un-ignore all ignored devices,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  63)   "free <device range>, <device range>, ..." will un-ignore the specified
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  64)   devices.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  65) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  66)   For example, if devices 0.0.0023 to 0.0.0042 and 0.0.4711 are ignored,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  67) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  68)   - echo free 0.0.0030-0.0.0032 > /proc/cio_ignore
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  69)     will un-ignore devices 0.0.0030 to 0.0.0032 and will leave devices 0.0.0023
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  70)     to 0.0.002f, 0.0.0033 to 0.0.0042 and 0.0.4711 ignored;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  71)   - echo free 0.0.0041 > /proc/cio_ignore will furthermore un-ignore device
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  72)     0.0.0041;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  73)   - echo free all > /proc/cio_ignore will un-ignore all remaining ignored
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  74)     devices.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  75) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  76)   When a device is un-ignored, device recognition and sensing is performed and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  77)   the device driver will be notified if possible, so the device will become
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  78)   available to the system. Note that un-ignoring is performed asynchronously.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  79) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  80)   You can also add ranges of devices to be ignored by piping to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  81)   /proc/cio_ignore; "add <device range>, <device range>, ..." will ignore the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  82)   specified devices.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  83) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  84)   Note: While already known devices can be added to the list of devices to be
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  85) 	ignored, there will be no effect on then. However, if such a device
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  86) 	disappears and then reappears, it will then be ignored. To make
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  87) 	known devices go away, you need the "purge" command (see below).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  88) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  89)   For example::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  90) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  91) 	"echo add 0.0.a000-0.0.accc, 0.0.af00-0.0.afff > /proc/cio_ignore"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  92) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  93)   will add 0.0.a000-0.0.accc and 0.0.af00-0.0.afff to the list of ignored
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  94)   devices.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  95) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  96)   You can remove already known but now ignored devices via::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  97) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  98) 	"echo purge > /proc/cio_ignore"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  99) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100)   All devices ignored but still registered and not online (= not in use)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101)   will be deregistered and thus removed from the system.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103)   The devices can be specified either by bus id (0.x.abcd) or, for 2.4 backward
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104)   compatibility, by the device number in hexadecimal (0xabcd or abcd). Device
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105)   numbers given as 0xabcd will be interpreted as 0.0.abcd.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) * /proc/cio_settle
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109)   A write request to this file is blocked until all queued cio actions are
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110)   handled. This will allow userspace to wait for pending work affecting
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111)   device availability after changing cio_ignore or the hardware configuration.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113) * For some of the information present in the /proc filesystem in 2.4 (namely,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114)   /proc/subchannels and /proc/chpids), see driver-model.txt.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115)   Information formerly in /proc/irq_count is now in /proc/interrupts.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118) debugfs entries
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119) ---------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121) * /sys/kernel/debug/s390dbf/cio_*/ (S/390 debug feature)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 123)   Some views generated by the debug feature to hold various debug outputs.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 125)   - /sys/kernel/debug/s390dbf/cio_crw/sprintf
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126)     Messages from the processing of pending channel report words (machine check
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 127)     handling).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 128) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 129)   - /sys/kernel/debug/s390dbf/cio_msg/sprintf
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 130)     Various debug messages from the common I/O-layer.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 131) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 132)   - /sys/kernel/debug/s390dbf/cio_trace/hex_ascii
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 133)     Logs the calling of functions in the common I/O-layer and, if applicable,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 134)     which subchannel they were called for, as well as dumps of some data
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 135)     structures (like irb in an error case).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 136) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 137)   The level of logging can be changed to be more or less verbose by piping to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 138)   /sys/kernel/debug/s390dbf/cio_*/level a number between 0 and 6; see the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 139)   documentation on the S/390 debug feature (Documentation/s390/s390dbf.rst)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 140)   for details.