| /linux/kernel/printk/ |
| H A D | nbcon.c | 798 bool nbcon_can_proceed(struct nbcon_write_context *wctxt) in nbcon_can_proceed() argument 800 struct nbcon_context *ctxt = &ACCESS_PRIVATE(wctxt, ctxt); in nbcon_can_proceed() 860 void nbcon_write_context_set_buf(struct nbcon_write_context *wctxt, in nbcon_write_context_set_buf() argument 863 struct nbcon_context *ctxt = &ACCESS_PRIVATE(wctxt, ctxt); in nbcon_write_context_set_buf() 867 wctxt->outbuf = buf; in nbcon_write_context_set_buf() 868 wctxt->len = len; in nbcon_write_context_set_buf() 870 wctxt->unsafe_takeover = cur.unsafe_takeover; in nbcon_write_context_set_buf() 885 bool nbcon_enter_unsafe(struct nbcon_write_context *wctxt) in nbcon_enter_unsafe() argument 887 struct nbcon_context *ctxt = &ACCESS_PRIVATE(wctxt, ctxt); in nbcon_enter_unsafe() 892 nbcon_write_context_set_buf(wctxt, NULL, 0); in nbcon_enter_unsafe() [all …]
|
| /linux/include/linux/ |
| H A D | console.h | 388 void (*write_atomic)(struct console *con, struct nbcon_write_context *wctxt); 419 void (*write_thread)(struct console *con, struct nbcon_write_context *wctxt); 608 extern bool nbcon_can_proceed(struct nbcon_write_context *wctxt); 609 extern void nbcon_write_context_set_buf(struct nbcon_write_context *wctxt, 611 extern bool nbcon_enter_unsafe(struct nbcon_write_context *wctxt); 612 extern bool nbcon_exit_unsafe(struct nbcon_write_context *wctxt); 613 extern void nbcon_reacquire_nobuf(struct nbcon_write_context *wctxt); 616 struct nbcon_write_context *wctxt); 617 extern void nbcon_kdb_release(struct nbcon_write_context *wctxt); 618 extern bool nbcon_write_context_is_braille(struct nbcon_write_context *wctxt); [all …]
|
| /linux/drivers/tty/serial/ |
| H A D | sifive.c | 809 struct nbcon_write_context *wctxt) in sifive_serial_console_write_atomic() argument 818 if (!nbcon_enter_unsafe(wctxt)) in sifive_serial_console_write_atomic() 826 uart_console_write(port, wctxt->outbuf, wctxt->len, in sifive_serial_console_write_atomic() 831 nbcon_exit_unsafe(wctxt); in sifive_serial_console_write_atomic() 835 struct nbcon_write_context *wctxt) in sifive_serial_console_write_thread() argument 844 if (!nbcon_enter_unsafe(wctxt)) in sifive_serial_console_write_thread() 850 if (nbcon_exit_unsafe(wctxt)) { in sifive_serial_console_write_thread() 851 int len = READ_ONCE(wctxt->len); in sifive_serial_console_write_thread() 855 if (!nbcon_enter_unsafe(wctxt)) in sifive_serial_console_write_thread() 858 uart_console_write(port, wctxt->outbuf + i, 1, in sifive_serial_console_write_thread() [all …]
|
| H A D | tegra-utc.c | 413 static void tegra_utc_console_write_atomic(struct console *cons, struct nbcon_write_context *wctxt) in tegra_utc_console_write_atomic() argument 419 if (!nbcon_enter_unsafe(wctxt)) in tegra_utc_console_write_atomic() 422 outbuf = wctxt->outbuf; in tegra_utc_console_write_atomic() 423 len = wctxt->len; in tegra_utc_console_write_atomic() 438 nbcon_exit_unsafe(wctxt); in tegra_utc_console_write_atomic() 441 static void tegra_utc_console_write_thread(struct console *cons, struct nbcon_write_context *wctxt) in tegra_utc_console_write_thread() argument 444 unsigned int len = READ_ONCE(wctxt->len); in tegra_utc_console_write_thread() 449 if (!nbcon_enter_unsafe(wctxt)) in tegra_utc_console_write_thread() 454 uart_console_write(&tup->port, wctxt->outbuf + i, 1, tegra_utc_console_putchar); in tegra_utc_console_write_thread() 456 if (!nbcon_exit_unsafe(wctxt)) in tegra_utc_console_write_thread()
|
| H A D | qcom_geni_serial.c | 661 struct nbcon_write_context *wctxt) in qcom_geni_serial_console_write_thread() argument 672 if (!nbcon_enter_unsafe(wctxt)) in qcom_geni_serial_console_write_thread() 676 if (!nbcon_exit_unsafe(wctxt)) in qcom_geni_serial_console_write_thread() 679 while (offset < wctxt->len) { in qcom_geni_serial_console_write_thread() 685 unsigned int count = min_t(unsigned int, wctxt->len - offset, in qcom_geni_serial_console_write_thread() 688 if (!nbcon_enter_unsafe(wctxt)) in qcom_geni_serial_console_write_thread() 691 __qcom_geni_serial_console_write(uport, wctxt->outbuf + offset, in qcom_geni_serial_console_write_thread() 695 if (!nbcon_exit_unsafe(wctxt)) in qcom_geni_serial_console_write_thread() 699 if (!nbcon_enter_unsafe(wctxt)) in qcom_geni_serial_console_write_thread() 703 nbcon_exit_unsafe(wctxt); in qcom_geni_serial_console_write_thread() [all …]
|
| H A D | imx.c | 2115 struct nbcon_write_context *wctxt) in imx_uart_console_write_atomic() argument 2122 if (!nbcon_enter_unsafe(wctxt)) in imx_uart_console_write_atomic() 2141 uart_console_write(port, wctxt->outbuf, wctxt->len, in imx_uart_console_write_atomic() 2152 nbcon_exit_unsafe(wctxt); in imx_uart_console_write_atomic() 2156 struct nbcon_write_context *wctxt) in imx_uart_console_write_thread() argument 2163 if (!nbcon_enter_unsafe(wctxt)) in imx_uart_console_write_thread() 2180 if (nbcon_exit_unsafe(wctxt)) { in imx_uart_console_write_thread() 2181 int len = READ_ONCE(wctxt->len); in imx_uart_console_write_thread() 2196 if (!nbcon_enter_unsafe(wctxt)) in imx_uart_console_write_thread() 2199 uart_console_write(port, wctxt->outbuf + i, 1, in imx_uart_console_write_thread() [all …]
|
| H A D | amba-pl011.c | 2645 pl011_console_write_atomic(struct console *co, struct nbcon_write_context *wctxt) in pl011_console_write_atomic() argument 2650 if (!nbcon_enter_unsafe(wctxt)) in pl011_console_write_atomic() 2661 uart_console_write(&uap->port, wctxt->outbuf, wctxt->len, pl011_console_putchar); in pl011_console_write_atomic() 2669 nbcon_exit_unsafe(wctxt); in pl011_console_write_atomic() 2673 pl011_console_write_thread(struct console *co, struct nbcon_write_context *wctxt) in pl011_console_write_thread() argument 2678 if (!nbcon_enter_unsafe(wctxt)) in pl011_console_write_thread() 2687 if (nbcon_exit_unsafe(wctxt)) { in pl011_console_write_thread() 2689 unsigned int len = READ_ONCE(wctxt->len); in pl011_console_write_thread() 2692 if (!nbcon_enter_unsafe(wctxt)) in pl011_console_write_thread() 2694 uart_console_write(&uap->port, wctxt->outbuf + i, 1, pl011_console_putchar); in pl011_console_write_thread() [all …]
|
| /linux/drivers/accessibility/braille/ |
| H A D | braille_console.c | 65 struct nbcon_write_context wctxt = { }; in braille_write() local 96 if (!nbcon_braille_try_acquire(braille_co, &wctxt)) { in braille_write() 102 while (!nbcon_braille_try_acquire(braille_co, &wctxt)) in braille_write() 142 nbcon_write_context_set_buf(&wctxt, (char *)data, c - data); in braille_write() 144 braille_co->write_atomic(braille_co, &wctxt); in braille_write() 146 braille_co->write_thread(braille_co, &wctxt); in braille_write() 153 nbcon_braille_release(&wctxt); in braille_write()
|
| /linux/drivers/tty/serial/8250/ |
| H A D | 8250_port.c | 3252 struct nbcon_write_context *wctxt, in serial8250_fifo_wait_for_lsr_thre() argument 3267 if (wctxt && !nbcon_enter_unsafe(wctxt)) in serial8250_fifo_wait_for_lsr_thre() 3272 if (wctxt) in serial8250_fifo_wait_for_lsr_thre() 3273 nbcon_exit_unsafe(wctxt); in serial8250_fifo_wait_for_lsr_thre() 3333 struct nbcon_write_context *wctxt, in __serial8250_console_fifo_write() argument 3345 serial8250_fifo_wait_for_lsr_thre(up, wctxt, fifosize); in __serial8250_console_fifo_write() 3352 if (!nbcon_enter_unsafe(wctxt)) in __serial8250_console_fifo_write() 3363 nbcon_exit_unsafe(wctxt); in __serial8250_console_fifo_write() 3372 serial8250_fifo_wait_for_lsr_thre(up, wctxt, tx_count); in __serial8250_console_fifo_write() 3376 struct nbcon_write_context *wctxt) in serial8250_console_fifo_write() argument [all …]
|
| /linux/drivers/net/ |
| H A D | netconsole.c | 1859 struct nbcon_write_context *wctxt) in sysdata_append_cpu_nr() argument 1863 wctxt->cpu); in sysdata_append_cpu_nr() 1867 struct nbcon_write_context *wctxt) in sysdata_append_taskname() argument 1871 wctxt->comm); in sysdata_append_taskname() 1895 struct nbcon_write_context *wctxt) in prepare_sysdata() argument 1903 sysdata_len += sysdata_append_cpu_nr(nt, sysdata_len, wctxt); in prepare_sysdata() 1905 sysdata_len += sysdata_append_taskname(nt, sysdata_len, wctxt); in prepare_sysdata() 2421 struct nbcon_write_context *wctxt) in send_ext_msg_udp() argument 2433 sysdata_len = prepare_sysdata(nt, wctxt); in send_ext_msg_udp() 2441 len = wctxt->len + release_len + sysdata_len + userdata_len; in send_ext_msg_udp() [all …]
|