linux-kernelorg-stable/drivers/rtc
Nicholas Piggin 682e6b4da5 rtc: opal: Fix OPAL RTC driver OPAL_BUSY loops
The OPAL RTC driver does not sleep in case it gets OPAL_BUSY or
OPAL_BUSY_EVENT from firmware, which causes large scheduling
latencies, up to 50 seconds have been observed here when RTC stops
responding (BMC reboot can do it).

Fix this by converting it to the standard form OPAL_BUSY loop that
sleeps.

Fixes: 628daa8d5a ("powerpc/powernv: Add RTC and NVRAM support plus RTAS fallbacks")
Cc: stable@vger.kernel.org # v3.2+
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Acked-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2018-04-25 13:24:13 +10:00
..
Kconfig RTC for 4.17 2018-04-10 10:22:27 -07:00
Makefile RTC for 4.17 2018-04-10 10:22:27 -07:00
class.c rtc: Add one offset seconds to expand RTC range 2018-03-17 14:20:55 +01:00
hctosys.c rtc: hctosys: Ensure system time doesn't overflow time_t 2018-03-27 10:44:43 +02:00
interface.c rtc: Add one offset seconds to expand RTC range 2018-03-17 14:20:55 +01:00
nvmem.c
rtc-88pm80x.c rtc: 88pm80x: remove artificial limitation 2018-03-27 10:45:04 +02:00
rtc-88pm860x.c rtc: 88pm860x: remove artificial limitation 2018-03-27 10:45:04 +02:00
rtc-ab-b5ze-s3.c RTC for 4.17 2018-04-10 10:22:27 -07:00
rtc-ab3100.c
rtc-ab8500.c rtc: ab8500: Drop AB8540 support 2018-03-27 10:45:05 +02:00
rtc-abx80x.c
rtc-ac100.c rtc: ac100: Fix ac100 determine rate bug 2018-03-17 14:20:50 +01:00
rtc-armada38x.c
rtc-as3722.c
rtc-asm9260.c
rtc-at91rm9200.c
rtc-at91rm9200.h
rtc-at91sam9.c rtc: at91sam9: Set name of regmap_config 2018-03-17 14:20:57 +01:00
rtc-au1xxx.c
rtc-bq32k.c rtc: remove VLA usage 2018-03-17 14:20:56 +01:00
rtc-bq4802.c
rtc-brcmstb-waketimer.c rtc: brcmstb-waketimer: Set wktmr prescaler 2018-03-17 14:20:51 +01:00
rtc-cmos.c RTC for 4.17 2018-04-10 10:22:27 -07:00
rtc-coh901331.c
rtc-core.h
rtc-cpcap.c
rtc-cros-ec.c rtc: cros-ec: return -ETIME when refused to set alarms in the past 2018-03-17 14:20:53 +01:00
rtc-da9052.c
rtc-da9055.c
rtc-da9063.c
rtc-davinci.c
rtc-dev.c
rtc-digicolor.c
rtc-dm355evm.c
rtc-ds1216.c
rtc-ds1286.c
rtc-ds1302.c
rtc-ds1305.c
rtc-ds1307.c
rtc-ds1343.c
rtc-ds1347.c
rtc-ds1374.c
rtc-ds1390.c
rtc-ds1511.c
rtc-ds1553.c
rtc-ds1672.c
rtc-ds1685.c
rtc-ds1742.c
rtc-ds2404.c
rtc-ds3232.c
rtc-efi-platform.c
rtc-efi.c
rtc-em3027.c
rtc-ep93xx.c
rtc-fm3130.c
rtc-ftrtc010.c
rtc-generic.c
rtc-goldfish.c
rtc-hid-sensor-time.c
rtc-hym8563.c
rtc-imxdi.c
rtc-isl1208.c rtc: isl1208: switch to rtc_register_device 2018-03-17 14:20:54 +01:00
rtc-isl12022.c rtc: isl12022: use true and false for boolean values 2018-04-03 16:40:46 +02:00
rtc-isl12026.c rtc: isl12026: fixup nvmem registration 2018-03-17 14:20:51 +01:00
rtc-jz4740.c
rtc-lib.c rtc: fix rtc_time64_to_tm for 3477 2018-03-17 14:20:50 +01:00
rtc-lp8788.c
rtc-lpc24xx.c
rtc-lpc32xx.c
rtc-ls1x.c
rtc-m41t80.c rtc: m41t80: remove useless indirection 2018-03-17 14:20:48 +01:00
rtc-m41t93.c
rtc-m41t94.c
rtc-m48t35.c
rtc-m48t59.c
rtc-m48t86.c
rtc-max6900.c rtc: max6900: remove useless indirection 2018-03-17 14:20:46 +01:00
rtc-max6902.c
rtc-max6916.c
rtc-max8907.c
rtc-max8925.c
rtc-max8997.c
rtc-max8998.c
rtc-max77686.c
rtc-mc13xxx.c
rtc-mc146818-lib.c
rtc-mcp795.c rtc: remove VLA usage 2018-03-17 14:20:56 +01:00
rtc-moxart.c
rtc-mpc5121.c
rtc-mrst.c rtc: mrst: remove artificial limitation 2018-03-27 10:45:03 +02:00
rtc-msm6242.c
rtc-mt6397.c
rtc-mt7622.c rtc: mt7622: fix module autoloading for OF platform drivers 2018-04-03 16:40:48 +02:00
rtc-mv.c rtc: mv: remove artificial limitation 2018-03-27 10:45:02 +02:00
rtc-mxc.c
rtc-mxc_v2.c
rtc-nuc900.c
rtc-omap.c
rtc-opal.c rtc: opal: Fix OPAL RTC driver OPAL_BUSY loops 2018-04-25 13:24:13 +10:00
rtc-palmas.c
rtc-pcap.c
rtc-pcf2123.c
rtc-pcf2127.c
rtc-pcf8523.c
rtc-pcf8563.c
rtc-pcf8583.c
rtc-pcf50633.c
rtc-pcf85063.c rtc: pcf85063: fix clearing bits in pcf85063_start_clock 2018-03-17 14:20:57 +01:00
rtc-pcf85363.c rtc: pcf85363: set time accurately 2018-03-17 14:20:49 +01:00
rtc-pic32.c
rtc-pl030.c
rtc-pl031.c
rtc-pm8xxx.c rtc: pm8xxx: Fix issue in RTC write path 2018-03-17 14:20:52 +01:00
rtc-proc.c
rtc-ps3.c
rtc-puv3.c
rtc-pxa.c
rtc-r7301.c
rtc-r9701.c
rtc-rc5t583.c
rtc-rk808.c
rtc-rp5c01.c
rtc-rs5c313.c
rtc-rs5c348.c
rtc-rs5c372.c rtc: rs5c372: remove useless indirection 2018-03-17 14:20:45 +01:00
rtc-rtd119x.c
rtc-rv3029c2.c
rtc-rv8803.c
rtc-rx4581.c
rtc-rx6110.c
rtc-rx8010.c
rtc-rx8025.c
rtc-rx8581.c
rtc-s3c.c
rtc-s3c.h
rtc-s5m.c rtc: s5m: Remove VLA usage 2018-03-17 14:20:57 +01:00
rtc-s35390a.c
rtc-sa1100.c
rtc-sa1100.h
rtc-sc27xx.c
rtc-sh.c
rtc-sirfsoc.c
rtc-snvs.c rtc: snvs: Fix usage of snvs_rtc_enable 2018-04-03 16:43:36 +02:00
rtc-spear.c
rtc-st-lpc.c rtc: st-lpc: remove artificial limitation 2018-03-27 10:45:03 +02:00
rtc-starfire.c
rtc-stk17ta8.c
rtc-stm32.c
rtc-stmp3xxx.c
rtc-sun4v.c
rtc-sun6i.c
rtc-sunxi.c
rtc-sysfs.c rtc: Add RTC range 2018-03-17 14:20:54 +01:00
rtc-tegra.c
rtc-test.c
rtc-tps6586x.c
rtc-tps65910.c
rtc-tps80031.c
rtc-twl.c
rtc-tx4939.c
rtc-v3020.c
rtc-vr41xx.c
rtc-vt8500.c
rtc-wm831x.c
rtc-wm8350.c
rtc-x1205.c
rtc-xgene.c
rtc-zynqmp.c
systohc.c rtc: remove a warning during scripts/kernel-doc step 2018-03-27 10:45:05 +02:00