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
..
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
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
nvmem.c
rtc: export rtc_nvmem_register() to drivers
2018-03-01 10:49:15 +01:00
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: stop validating rtc_time after rtc_time64_to_tm
2018-03-01 10:49:41 +01:00
rtc-ab8500.c
rtc: ab8500: Drop AB8540 support
2018-03-27 10:45:05 +02:00
rtc-abx80x.c
rtc: abx80x: remove useless message
2018-03-02 10:12:23 +01:00
rtc-ac100.c
rtc: ac100: Fix ac100 determine rate bug
2018-03-17 14:20:50 +01:00
rtc-armada38x.c
rtc: armada38x: add support for trimming the RTC
2017-10-25 23:05:52 +02:00
rtc-as3722.c
rtc-asm9260.c
rtc-at91rm9200.c
rtc: at91rm9200: fix reading alarm value
2017-11-10 16:24:32 +01:00
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: stop validating rtc_time in .read_time
2018-03-02 10:09:58 +01:00
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: stop validating rtc_time after rtc_time_to_tm
2018-03-01 10:49:41 +01:00
rtc-core.h
rtc: export rtc_nvmem_register() to drivers
2018-03-01 10:49:15 +01:00
rtc-cpcap.c
rtc: cpcap: stop validating rtc_time in .read_time
2018-03-02 10:09:59 +01:00
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: diasemi: stop validating rtc_time in .read_time
2018-03-02 10:11:02 +01:00
rtc-da9055.c
rtc: diasemi: stop validating rtc_time in .read_time
2018-03-02 10:11:02 +01:00
rtc-da9063.c
rtc: diasemi: stop validating rtc_time in .read_time
2018-03-02 10:11:02 +01:00
rtc-davinci.c
rtc-dev.c
vfs: do bulk POLL* -> EPOLL* replacement
2018-02-11 14:34:03 -08:00
rtc-digicolor.c
rtc-dm355evm.c
mfd: dm355evm_msp: Move header file out of I2C realm
2017-08-15 08:06:14 +01:00
rtc-ds1216.c
rtc: stop validating rtc_time in .read_time
2018-03-02 10:09:58 +01:00
rtc-ds1286.c
rtc: stop validating rtc_time in .read_time
2018-03-02 10:09:58 +01:00
rtc-ds1302.c
rtc: stop validating rtc_time in .read_time
2018-03-02 10:09:58 +01:00
rtc-ds1305.c
rtc: stop validating rtc_time in .read_time
2018-03-02 10:09:58 +01:00
rtc-ds1307.c
rtc: stop validating rtc_time in .read_time
2018-03-02 10:09:58 +01:00
rtc-ds1343.c
rtc: stop validating rtc_time in .read_time
2018-03-02 10:09:58 +01:00
rtc-ds1347.c
rtc: stop validating rtc_time in .read_time
2018-03-02 10:09:58 +01:00
rtc-ds1374.c
rtc-ds1390.c
rtc: stop validating rtc_time in .read_time
2018-03-02 10:09:58 +01:00
rtc-ds1511.c
rtc: ds1511: let the core handle invalid time
2018-03-01 10:49:38 +01:00
rtc-ds1553.c
rtc: ds1553: let the core handle invalid time
2018-03-01 10:49:39 +01:00
rtc-ds1672.c
rtc: constify i2c_device_id
2017-09-01 01:10:11 +02:00
rtc-ds1685.c
rtc: stop validating rtc_time in .read_time
2018-03-02 10:09:58 +01:00
rtc-ds1742.c
rtc: stop validating rtc_time in .read_time
2018-03-02 10:09:58 +01:00
rtc-ds2404.c
rtc: stop validating rtc_time in .read_time
2018-03-02 10:09:58 +01:00
rtc-ds3232.c
rtc: stop validating rtc_time in .read_time
2018-03-02 10:09:58 +01:00
rtc-efi-platform.c
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
rtc-efi.c
rtc: stop validating rtc_time in .read_time
2018-03-02 10:09:58 +01:00
rtc-em3027.c
rtc: constify i2c_device_id
2017-09-01 01:10:11 +02:00
rtc-ep93xx.c
rtc-fm3130.c
rtc: stop validating rtc_time in .read_time
2018-03-02 10:09:58 +01:00
rtc-ftrtc010.c
rtc: gemini/ftrtc010: rename driver and symbols
2017-07-06 22:37:15 +02:00
rtc-generic.c
rtc-goldfish.c
rtc: goldfish: Add missing MODULE_LICENSE
2018-02-13 21:46:04 +01:00
rtc-hid-sensor-time.c
rtc-hym8563.c
rtc-imxdi.c
sched/wait: Disambiguate wq_entry->task_list and wq_head->task_list naming
2017-06-20 12:19:14 +02:00
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: stop validating rtc_time after rtc_time_to_tm
2018-03-01 10:49:41 +01:00
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: stop validating rtc_time in .read_time
2018-03-02 10:09:58 +01:00
rtc-lpc32xx.c
rtc: stop validating rtc_time after rtc_time_to_tm
2018-03-01 10:49:41 +01:00
rtc-ls1x.c
rtc: stop validating rtc_time after rtc_time_to_tm
2018-03-01 10:49:41 +01:00
rtc-m41t80.c
rtc: m41t80: remove useless indirection
2018-03-17 14:20:48 +01:00
rtc-m41t93.c
rtc: m41t93: stop validating rtc_time in .read_time
2018-03-02 10:12:19 +01:00
rtc-m41t94.c
rtc: stop validating rtc_time in .read_time
2018-03-02 10:09:58 +01:00
rtc-m48t35.c
rtc: stop validating rtc_time in .read_time
2018-03-02 10:09:58 +01:00
rtc-m48t59.c
rtc: stop validating rtc_time in .read_time
2018-03-02 10:09:58 +01:00
rtc-m48t86.c
rtc: stop validating rtc_time in .read_time
2018-03-02 10:09:58 +01:00
rtc-max6900.c
rtc: max6900: remove useless indirection
2018-03-17 14:20:46 +01:00
rtc-max6902.c
rtc: stop validating rtc_time in .read_time
2018-03-02 10:09:58 +01:00
rtc-max6916.c
rtc: stop validating rtc_time in .read_time
2018-03-02 10:09:58 +01:00
rtc-max8907.c
rtc-max8925.c
rtc: max8925: remove redundant check on ret
2017-07-31 00:17:48 +02:00
rtc-max8997.c
rtc: stop validating rtc_time in .read_time
2018-03-02 10:09:58 +01:00
rtc-max8998.c
rtc: stop validating rtc_time in .read_time
2018-03-02 10:09:58 +01:00
rtc-max77686.c
rtc: max77686: stop validating rtc_time in .read_time
2018-03-02 10:12:20 +01:00
rtc-mc13xxx.c
rtc: stop validating rtc_time after rtc_time64_to_tm
2018-03-01 10:49:41 +01:00
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: stop validating rtc_time after rtc_time_to_tm
2018-03-01 10:49:41 +01:00
rtc-mrst.c
rtc: mrst: remove artificial limitation
2018-03-27 10:45:03 +02:00
rtc-msm6242.c
rtc: stop validating rtc_time in .read_time
2018-03-02 10:09:58 +01:00
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: avoid disabling interrupts on device close
2017-08-24 16:23:16 +02:00
rtc-mxc_v2.c
rtc: mxc_v2: Fix _iomem pointer notation
2018-03-01 10:49:36 +01:00
rtc-nuc900.c
rtc: nuc900: stop validating rtc_time in .read_time
2018-03-02 10:12:17 +01:00
rtc-omap.c
rtc: omap: stop validating rtc_time in .set_time and .set_alarm
2018-03-02 10:12:21 +01:00
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: stop validating rtc_time after rtc_time_to_tm
2018-03-01 10:49:41 +01:00
rtc-pcf2123.c
rtc: stop validating rtc_time in .read_time
2018-03-02 10:09:58 +01:00
rtc-pcf2127.c
rtc: stop validating rtc_time in .read_time
2018-03-02 10:09:58 +01:00
rtc-pcf8523.c
rtc: stop validating rtc_time in .read_time
2018-03-02 10:09:58 +01:00
rtc-pcf8563.c
rtc: pcf8563: don't alway enable the alarm
2017-11-09 01:16:36 +01:00
rtc-pcf8583.c
rtc-pcf50633.c
rtc: stop validating rtc_time in .read_time
2018-03-02 10:09:58 +01:00
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: stop validating rtc_time in .read_time
2018-03-02 10:09:58 +01:00
rtc-pl030.c
rtc-pl031.c
rtc: pl031: make interrupt optional
2017-10-12 16:30:30 +02:00
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: stop validating rtc_time after rtc_time_to_tm
2018-03-01 10:49:41 +01:00
rtc-puv3.c
rtc: puv3: make alarms useful
2017-08-22 12:05:21 +02:00
rtc-pxa.c
rtc: pxa: fix possible race condition
2017-08-24 11:03:34 +02:00
rtc-r7301.c
rtc: r7301: stop validating rtc_time in .read_time
2018-03-02 10:12:18 +01:00
rtc-r9701.c
rtc: stop validating rtc_time in .read_time
2018-03-02 10:09:58 +01:00
rtc-rc5t583.c
rtc-rk808.c
rtc: rk808: fix possible race condition
2018-03-17 14:20:42 +01:00
rtc-rp5c01.c
rtc: stop validating rtc_time in .read_time
2018-03-02 10:09:58 +01:00
rtc-rs5c313.c
rtc-rs5c348.c
rtc: rs5c348: let the core handle invalid time
2018-03-01 10:49:40 +01:00
rtc-rs5c372.c
rtc: rs5c372: remove useless indirection
2018-03-17 14:20:45 +01:00
rtc-rtd119x.c
rtc: Add Realtek RTD1295
2017-09-05 09:55:02 +02:00
rtc-rv3029c2.c
rtc: rv3029: Clean up error handling in rv3029_eeprom_write()
2017-10-12 16:24:19 +02:00
rtc-rv8803.c
rtc: rv8803: fix possible race condition
2018-03-01 10:49:23 +01:00
rtc-rx4581.c
rtc: rx4581: remove useless message
2018-03-02 10:12:24 +01:00
rtc-rx6110.c
rtc: stop validating rtc_time in .read_time
2018-03-02 10:09:58 +01:00
rtc-rx8010.c
rtc: stop validating rtc_time in .read_time
2018-03-02 10:09:58 +01:00
rtc-rx8025.c
rtc: stop validating rtc_time in .read_time
2018-03-02 10:09:58 +01:00
rtc-rx8581.c
rtc: rx8581: remove useless message
2018-03-02 10:12:24 +01:00
rtc-s3c.c
rtc: stop validating rtc_time in .read_time
2018-03-02 10:09:58 +01:00
rtc-s3c.h
rtc-s5m.c
rtc: s5m: Remove VLA usage
2018-03-17 14:20:57 +01:00
rtc-s35390a.c
rtc: s35390a: remove useless indirection
2018-03-17 14:20:44 +01:00
rtc-sa1100.c
rtc: sa1100: make alarms useful
2017-08-24 11:03:35 +02:00
rtc-sa1100.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
rtc-sc27xx.c
rtc: sc27xx: stop validating rtc_time in .read_time
2018-03-02 10:12:18 +01:00
rtc-sh.c
rtc: stop validating rtc_time in .read_time
2018-03-02 10:09:58 +01:00
rtc-sirfsoc.c
rtc: sirfsoc: remove useless sirfsoc_rtc_ioctl
2018-03-01 10:49:27 +01:00
rtc-snvs.c
rtc: snvs: Fix usage of snvs_rtc_enable
2018-04-03 16:43:36 +02:00
rtc-spear.c
rtc: spear: stop validating rtc_time in .set_time and .set_alarm
2018-03-02 10:12:21 +01:00
rtc-st-lpc.c
rtc: st-lpc: remove artificial limitation
2018-03-27 10:45:03 +02:00
rtc-starfire.c
rtc: stop validating rtc_time after rtc_time_to_tm
2018-03-01 10:49:41 +01:00
rtc-stk17ta8.c
rtc: stk17ta8: let the core handle invalid time
2018-03-01 10:49:40 +01:00
rtc-stm32.c
rtc: stm32: Fix copyright
2017-11-29 22:20:56 +01:00
rtc-stmp3xxx.c
rtc-sun4v.c
rtc-sun6i.c
rtc: stop validating rtc_time in .read_time
2018-03-02 10:09:58 +01:00
rtc-sunxi.c
rtc: stop validating rtc_time in .read_time
2018-03-02 10:09:58 +01:00
rtc-sysfs.c
rtc: Add RTC range
2018-03-17 14:20:54 +01:00
rtc-tegra.c
rtc: tegra: stop validating rtc_time in .set_time
2018-03-02 10:12:22 +01:00
rtc-test.c
rtc-tps6586x.c
rtc: stop validating rtc_time after rtc_time_to_tm
2018-03-01 10:49:41 +01:00
rtc-tps65910.c
rtc-tps80031.c
rtc-twl.c
mfd: twl: Move header file out of I2C realm
2017-09-04 14:41:02 +01:00
rtc-tx4939.c
rtc: stop validating rtc_time after rtc_time_to_tm
2018-03-01 10:49:41 +01:00
rtc-v3020.c
rtc-vr41xx.c
rtc: vr41xx: make alarms useful
2017-08-24 11:03:36 +02:00
rtc-vt8500.c
rtc-wm831x.c
rtc: stop validating rtc_time after rtc_time_to_tm
2018-03-01 10:49:41 +01:00
rtc-wm8350.c
rtc-x1205.c
rtc-xgene.c
rtc: stop validating rtc_time after rtc_time_to_tm
2018-03-01 10:49:41 +01:00
rtc-zynqmp.c
rtc: stop validating rtc_time after rtc_time64_to_tm
2018-03-01 10:49:41 +01:00
systohc.c
rtc: remove a warning during scripts/kernel-doc step
2018-03-27 10:45:05 +02:00