summaryrefslogtreecommitdiff
path: root/sys-kernel/linux-image-redcore-lts-legacy/files/4.19-0010-Replace-all-calls-to-schedule_timeout_uninterruptibl.patch
diff options
context:
space:
mode:
Diffstat (limited to 'sys-kernel/linux-image-redcore-lts-legacy/files/4.19-0010-Replace-all-calls-to-schedule_timeout_uninterruptibl.patch')
-rw-r--r--sys-kernel/linux-image-redcore-lts-legacy/files/4.19-0010-Replace-all-calls-to-schedule_timeout_uninterruptibl.patch160
1 files changed, 160 insertions, 0 deletions
diff --git a/sys-kernel/linux-image-redcore-lts-legacy/files/4.19-0010-Replace-all-calls-to-schedule_timeout_uninterruptibl.patch b/sys-kernel/linux-image-redcore-lts-legacy/files/4.19-0010-Replace-all-calls-to-schedule_timeout_uninterruptibl.patch
new file mode 100644
index 00000000..3eb7c889
--- /dev/null
+++ b/sys-kernel/linux-image-redcore-lts-legacy/files/4.19-0010-Replace-all-calls-to-schedule_timeout_uninterruptibl.patch
@@ -0,0 +1,160 @@
+From ba3f464ce9dd28a8999f56b327b458f869258a1a Mon Sep 17 00:00:00 2001
+From: Con Kolivas <kernel@kolivas.org>
+Date: Mon, 20 Feb 2017 13:30:32 +1100
+Subject: [PATCH 10/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 012859e6dc7b..206bd08265a5 100644
+--- a/drivers/media/pci/cx18/cx18-gpio.c
++++ b/drivers/media/pci/cx18/cx18-gpio.c
+@@ -90,11 +90,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 910db46db6a1..497b01ab32d4 100644
+--- a/drivers/net/wireless/intel/ipw2x00/ipw2100.c
++++ b/drivers/net/wireless/intel/ipw2x00/ipw2100.c
+@@ -830,7 +830,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;
+
+@@ -1281,7 +1281,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 483c7993516b..fddbaa475066 100644
+--- a/drivers/rtc/rtc-wm8350.c
++++ b/drivers/rtc/rtc-wm8350.c
+@@ -119,7 +119,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) {
+@@ -202,7 +202,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))
+@@ -225,7 +225,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 5c7858e735c9..b56a01420918 100644
+--- a/drivers/scsi/lpfc/lpfc_scsi.c
++++ b/drivers/scsi/lpfc/lpfc_scsi.c
+@@ -5201,7 +5201,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 62962178a9d7..87e486740da0 100644
+--- a/sound/pci/maestro3.c
++++ b/sound/pci/maestro3.c
+@@ -2016,7 +2016,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);
+@@ -2024,7 +2024,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 865f49ac38dd..3c1190dd114f 100644
+--- a/sound/soc/codecs/rt5631.c
++++ b/sound/soc/codecs/rt5631.c
+@@ -419,7 +419,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,
+@@ -529,7 +529,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 461d951917c0..b5eb57ba4af4 100644
+--- a/sound/soc/soc-dapm.c
++++ b/sound/soc/soc-dapm.c
+@@ -131,7 +131,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));
+ }
+
+ static void pop_dbg(struct device *dev, u32 pop_time, const char *fmt, ...)
+--
+2.17.1
+