summaryrefslogtreecommitdiff
path: root/sys-kernel/linux-image-redcore/files/5.4-0009-Replace-all-calls-to-schedule_timeout_uninterruptibl.patch
diff options
context:
space:
mode:
Diffstat (limited to 'sys-kernel/linux-image-redcore/files/5.4-0009-Replace-all-calls-to-schedule_timeout_uninterruptibl.patch')
-rw-r--r--sys-kernel/linux-image-redcore/files/5.4-0009-Replace-all-calls-to-schedule_timeout_uninterruptibl.patch160
1 files changed, 160 insertions, 0 deletions
diff --git a/sys-kernel/linux-image-redcore/files/5.4-0009-Replace-all-calls-to-schedule_timeout_uninterruptibl.patch b/sys-kernel/linux-image-redcore/files/5.4-0009-Replace-all-calls-to-schedule_timeout_uninterruptibl.patch
new file mode 100644
index 00000000..b6474998
--- /dev/null
+++ b/sys-kernel/linux-image-redcore/files/5.4-0009-Replace-all-calls-to-schedule_timeout_uninterruptibl.patch
@@ -0,0 +1,160 @@
+From 96cf984e774168908dc1b67b052a7a8afd62cb3b Mon Sep 17 00:00:00 2001
+From: Con Kolivas <kernel@kolivas.org>
+Date: Mon, 20 Feb 2017 13:30:32 +1100
+Subject: [PATCH 09/16] Replace all calls to schedule_timeout_uninterruptible
+ of potentially under 50ms to use schedule_msec_hrtimeout_uninterruptible
+
+---
+ drivers/media/pci/cx18/cx18-gpio.c | 4 ++--
+ drivers/net/wireless/intel/ipw2x00/ipw2100.c | 4 ++--
+ drivers/rtc/rtc-wm8350.c | 6 +++---
+ drivers/scsi/lpfc/lpfc_scsi.c | 2 +-
+ sound/pci/maestro3.c | 4 ++--
+ sound/soc/codecs/rt5631.c | 4 ++--
+ sound/soc/soc-dapm.c | 2 +-
+ 7 files changed, 13 insertions(+), 13 deletions(-)
+
+diff --git a/drivers/media/pci/cx18/cx18-gpio.c b/drivers/media/pci/cx18/cx18-gpio.c
+index cf7cfda94107..f63e17489547 100644
+--- a/drivers/media/pci/cx18/cx18-gpio.c
++++ b/drivers/media/pci/cx18/cx18-gpio.c
+@@ -81,11 +81,11 @@ static void gpio_reset_seq(struct cx18 *cx, u32 active_lo, u32 active_hi,
+
+ /* Assert */
+ gpio_update(cx, mask, ~active_lo);
+- schedule_timeout_uninterruptible(msecs_to_jiffies(assert_msecs));
++ schedule_msec_hrtimeout_uninterruptible((assert_msecs));
+
+ /* Deassert */
+ gpio_update(cx, mask, ~active_hi);
+- schedule_timeout_uninterruptible(msecs_to_jiffies(recovery_msecs));
++ schedule_msec_hrtimeout_uninterruptible((recovery_msecs));
+ }
+
+ /*
+diff --git a/drivers/net/wireless/intel/ipw2x00/ipw2100.c b/drivers/net/wireless/intel/ipw2x00/ipw2100.c
+index 8dfbaff2d1fe..d1d6b9777f47 100644
+--- a/drivers/net/wireless/intel/ipw2x00/ipw2100.c
++++ b/drivers/net/wireless/intel/ipw2x00/ipw2100.c
+@@ -816,7 +816,7 @@ static int ipw2100_hw_send_command(struct ipw2100_priv *priv,
+ * doesn't seem to have as many firmware restart cycles...
+ *
+ * As a test, we're sticking in a 1/100s delay here */
+- schedule_timeout_uninterruptible(msecs_to_jiffies(10));
++ schedule_msec_hrtimeout_uninterruptible((10));
+
+ return 0;
+
+@@ -1267,7 +1267,7 @@ static int ipw2100_start_adapter(struct ipw2100_priv *priv)
+ IPW_DEBUG_FW("Waiting for f/w initialization to complete...\n");
+ i = 5000;
+ do {
+- schedule_timeout_uninterruptible(msecs_to_jiffies(40));
++ schedule_msec_hrtimeout_uninterruptible((40));
+ /* Todo... wait for sync command ... */
+
+ read_register(priv->net_dev, IPW_REG_INTA, &inta);
+diff --git a/drivers/rtc/rtc-wm8350.c b/drivers/rtc/rtc-wm8350.c
+index 2018614f258f..fc19b312c345 100644
+--- a/drivers/rtc/rtc-wm8350.c
++++ b/drivers/rtc/rtc-wm8350.c
+@@ -114,7 +114,7 @@ static int wm8350_rtc_settime(struct device *dev, struct rtc_time *tm)
+ /* Wait until confirmation of stopping */
+ do {
+ rtc_ctrl = wm8350_reg_read(wm8350, WM8350_RTC_TIME_CONTROL);
+- schedule_timeout_uninterruptible(msecs_to_jiffies(1));
++ schedule_msec_hrtimeout_uninterruptible((1));
+ } while (--retries && !(rtc_ctrl & WM8350_RTC_STS));
+
+ if (!retries) {
+@@ -197,7 +197,7 @@ static int wm8350_rtc_stop_alarm(struct wm8350 *wm8350)
+ /* Wait until confirmation of stopping */
+ do {
+ rtc_ctrl = wm8350_reg_read(wm8350, WM8350_RTC_TIME_CONTROL);
+- schedule_timeout_uninterruptible(msecs_to_jiffies(1));
++ schedule_msec_hrtimeout_uninterruptible((1));
+ } while (retries-- && !(rtc_ctrl & WM8350_RTC_ALMSTS));
+
+ if (!(rtc_ctrl & WM8350_RTC_ALMSTS))
+@@ -220,7 +220,7 @@ static int wm8350_rtc_start_alarm(struct wm8350 *wm8350)
+ /* Wait until confirmation */
+ do {
+ rtc_ctrl = wm8350_reg_read(wm8350, WM8350_RTC_TIME_CONTROL);
+- schedule_timeout_uninterruptible(msecs_to_jiffies(1));
++ schedule_msec_hrtimeout_uninterruptible((1));
+ } while (retries-- && rtc_ctrl & WM8350_RTC_ALMSTS);
+
+ if (rtc_ctrl & WM8350_RTC_ALMSTS)
+diff --git a/drivers/scsi/lpfc/lpfc_scsi.c b/drivers/scsi/lpfc/lpfc_scsi.c
+index 6822cd9ff8f1..ac3ad534be1a 100644
+--- a/drivers/scsi/lpfc/lpfc_scsi.c
++++ b/drivers/scsi/lpfc/lpfc_scsi.c
+@@ -5176,7 +5176,7 @@ lpfc_reset_flush_io_context(struct lpfc_vport *vport, uint16_t tgt_id,
+ tgt_id, lun_id, context);
+ later = msecs_to_jiffies(2 * vport->cfg_devloss_tmo * 1000) + jiffies;
+ while (time_after(later, jiffies) && cnt) {
+- schedule_timeout_uninterruptible(msecs_to_jiffies(20));
++ schedule_msec_hrtimeout_uninterruptible((20));
+ cnt = lpfc_sli_sum_iocb(vport, tgt_id, lun_id, context);
+ }
+ if (cnt) {
+diff --git a/sound/pci/maestro3.c b/sound/pci/maestro3.c
+index 19fa73df0846..46caed9b924d 100644
+--- a/sound/pci/maestro3.c
++++ b/sound/pci/maestro3.c
+@@ -2001,7 +2001,7 @@ static void snd_m3_ac97_reset(struct snd_m3 *chip)
+ outw(0, io + GPIO_DATA);
+ outw(dir | GPO_PRIMARY_AC97, io + GPIO_DIRECTION);
+
+- schedule_timeout_uninterruptible(msecs_to_jiffies(delay1));
++ schedule_msec_hrtimeout_uninterruptible((delay1));
+
+ outw(GPO_PRIMARY_AC97, io + GPIO_DATA);
+ udelay(5);
+@@ -2009,7 +2009,7 @@ static void snd_m3_ac97_reset(struct snd_m3 *chip)
+ outw(IO_SRAM_ENABLE | SERIAL_AC_LINK_ENABLE, io + RING_BUS_CTRL_A);
+ outw(~0, io + GPIO_MASK);
+
+- schedule_timeout_uninterruptible(msecs_to_jiffies(delay2));
++ schedule_msec_hrtimeout_uninterruptible((delay2));
+
+ if (! snd_m3_try_read_vendor(chip))
+ break;
+diff --git a/sound/soc/codecs/rt5631.c b/sound/soc/codecs/rt5631.c
+index f70b9f7e68bb..77b65398ca07 100644
+--- a/sound/soc/codecs/rt5631.c
++++ b/sound/soc/codecs/rt5631.c
+@@ -415,7 +415,7 @@ static void onebit_depop_mute_stage(struct snd_soc_component *component, int ena
+ hp_zc = snd_soc_component_read32(component, RT5631_INT_ST_IRQ_CTRL_2);
+ snd_soc_component_write(component, RT5631_INT_ST_IRQ_CTRL_2, hp_zc & 0xf7ff);
+ if (enable) {
+- schedule_timeout_uninterruptible(msecs_to_jiffies(10));
++ schedule_msec_hrtimeout_uninterruptible((10));
+ /* config one-bit depop parameter */
+ rt5631_write_index(component, RT5631_SPK_INTL_CTRL, 0x307f);
+ snd_soc_component_update_bits(component, RT5631_HP_OUT_VOL,
+@@ -525,7 +525,7 @@ static void depop_seq_mute_stage(struct snd_soc_component *component, int enable
+ hp_zc = snd_soc_component_read32(component, RT5631_INT_ST_IRQ_CTRL_2);
+ snd_soc_component_write(component, RT5631_INT_ST_IRQ_CTRL_2, hp_zc & 0xf7ff);
+ if (enable) {
+- schedule_timeout_uninterruptible(msecs_to_jiffies(10));
++ schedule_msec_hrtimeout_uninterruptible((10));
+
+ /* config depop sequence parameter */
+ rt5631_write_index(component, RT5631_SPK_INTL_CTRL, 0x302f);
+diff --git a/sound/soc/soc-dapm.c b/sound/soc/soc-dapm.c
+index b6378f025836..5f5e58655d32 100644
+--- a/sound/soc/soc-dapm.c
++++ b/sound/soc/soc-dapm.c
+@@ -154,7 +154,7 @@ static void dapm_assert_locked(struct snd_soc_dapm_context *dapm)
+ static void pop_wait(u32 pop_time)
+ {
+ if (pop_time)
+- schedule_timeout_uninterruptible(msecs_to_jiffies(pop_time));
++ schedule_msec_hrtimeout_uninterruptible((pop_time));
+ }
+
+ __printf(3, 4)
+--
+2.20.1
+