diff options
Diffstat (limited to 'recipes-kernel/iwlwifi/backport-iwlwifi')
3 files changed, 135 insertions, 0 deletions
diff --git a/recipes-kernel/iwlwifi/backport-iwlwifi/0001-Makefile.real-skip-host-install-scripts.patch b/recipes-kernel/iwlwifi/backport-iwlwifi/0001-Makefile.real-skip-host-install-scripts.patch new file mode 100644 index 00000000..1d4137ba --- /dev/null +++ b/recipes-kernel/iwlwifi/backport-iwlwifi/0001-Makefile.real-skip-host-install-scripts.patch | |||
@@ -0,0 +1,36 @@ | |||
1 | From f69ff2fd27903ee052309179271f708d720a2f94 Mon Sep 17 00:00:00 2001 | ||
2 | From: Mikko Ylinen <mikko.ylinen@linux.intel.com> | ||
3 | Date: Thu, 10 Aug 2017 21:12:51 +0300 | ||
4 | Subject: [PATCH] Makefile.real: skip host install scripts | ||
5 | |||
6 | The scripts run in install target are relevant (and working) | ||
7 | only if the driver installation is run on the build host. | ||
8 | |||
9 | Skip the scripts when cross-compiling. | ||
10 | |||
11 | Upstream-Status: Inappropriate [Cross-Compile] | ||
12 | |||
13 | Signed-off-by: Mikko Ylinen <mikko.ylinen@linux.intel.com> | ||
14 | --- | ||
15 | Makefile.real | 5 ----- | ||
16 | 1 file changed, 5 deletions(-) | ||
17 | |||
18 | diff --git a/Makefile.real b/Makefile.real | ||
19 | index ba09f99..f5075de 100644 | ||
20 | --- a/Makefile.real | ||
21 | +++ b/Makefile.real | ||
22 | @@ -104,11 +104,6 @@ install: modules | ||
23 | @$(MAKE) -C $(KLIB_BUILD) M=$(BACKPORT_DIR) \ | ||
24 | INSTALL_MOD_DIR=$(KMODDIR) $(KMODPATH_ARG) \ | ||
25 | modules_install | ||
26 | - @./scripts/blacklist.sh $(KLIB)/ $(KLIB)/$(KMODDIR) | ||
27 | - @./scripts/compress_modules.sh $(KLIB)/$(KMODDIR) | ||
28 | - @./scripts/check_depmod.sh | ||
29 | - @/sbin/depmod -a | ||
30 | - @./scripts/update-initramfs.sh $(KLIB) | ||
31 | @echo | ||
32 | @echo Your backported driver modules should be installed now. | ||
33 | @echo Reboot. | ||
34 | -- | ||
35 | 2.1.4 | ||
36 | |||
diff --git a/recipes-kernel/iwlwifi/backport-iwlwifi/0001-hrtimer-fix-version-numbers-because-production-kerne.patch b/recipes-kernel/iwlwifi/backport-iwlwifi/0001-hrtimer-fix-version-numbers-because-production-kerne.patch new file mode 100644 index 00000000..4fdc36f7 --- /dev/null +++ b/recipes-kernel/iwlwifi/backport-iwlwifi/0001-hrtimer-fix-version-numbers-because-production-kerne.patch | |||
@@ -0,0 +1,87 @@ | |||
1 | From ecb29b78ce946c802058be0c46a0d20432f412e5 Mon Sep 17 00:00:00 2001 | ||
2 | From: Saul Wold <sgw@linux.intel.com> | ||
3 | Date: Thu, 28 Sep 2017 10:51:15 -0700 | ||
4 | Subject: [PATCH] hrtimer: fix version numbers because production kernel has | ||
5 | update | ||
6 | |||
7 | Decrease the version check because the OTC production kernel which is | ||
8 | 4.9 includes the HRTimer code that this is using. | ||
9 | |||
10 | Upstream-Status: [Backport] It's been backported into the older kernel | ||
11 | Signed-off-by: Saul Wold <sgw@linux.intel.com> | ||
12 | --- | ||
13 | backport-include/linux/hrtimer.h | 2 +- | ||
14 | drivers/net/wireless/intel/iwlwifi/mvm/tx.c | 2 +- | ||
15 | drivers/net/wireless/intel/iwlwifi/pcie/tx.c | 2 +- | ||
16 | drivers/net/wireless/intel/iwlwifi/trans_slave/shared.c | 2 +- | ||
17 | net/mac80211/tx.c | 2 +- | ||
18 | 5 files changed, 5 insertions(+), 5 deletions(-) | ||
19 | |||
20 | diff --git a/backport-include/linux/hrtimer.h b/backport-include/linux/hrtimer.h | ||
21 | index bdcf106e1..ae128852d 100644 | ||
22 | --- a/backport-include/linux/hrtimer.h | ||
23 | +++ b/backport-include/linux/hrtimer.h | ||
24 | @@ -4,7 +4,7 @@ | ||
25 | #include_next <linux/hrtimer.h> | ||
26 | #include <linux/interrupt.h> | ||
27 | |||
28 | -#if LINUX_VERSION_IS_LESS(4,10,0) | ||
29 | +#if LINUX_VERSION_IS_LESS(4,9,0) | ||
30 | static inline void backport_hrtimer_start(struct hrtimer *timer, s64 time, | ||
31 | const enum hrtimer_mode mode) | ||
32 | { | ||
33 | diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/tx.c b/drivers/net/wireless/intel/iwlwifi/mvm/tx.c | ||
34 | index cf1f95a01..e6f1ff294 100644 | ||
35 | --- a/drivers/net/wireless/intel/iwlwifi/mvm/tx.c | ||
36 | +++ b/drivers/net/wireless/intel/iwlwifi/mvm/tx.c | ||
37 | @@ -1310,7 +1310,7 @@ static void iwl_mvm_tx_lat_add_ts_ack(struct sk_buff *skb) | ||
38 | s64 ts_1 = ktime_to_ns(skb->tstamp) >> 32; | ||
39 | s64 diff = temp - ts_1; | ||
40 | |||
41 | -#if LINUX_VERSION_IS_LESS(4,10,0) | ||
42 | +#if LINUX_VERSION_IS_LESS(4,9,0) | ||
43 | skb->tstamp.tv64 += diff; | ||
44 | #else | ||
45 | skb->tstamp += diff; | ||
46 | diff --git a/drivers/net/wireless/intel/iwlwifi/pcie/tx.c b/drivers/net/wireless/intel/iwlwifi/pcie/tx.c | ||
47 | index df81bce25..ad664bacd 100644 | ||
48 | --- a/drivers/net/wireless/intel/iwlwifi/pcie/tx.c | ||
49 | +++ b/drivers/net/wireless/intel/iwlwifi/pcie/tx.c | ||
50 | @@ -1955,7 +1955,7 @@ static void iwl_trans_pci_tx_lat_add_ts_write(struct sk_buff *skb) | ||
51 | s64 ts_1 = ktime_to_ns(skb->tstamp) >> 32; | ||
52 | s64 diff = temp - ts_1; | ||
53 | |||
54 | -#if LINUX_VERSION_IS_LESS(4,10,0) | ||
55 | +#if LINUX_VERSION_IS_LESS(4,9,0) | ||
56 | skb->tstamp.tv64 += diff << 16; | ||
57 | #else | ||
58 | skb->tstamp += diff << 16; | ||
59 | diff --git a/drivers/net/wireless/intel/iwlwifi/trans_slave/shared.c b/drivers/net/wireless/intel/iwlwifi/trans_slave/shared.c | ||
60 | index e4d45bcf7..cdd0ba9a2 100644 | ||
61 | --- a/drivers/net/wireless/intel/iwlwifi/trans_slave/shared.c | ||
62 | +++ b/drivers/net/wireless/intel/iwlwifi/trans_slave/shared.c | ||
63 | @@ -796,7 +796,7 @@ void iwl_slv_tx_lat_add_ts_write(struct iwl_trans_slv *trans_slv, | ||
64 | |||
65 | ts_1 = ktime_to_ns(data_entry->skb->tstamp) >> 32; | ||
66 | diff = temp - ts_1; | ||
67 | -#if LINUX_VERSION_IS_LESS(4,10,0) | ||
68 | +#if LINUX_VERSION_IS_LESS(4,9,0) | ||
69 | data_entry->skb->tstamp.tv64 += diff << 16; | ||
70 | #else | ||
71 | data_entry->skb->tstamp += diff << 16; | ||
72 | diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c | ||
73 | index 94a348688..0f226c413 100644 | ||
74 | --- a/net/mac80211/tx.c | ||
75 | +++ b/net/mac80211/tx.c | ||
76 | @@ -2278,7 +2278,7 @@ static void ieee80211_tx_latency_start_msrmnt(struct ieee80211_local *local, | ||
77 | if (!tx_latency && !tx_consec && !tx_thrshld) | ||
78 | return; | ||
79 | temp = ktime_to_ms(ktime_get()); | ||
80 | -#if LINUX_VERSION_IS_LESS(4,10,0) | ||
81 | +#if LINUX_VERSION_IS_LESS(4,9,0) | ||
82 | skb->tstamp.tv64 += temp << 32; | ||
83 | #else | ||
84 | skb->tstamp += temp << 32; | ||
85 | -- | ||
86 | 2.13.5 | ||
87 | |||
diff --git a/recipes-kernel/iwlwifi/backport-iwlwifi/iwlwifi.conf b/recipes-kernel/iwlwifi/backport-iwlwifi/iwlwifi.conf new file mode 100644 index 00000000..a0e5f6ff --- /dev/null +++ b/recipes-kernel/iwlwifi/backport-iwlwifi/iwlwifi.conf | |||
@@ -0,0 +1,12 @@ | |||
1 | # /etc/modprobe.d/iwlwifi.conf | ||
2 | # iwlwifi will dynamically load either iwldvm or iwlmvm depending on the | ||
3 | # microcode file installed on the system. When removing iwlwifi, first | ||
4 | # remove the iwl?vm module and then iwlwifi. | ||
5 | remove iwlwifi (/sbin/lsmod | grep -o -e ^iwlmvm -e ^iwldvm16 -e ^iwldvm -e ^iwlwifi | xargs /sbin/rmmod) && /sbin/modprobe -r mac80211 | ||
6 | |||
7 | #options iwlwifi lar_disable=1 | ||
8 | #options iwlwifi nvm_file="nvm-sfp-b2-open.bin" | ||
9 | options iwlmvm power_scheme=1 | ||
10 | |||
11 | # PCI BUS | ||
12 | |||