Commit 798804b6 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull tty/serial driver fixes from Greg KH:
 "Here are five small serial and tty and vt fixes for 6.16-rc4. Included
  in here are:

   - kerneldoc fixes for recent vt changes

   - imx serial driver fix

   - of_node sysfs fix for a regression

   - vt missing notification fix

   - 8250 dt bindings fix

  All of these have been in linux-next for a while with no reported issues"

* tag 'tty-6.16-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
  dt-bindings: serial: 8250: Make clocks and clock-frequency exclusive
  serial: imx: Restore original RXTL for console to fix data loss
  serial: core: restore of_node information in sysfs
  vt: fix kernel-doc warnings in ucs_get_fallback()
  vt: add missing notification when switching back to text mode
parents 3b1890e4 09812134
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -45,7 +45,7 @@ allOf:
                  - ns16550
                  - ns16550a
    then:
      anyOf:
      oneOf:
        - required: [ clock-frequency ]
        - required: [ clocks ]

+12 −5
Original line number Diff line number Diff line
@@ -235,6 +235,7 @@ struct imx_port {
	enum imx_tx_state	tx_state;
	struct hrtimer		trigger_start_tx;
	struct hrtimer		trigger_stop_tx;
	unsigned int		rxtl;
};

struct imx_port_ucrs {
@@ -1339,6 +1340,7 @@ static void imx_uart_clear_rx_errors(struct imx_port *sport)

#define TXTL_DEFAULT 8
#define RXTL_DEFAULT 8 /* 8 characters or aging timer */
#define RXTL_CONSOLE_DEFAULT 1
#define TXTL_DMA 8 /* DMA burst setting */
#define RXTL_DMA 9 /* DMA burst setting */

@@ -1457,7 +1459,7 @@ static void imx_uart_disable_dma(struct imx_port *sport)
	ucr1 &= ~(UCR1_RXDMAEN | UCR1_TXDMAEN | UCR1_ATDMAEN);
	imx_uart_writel(sport, ucr1, UCR1);

	imx_uart_setup_ufcr(sport, TXTL_DEFAULT, RXTL_DEFAULT);
	imx_uart_setup_ufcr(sport, TXTL_DEFAULT, sport->rxtl);

	sport->dma_is_enabled = 0;
}
@@ -1482,7 +1484,12 @@ static int imx_uart_startup(struct uart_port *port)
		return retval;
	}

	imx_uart_setup_ufcr(sport, TXTL_DEFAULT, RXTL_DEFAULT);
	if (uart_console(&sport->port))
		sport->rxtl = RXTL_CONSOLE_DEFAULT;
	else
		sport->rxtl = RXTL_DEFAULT;

	imx_uart_setup_ufcr(sport, TXTL_DEFAULT, sport->rxtl);

	/* disable the DREN bit (Data Ready interrupt enable) before
	 * requesting IRQs
@@ -1948,7 +1955,7 @@ static int imx_uart_poll_init(struct uart_port *port)
	if (retval)
		clk_disable_unprepare(sport->clk_ipg);

	imx_uart_setup_ufcr(sport, TXTL_DEFAULT, RXTL_DEFAULT);
	imx_uart_setup_ufcr(sport, TXTL_DEFAULT, sport->rxtl);

	uart_port_lock_irqsave(&sport->port, &flags);

@@ -2040,7 +2047,7 @@ static int imx_uart_rs485_config(struct uart_port *port, struct ktermios *termio
		/* If the receiver trigger is 0, set it to a default value */
		ufcr = imx_uart_readl(sport, UFCR);
		if ((ufcr & UFCR_RXTL_MASK) == 0)
			imx_uart_setup_ufcr(sport, TXTL_DEFAULT, RXTL_DEFAULT);
			imx_uart_setup_ufcr(sport, TXTL_DEFAULT, sport->rxtl);
		imx_uart_start_rx(port);
	}

@@ -2302,7 +2309,7 @@ imx_uart_console_setup(struct console *co, char *options)
	else
		imx_uart_console_get_options(sport, &baud, &parity, &bits);

	imx_uart_setup_ufcr(sport, TXTL_DEFAULT, RXTL_DEFAULT);
	imx_uart_setup_ufcr(sport, TXTL_DEFAULT, sport->rxtl);

	retval = uart_set_options(&sport->port, co, baud, parity, bits, flow);

+1 −0
Original line number Diff line number Diff line
@@ -72,6 +72,7 @@ static int serial_base_device_init(struct uart_port *port,
	dev->parent = parent_dev;
	dev->bus = &serial_base_bus_type;
	dev->release = release;
	device_set_of_node_from_dev(dev, parent_dev);

	if (!serial_base_initialized) {
		dev_dbg(port->dev, "uart_add_one_port() called before arch_initcall()?\n");
+1 −1
Original line number Diff line number Diff line
@@ -206,7 +206,7 @@ static int ucs_page_entry_cmp(const void *key, const void *element)

/**
 * ucs_get_fallback() - Get a substitution for the provided Unicode character
 * @base: Base Unicode code point (UCS-4)
 * @cp: Unicode code point (UCS-4)
 *
 * Get a simpler fallback character for the provided Unicode character.
 * This is used for terminal display when corresponding glyph is unavailable.
+1 −0
Original line number Diff line number Diff line
@@ -4650,6 +4650,7 @@ void do_unblank_screen(int leaving_gfx)
	set_palette(vc);
	set_cursor(vc);
	vt_event_post(VT_EVENT_UNBLANK, vc->vc_num, vc->vc_num);
	notify_update(vc);
}
EXPORT_SYMBOL(do_unblank_screen);