mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-31 14:37:59 +00:00
Merge pull request #2242 from MilhouseVH/linux4141+
linux: update to linux-4.14.4
This commit is contained in:
commit
b346be6d6d
@ -5,7 +5,7 @@ rt2561s.bin
|
||||
rt2661.bin
|
||||
rt2860.bin
|
||||
ar3k/*.dfu
|
||||
intel/dsp_fw_{bxtn,glk,kbl,release}.bin
|
||||
intel/dsp_fw_{bxtn,cnl,glk,kbl,release}.bin
|
||||
intel/fw_sst_*.bin*
|
||||
intel/ibt-*.{ddc,sfi,bseq}
|
||||
intel/IntcSST2.bin
|
||||
|
@ -17,8 +17,8 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="kernel-firmware"
|
||||
PKG_VERSION="7d2c913"
|
||||
PKG_SHA256="fd127d2e36d8a0d2c1e9f70b37d7e31350260fb0755485d9a8c50638596f1791"
|
||||
PKG_VERSION="5d98692"
|
||||
PKG_SHA256="eb1635c6494507826d630ba94731e581cb0f63fbfe6af4d5de7dbf42d047a605"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="other"
|
||||
PKG_SITE="https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/"
|
||||
@ -60,5 +60,5 @@ makeinstall_target() {
|
||||
done
|
||||
|
||||
# The following file is installed by brcmfmac_sdio-firmware-rpi
|
||||
rm -fr $FW_TARGET_DIR/brcm/brcmfmac43430-sdio.bin
|
||||
rm -fr $FW_TARGET_DIR/brcm/brcmfmac43430*-sdio.bin
|
||||
}
|
||||
|
@ -45,8 +45,8 @@ case "$LINUX" in
|
||||
PKG_PATCH_DIRS="amlogic-3.14"
|
||||
;;
|
||||
*)
|
||||
PKG_VERSION="4.14"
|
||||
PKG_SHA256="f81d59477e90a130857ce18dc02f4fbe5725854911db1e7ba770c7cd350f96a7"
|
||||
PKG_VERSION="4.14.4"
|
||||
PKG_SHA256="2a91bff790da9a27e392469f7cc65ae7380e4204fc118be28ec799eb87e6a79e"
|
||||
PKG_URL="https://www.kernel.org/pub/linux/kernel/v4.x/$PKG_NAME-$PKG_VERSION.tar.xz"
|
||||
PKG_PATCH_DIRS="default"
|
||||
;;
|
||||
|
@ -0,0 +1,203 @@
|
||||
From patchwork Sun Nov 19 21:57:27 2017
|
||||
Content-Type: text/plain; charset="utf-8"
|
||||
MIME-Version: 1.0
|
||||
Content-Transfer-Encoding: 7bit
|
||||
Subject: media: rc: double keypresses due to timeout expiring to early
|
||||
From: Sean Young <sean@mess.org>
|
||||
X-Patchwork-Id: 45516
|
||||
Message-Id: <20171119215727.slnzxumlun5lh6ae@gofer.mess.org>
|
||||
X-Patchwork-Delegate: sean@mess.org
|
||||
To: Matthias Reichl <hias@horus.com>,
|
||||
Mauro Carvalho Chehab <mchehab@kernel.org>,
|
||||
linux-media@vger.kernel.org, linux-kernel@vger.kernel.org
|
||||
Date: Sun, 19 Nov 2017 21:57:27 +0000
|
||||
|
||||
On Fri, Nov 17, 2017 at 03:52:50PM +0100, Matthias Reichl wrote:
|
||||
> Hi Sean!
|
||||
>
|
||||
> On Thu, Nov 16, 2017 at 09:54:51PM +0000, Sean Young wrote:
|
||||
> > Since commit d57ea877af38 ("media: rc: per-protocol repeat period"),
|
||||
> > double keypresses are reported on the ite-cir driver. This is due
|
||||
> > two factors: that commit reduced the timeout used for some protocols
|
||||
> > (it became protocol dependant) and the high default IR timeout used
|
||||
> > by the ite-cir driver.
|
||||
> >
|
||||
> > Some of the IR decoders wait for a trailing space, as that is
|
||||
> > the only way to know if the bit stream has ended (e.g. rc-6 can be
|
||||
> > 16, 20 or 32 bits). The longer the IR timeout, the longer it will take
|
||||
> > to receive the trailing space, delaying decoding and pushing it past the
|
||||
> > keyup timeout.
|
||||
> >
|
||||
> > So, add the IR timeout to the keyup timeout.
|
||||
>
|
||||
> Thanks a lot for the patch, I've asked the people with ite-cir
|
||||
> receivers to test it.
|
||||
>
|
||||
> In the meanwhile I ran some tests with gpio-ir-recv and timeout
|
||||
> set to 200ms with a rc-5 remote (that's as close to the original
|
||||
> setup as I can test right now).
|
||||
>
|
||||
> While the patch fixes the additional key down/up event on longer
|
||||
> presses, I still get a repeated key event on a short button
|
||||
> press - which makes it hard to do a single click with the
|
||||
> remote.
|
||||
|
||||
Yes, I've started to notice that too.
|
||||
|
||||
> Test on kernel 4.14 with your patch:
|
||||
> 1510927844.292126: event type EV_MSC(0x04): scancode = 0x1015
|
||||
> 1510927844.292126: event type EV_KEY(0x01) key_down: KEY_ENTER(0x001c)
|
||||
> 1510927844.292126: event type EV_SYN(0x00).
|
||||
> 1510927844.498773: event type EV_MSC(0x04): scancode = 0x1015
|
||||
> 1510927844.498773: event type EV_SYN(0x00).
|
||||
> 1510927844.795410: event type EV_KEY(0x01) key_down: KEY_ENTER(0x001c)
|
||||
> 1510927844.795410: event type EV_SYN(0x00).
|
||||
> 1510927844.875412: event type EV_KEY(0x01) key_up: KEY_ENTER(0x001c)
|
||||
> 1510927844.875412: event type EV_SYN(0x00).
|
||||
|
||||
There is 875 - 498 = 378ms, which is 200ms IR timeout + 164ms protocol
|
||||
repeat. This is so long that the repeat delay expired, and that's
|
||||
where the second keydown comes from.
|
||||
|
||||
> Same signal received on kernel 4.9:
|
||||
> 1510927844.280350: event type EV_MSC(0x04): scancode = 0x1015
|
||||
> 1510927844.280350: event type EV_KEY(0x01) key_down: KEY_OK(0x0160)
|
||||
> 1510927844.280350: event type EV_SYN(0x00).
|
||||
> 1510927844.506477: event type EV_MSC(0x04): scancode = 0x1015
|
||||
> 1510927844.506477: event type EV_SYN(0x00).
|
||||
> 1510927844.763111: event type EV_KEY(0x01) key_up: KEY_OK(0x0160)
|
||||
> 1510927844.763111: event type EV_SYN(0x00).
|
||||
|
||||
There it is simply 763 - 506 = 250ms.
|
||||
|
||||
> If I understand it correctly it's the input layer repeat (500ms delay)
|
||||
> kicking in, because time between initial scancode and timeout is
|
||||
> now signal time + 200ms + 164ms + 200ms (about 570-580ms).
|
||||
> On older kernels this was signal time + 200ms + 250ms, so typically
|
||||
> just below the 500ms default repeat delay.
|
||||
>
|
||||
> I'm still trying to wrap my head around the timeout code in the
|
||||
> rc layer. One problem seems to be that we apply the rather large
|
||||
> timeout twice. Maybe detecting scancodes generated via timeout
|
||||
> (sth like timestamp - last_timestamp > protocol_repeat_period)
|
||||
> and in that case immediately signalling keyup could help? Could well
|
||||
> be that I'm missing somehting important and this is a bad idea.
|
||||
> I guess I'd better let you figure something out :)
|
||||
|
||||
So there is a few complications. For rc-6, if you hold a button down,
|
||||
there IR repeated every 110ms, which means there is a 69ms space between
|
||||
the IR keypresses. The trailing space is needed for IR decode.
|
||||
|
||||
So with IR timeout of 200ms this will happen:
|
||||
|
||||
0.000 rc-6 IR message 1 begins
|
||||
0.041 rc-6 IR message 1 ends
|
||||
space
|
||||
0.110 rc-6 IR message 2 begins; this means that message 1 is decoded now
|
||||
0.151 rc-6 IR message 2 ends;
|
||||
space
|
||||
0.220 rc-6 IR message 3 begins; this means that message 2 is decoded now
|
||||
0.261 rc-6 IR message 3 ends
|
||||
space
|
||||
0.461 IR timeout occurs; this means that message 3 is decoded now
|
||||
|
||||
So really the timeout should be length of IR message + IR timeout + error
|
||||
margin (e.g. rc thread scheduling), unless that is less than the repeat
|
||||
time.
|
||||
|
||||
But this only applies for raw IR decoding; different rules apply for
|
||||
hardware decoders.
|
||||
|
||||
I think for now the best solution is to revert to 250ms for all protocols
|
||||
(except for cec which needs 550ms), and reconsider for another kernel.
|
||||
|
||||
Thanks,
|
||||
Sean
|
||||
----
|
||||
>From 2f1135f3f9873778ca5c013d1118710152840cb2 Mon Sep 17 00:00:00 2001
|
||||
From: Sean Young <sean@mess.org>
|
||||
Date: Sun, 19 Nov 2017 21:11:17 +0000
|
||||
Subject: [PATCH] media: rc: partial revert of "media: rc: per-protocol repeat
|
||||
period"
|
||||
|
||||
Since commit d57ea877af38 ("media: rc: per-protocol repeat period"), most
|
||||
IR protocols have a lower keyup timeout. This causes problems on the
|
||||
ite-cir, which has default IR timeout of 200ms.
|
||||
|
||||
Since the IR decoders read the trailing space, with a IR timeout of 200ms,
|
||||
the last keydown will have at least a delay of 200ms. This is more than
|
||||
the protocol timeout of e.g. rc-6 (which is 164ms). As a result the last
|
||||
IR will be interpreted as a new keydown event, and we get two keypresses.
|
||||
|
||||
Revert the protocol timeout to 250ms, except for cec which needs a timeout
|
||||
of 550ms.
|
||||
|
||||
Fixes: d57ea877af38 ("media: rc: per-protocol repeat period")
|
||||
Cc: <stable@vger.kernel.org> # 4.14
|
||||
Signed-off-by: Sean Young <sean@mess.org>
|
||||
---
|
||||
drivers/media/rc/rc-main.c | 32 ++++++++++++++++----------------
|
||||
1 file changed, 16 insertions(+), 16 deletions(-)
|
||||
|
||||
diff --git a/drivers/media/rc/rc-main.c b/drivers/media/rc/rc-main.c
|
||||
index 17950e29d4e3..5057b2ba0c10 100644
|
||||
--- a/drivers/media/rc/rc-main.c
|
||||
+++ b/drivers/media/rc/rc-main.c
|
||||
@@ -39,41 +39,41 @@ static const struct {
|
||||
[RC_PROTO_UNKNOWN] = { .name = "unknown", .repeat_period = 250 },
|
||||
[RC_PROTO_OTHER] = { .name = "other", .repeat_period = 250 },
|
||||
[RC_PROTO_RC5] = { .name = "rc-5",
|
||||
- .scancode_bits = 0x1f7f, .repeat_period = 164 },
|
||||
+ .scancode_bits = 0x1f7f, .repeat_period = 250 },
|
||||
[RC_PROTO_RC5X_20] = { .name = "rc-5x-20",
|
||||
- .scancode_bits = 0x1f7f3f, .repeat_period = 164 },
|
||||
+ .scancode_bits = 0x1f7f3f, .repeat_period = 250 },
|
||||
[RC_PROTO_RC5_SZ] = { .name = "rc-5-sz",
|
||||
- .scancode_bits = 0x2fff, .repeat_period = 164 },
|
||||
+ .scancode_bits = 0x2fff, .repeat_period = 250 },
|
||||
[RC_PROTO_JVC] = { .name = "jvc",
|
||||
.scancode_bits = 0xffff, .repeat_period = 250 },
|
||||
[RC_PROTO_SONY12] = { .name = "sony-12",
|
||||
- .scancode_bits = 0x1f007f, .repeat_period = 100 },
|
||||
+ .scancode_bits = 0x1f007f, .repeat_period = 250 },
|
||||
[RC_PROTO_SONY15] = { .name = "sony-15",
|
||||
- .scancode_bits = 0xff007f, .repeat_period = 100 },
|
||||
+ .scancode_bits = 0xff007f, .repeat_period = 250 },
|
||||
[RC_PROTO_SONY20] = { .name = "sony-20",
|
||||
- .scancode_bits = 0x1fff7f, .repeat_period = 100 },
|
||||
+ .scancode_bits = 0x1fff7f, .repeat_period = 250 },
|
||||
[RC_PROTO_NEC] = { .name = "nec",
|
||||
- .scancode_bits = 0xffff, .repeat_period = 160 },
|
||||
+ .scancode_bits = 0xffff, .repeat_period = 250 },
|
||||
[RC_PROTO_NECX] = { .name = "nec-x",
|
||||
- .scancode_bits = 0xffffff, .repeat_period = 160 },
|
||||
+ .scancode_bits = 0xffffff, .repeat_period = 250 },
|
||||
[RC_PROTO_NEC32] = { .name = "nec-32",
|
||||
- .scancode_bits = 0xffffffff, .repeat_period = 160 },
|
||||
+ .scancode_bits = 0xffffffff, .repeat_period = 250 },
|
||||
[RC_PROTO_SANYO] = { .name = "sanyo",
|
||||
.scancode_bits = 0x1fffff, .repeat_period = 250 },
|
||||
[RC_PROTO_MCIR2_KBD] = { .name = "mcir2-kbd",
|
||||
- .scancode_bits = 0xffff, .repeat_period = 150 },
|
||||
+ .scancode_bits = 0xffff, .repeat_period = 250 },
|
||||
[RC_PROTO_MCIR2_MSE] = { .name = "mcir2-mse",
|
||||
- .scancode_bits = 0x1fffff, .repeat_period = 150 },
|
||||
+ .scancode_bits = 0x1fffff, .repeat_period = 250 },
|
||||
[RC_PROTO_RC6_0] = { .name = "rc-6-0",
|
||||
- .scancode_bits = 0xffff, .repeat_period = 164 },
|
||||
+ .scancode_bits = 0xffff, .repeat_period = 250 },
|
||||
[RC_PROTO_RC6_6A_20] = { .name = "rc-6-6a-20",
|
||||
- .scancode_bits = 0xfffff, .repeat_period = 164 },
|
||||
+ .scancode_bits = 0xfffff, .repeat_period = 250 },
|
||||
[RC_PROTO_RC6_6A_24] = { .name = "rc-6-6a-24",
|
||||
- .scancode_bits = 0xffffff, .repeat_period = 164 },
|
||||
+ .scancode_bits = 0xffffff, .repeat_period = 250 },
|
||||
[RC_PROTO_RC6_6A_32] = { .name = "rc-6-6a-32",
|
||||
- .scancode_bits = 0xffffffff, .repeat_period = 164 },
|
||||
+ .scancode_bits = 0xffffffff, .repeat_period = 250 },
|
||||
[RC_PROTO_RC6_MCE] = { .name = "rc-6-mce",
|
||||
- .scancode_bits = 0xffff7fff, .repeat_period = 164 },
|
||||
+ .scancode_bits = 0xffff7fff, .repeat_period = 250 },
|
||||
[RC_PROTO_SHARP] = { .name = "sharp",
|
||||
.scancode_bits = 0x1fff, .repeat_period = 250 },
|
||||
[RC_PROTO_XMP] = { .name = "xmp", .repeat_period = 250 },
|
@ -0,0 +1,70 @@
|
||||
From f30eeb3a0eee3f2527e09488b41ca305c8c1ac8c Mon Sep 17 00:00:00 2001
|
||||
From: MilhouseVH <milhouseVH.github@nmacleod.com>
|
||||
Date: Fri, 1 Dec 2017 20:13:51 +0000
|
||||
Subject: [PATCH] Revert "ARM: dts: bcm283x: Fix console path on RPi3"
|
||||
|
||||
This reverts commit f08f58a2bf68900a84e782b8c7ad701c0654173c.
|
||||
---
|
||||
arch/arm/boot/dts/bcm2835-rpi-zero-w.dts | 9 ++++++---
|
||||
arch/arm/boot/dts/bcm2837-rpi-3-b.dts | 5 -----
|
||||
arch/arm/boot/dts/bcm283x.dtsi | 7 +------
|
||||
3 files changed, 7 insertions(+), 14 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/bcm2835-rpi-zero-w.dts b/arch/arm/boot/dts/bcm2835-rpi-zero-w.dts
|
||||
index b8565fc..82651c3 100644
|
||||
--- a/arch/arm/boot/dts/bcm2835-rpi-zero-w.dts
|
||||
+++ b/arch/arm/boot/dts/bcm2835-rpi-zero-w.dts
|
||||
@@ -18,9 +18,12 @@
|
||||
compatible = "raspberrypi,model-zero-w", "brcm,bcm2835";
|
||||
model = "Raspberry Pi Zero W";
|
||||
|
||||
- chosen {
|
||||
- /* 8250 auxiliary UART instead of pl011 */
|
||||
- stdout-path = "serial1:115200n8";
|
||||
+ /* Needed by firmware to properly init UARTs */
|
||||
+ aliases {
|
||||
+ uart0 = "/soc/serial@7e201000";
|
||||
+ uart1 = "/soc/serial@7e215040";
|
||||
+ serial0 = "/soc/serial@7e201000";
|
||||
+ serial1 = "/soc/serial@7e215040";
|
||||
};
|
||||
|
||||
leds {
|
||||
diff --git a/arch/arm/boot/dts/bcm2837-rpi-3-b.dts b/arch/arm/boot/dts/bcm2837-rpi-3-b.dts
|
||||
index eb1a28d..b375f40 100644
|
||||
--- a/arch/arm/boot/dts/bcm2837-rpi-3-b.dts
|
||||
+++ b/arch/arm/boot/dts/bcm2837-rpi-3-b.dts
|
||||
@@ -9,11 +9,6 @@
|
||||
compatible = "raspberrypi,3-model-b", "brcm,bcm2837";
|
||||
model = "Raspberry Pi 3 Model B";
|
||||
|
||||
- chosen {
|
||||
- /* 8250 auxiliary UART instead of pl011 */
|
||||
- stdout-path = "serial1:115200n8";
|
||||
- };
|
||||
-
|
||||
memory {
|
||||
reg = <0 0x40000000>;
|
||||
};
|
||||
diff --git a/arch/arm/boot/dts/bcm283x.dtsi b/arch/arm/boot/dts/bcm283x.dtsi
|
||||
index 013431e..431dcfc 100644
|
||||
--- a/arch/arm/boot/dts/bcm283x.dtsi
|
||||
+++ b/arch/arm/boot/dts/bcm283x.dtsi
|
||||
@@ -20,13 +20,8 @@
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
- aliases {
|
||||
- serial0 = &uart0;
|
||||
- serial1 = &uart1;
|
||||
- };
|
||||
-
|
||||
chosen {
|
||||
- stdout-path = "serial0:115200n8";
|
||||
+ bootargs = "earlyprintk console=ttyAMA0";
|
||||
};
|
||||
|
||||
thermal-zones {
|
||||
--
|
||||
2.14.1
|
||||
|
@ -1,322 +0,0 @@
|
||||
From ca7e685439996448a6f9179354d23ab30f9b0879 Mon Sep 17 00:00:00 2001
|
||||
From: Luca Coelho <luciano.coelho@intel.com>
|
||||
Date: Fri, 10 Nov 2017 14:03:36 +0200
|
||||
Subject: [PATCH] iwlwifi: mvm: support version 7 of the SCAN_REQ_UMAC FW
|
||||
command
|
||||
|
||||
Newer firmware versions (such as iwlwifi-8000C-34.ucode) have
|
||||
introduced an API change in the SCAN_REQ_UMAC command that is not
|
||||
backwards compatible. The driver needs to detect and use the new API
|
||||
format when the firmware reports it, otherwise the scan command will
|
||||
not work properly, causing a command timeout.
|
||||
|
||||
Fix this by adding a TLV that tells the driver that the new API is in
|
||||
use and use the correct structures for it.
|
||||
|
||||
Fixes: d7a5b3e9e42e ("iwlwifi: mvm: bump API to 34 for 8000 and up")
|
||||
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
|
||||
---
|
||||
drivers/net/wireless/intel/iwlwifi/fw/api/scan.h | 59 ++++++++++++----
|
||||
drivers/net/wireless/intel/iwlwifi/fw/file.h | 1 +
|
||||
drivers/net/wireless/intel/iwlwifi/mvm/mvm.h | 6 ++
|
||||
drivers/net/wireless/intel/iwlwifi/mvm/scan.c | 86 ++++++++++++++++++------
|
||||
4 files changed, 118 insertions(+), 34 deletions(-)
|
||||
|
||||
diff --git a/drivers/net/wireless/intel/iwlwifi/fw/api/scan.h b/drivers/net/wireless/intel/iwlwifi/fw/api/scan.h
|
||||
index 5a40092febfb..3bfc657f6b42 100644
|
||||
--- a/drivers/net/wireless/intel/iwlwifi/fw/api/scan.h
|
||||
+++ b/drivers/net/wireless/intel/iwlwifi/fw/api/scan.h
|
||||
@@ -531,6 +531,8 @@ struct iwl_scan_config_v1 {
|
||||
} __packed; /* SCAN_CONFIG_DB_CMD_API_S */
|
||||
|
||||
#define SCAN_TWO_LMACS 2
|
||||
+#define SCAN_LB_LMAC_IDX 0
|
||||
+#define SCAN_HB_LMAC_IDX 1
|
||||
|
||||
struct iwl_scan_config {
|
||||
__le32 flags;
|
||||
@@ -578,6 +580,7 @@ enum iwl_umac_scan_general_flags {
|
||||
IWL_UMAC_SCAN_GEN_FLAGS_MATCH = BIT(9),
|
||||
IWL_UMAC_SCAN_GEN_FLAGS_EXTENDED_DWELL = BIT(10),
|
||||
IWL_UMAC_SCAN_GEN_FLAGS_LMAC2_FRAGMENTED = BIT(11),
|
||||
+ IWL_UMAC_SCAN_GEN_FLAGS_ADAPTIVE_DWELL = BIT(13),
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -631,12 +634,17 @@ struct iwl_scan_req_umac_tail {
|
||||
* @uid: scan id, &enum iwl_umac_scan_uid_offsets
|
||||
* @ooc_priority: out of channel priority - &enum iwl_scan_priority
|
||||
* @general_flags: &enum iwl_umac_scan_general_flags
|
||||
- * @reserved2: for future use and alignment
|
||||
* @scan_start_mac_id: report the scan start TSF time according to this mac TSF
|
||||
* @extended_dwell: dwell time for channels 1, 6 and 11
|
||||
* @active_dwell: dwell time for active scan
|
||||
* @passive_dwell: dwell time for passive scan
|
||||
* @fragmented_dwell: dwell time for fragmented passive scan
|
||||
+ * @adwell_default_n_aps: for adaptive dwell the default number of APs
|
||||
+ * per channel
|
||||
+ * @adwell_default_n_aps_social: for adaptive dwell the default
|
||||
+ * number of APs per social (1,6,11) channel
|
||||
+ * @adwell_max_budget: for adaptive dwell the maximal budget of TU to be added
|
||||
+ * to total scan time
|
||||
* @max_out_time: max out of serving channel time, per LMAC - for CDB there
|
||||
* are 2 LMACs
|
||||
* @suspend_time: max suspend time, per LMAC - for CDB there are 2 LMACs
|
||||
@@ -644,6 +652,8 @@ struct iwl_scan_req_umac_tail {
|
||||
* @channel_flags: &enum iwl_scan_channel_flags
|
||||
* @n_channels: num of channels in scan request
|
||||
* @reserved: for future use and alignment
|
||||
+ * @reserved2: for future use and alignment
|
||||
+ * @reserved3: for future use and alignment
|
||||
* @data: &struct iwl_scan_channel_cfg_umac and
|
||||
* &struct iwl_scan_req_umac_tail
|
||||
*/
|
||||
@@ -651,41 +661,64 @@ struct iwl_scan_req_umac {
|
||||
__le32 flags;
|
||||
__le32 uid;
|
||||
__le32 ooc_priority;
|
||||
- /* SCAN_GENERAL_PARAMS_API_S_VER_4 */
|
||||
__le16 general_flags;
|
||||
- u8 reserved2;
|
||||
+ u8 reserved;
|
||||
u8 scan_start_mac_id;
|
||||
- u8 extended_dwell;
|
||||
- u8 active_dwell;
|
||||
- u8 passive_dwell;
|
||||
- u8 fragmented_dwell;
|
||||
union {
|
||||
struct {
|
||||
+ u8 extended_dwell;
|
||||
+ u8 active_dwell;
|
||||
+ u8 passive_dwell;
|
||||
+ u8 fragmented_dwell;
|
||||
__le32 max_out_time;
|
||||
__le32 suspend_time;
|
||||
__le32 scan_priority;
|
||||
- /* SCAN_CHANNEL_PARAMS_API_S_VER_4 */
|
||||
+ /* SCAN_CHANNEL_PARAMS_API_S_VER_1 */
|
||||
u8 channel_flags;
|
||||
u8 n_channels;
|
||||
- __le16 reserved;
|
||||
+ __le16 reserved2;
|
||||
u8 data[];
|
||||
} v1; /* SCAN_REQUEST_CMD_UMAC_API_S_VER_1 */
|
||||
struct {
|
||||
+ u8 extended_dwell;
|
||||
+ u8 active_dwell;
|
||||
+ u8 passive_dwell;
|
||||
+ u8 fragmented_dwell;
|
||||
__le32 max_out_time[SCAN_TWO_LMACS];
|
||||
__le32 suspend_time[SCAN_TWO_LMACS];
|
||||
__le32 scan_priority;
|
||||
- /* SCAN_CHANNEL_PARAMS_API_S_VER_4 */
|
||||
+ /* SCAN_CHANNEL_PARAMS_API_S_VER_1 */
|
||||
u8 channel_flags;
|
||||
u8 n_channels;
|
||||
- __le16 reserved;
|
||||
+ __le16 reserved2;
|
||||
u8 data[];
|
||||
} v6; /* SCAN_REQUEST_CMD_UMAC_API_S_VER_6 */
|
||||
+ struct {
|
||||
+ u8 active_dwell;
|
||||
+ u8 passive_dwell;
|
||||
+ u8 fragmented_dwell;
|
||||
+ u8 adwell_default_n_aps;
|
||||
+ u8 adwell_default_n_aps_social;
|
||||
+ u8 reserved3;
|
||||
+ __le16 adwell_max_budget;
|
||||
+ __le32 max_out_time[SCAN_TWO_LMACS];
|
||||
+ __le32 suspend_time[SCAN_TWO_LMACS];
|
||||
+ __le32 scan_priority;
|
||||
+ /* SCAN_CHANNEL_PARAMS_API_S_VER_1 */
|
||||
+ u8 channel_flags;
|
||||
+ u8 n_channels;
|
||||
+ __le16 reserved2;
|
||||
+ u8 data[];
|
||||
+ } v7; /* SCAN_REQUEST_CMD_UMAC_API_S_VER_7 */
|
||||
};
|
||||
} __packed;
|
||||
|
||||
-#define IWL_SCAN_REQ_UMAC_SIZE sizeof(struct iwl_scan_req_umac)
|
||||
+#define IWL_SCAN_REQ_UMAC_SIZE_V7 sizeof(struct iwl_scan_req_umac)
|
||||
+#define IWL_SCAN_REQ_UMAC_SIZE_V6 (sizeof(struct iwl_scan_req_umac) - \
|
||||
+ 2 * sizeof(u8) - sizeof(__le16))
|
||||
#define IWL_SCAN_REQ_UMAC_SIZE_V1 (sizeof(struct iwl_scan_req_umac) - \
|
||||
- 2 * sizeof(__le32))
|
||||
+ 2 * sizeof(__le32) - 2 * sizeof(u8) - \
|
||||
+ sizeof(__le16))
|
||||
|
||||
/**
|
||||
* struct iwl_umac_scan_abort
|
||||
diff --git a/drivers/net/wireless/intel/iwlwifi/fw/file.h b/drivers/net/wireless/intel/iwlwifi/fw/file.h
|
||||
index 740d97093d1c..37a5c5b4eda6 100644
|
||||
--- a/drivers/net/wireless/intel/iwlwifi/fw/file.h
|
||||
+++ b/drivers/net/wireless/intel/iwlwifi/fw/file.h
|
||||
@@ -264,6 +264,7 @@ enum iwl_ucode_tlv_api {
|
||||
IWL_UCODE_TLV_API_STA_TYPE = (__force iwl_ucode_tlv_api_t)30,
|
||||
IWL_UCODE_TLV_API_NAN2_VER2 = (__force iwl_ucode_tlv_api_t)31,
|
||||
/* API Set 1 */
|
||||
+ IWL_UCODE_TLV_API_ADAPTIVE_DWELL = (__force iwl_ucode_tlv_api_t)32,
|
||||
IWL_UCODE_TLV_API_NEW_BEACON_TEMPLATE = (__force iwl_ucode_tlv_api_t)34,
|
||||
IWL_UCODE_TLV_API_NEW_RX_STATS = (__force iwl_ucode_tlv_api_t)35,
|
||||
IWL_UCODE_TLV_API_COEX_ATS_EXTERNAL = (__force iwl_ucode_tlv_api_t)37,
|
||||
diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/mvm.h b/drivers/net/wireless/intel/iwlwifi/mvm/mvm.h
|
||||
index 0e18c5066f04..4575595ab022 100644
|
||||
--- a/drivers/net/wireless/intel/iwlwifi/mvm/mvm.h
|
||||
+++ b/drivers/net/wireless/intel/iwlwifi/mvm/mvm.h
|
||||
@@ -1142,6 +1142,12 @@ static inline bool iwl_mvm_is_d0i3_supported(struct iwl_mvm *mvm)
|
||||
IWL_UCODE_TLV_CAPA_D0I3_SUPPORT);
|
||||
}
|
||||
|
||||
+static inline bool iwl_mvm_is_adaptive_dwell_supported(struct iwl_mvm *mvm)
|
||||
+{
|
||||
+ return fw_has_api(&mvm->fw->ucode_capa,
|
||||
+ IWL_UCODE_TLV_API_ADAPTIVE_DWELL);
|
||||
+}
|
||||
+
|
||||
static inline bool iwl_mvm_enter_d0i3_on_suspend(struct iwl_mvm *mvm)
|
||||
{
|
||||
/* For now we only use this mode to differentiate between
|
||||
diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/scan.c b/drivers/net/wireless/intel/iwlwifi/mvm/scan.c
|
||||
index 774122fed454..e4fd476e9ccb 100644
|
||||
--- a/drivers/net/wireless/intel/iwlwifi/mvm/scan.c
|
||||
+++ b/drivers/net/wireless/intel/iwlwifi/mvm/scan.c
|
||||
@@ -130,6 +130,19 @@ struct iwl_mvm_scan_params {
|
||||
u32 measurement_dwell;
|
||||
};
|
||||
|
||||
+static inline void *iwl_mvm_get_scan_req_umac_data(struct iwl_mvm *mvm)
|
||||
+{
|
||||
+ struct iwl_scan_req_umac *cmd = mvm->scan_cmd;
|
||||
+
|
||||
+ if (iwl_mvm_is_adaptive_dwell_supported(mvm))
|
||||
+ return (void *)&cmd->v7.data;
|
||||
+
|
||||
+ if (iwl_mvm_has_new_tx_api(mvm))
|
||||
+ return (void *)&cmd->v6.data;
|
||||
+
|
||||
+ return (void *)&cmd->v1.data;
|
||||
+}
|
||||
+
|
||||
static u8 iwl_mvm_scan_rx_ant(struct iwl_mvm *mvm)
|
||||
{
|
||||
if (mvm->scan_rx_ant != ANT_NONE)
|
||||
@@ -1075,25 +1088,57 @@ static void iwl_mvm_scan_umac_dwell(struct iwl_mvm *mvm,
|
||||
{
|
||||
struct iwl_mvm_scan_timing_params *timing = &scan_timing[params->type];
|
||||
|
||||
+ if (iwl_mvm_is_regular_scan(params))
|
||||
+ cmd->ooc_priority = cpu_to_le32(IWL_SCAN_PRIORITY_EXT_6);
|
||||
+ else
|
||||
+ cmd->ooc_priority = cpu_to_le32(IWL_SCAN_PRIORITY_EXT_2);
|
||||
+
|
||||
+ if (iwl_mvm_is_adaptive_dwell_supported(mvm)) {
|
||||
+ if (params->measurement_dwell) {
|
||||
+ cmd->v7.active_dwell = params->measurement_dwell;
|
||||
+ cmd->v7.passive_dwell = params->measurement_dwell;
|
||||
+ } else {
|
||||
+ cmd->v7.active_dwell = IWL_SCAN_DWELL_ACTIVE;
|
||||
+ cmd->v7.passive_dwell = IWL_SCAN_DWELL_PASSIVE;
|
||||
+ }
|
||||
+ cmd->v7.fragmented_dwell = IWL_SCAN_DWELL_FRAGMENTED;
|
||||
+
|
||||
+ cmd->v7.scan_priority = cpu_to_le32(IWL_SCAN_PRIORITY_EXT_6);
|
||||
+ cmd->v7.max_out_time[SCAN_LB_LMAC_IDX] =
|
||||
+ cpu_to_le32(timing->max_out_time);
|
||||
+ cmd->v7.suspend_time[SCAN_LB_LMAC_IDX] =
|
||||
+ cpu_to_le32(timing->suspend_time);
|
||||
+ if (iwl_mvm_is_cdb_supported(mvm)) {
|
||||
+ cmd->v7.max_out_time[SCAN_HB_LMAC_IDX] =
|
||||
+ cpu_to_le32(timing->max_out_time);
|
||||
+ cmd->v7.suspend_time[SCAN_HB_LMAC_IDX] =
|
||||
+ cpu_to_le32(timing->suspend_time);
|
||||
+ }
|
||||
+
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
if (params->measurement_dwell) {
|
||||
- cmd->active_dwell = params->measurement_dwell;
|
||||
- cmd->passive_dwell = params->measurement_dwell;
|
||||
- cmd->extended_dwell = params->measurement_dwell;
|
||||
+ cmd->v1.active_dwell = params->measurement_dwell;
|
||||
+ cmd->v1.passive_dwell = params->measurement_dwell;
|
||||
+ cmd->v1.extended_dwell = params->measurement_dwell;
|
||||
} else {
|
||||
- cmd->active_dwell = IWL_SCAN_DWELL_ACTIVE;
|
||||
- cmd->passive_dwell = IWL_SCAN_DWELL_PASSIVE;
|
||||
- cmd->extended_dwell = IWL_SCAN_DWELL_EXTENDED;
|
||||
+ cmd->v1.active_dwell = IWL_SCAN_DWELL_ACTIVE;
|
||||
+ cmd->v1.passive_dwell = IWL_SCAN_DWELL_PASSIVE;
|
||||
+ cmd->v1.extended_dwell = IWL_SCAN_DWELL_EXTENDED;
|
||||
}
|
||||
- cmd->fragmented_dwell = IWL_SCAN_DWELL_FRAGMENTED;
|
||||
+ cmd->v1.fragmented_dwell = IWL_SCAN_DWELL_FRAGMENTED;
|
||||
|
||||
if (iwl_mvm_has_new_tx_api(mvm)) {
|
||||
cmd->v6.scan_priority = cpu_to_le32(IWL_SCAN_PRIORITY_EXT_6);
|
||||
- cmd->v6.max_out_time[0] = cpu_to_le32(timing->max_out_time);
|
||||
- cmd->v6.suspend_time[0] = cpu_to_le32(timing->suspend_time);
|
||||
+ cmd->v6.max_out_time[SCAN_LB_LMAC_IDX] =
|
||||
+ cpu_to_le32(timing->max_out_time);
|
||||
+ cmd->v6.suspend_time[SCAN_LB_LMAC_IDX] =
|
||||
+ cpu_to_le32(timing->suspend_time);
|
||||
if (iwl_mvm_is_cdb_supported(mvm)) {
|
||||
- cmd->v6.max_out_time[1] =
|
||||
+ cmd->v6.max_out_time[SCAN_HB_LMAC_IDX] =
|
||||
cpu_to_le32(timing->max_out_time);
|
||||
- cmd->v6.suspend_time[1] =
|
||||
+ cmd->v6.suspend_time[SCAN_HB_LMAC_IDX] =
|
||||
cpu_to_le32(timing->suspend_time);
|
||||
}
|
||||
} else {
|
||||
@@ -1102,11 +1147,6 @@ static void iwl_mvm_scan_umac_dwell(struct iwl_mvm *mvm,
|
||||
cmd->v1.scan_priority =
|
||||
cpu_to_le32(IWL_SCAN_PRIORITY_EXT_6);
|
||||
}
|
||||
-
|
||||
- if (iwl_mvm_is_regular_scan(params))
|
||||
- cmd->ooc_priority = cpu_to_le32(IWL_SCAN_PRIORITY_EXT_6);
|
||||
- else
|
||||
- cmd->ooc_priority = cpu_to_le32(IWL_SCAN_PRIORITY_EXT_2);
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -1178,8 +1218,7 @@ static int iwl_mvm_scan_umac(struct iwl_mvm *mvm, struct ieee80211_vif *vif,
|
||||
int type)
|
||||
{
|
||||
struct iwl_scan_req_umac *cmd = mvm->scan_cmd;
|
||||
- void *cmd_data = iwl_mvm_has_new_tx_api(mvm) ?
|
||||
- (void *)&cmd->v6.data : (void *)&cmd->v1.data;
|
||||
+ void *cmd_data = iwl_mvm_get_scan_req_umac_data(mvm);
|
||||
struct iwl_scan_req_umac_tail *sec_part = cmd_data +
|
||||
sizeof(struct iwl_scan_channel_cfg_umac) *
|
||||
mvm->fw->ucode_capa.n_scan_channels;
|
||||
@@ -1216,7 +1255,10 @@ static int iwl_mvm_scan_umac(struct iwl_mvm *mvm, struct ieee80211_vif *vif,
|
||||
IWL_SCAN_CHANNEL_FLAG_EBS_ACCURATE |
|
||||
IWL_SCAN_CHANNEL_FLAG_CACHE_ADD;
|
||||
|
||||
- if (iwl_mvm_has_new_tx_api(mvm)) {
|
||||
+ if (iwl_mvm_is_adaptive_dwell_supported(mvm)) {
|
||||
+ cmd->v7.channel_flags = channel_flags;
|
||||
+ cmd->v7.n_channels = params->n_channels;
|
||||
+ } else if (iwl_mvm_has_new_tx_api(mvm)) {
|
||||
cmd->v6.channel_flags = channel_flags;
|
||||
cmd->v6.n_channels = params->n_channels;
|
||||
} else {
|
||||
@@ -1661,8 +1703,10 @@ int iwl_mvm_scan_size(struct iwl_mvm *mvm)
|
||||
{
|
||||
int base_size = IWL_SCAN_REQ_UMAC_SIZE_V1;
|
||||
|
||||
- if (iwl_mvm_has_new_tx_api(mvm))
|
||||
- base_size = IWL_SCAN_REQ_UMAC_SIZE;
|
||||
+ if (iwl_mvm_is_adaptive_dwell_supported(mvm))
|
||||
+ base_size = IWL_SCAN_REQ_UMAC_SIZE_V7;
|
||||
+ else if (iwl_mvm_has_new_tx_api(mvm))
|
||||
+ base_size = IWL_SCAN_REQ_UMAC_SIZE_V6;
|
||||
|
||||
if (fw_has_capa(&mvm->fw->ucode_capa, IWL_UCODE_TLV_CAPA_UMAC_SCAN))
|
||||
return base_size +
|
||||
--
|
||||
2.14.2
|
||||
|
@ -3925,7 +3925,7 @@ CONFIG_HID_A4TECH=y
|
||||
# CONFIG_HID_ACRUX is not set
|
||||
CONFIG_HID_APPLE=y
|
||||
CONFIG_HID_APPLEIR=m
|
||||
# CONFIG_HID_ASUS is not set
|
||||
CONFIG_HID_ASUS=y
|
||||
CONFIG_HID_AUREAL=y
|
||||
CONFIG_HID_BELKIN=y
|
||||
# CONFIG_HID_BETOP_FF is not set
|
||||
|
@ -1,6 +1,6 @@
|
||||
#
|
||||
# Automatically generated file; DO NOT EDIT.
|
||||
# Linux/arm 4.14.0-rc5 Kernel Configuration
|
||||
# Linux/arm 4.14.1 Kernel Configuration
|
||||
#
|
||||
CONFIG_ARM=y
|
||||
CONFIG_ARM_HAS_SG_CHAIN=y
|
||||
@ -122,6 +122,7 @@ CONFIG_CGROUP_SCHED=y
|
||||
CONFIG_CGROUP_FREEZER=y
|
||||
CONFIG_CGROUP_DEVICE=y
|
||||
CONFIG_CGROUP_CPUACCT=y
|
||||
# CONFIG_CGROUP_PERF is not set
|
||||
# CONFIG_CGROUP_DEBUG is not set
|
||||
# CONFIG_SOCK_CGROUP_DATA is not set
|
||||
# CONFIG_CHECKPOINT_RESTORE is not set
|
||||
@ -186,7 +187,8 @@ CONFIG_PERF_USE_VMALLOC=y
|
||||
#
|
||||
# Kernel Performance Events And Counters
|
||||
#
|
||||
# CONFIG_PERF_EVENTS is not set
|
||||
CONFIG_PERF_EVENTS=y
|
||||
# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
|
||||
# CONFIG_VM_EVENT_COUNTERS is not set
|
||||
CONFIG_SLUB_DEBUG=y
|
||||
# CONFIG_SLUB_MEMCG_SYSFS_ON is not set
|
||||
@ -198,8 +200,9 @@ CONFIG_SLAB_MERGE_DEFAULT=y
|
||||
# CONFIG_SLAB_FREELIST_RANDOM is not set
|
||||
# CONFIG_SLAB_FREELIST_HARDENED is not set
|
||||
# CONFIG_SYSTEM_DATA_VERIFICATION is not set
|
||||
# CONFIG_PROFILING is not set
|
||||
CONFIG_PROFILING=y
|
||||
CONFIG_TRACEPOINTS=y
|
||||
CONFIG_OPROFILE=m
|
||||
CONFIG_HAVE_OPROFILE=y
|
||||
CONFIG_KPROBES=y
|
||||
CONFIG_JUMP_LABEL=y
|
||||
@ -222,6 +225,7 @@ CONFIG_ARCH_HAS_SET_MEMORY=y
|
||||
CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
|
||||
CONFIG_HAVE_CLK=y
|
||||
CONFIG_HAVE_DMA_API_DEBUG=y
|
||||
CONFIG_HAVE_HW_BREAKPOINT=y
|
||||
CONFIG_HAVE_PERF_REGS=y
|
||||
CONFIG_HAVE_PERF_USER_STACK_DUMP=y
|
||||
CONFIG_HAVE_ARCH_JUMP_LABEL=y
|
||||
@ -483,6 +487,7 @@ CONFIG_AEABI=y
|
||||
CONFIG_HAVE_ARCH_PFN_VALID=y
|
||||
# CONFIG_HIGHMEM is not set
|
||||
# CONFIG_CPU_SW_DOMAIN_PAN is not set
|
||||
CONFIG_HW_PERF_EVENTS=y
|
||||
CONFIG_ARCH_WANT_GENERAL_HUGETLB=y
|
||||
# CONFIG_ARM_MODULE_PLTS is not set
|
||||
CONFIG_FLATMEM=y
|
||||
@ -1134,6 +1139,7 @@ CONFIG_CMA_ALIGNMENT=8
|
||||
#
|
||||
# Bus devices
|
||||
#
|
||||
# CONFIG_ARM_CCN is not set
|
||||
# CONFIG_BRCMSTB_GISB_ARB is not set
|
||||
# CONFIG_SIMPLE_PM_BUS is not set
|
||||
# CONFIG_VEXPRESS_CONFIG is not set
|
||||
@ -2853,6 +2859,7 @@ CONFIG_DRM_PANEL=y
|
||||
# CONFIG_DRM_PANEL_SAMSUNG_LD9040 is not set
|
||||
# CONFIG_DRM_PANEL_LG_LG4573 is not set
|
||||
# CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00 is not set
|
||||
CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN=m
|
||||
# CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2 is not set
|
||||
# CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0 is not set
|
||||
# CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 is not set
|
||||
@ -3204,7 +3211,7 @@ CONFIG_HID_A4TECH=y
|
||||
# CONFIG_HID_ACRUX is not set
|
||||
CONFIG_HID_APPLE=y
|
||||
# CONFIG_HID_APPLEIR is not set
|
||||
# CONFIG_HID_ASUS is not set
|
||||
CONFIG_HID_ASUS=y
|
||||
CONFIG_HID_AUREAL=y
|
||||
CONFIG_HID_BELKIN=y
|
||||
# CONFIG_HID_BETOP_FF is not set
|
||||
@ -3902,6 +3909,12 @@ CONFIG_RESET_CONTROLLER=y
|
||||
# CONFIG_PHY_PXA_28NM_USB2 is not set
|
||||
# CONFIG_POWERCAP is not set
|
||||
# CONFIG_MCB is not set
|
||||
|
||||
#
|
||||
# Performance monitor support
|
||||
#
|
||||
CONFIG_ARM_PMU=y
|
||||
CONFIG_RPI_AXIPERF=m
|
||||
# CONFIG_RAS is not set
|
||||
|
||||
#
|
||||
@ -4313,6 +4326,7 @@ CONFIG_BRANCH_PROFILE_NONE=y
|
||||
CONFIG_STACK_TRACER=y
|
||||
CONFIG_BLK_DEV_IO_TRACE=y
|
||||
CONFIG_KPROBE_EVENTS=y
|
||||
# CONFIG_UPROBE_EVENTS is not set
|
||||
CONFIG_PROBE_EVENTS=y
|
||||
CONFIG_DYNAMIC_FTRACE=y
|
||||
CONFIG_DYNAMIC_FTRACE_WITH_REGS=y
|
||||
|
@ -1,6 +1,6 @@
|
||||
#
|
||||
# Automatically generated file; DO NOT EDIT.
|
||||
# Linux/arm 4.14.0-rc5 Kernel Configuration
|
||||
# Linux/arm 4.14.1 Kernel Configuration
|
||||
#
|
||||
CONFIG_ARM=y
|
||||
CONFIG_ARM_HAS_SG_CHAIN=y
|
||||
@ -128,6 +128,7 @@ CONFIG_CPUSETS=y
|
||||
CONFIG_PROC_PID_CPUSET=y
|
||||
CONFIG_CGROUP_DEVICE=y
|
||||
CONFIG_CGROUP_CPUACCT=y
|
||||
# CONFIG_CGROUP_PERF is not set
|
||||
# CONFIG_CGROUP_DEBUG is not set
|
||||
# CONFIG_SOCK_CGROUP_DATA is not set
|
||||
# CONFIG_CHECKPOINT_RESTORE is not set
|
||||
@ -192,7 +193,8 @@ CONFIG_PERF_USE_VMALLOC=y
|
||||
#
|
||||
# Kernel Performance Events And Counters
|
||||
#
|
||||
# CONFIG_PERF_EVENTS is not set
|
||||
CONFIG_PERF_EVENTS=y
|
||||
# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
|
||||
# CONFIG_VM_EVENT_COUNTERS is not set
|
||||
CONFIG_SLUB_DEBUG=y
|
||||
# CONFIG_SLUB_MEMCG_SYSFS_ON is not set
|
||||
@ -205,8 +207,9 @@ CONFIG_SLAB_MERGE_DEFAULT=y
|
||||
# CONFIG_SLAB_FREELIST_HARDENED is not set
|
||||
CONFIG_SLUB_CPU_PARTIAL=y
|
||||
# CONFIG_SYSTEM_DATA_VERIFICATION is not set
|
||||
# CONFIG_PROFILING is not set
|
||||
CONFIG_PROFILING=y
|
||||
CONFIG_TRACEPOINTS=y
|
||||
CONFIG_OPROFILE=m
|
||||
CONFIG_HAVE_OPROFILE=y
|
||||
CONFIG_KPROBES=y
|
||||
CONFIG_JUMP_LABEL=y
|
||||
@ -229,6 +232,7 @@ CONFIG_ARCH_HAS_SET_MEMORY=y
|
||||
CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
|
||||
CONFIG_HAVE_CLK=y
|
||||
CONFIG_HAVE_DMA_API_DEBUG=y
|
||||
CONFIG_HAVE_HW_BREAKPOINT=y
|
||||
CONFIG_HAVE_PERF_REGS=y
|
||||
CONFIG_HAVE_PERF_USER_STACK_DUMP=y
|
||||
CONFIG_HAVE_ARCH_JUMP_LABEL=y
|
||||
@ -564,6 +568,7 @@ CONFIG_AEABI=y
|
||||
CONFIG_HAVE_ARCH_PFN_VALID=y
|
||||
# CONFIG_HIGHMEM is not set
|
||||
# CONFIG_CPU_SW_DOMAIN_PAN is not set
|
||||
CONFIG_HW_PERF_EVENTS=y
|
||||
CONFIG_ARCH_WANT_GENERAL_HUGETLB=y
|
||||
# CONFIG_ARM_MODULE_PLTS is not set
|
||||
CONFIG_FLATMEM=y
|
||||
@ -1225,6 +1230,9 @@ CONFIG_GENERIC_ARCH_TOPOLOGY=y
|
||||
#
|
||||
# Bus devices
|
||||
#
|
||||
# CONFIG_ARM_CCI400_PMU is not set
|
||||
# CONFIG_ARM_CCI5xx_PMU is not set
|
||||
# CONFIG_ARM_CCN is not set
|
||||
# CONFIG_BRCMSTB_GISB_ARB is not set
|
||||
# CONFIG_SIMPLE_PM_BUS is not set
|
||||
# CONFIG_VEXPRESS_CONFIG is not set
|
||||
@ -2949,6 +2957,7 @@ CONFIG_DRM_PANEL=y
|
||||
# CONFIG_DRM_PANEL_SAMSUNG_LD9040 is not set
|
||||
# CONFIG_DRM_PANEL_LG_LG4573 is not set
|
||||
# CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00 is not set
|
||||
CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN=m
|
||||
# CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2 is not set
|
||||
# CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0 is not set
|
||||
# CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 is not set
|
||||
@ -3300,7 +3309,7 @@ CONFIG_HID_A4TECH=y
|
||||
# CONFIG_HID_ACRUX is not set
|
||||
CONFIG_HID_APPLE=y
|
||||
# CONFIG_HID_APPLEIR is not set
|
||||
# CONFIG_HID_ASUS is not set
|
||||
CONFIG_HID_ASUS=y
|
||||
CONFIG_HID_AUREAL=y
|
||||
CONFIG_HID_BELKIN=y
|
||||
# CONFIG_HID_BETOP_FF is not set
|
||||
@ -4001,6 +4010,12 @@ CONFIG_RESET_CONTROLLER=y
|
||||
# CONFIG_PHY_PXA_28NM_USB2 is not set
|
||||
# CONFIG_POWERCAP is not set
|
||||
# CONFIG_MCB is not set
|
||||
|
||||
#
|
||||
# Performance monitor support
|
||||
#
|
||||
CONFIG_ARM_PMU=y
|
||||
CONFIG_RPI_AXIPERF=m
|
||||
# CONFIG_RAS is not set
|
||||
|
||||
#
|
||||
@ -4417,6 +4432,7 @@ CONFIG_BRANCH_PROFILE_NONE=y
|
||||
CONFIG_STACK_TRACER=y
|
||||
CONFIG_BLK_DEV_IO_TRACE=y
|
||||
CONFIG_KPROBE_EVENTS=y
|
||||
# CONFIG_UPROBE_EVENTS is not set
|
||||
CONFIG_PROBE_EVENTS=y
|
||||
CONFIG_DYNAMIC_FTRACE=y
|
||||
CONFIG_DYNAMIC_FTRACE_WITH_REGS=y
|
||||
|
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user