linux-stable/drivers/s390/char
Sven Schnelle 9c138af9b7 s390/tty3270: convert lines during output
The length of the screen line is variable with the 3270 protocol.
For each attribute (foreground, background color, highlighting etc)
we need 3 bytes: the set attribute order, the attribute number, and
the value of the attribute. This means that depending on screen content,
we might end up 3*3 bytes addtional data for a single character.

Allocating the maximum possible amount of memory is quite a lot, and
we cannot easily extend the lines by allocating memory because we
might get called from atomic context. Failing to extend the memory
would also be bad as that would mean that we could miss kernel messages
in oom conditions. Therefore move the conversion to a 3270 datastream
to tty3270_update(), and use only single line buffer.

Signed-off-by: Sven Schnelle <svens@linux.ibm.com>
Acked-by: Heiko Carstens <hca@linux.ibm.com>
Tested-by: Niklas Schnelle <schnelle@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
2023-01-09 14:34:01 +01:00
..
con3215.c s390/con3215: Fix white space errors 2022-10-26 14:46:51 +02:00
con3270.c s390/tty3270: convert lines during output 2023-01-09 14:34:01 +01:00
ctrlchar.c s390/ctrlchar: fix kernel doc comment 2021-09-07 13:38:42 +02:00
ctrlchar.h
defkeymap.c
defkeymap.map
diag_ftp.c s390/extable: move EX_TABLE define to asm-extable.h 2022-03-08 00:33:00 +01:00
diag_ftp.h
fs3270.c
hmcdrv_cache.c s390: move from strlcpy with unused retval to strscpy 2022-08-30 22:00:33 +02:00
hmcdrv_cache.h
hmcdrv_dev.c driver core: fix up missed drivers/s390/char/hmcdrv_dev.c class.devnode() conversion. 2022-11-30 13:01:33 +01:00
hmcdrv_dev.h
hmcdrv_ftp.c s390/hmcdrv_ftp: fix kernel doc comment 2021-09-07 13:38:42 +02:00
hmcdrv_ftp.h
hmcdrv_mod.c
Kconfig s390/tty3270: rename to con3270 2023-01-09 14:33:56 +01:00
keyboard.c
keyboard.h tty: the rest, stop using tty_schedule_flip() 2021-11-25 18:35:23 +01:00
Makefile s390/tty3270: rename to con3270 2023-01-09 14:33:56 +01:00
monreader.c s390/monreader: Remove power management support 2021-06-18 16:41:20 +02:00
monwriter.c s390/monwriter: Remove power management support 2021-06-18 16:41:20 +02:00
raw3270.c s390/raw3270: make raw3270_buffer_address() accept x/y coordinates 2023-01-09 14:34:00 +01:00
raw3270.h s390/tty3270: convert lines during output 2023-01-09 14:34:01 +01:00
sclp.c s390/sclp: allow to change sclp_console_drop during runtime 2022-11-29 14:17:04 +01:00
sclp.h s390/sclp: use kstrobool() to parse sclp_con_drop parameter 2022-11-29 14:17:03 +01:00
sclp_ap.c
sclp_cmd.c s390: remove invalid email address of Heiko Carstens 2022-02-06 23:31:29 +01:00
sclp_con.c s390/consoles: improve panic notifiers reliability 2022-05-06 20:45:13 +02:00
sclp_config.c s390: remove invalid email address of Heiko Carstens 2022-02-06 23:31:29 +01:00
sclp_cpi_sys.c
sclp_cpi_sys.h
sclp_ctl.c
sclp_diag.h
sclp_early.c s390/ipl: add eckd support 2022-12-06 16:18:21 +01:00
sclp_early_core.c s390/sclp: introduce sclp_emergency_printk() 2022-12-06 16:18:24 +01:00
sclp_ftp.c s390/hmcdrv: fix kernel doc comments 2021-10-26 15:21:29 +02:00
sclp_ftp.h
sclp_ocf.c
sclp_pci.c
sclp_quiesce.c s390/sclp: Remove quiesce power management support 2021-06-18 16:41:20 +02:00
sclp_rw.c TTY / Serial patches for 5.14-rc1 2021-07-05 14:08:24 -07:00
sclp_rw.h TTY / Serial patches for 5.14-rc1 2021-07-05 14:08:24 -07:00
sclp_sd.c s390/sclp_sd: use default_groups in kobj_type 2022-01-08 17:44:05 +01:00
sclp_sdias.c s390/sclp_sdias: fix sclp_sdias_copy() virtual vs physical address confusion 2022-02-06 23:31:29 +01:00
sclp_sdias.h
sclp_tty.c tty: drop put_tty_driver 2021-07-27 12:17:21 +02:00
sclp_tty.h
sclp_vt220.c s390/consoles: improve panic notifiers reliability 2022-05-06 20:45:13 +02:00
tape.h s390/tape: remove unsupported PM functions 2020-12-02 18:19:24 +01:00
tape_34xx.c s390/tape: fix comment typo 2022-07-28 18:05:23 +02:00
tape_3590.c s390/tape: Fix spelling mistake in function name tape_3590_erp_succeded 2021-01-27 13:00:47 +01:00
tape_3590.h
tape_char.c s390: Fix fall-through warnings for Clang 2021-07-13 14:43:09 -05:00
tape_class.c s390: move from strlcpy with unused retval to strscpy 2022-08-30 22:00:33 +02:00
tape_class.h
tape_core.c s390/tape: remove unsupported PM functions 2020-12-02 18:19:24 +01:00
tape_proc.c
tape_std.c s390/tape: fix timer initialization in tape_std_assign() 2021-11-08 14:17:49 +01:00
tape_std.h
uvdevice.c s390/uvdevice: autoload module based on CPU facility 2022-07-19 16:18:49 +02:00
vmcp.c s390/vmcp: use page_to_virt instead of page_to_phys 2021-12-06 14:42:25 +01:00
vmlogrdr.c s390/vmlogrdr: Remove power management support 2021-06-18 16:41:21 +02:00
vmur.c s390/vmur: generate uevent on unsolicited device end 2022-10-10 10:15:10 +02:00
vmur.h s390/vmur: generate uevent on unsolicited device end 2022-10-10 10:15:10 +02:00
zcore.c iov_iter work; most of that is about getting rid of 2022-12-12 18:29:54 -08:00