WSL2-Linux-Kernel/drivers/char
Andrew Jeffery f66a877083 ipmi: kcs: Poll OBF briefly to reduce OBE latency
[ Upstream commit f90bc0f97f ]

The ASPEED KCS devices don't provide a BMC-side interrupt for the host
reading the output data register (ODR). The act of the host reading ODR
clears the output buffer full (OBF) flag in the status register (STR),
informing the BMC it can transmit a subsequent byte.

On the BMC side the KCS client must enable the OBE event *and* perform a
subsequent read of STR anyway to avoid races - the polling provides a
window for the host to read ODR if data was freshly written while
minimising BMC-side latency.

Fixes: 28651e6c42 ("ipmi: kcs_bmc: Allow clients to control KCS IRQ state")
Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
Reviewed-by: Joel Stanley <joel@jms.id.au>
Message-Id: <20220812144741.240315-1-andrew@aj.id.au>
Signed-off-by: Corey Minyard <cminyard@mvista.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-12-31 13:14:06 +01:00
..
agp parisc/agp: Annotate parisc agp init functions with __init 2021-12-17 10:30:15 +01:00
hw_random hwrng: imx-rngc - Moving IRQ handler registering after imx_rngc_irq_mask_clear() 2022-10-26 12:35:24 +02:00
ipmi ipmi: kcs: Poll OBF briefly to reduce OBE latency 2022-12-31 13:14:06 +01:00
mwave char/mwave: Adjust io port register size 2022-01-27 11:04:09 +01:00
pcmcia TTY / Serial patches for 5.15-rc1 2021-09-01 09:51:16 -07:00
tpm tpm/tpm_crb: Fix error message in __crb_relinquish_locality() 2022-12-31 13:14:00 +01:00
xilinx_hwicap
xillybus char: xillybus: fix a refcount leak in cleanup_dev() 2022-06-14 18:36:21 +02:00
Kconfig random: credit cpu and bootloader seeds by default 2022-06-22 14:21:58 +02:00
Makefile remove the raw driver 2021-06-04 15:35:03 +02:00
adi.c
apm-emulation.c
applicom.c
applicom.h
bsr.c
ds1620.c
dsp56k.c
dtlk.c
hangcheck-timer.c
hpet.c char: hpet: Remove unused variable 'm' 2021-05-21 10:09:30 +02:00
lp.c
mem.c random: restore O_NONBLOCK support 2022-10-15 07:59:01 +02:00
misc.c
mspec.c
nsc_gpio.c
nvram.c
nwbutton.c
nwbutton.h
nwflash.c
pc8736x_gpio.c
powernv-op-panel.c powerpc/powernv: Fix fall-through warning for Clang 2021-07-13 19:21:41 -05:00
ppdev.c
ps3flash.c
random.c random: use expired timer rather than wq for mixing fast pool 2022-10-15 07:59:02 +02:00
scx200_gpio.c
sonypi.c
tb0219.c
tlclk.c
toshiba.c
ttyprintk.c tty: drop put_tty_driver 2021-07-27 12:17:21 +02:00
uv_mmtimer.c
virtio_console.c virtio_console: eliminate anonymous module_init & module_exit 2022-04-13 20:59:13 +02:00