linux_dsm_epyc7002/drivers/tty/serial/8250
Ji-Ze Hong (Peter Hong) 4da22f1418 serial: 8250_fintek: fix the mismatched IRQ mode
Some BIOS only use _OSI("Linux") to distinguish between Linux & Windows.
Apply Level/Low to UART trigger mode if Windows, Edge/High mode otherwise.
But since 2.6.23 the mainline kernel no longer returns true for
_OSI(“Linux”).

The default IRQ0~15 trigger mode in Linux is Edge/High mode without
ACPI MADT override. It mismatches IRQ mode and makes UART malfunctional on
such motherboard.

This patch will check the current IRQ mode and apply correct mode to UART.

The following link is F81216AD spec PDF:
http://html.alldatasheet.com/html-pdf/257956/FINTEK/F81216AD/5569/
25/F81216AD.html

LDN0~3
	70h: IRQ channel & Mode register
		Bit 6~5	:
			00	: Active low level mode
			01	: Active high edge mode
		Bit 4	: Sharing Flag (0: not share/1: share)
		Bit 3~0 : IRQ channel

Signed-off-by: Ji-Ze Hong (Peter Hong) <hpeter+linux_kernel@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-06-25 13:50:53 -07:00
..
8250_accent.c tty: serial: 8250: Add generic port init macro 2016-02-06 23:15:53 -08:00
8250_acorn.c tty: serial: 8250: Fix whitespace errors 2016-02-06 23:15:53 -08:00
8250_bcm2835aux.c serial: bcm2835: fix unsigned int issue with irq 2016-02-14 17:39:36 -08:00
8250_boca.c tty: serial: 8250: Add generic port init macro 2016-02-06 23:15:53 -08:00
8250_core.c tty: 8250, kill DEBUG_INTR 2016-06-25 08:56:30 -07:00
8250_dma.c serial: 8250: Extract IIR logic steering from rx dma 2016-04-30 09:26:55 -07:00
8250_dw.c serial: 8250_dw: fix wrong logic in dw8250_check_lcr() 2016-05-03 16:10:38 -07:00
8250_early.c serial: 8250_early: Add earlycon support for Synopsys DesignWare ABP UART 2016-06-25 09:12:55 -07:00
8250_em.c serial: 8250: remove the redundant include 2015-03-26 22:21:08 +01:00
8250_exar_st16c554.c tty: serial: 8250: Add generic port init macro 2016-02-06 23:15:53 -08:00
8250_fintek.c serial: 8250_fintek: fix the mismatched IRQ mode 2016-06-25 13:50:53 -07:00
8250_fourport.c tty: serial: 8250: Add generic port init macro 2016-02-06 23:15:53 -08:00
8250_fsl.c serial: export fsl8250_handle_irq 2015-11-20 16:19:54 -08:00
8250_gsc.c tty: serial: 8250: Suitably replace printk 2016-02-06 23:15:53 -08:00
8250_hp300.c tty: serial: 8250: Suitably replace printk 2016-02-06 23:15:53 -08:00
8250_hub6.c tty: serial: 8250: Fix whitespace errors 2016-02-06 23:15:53 -08:00
8250_ingenic.c serial: 8250/ingenic: fix building with SERIAL_8250=m 2016-03-07 16:11:14 -08:00
8250_lpc18xx.c serial: 8250: add LPC18xx/43xx UART driver 2015-06-01 06:56:33 +09:00
8250_mid.c serial: 8250_mid: correct comment regarding Tangier HSU 2016-04-30 09:26:55 -07:00
8250_moxa.c tty: serial: 8250: add MOXA Smartio MUE boards support 2016-03-07 16:11:14 -08:00
8250_mtk.c serial: 8250: convert drivers to use up_to_u8250p() 2016-03-07 16:11:14 -08:00
8250_of.c serial: 8250: of: Make tegra_serial_handle_break() static 2016-04-30 09:26:55 -07:00
8250_omap.c serial: omap8250: Terminate rx dma only for flushes 2016-04-30 09:26:55 -07:00
8250_pci.c tty: 8250, remove shadow and unused variables 2016-06-25 09:04:48 -07:00
8250_pnp.c tty: serial: 8250: Fix indentation warnings 2016-02-06 23:15:53 -08:00
8250_port.c tty: 8250, remove shadow and unused variables 2016-06-25 09:04:48 -07:00
8250_uniphier.c serial: 8250_uniphier: add "\n" at the end of error log 2016-04-30 09:26:55 -07:00
8250.h tty: 8250, kill DEBUG_INTR 2016-06-25 08:56:30 -07:00
Kconfig serial: 8250: Integrate Fintek into 8250_base 2016-04-30 09:26:55 -07:00
Makefile serial: 8250: Integrate Fintek into 8250_base 2016-04-30 09:26:55 -07:00
serial_cs.c tty: serial: 8250: Fix multi-line strings 2016-02-06 23:15:53 -08:00