diff --git a/packages/linux-driver-addons/dvb/crazycat/package.mk b/packages/linux-driver-addons/dvb/crazycat/package.mk index ebbb4e42f6..bd891bdd1c 100644 --- a/packages/linux-driver-addons/dvb/crazycat/package.mk +++ b/packages/linux-driver-addons/dvb/crazycat/package.mk @@ -17,8 +17,8 @@ ################################################################################ PKG_NAME="crazycat" -PKG_VERSION="2017-11-13" -PKG_SHA256="14d951eb8d40cee40d601d7c737bca07171d8b4f201d63d5e70a24c4841f9d73" +PKG_VERSION="2017-12-06" +PKG_SHA256="779c7d42e5fd4dfac8f53654ce8af467d22a81b6c0b21e24f14aaaed033c6eb1" PKG_ARCH="any" PKG_LICENSE="GPL" PKG_SITE="https://github.com/crazycat69/linux_media" diff --git a/packages/linux/package.mk b/packages/linux/package.mk index 73254a30cb..0ea726f805 100644 --- a/packages/linux/package.mk +++ b/packages/linux/package.mk @@ -47,8 +47,8 @@ case "$LINUX" in PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET aml-dtbtools:host" ;; *) - PKG_VERSION="4.14.4" - PKG_SHA256="2a91bff790da9a27e392469f7cc65ae7380e4204fc118be28ec799eb87e6a79e" + PKG_VERSION="4.14.10" + PKG_SHA256="86baf1374ca003bdd9a43cae7f59cec02b455a6c38c3705aa46b2b68d91ed110" PKG_URL="https://www.kernel.org/pub/linux/kernel/v4.x/$PKG_NAME-$PKG_VERSION.tar.xz" PKG_PATCH_DIRS="default" ;; diff --git a/packages/linux/patches/default/linux-004-fix-build-with-gcc-5.patch b/packages/linux/patches/default/linux-004-fix-build-with-gcc-5.patch deleted file mode 100644 index b2e8d91d38..0000000000 --- a/packages/linux/patches/default/linux-004-fix-build-with-gcc-5.patch +++ /dev/null @@ -1,16 +0,0 @@ -# see https://github.com/wongsyrone/openwrt-1/commit/93c0a5173414cfa7684547de3c3a1f3dc4240383 -# and https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65932 - -diff -Naur linux-4.3-rc5.orig/arch/arm/Makefile linux-4.3-rc5/arch/arm/Makefile ---- linux-4.3-rc5.orig/arch/arm/Makefile 2015-10-11 11:09:45.000000000 -0700 -+++ linux-4.3-rc5/arch/arm/Makefile 2015-10-20 12:24:44.507102957 -0700 -@@ -130,7 +130,8 @@ - endif - - # Need -Uarm for gcc < 3.x --KBUILD_CFLAGS +=$(CFLAGS_ABI) $(CFLAGS_ISA) $(arch-y) $(tune-y) $(call cc-option,-mshort-load-bytes,$(call cc-option,-malignment-traps,)) -msoft-float -Uarm -+# Maybe we need -fno-ipa-sra for gcc > 4.9.x -+KBUILD_CFLAGS +=$(CFLAGS_ABI) $(CFLAGS_ISA) $(arch-y) $(tune-y) $(call cc-option,-mshort-load-bytes,$(call cc-option,-malignment-traps,)) -msoft-float -Uarm -fno-ipa-sra - KBUILD_AFLAGS +=$(CFLAGS_ABI) $(AFLAGS_ISA) $(arch-y) $(tune-y) -include asm/unified.h -msoft-float - - CHECKFLAGS += -D__arm__ diff --git a/packages/linux/patches/default/linux-051-ouya_controller_support.patch b/packages/linux/patches/default/linux-051-ouya_controller_support.patch deleted file mode 100644 index 1f336f48dd..0000000000 --- a/packages/linux/patches/default/linux-051-ouya_controller_support.patch +++ /dev/null @@ -1,338 +0,0 @@ -From 6824d53bd503580226fbea3d9d78b32cab56ae42 Mon Sep 17 00:00:00 2001 -From: MilhouseVH -Date: Mon, 19 Jun 2017 19:51:27 +0100 -Subject: [PATCH] OUYA controller support - ---- - drivers/hid/Kconfig | 6 ++ - drivers/hid/Makefile | 1 + - drivers/hid/hid-core.c | 1 + - drivers/hid/hid-ids.h | 3 + - drivers/hid/hid-ouya.c | 260 +++++++++++++++++++++++++++++++++++++++++++++++++ - 5 files changed, 271 insertions(+) - create mode 100644 drivers/hid/hid-ouya.c - -diff --git a/drivers/hid/Kconfig b/drivers/hid/Kconfig -index 687705c..84500fd 100644 ---- a/drivers/hid/Kconfig -+++ b/drivers/hid/Kconfig -@@ -625,6 +625,12 @@ config HID_ORTEK - - Ortek WKB-2000 - - Skycable wireless presenter - -+config HID_OUYA -+ tristate "OUYA Game Controller" -+ depends on USB_HID -+ ---help--- -+ Support for OUYA Game Controller. -+ - config HID_PANTHERLORD - tristate "Pantherlord/GreenAsia game controller" - depends on HID -diff --git a/drivers/hid/Makefile b/drivers/hid/Makefile -index fef027b..4e22940 100644 ---- a/drivers/hid/Makefile -+++ b/drivers/hid/Makefile -@@ -66,6 +66,7 @@ obj-$(CONFIG_HID_MULTITOUCH) += hid-multitouch.o - obj-$(CONFIG_HID_NTI) += hid-nti.o - obj-$(CONFIG_HID_NTRIG) += hid-ntrig.o - obj-$(CONFIG_HID_ORTEK) += hid-ortek.o -+obj-$(CONFIG_HID_OUYA) += hid-ouya.o - obj-$(CONFIG_HID_PRODIKEYS) += hid-prodikeys.o - obj-$(CONFIG_HID_PANTHERLORD) += hid-pl.o - obj-$(CONFIG_HID_PENMOUNT) += hid-penmount.o -diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c -index 6e04069..32bcb50 100644 ---- a/drivers/hid/hid-core.c -+++ b/drivers/hid/hid-core.c -@@ -2290,6 +2290,7 @@ static const struct hid_device_id hid_have_special_driver[] = { - #if IS_ENABLED(CONFIG_HID_ZYDACRON) - { HID_USB_DEVICE(USB_VENDOR_ID_ZYDACRON, USB_DEVICE_ID_ZYDACRON_REMOTE_CONTROL) }, - #endif -+ { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_OUYA, USB_DEVICE_ID_OUYA_CONTROLLER) }, - { } - }; - -diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h -index 8ca1e8c..f3cd724 100644 ---- a/drivers/hid/hid-ids.h -+++ b/drivers/hid/hid-ids.h -@@ -813,6 +813,9 @@ - #define USB_DEVICE_ID_ORTEK_PKB1700 0x1700 - #define USB_DEVICE_ID_ORTEK_WKB2000 0x2000 - -+#define USB_VENDOR_ID_OUYA 0x2836 -+#define USB_DEVICE_ID_OUYA_CONTROLLER 0x0001 -+ - #define USB_VENDOR_ID_PLANTRONICS 0x047f - - #define USB_VENDOR_ID_PANASONIC 0x04da -diff --git a/drivers/hid/hid-ouya.c b/drivers/hid/hid-ouya.c -new file mode 100644 -index 0000000..7792c23 ---- /dev/null -+++ b/drivers/hid/hid-ouya.c -@@ -0,0 +1,260 @@ -+/* -+ * HID driver for OUYA Game Controller(s) -+ * -+ * Copyright (c) 2013 OUYA -+ */ -+ -+#include -+#include -+#include -+#include -+ -+#include "hid-ids.h" -+ -+#define OUYA_TOUCHPAD_FIXUP (1 << 0) -+ -+struct ouya_sc { -+ unsigned long quirks; -+}; -+ -+/* Fixed report descriptor */ -+static __u8 ouya_rdesc_fixed[] = { -+ -+ 0x05, 0x01, /* Usage Page (Desktop), */ -+ 0x09, 0x05, /* Usage (Game Pad), */ -+ -+ 0xA1, 0x01, /* Collection (Application), */ -+ 0x85, 0x07, /* Report ID (7), */ -+ -+ 0xA1, 0x00, /* Collection (Physical), */ -+ 0x09, 0x30, /* Usage (X), */ -+ 0x09, 0x31, /* Usage (Y), */ -+ 0x15, 0x00, /* Logical Minimum (0), */ -+ 0x26, 0xFF, 0x00, /* Logical Maximum (255), */ -+ 0x35, 0x00, /* Physical Minimum (0), */ -+ 0x46, 0xFF, 0x00, /* Physical Maximum (255), */ -+ 0x95, 0x02, /* Report Count (2), */ -+ 0x75, 0x08, /* Report Size (8), */ -+ 0x81, 0x02, /* Input (Variable), */ -+ 0xC0, /* End Collection, */ -+ -+ 0xA1, 0x00, /* Collection (Physical), */ -+ 0x09, 0x33, /* Usage (Rx), */ -+ 0x09, 0x34, /* Usage (Ry), */ -+ 0x15, 0x00, /* Logical Minimum (0), */ -+ 0x26, 0xFF, 0x00, /* Logical Maximum (255), */ -+ 0x35, 0x00, /* Physical Minimum (0), */ -+ 0x46, 0xFF, 0x00, /* Physical Maximum (255), */ -+ 0x95, 0x02, /* Report Count (2), */ -+ 0x75, 0x08, /* Report Size (8), */ -+ 0x81, 0x02, /* Input (Variable), */ -+ 0xC0, /* End Collection, */ -+ -+ 0xA1, 0x00, /* Collection (Physical), */ -+ 0x09, 0x32, /* Usage (Z), */ -+ 0x15, 0x00, /* Logical Minimum (0), */ -+ 0x26, 0xFF, 0x00, /* Logical Maximum (255), */ -+ 0x35, 0x00, /* Physical Minimum (0), */ -+ 0x46, 0xFF, 0x00, /* Physical Maximum (255), */ -+ 0x95, 0x01, /* Report Count (1), */ -+ 0x75, 0x08, /* Report Size (8), */ -+ 0x81, 0x02, /* Input (Variable), */ -+ 0xC0, /* End Collection, */ -+ -+ 0xA1, 0x00, /* Collection (Physical), */ -+ 0x09, 0x35, /* Usage (Rz), */ -+ 0x15, 0x00, /* Logical Minimum (0), */ -+ 0x26, 0xFF, 0x00, /* Logical Maximum (255), */ -+ 0x35, 0x00, /* Physical Minimum (0), */ -+ 0x46, 0xFF, 0x00, /* Physical Maximum (255), */ -+ 0x95, 0x01, /* Report Count (1), */ -+ 0x75, 0x08, /* Report Size (8), */ -+ 0x81, 0x02, /* Input (Variable), */ -+ 0xC0, /* End Collection, */ -+ -+ 0x05, 0x09, /* Usage Page (Button), */ -+ 0x19, 0x01, /* Usage Minimum (01h), */ -+ 0x29, 0x10, /* Usage Maximum (10h), */ -+ 0x95, 0x10, /* Report Count (16), */ -+ 0x75, 0x01, /* Report Size (1), */ -+ 0x81, 0x02, /* Input (Variable), */ -+ -+ /* ORIGINAL REPORT DESCRIPTOR FOR TOUCHPAD INPUT */ -+ /* 06 00 ff a1 02 09 02 15 00 26 ff 00 35 00 46 ff 00 95 03 75 08 81 02 c0 */ -+ -+ 0x06, 0x00, 0xFF, /* Usage Page (Custom), */ -+ 0x09, 0x02, /* Usage (Mouse), */ -+ 0x09, 0x01, /* Usage (Pointer), */ -+ 0xA1, 0x00, /* Collection (Physical), */ -+ 0x05, 0x09, /* Usage Page (Button), */ -+ 0x19, 0x01, /* Usage Minimum (01h), */ -+ 0x29, 0x03, /* Usage Maximum (03h), */ -+ 0x15, 0x00, /* Logical Minimum (0), */ -+ 0x25, 0x01, /* Logical Maximum (1), */ -+ 0x95, 0x03, /* Report Count (3), */ -+ 0x75, 0x01, /* Report Size (1), */ -+ 0x81, 0x02, /* Input (Variable), */ -+ 0x95, 0x01, /* Report Count (1), */ -+ 0x75, 0x05, /* Report Size (5), */ -+ 0x81, 0x01, /* Input (Constant), */ -+ 0x05, 0x01, /* Usage Page (Desktop), */ -+ 0x09, 0x30, /* Usage (X), */ -+ 0x09, 0x31, /* Usage (Y), */ -+ 0x15, 0x81, /* Logical Minimum (-127), */ -+ 0x25, 0x7f, /* Logical Maximum (127), */ -+ 0x95, 0x02, /* Report Count (2), */ -+ 0x75, 0x08, /* Report Size (8), */ -+ 0x81, 0x06, /* Input (Relative), */ -+ 0xC0, /* End Collection, */ -+ -+ 0x06, 0x00, 0xFF, /* Usage Page (Custom), */ -+ 0xA1, 0x02, /* Collection (Logical), */ -+ 0x75, 0x08, /* Report Size (8), */ -+ 0x95, 0x07, /* Report Count (7), */ -+ 0x46, 0xFF, 0x00, /* Physical Maximum (255), */ -+ 0x26, 0xFF, 0x00, /* Logical Maximum (255), */ -+ 0x09, 0x01, /* Usage (Pointer), */ -+ 0x91, 0x02, /* Output (Variable), */ -+ 0xC0, /* End Collection, */ -+ -+ 0xC0, /* End Collection */ -+ -+ -+ 0x06, 0x00, 0xFF, /* Usage Page (Custom), */ -+ 0x05, 0x0C, /* Usage Page (Consumer), */ -+ 0x09, 0x01, /* Usage (Consumer Control), */ -+ -+ 0xA1, 0x01, /* Collection (Application), */ -+ 0x85, 0x03, /* Report ID (3), */ -+ 0x05, 0x01, /* Usage Page (Desktop), */ -+ 0x09, 0x06, /* Usage (Keyboard), */ -+ 0xA1, 0x02, /* Collection (Logical), */ -+ 0x05, 0x06, /* Usage Page (Generic), */ -+ 0x09, 0x20, /* Usage (Battery Strgth), */ -+ 0x15, 0x00, /* Logical Minimum (0), */ -+ 0x26, 0xFF, 0x00, /* Logical Maximum (255), */ -+ 0x75, 0x08, /* Report Size (8), */ -+ 0x95, 0x01, /* Report Count (1), */ -+ 0x81, 0x02, /* Input (Variable), */ -+ 0x06, 0xBC, 0xFF, /* Usage Page (Custom), */ -+ -+ 0x0A, 0xAD, 0xBD, /* UNKNOWN */ -+ -+ 0x75, 0x08, /* Report Size (8), */ -+ 0x95, 0x06, /* Report Count (6), */ -+ 0x81, 0x02, /* Input (Variable), */ -+ 0xC0, /* End Collection, */ -+ -+ 0xC0, /* End Collection */ -+ -+ 0x00 -+}; -+ -+static __u8 *ouya_report_fixup(struct hid_device *hdev, __u8 *rdesc, -+ unsigned int *rsize) -+{ -+ struct ouya_sc *sc = hid_get_drvdata(hdev); -+ -+ if (sc->quirks & OUYA_TOUCHPAD_FIXUP) { -+ rdesc = ouya_rdesc_fixed; -+ *rsize = sizeof(ouya_rdesc_fixed); -+ } -+ return rdesc; -+} -+ -+static int ouya_input_mapping(struct hid_device *hdev, struct hid_input *hi, -+ struct hid_field *field, struct hid_usage *usage, -+ unsigned long **bit, int *max) -+{ -+ struct ouya_sc *sc = hid_get_drvdata(hdev); -+ -+ if (!(sc->quirks & OUYA_TOUCHPAD_FIXUP)) { -+ return 0; -+ } -+ -+ if ((usage->hid & 0x90000) == 0x90000 && -+ (field->physical & 0xff000000) == 0xff000000 && -+ usage->collection_index == 5 && -+ field->report_count == 3) { -+ -+ hid_map_usage(hi, usage, bit, max, EV_KEY, BTN_MOUSE + (usage->hid - 0x90001)); -+ -+ return 1; -+ } -+ -+ return 0; -+} -+ -+static int ouya_probe(struct hid_device *hdev, const struct hid_device_id *id) -+{ -+ int ret; -+ struct ouya_sc *sc; -+ -+ sc = kzalloc(sizeof(*sc), GFP_KERNEL); -+ if (sc == NULL) { -+ hid_err(hdev, "can't alloc ouya descriptor\n"); -+ return -ENOMEM; -+ } -+ -+ if(((hdev->version & 0xff00) == 0x0100 && (hdev->version & 0xff) >= 0x04) || -+ ((hdev->version & 0xff00) == 0xe100 && (hdev->version & 0xff) >= 0x3a)) { -+ hid_info(hdev, "ouya controller - new version\n"); -+ sc->quirks = OUYA_TOUCHPAD_FIXUP; -+ } else { -+ sc->quirks = 0; -+ } -+ hid_set_drvdata(hdev, sc); -+ -+ ret = hid_parse(hdev); -+ if (ret) { -+ hid_err(hdev, "parse failed\n"); -+ goto err_free; -+ } -+ -+ ret = hid_hw_start(hdev, HID_CONNECT_DEFAULT | -+ HID_CONNECT_HIDDEV_FORCE); -+ if (ret) { -+ hid_err(hdev, "hw start failed\n"); -+ goto err_free; -+ } -+ -+ return 0; -+ -+err_free: -+ kfree(sc); -+ return ret; -+} -+ -+static void ouya_remove(struct hid_device *hdev) -+{ -+ hid_hw_stop(hdev); -+ kfree(hid_get_drvdata(hdev)); -+} -+ -+static const struct hid_device_id ouya_devices[] = { -+ { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_OUYA, USB_DEVICE_ID_OUYA_CONTROLLER) }, -+ { } -+}; -+MODULE_DEVICE_TABLE(hid, ouya_devices); -+ -+static struct hid_driver ouya_driver = { -+ .name = "ouya", -+ .id_table = ouya_devices, -+ .probe = ouya_probe, -+ .remove = ouya_remove, -+ .input_mapping = ouya_input_mapping, -+ .report_fixup = ouya_report_fixup -+}; -+ -+static int __init ouya_init(void) -+{ -+ return hid_register_driver(&ouya_driver); -+} -+ -+static void __exit ouya_exit(void) -+{ -+ hid_unregister_driver(&ouya_driver); -+} -+ -+module_init(ouya_init); -+module_exit(ouya_exit); --- -2.7.4 - diff --git a/packages/linux/patches/default/linux-053-spinelplus-remote-0.2.patch b/packages/linux/patches/default/linux-053-spinelplus-remote-0.2.patch index c245191d48..6e6113611f 100644 --- a/packages/linux/patches/default/linux-053-spinelplus-remote-0.2.patch +++ b/packages/linux/patches/default/linux-053-spinelplus-remote-0.2.patch @@ -46,9 +46,9 @@ index 32bcb50..11985b4 100644 --- a/drivers/hid/hid-core.c +++ b/drivers/hid/hid-core.c @@ -2291,6 +2291,10 @@ static const struct hid_device_id hid_have_special_driver[] = { + #if IS_ENABLED(CONFIG_HID_ZYDACRON) { HID_USB_DEVICE(USB_VENDOR_ID_ZYDACRON, USB_DEVICE_ID_ZYDACRON_REMOTE_CONTROL) }, #endif - { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_OUYA, USB_DEVICE_ID_OUYA_CONTROLLER) }, + { HID_USB_DEVICE(USB_VENDOR_ID_PHILIPS, USB_DEVICE_ID_PHILIPS_SPINEL_PLUS_1) }, + { HID_USB_DEVICE(USB_VENDOR_ID_PHILIPS, USB_DEVICE_ID_PHILIPS_SPINEL_PLUS_2) }, + { HID_USB_DEVICE(USB_VENDOR_ID_PHILIPS, USB_DEVICE_ID_PHILIPS_SPINEL_PLUS_3) }, diff --git a/packages/linux/patches/default/linux-054-nuvoton_revert_d7b290a1056c5564eec8a1b169c6e84ff3.6.114c13.patch b/packages/linux/patches/default/linux-054-nuvoton_revert_d7b290a1056c5564eec8a1b169c6e84ff3.6.114c13.patch deleted file mode 100644 index 08566d1f13..0000000000 --- a/packages/linux/patches/default/linux-054-nuvoton_revert_d7b290a1056c5564eec8a1b169c6e84ff3.6.114c13.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -Naur linux-3.0/drivers/media/rc/nuvoton-cir.c linux-3.0.patch/drivers/media/rc/nuvoton-cir.c ---- linux-3.0/drivers/media/rc/nuvoton-cir.c 2011-07-22 04:17:23.000000000 +0200 -+++ linux-3.0.patch/drivers/media/rc/nuvoton-cir.c 2011-07-22 21:30:48.374591146 +0200 -@@ -1110,7 +1110,7 @@ - rdev->dev.parent = &pdev->dev; - rdev->driver_name = NVT_DRIVER_NAME; - rdev->map_name = RC_MAP_RC6_MCE; -- rdev->timeout = MS_TO_NS(100); -+ rdev->timeout = US_TO_NS(1000); - /* rx resolution is hardwired to 50us atm, 1, 25, 100 also possible */ - rdev->rx_resolution = US_TO_NS(CIR_SAMPLE_PERIOD); - #if 0 diff --git a/packages/linux/patches/default/linux-999-media_rc-double_keypresses_due_to_timeout_expiring_to_early.patch b/packages/linux/patches/default/linux-999-media_rc-double_keypresses_due_to_timeout_expiring_to_early.patch deleted file mode 100644 index 3ce71a0199..0000000000 --- a/packages/linux/patches/default/linux-999-media_rc-double_keypresses_due_to_timeout_expiring_to_early.patch +++ /dev/null @@ -1,203 +0,0 @@ -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 -X-Patchwork-Id: 45516 -Message-Id: <20171119215727.slnzxumlun5lh6ae@gofer.mess.org> -X-Patchwork-Delegate: sean@mess.org -To: Matthias Reichl , - Mauro Carvalho Chehab , - 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 -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: # 4.14 -Signed-off-by: Sean Young ---- - 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 }, diff --git a/packages/x11/driver/xf86-video-nvidia/patches/xf86-video-nvidia-0100-kernel-4.14.9.patch b/packages/x11/driver/xf86-video-nvidia/patches/xf86-video-nvidia-0100-kernel-4.14.9.patch new file mode 100644 index 0000000000..d44663e8f4 --- /dev/null +++ b/packages/x11/driver/xf86-video-nvidia/patches/xf86-video-nvidia-0100-kernel-4.14.9.patch @@ -0,0 +1,15 @@ +diff --git a/kernel/nvidia-uvm/uvm8_va_block.c b/kernel/nvidia-uvm/uvm8_va_block.c +index 99f6f9b..a453eb6 100644 +--- a/kernel/nvidia-uvm/uvm8_va_block.c ++++ b/kernel/nvidia-uvm/uvm8_va_block.c +@@ -36,6 +36,10 @@ + #include "uvm8_perf_prefetch.h" + #include "uvm8_mem.h" + ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,9) ++#include ++#endif ++ + typedef enum + { + BLOCK_PTE_OP_MAP, diff --git a/projects/Generic/linux/linux.x86_64.conf b/projects/Generic/linux/linux.x86_64.conf index d585784467..c210fad0ae 100644 --- a/projects/Generic/linux/linux.x86_64.conf +++ b/projects/Generic/linux/linux.x86_64.conf @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/x86_64 4.14.0-rc5 Kernel Configuration +# Linux/x86_64 4.14.9 Kernel Configuration # CONFIG_64BIT=y CONFIG_X86_64=y @@ -333,6 +333,7 @@ CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y CONFIG_STRICT_KERNEL_RWX=y CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y CONFIG_STRICT_MODULE_RWX=y +CONFIG_ARCH_HAS_REFCOUNT=y # CONFIG_REFCOUNT_FULL is not set # @@ -3973,7 +3974,6 @@ CONFIG_HID_MULTITOUCH=m # CONFIG_HID_NTI is not set # CONFIG_HID_NTRIG is not set CONFIG_HID_ORTEK=y -CONFIG_HID_OUYA=y CONFIG_HID_PANTHERLORD=y CONFIG_PANTHERLORD_FF=y CONFIG_HID_PENMOUNT=y @@ -5201,9 +5201,9 @@ CONFIG_OPTIMIZE_INLINING=y # CONFIG_DEBUG_NMI_SELFTEST is not set CONFIG_X86_DEBUG_FPU=y # CONFIG_PUNIT_ATOM_DEBUG is not set -CONFIG_FRAME_POINTER_UNWINDER=y -# CONFIG_ORC_UNWINDER is not set -# CONFIG_GUESS_UNWINDER is not set +# CONFIG_UNWINDER_ORC is not set +CONFIG_UNWINDER_FRAME_POINTER=y +# CONFIG_UNWINDER_GUESS is not set # # Security options diff --git a/projects/RPi/devices/RPi/linux/linux.arm.conf b/projects/RPi/devices/RPi/linux/linux.arm.conf index 4a04655074..9e6a99bfce 100644 --- a/projects/RPi/devices/RPi/linux/linux.arm.conf +++ b/projects/RPi/devices/RPi/linux/linux.arm.conf @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/arm 4.14.1 Kernel Configuration +# Linux/arm 4.14.6 Kernel Configuration # CONFIG_ARM=y CONFIG_ARM_HAS_SG_CHAIN=y @@ -3259,7 +3259,6 @@ CONFIG_HID_MULTITOUCH=m # CONFIG_HID_NTI is not set # CONFIG_HID_NTRIG is not set CONFIG_HID_ORTEK=y -CONFIG_HID_OUYA=y CONFIG_HID_PANTHERLORD=y CONFIG_PANTHERLORD_FF=y CONFIG_HID_PENMOUNT=y diff --git a/projects/RPi/devices/RPi2/linux/linux.arm.conf b/projects/RPi/devices/RPi2/linux/linux.arm.conf index 99041ade85..a72a0d8b9e 100644 --- a/projects/RPi/devices/RPi2/linux/linux.arm.conf +++ b/projects/RPi/devices/RPi2/linux/linux.arm.conf @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/arm 4.14.1 Kernel Configuration +# Linux/arm 4.14.6 Kernel Configuration # CONFIG_ARM=y CONFIG_ARM_HAS_SG_CHAIN=y @@ -3357,7 +3357,6 @@ CONFIG_HID_MULTITOUCH=m # CONFIG_HID_NTI is not set # CONFIG_HID_NTRIG is not set CONFIG_HID_ORTEK=y -CONFIG_HID_OUYA=y CONFIG_HID_PANTHERLORD=y CONFIG_PANTHERLORD_FF=y CONFIG_HID_PENMOUNT=y diff --git a/projects/RPi/patches/linux/linux-01-RPi_support.patch b/projects/RPi/patches/linux/linux-01-RPi_support.patch index d993b72a8f..506a216f63 100644 --- a/projects/RPi/patches/linux/linux-01-RPi_support.patch +++ b/projects/RPi/patches/linux/linux-01-RPi_support.patch @@ -1,7 +1,7 @@ -From 6f2945c416d064f907d389db060728b5c5192009 Mon Sep 17 00:00:00 2001 +From f6106f96f8e3005e7c046fb5e5fa45616d53921c Mon Sep 17 00:00:00 2001 From: Dan Pasanen Date: Thu, 21 Sep 2017 09:55:42 -0500 -Subject: [PATCH 001/150] arm: partially revert +Subject: [PATCH 001/156] arm: partially revert 702b94bff3c50542a6e4ab9a4f4cef093262fe65 * Re-expose some dmi APIs for use in VCSM @@ -106,10 +106,10 @@ index 054b491ff7649ca067ff821770aec80a4da42102..70e8b7d3443467ae9595924f1a9d043b EXPORT_SYMBOL(cpu_cache); #endif -From 81dd799c6c9cb6996912b7be73d8e5da7799627e Mon Sep 17 00:00:00 2001 +From 33fb31a3eb713d3c4f1ea57bf4a747bd640df22a Mon Sep 17 00:00:00 2001 From: Steve Glendinning Date: Thu, 19 Feb 2015 18:47:12 +0000 -Subject: [PATCH 002/150] smsx95xx: fix crimes against truesize +Subject: [PATCH 002/156] smsx95xx: fix crimes against truesize smsc95xx is adjusting truesize when it shouldn't, and following a recent patch from Eric this is now triggering warnings. @@ -156,10 +156,10 @@ index 309b88acd3d0b6ca1528dde7b27a23926f9be952..25e37195ceb00cfc0ced7638e8b571a1 usbnet_skb_return(dev, ax_skb); } -From f9aa0d3f902124ab8ae0021d81d81883ce979c34 Mon Sep 17 00:00:00 2001 +From 57b933b304a1a741ed667e7816d6f4f8de306e41 Mon Sep 17 00:00:00 2001 From: Sam Nazarko Date: Fri, 1 Apr 2016 17:27:21 +0100 -Subject: [PATCH 003/150] smsc95xx: Experimental: Enable turbo_mode and +Subject: [PATCH 003/156] smsc95xx: Experimental: Enable turbo_mode and packetsize=2560 by default See: http://forum.kodi.tv/showthread.php?tid=285288 @@ -202,10 +202,10 @@ index 25e37195ceb00cfc0ced7638e8b571a1b0b8e6f1..09c7d4a07299e70b1cdc9df2c2c4cb39 netif_dbg(dev, ifup, dev->net, "rx_urb_size=%ld\n", -From 2c548180a363d9696963b78707e93bae61c3dcbc Mon Sep 17 00:00:00 2001 +From fb14f1dfe72306e448cafb604d3f4ae0b59afe1c Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 26 Mar 2013 17:26:38 +0000 -Subject: [PATCH 004/150] Allow mac address to be set in smsc95xx +Subject: [PATCH 004/156] Allow mac address to be set in smsc95xx Signed-off-by: popcornmix --- @@ -301,10 +301,10 @@ index 09c7d4a07299e70b1cdc9df2c2c4cb39d2207c37..4d9704d0b184df9bd7ddbe6769e40a75 eth_hw_addr_random(dev->net); netif_dbg(dev, ifup, dev->net, "MAC address set to eth_random_addr\n"); -From e798a1b40a2488df35575f002a119b08d123d030 Mon Sep 17 00:00:00 2001 +From d589b8d9a4c83f9021131e186f2d39187ba95a2b Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 13 Mar 2015 12:43:36 +0000 -Subject: [PATCH 005/150] Protect __release_resource against resources without +Subject: [PATCH 005/156] Protect __release_resource against resources without parents Without this patch, removing a device tree overlay can crash here. @@ -332,10 +332,10 @@ index 9b5f04404152c296af3a96132f27cfc80ffa9af9..f8a9af6e6b915812be2ba2c1c2b40106 for (;;) { tmp = *p; -From 86126929ba2c5ef3b66341ccf70dc80cafe69b38 Mon Sep 17 00:00:00 2001 +From 9f5dfb791d347832f0d6dcb1eede81834d5fa4dd Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 4 Dec 2015 17:41:50 +0000 -Subject: [PATCH 006/150] irq-bcm2836: Prevent spurious interrupts, and trap +Subject: [PATCH 006/156] irq-bcm2836: Prevent spurious interrupts, and trap them early The old arch-specific IRQ macros included a dsb to ensure the @@ -362,10 +362,10 @@ index dc8c1e3eafe794a3af83dd987a6d6362d14dd5ee..e8204d9af58f1b893505c06902a83390 #endif } else if (stat) { -From efed369bf7ab606d356301abc1a56b2dcc36a978 Mon Sep 17 00:00:00 2001 +From 295ad02d69edd298c158feca5318463c56f8e17e Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 9 Feb 2017 14:33:30 +0000 -Subject: [PATCH 007/150] irq-bcm2836: Avoid "Invalid trigger warning" +Subject: [PATCH 007/156] irq-bcm2836: Avoid "Invalid trigger warning" Initialise the level for each IRQ to avoid a warning from the arm arch timer code. @@ -389,10 +389,10 @@ index e8204d9af58f1b893505c06902a83390c2ea8509..6e3fab9587b782e026c01fa6b6e40338 static void -From 8b94e690dff0df396d618ea14ddd3664b5b9badc Mon Sep 17 00:00:00 2001 +From 1ca4541a4f155941247fc8064801badca1ec3d95 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Fri, 12 Jun 2015 19:01:05 +0200 -Subject: [PATCH 008/150] irqchip: bcm2835: Add FIQ support +Subject: [PATCH 008/156] irqchip: bcm2835: Add FIQ support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -521,10 +521,10 @@ index d2da8a1e6b1b71381e382d034e7a94e865a6c3da..c4903360eabc2bef04f8e745782cea26 } -From 672802dc2b18404f57ec3aa7c849e784133f9fe8 Mon Sep 17 00:00:00 2001 +From 341d7af24f36dd806066927dfa8aa41c7104ecc0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Fri, 23 Oct 2015 16:26:55 +0200 -Subject: [PATCH 009/150] irqchip: irq-bcm2835: Add 2836 FIQ support +Subject: [PATCH 009/156] irqchip: irq-bcm2835: Add 2836 FIQ support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -623,10 +623,10 @@ index c4903360eabc2bef04f8e745782cea268fb22897..13356d3b7bcd508f058c6a9e3c4b0b38 for (b = 0; b < NR_BANKS; b++) { for (i = 0; i < bank_irqs[b]; i++) { -From 730ef7bef046ba3701dc2b10a547bf50ea6c97fd Mon Sep 17 00:00:00 2001 +From f45e4f1cbd34474fc09ba45348c59a97114f928f Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 8 May 2017 16:43:40 +0100 -Subject: [PATCH 010/150] irq_bcm2836: Send event when onlining sleeping cores +Subject: [PATCH 010/156] irq_bcm2836: Send event when onlining sleeping cores In order to reduce power consumption and bus traffic, it is sensible for secondary cores to enter a low-power idle state when waiting to @@ -662,10 +662,10 @@ index 6e3fab9587b782e026c01fa6b6e40338ef0c8d0a..86b357ae027bf8ba1ac32cd150a8cf21 } -From 8486e58fc672b75dc3f2c126f325ab4527d8bf6f Mon Sep 17 00:00:00 2001 +From 9011636a14f5a61855bd0d098b120466bc56d633 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 14 Jul 2015 10:26:09 +0100 -Subject: [PATCH 011/150] spidev: Add "spidev" compatible string to silence +Subject: [PATCH 011/156] spidev: Add "spidev" compatible string to silence warning See: https://github.com/raspberrypi/linux/issues/1054 @@ -686,10 +686,10 @@ index cda10719d1d1b21b32866d2b79363faa461ab8e1..4f3779d3aa0960640506725bde918075 }; MODULE_DEVICE_TABLE(of, spidev_dt_ids); -From a3dca7253188dc2979a3d330f34c3abfe1de320f Mon Sep 17 00:00:00 2001 +From 1e84fd366314c3ffca613df252c699b31ee02e10 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 24 Jun 2015 14:10:44 +0100 -Subject: [PATCH 012/150] spi-bcm2835: Support pin groups other than 7-11 +Subject: [PATCH 012/156] spi-bcm2835: Support pin groups other than 7-11 The spi-bcm2835 driver automatically uses GPIO chip-selects due to some unreliability of the native ones. In doing so it chooses the @@ -770,10 +770,10 @@ index f35cc10772f6670397ea923ad30158270dd68578..5dfe20ffc2866fa6789825016c585175 /* and set up the "mode" and level */ dev_info(&spi->dev, "setting up native-CS%i as GPIO %i\n", -From 5eca0c6ca5b60c14c82290fdfefe62efb3ef3ba2 Mon Sep 17 00:00:00 2001 +From 07f32122f8536814a2ef16dda041459c2f7b4af6 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 1 Jul 2016 22:09:24 +0100 -Subject: [PATCH 013/150] spi-bcm2835: Disable forced software CS +Subject: [PATCH 013/156] spi-bcm2835: Disable forced software CS Select software CS in bcm2708_common.dtsi, and disable the automatic conversion in the driver to allow hardware CS to be re-enabled with an @@ -807,10 +807,10 @@ index 5dfe20ffc2866fa6789825016c585175a29705b6..8493474d286f7a1ac6454a22c61c8c2c return 0; } -From 8768e60197263066353fe5192ec8c93e9608c9aa Mon Sep 17 00:00:00 2001 +From 23b3acdbba4f2130d43465d12d3a076756a94c0c Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 8 Nov 2016 21:35:38 +0000 -Subject: [PATCH 014/150] spi-bcm2835: Remove unused code +Subject: [PATCH 014/156] spi-bcm2835: Remove unused code --- drivers/spi/spi-bcm2835.c | 61 ----------------------------------------------- @@ -898,10 +898,10 @@ index 8493474d286f7a1ac6454a22c61c8c2cef9121bf..33d75ad38a7f77d085321ace9101900a } -From 466148b5153f8f693d23b140e4e58e38be0df322 Mon Sep 17 00:00:00 2001 +From 7bfd695dfb10eaee080ed145a73861452f9983ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Wed, 3 Jun 2015 12:26:13 +0200 -Subject: [PATCH 015/150] ARM: bcm2835: Set Serial number and Revision +Subject: [PATCH 015/156] ARM: bcm2835: Set Serial number and Revision MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -954,10 +954,10 @@ index 0c1edfc98696da0e0bb7f4a18cdfbcdd27a9795d..8f152266ba9b470df2eaaed9ebcf158e static const char * const bcm2835_compat[] = { -From 678f7d42376022e050a14558b2e1cb735e3bc4b9 Mon Sep 17 00:00:00 2001 +From 4459e2d28a831d0668c7b9b476df320dbd735a62 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Sat, 3 Oct 2015 22:22:55 +0200 -Subject: [PATCH 016/150] dmaengine: bcm2835: Load driver early and support +Subject: [PATCH 016/156] dmaengine: bcm2835: Load driver early and support legacy API MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -1060,10 +1060,10 @@ index 6204cc32d09c5096df8aec304c3c37b3bcb6be44..599c218dc8a73172dd4bd4a058fc8f95 MODULE_ALIAS("platform:bcm2835-dma"); MODULE_DESCRIPTION("BCM2835 DMA engine driver"); -From c1014845fbcff5f684b4aaca4015908200f1a361 Mon Sep 17 00:00:00 2001 +From 1bf1b175436e707b2fc6d31e100b4956c0cd8c46 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 25 Jan 2016 17:25:12 +0000 -Subject: [PATCH 017/150] firmware: Updated mailbox header +Subject: [PATCH 017/156] firmware: Updated mailbox header --- include/soc/bcm2835/raspberrypi-firmware.h | 21 +++++++++++++++++++++ @@ -1149,10 +1149,10 @@ index cb979ad90401e299344dd5fae38d09c489d8bd58..cbd1674570433fc591df89f68c892b33 #endif /* __SOC_RASPBERRY_FIRMWARE_H__ */ -From 6e87c497d13d1b285c9e3989105217bead4dd7ed Mon Sep 17 00:00:00 2001 +From a20624bc88e37ed706364207cd9a5338bac74f52 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 15 Jun 2016 16:48:41 +0100 -Subject: [PATCH 018/150] rtc: Add SPI alias for pcf2123 driver +Subject: [PATCH 018/156] rtc: Add SPI alias for pcf2123 driver Without this alias, Device Tree won't cause the driver to be loaded. @@ -1172,10 +1172,10 @@ index 8895f77726e8da5444afcd602dceff8f25a9b3fd..1833b8853ceb0e6147cceb93a00e558c MODULE_LICENSE("GPL"); +MODULE_ALIAS("spi:rtc-pcf2123"); -From ce56c212277e28c48118228720c9d36498395bd5 Mon Sep 17 00:00:00 2001 +From 2dbe0076815d6084a9576adecd67e58632972567 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Fri, 7 Oct 2016 16:50:59 +0200 -Subject: [PATCH 019/150] watchdog: bcm2835: Support setting reboot partition +Subject: [PATCH 019/156] watchdog: bcm2835: Support setting reboot partition MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -1277,10 +1277,10 @@ index b339e0e67b4c1275fd4992fea4f1e24c0575b783..26b7177573fac2af1cd4ab5488d2686f static int bcm2835_wdt_probe(struct platform_device *pdev) -From 7df6349cce828fa5c1dac9b0aa65e2a1fb7d61d4 Mon Sep 17 00:00:00 2001 +From 29d1a79a9e57322275076f1f1890edcb81d49f35 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 5 Apr 2016 19:40:12 +0100 -Subject: [PATCH 020/150] reboot: Use power off rather than busy spinning when +Subject: [PATCH 020/156] reboot: Use power off rather than busy spinning when halt is requested --- @@ -1303,10 +1303,10 @@ index 3b2aa9a9fe268d45335f781c4aa22cf573753a1b..0180d89a34af45c56243fe0f17fbe209 /* -From afe2fbc9da6a4a54b186bb4bac28f4abc6243d7c Mon Sep 17 00:00:00 2001 +From 9d23bac22f192d704a01e9b033cde91c480ce23e Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 9 Nov 2016 13:02:52 +0000 -Subject: [PATCH 021/150] bcm: Make RASPBERRYPI_POWER depend on PM +Subject: [PATCH 021/156] bcm: Make RASPBERRYPI_POWER depend on PM --- drivers/soc/bcm/Kconfig | 1 + @@ -1325,10 +1325,10 @@ index 49f1e2a75d614bc21db152327c7b425ae2504f8d..dccd2374ed00631abd441e3e9d78ee74 help This enables support for the RPi power domains which can be enabled -From 1559dc55b9be8e313b08897078f6359f071a8a7c Mon Sep 17 00:00:00 2001 +From 321264163a4d87e7ab1a31c87f369c8ba7b23599 Mon Sep 17 00:00:00 2001 From: Martin Sperl Date: Fri, 2 Sep 2016 16:45:27 +0100 -Subject: [PATCH 022/150] Register the clocks early during the boot process, so +Subject: [PATCH 022/156] Register the clocks early during the boot process, so that special/critical clocks can get enabled early on in the boot process avoiding the risk of disabling a clock, pll_divider or pll when a claiming driver fails to install propperly - maybe it needs to defer. @@ -1373,10 +1373,10 @@ index 58ce6af8452db9ca8b4d3c380a06e448919f6a8d..11d89d106026f15719ea25047d6f357b MODULE_AUTHOR("Eric Anholt "); MODULE_DESCRIPTION("BCM2835 clock driver"); -From 86e2d53024e5ff00f6cf9f2fb4b47d8c7d0fbb1d Mon Sep 17 00:00:00 2001 +From a4effe7b54bd5d37d33237050e8dfdc3a006fd19 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 6 Dec 2016 17:05:39 +0000 -Subject: [PATCH 023/150] bcm2835-rng: Avoid initialising if already enabled +Subject: [PATCH 023/156] bcm2835-rng: Avoid initialising if already enabled Avoids the 0x40000 cycles of warmup again if firmware has already used it --- @@ -1402,10 +1402,10 @@ index 574211a495491d9d6021dcaefe4274a63ed02055..e66c0fca8c6090e32f72796c0877a1cf err = hwrng_register(&bcm2835_rng_ops); if (err) { -From a69045939a89f6abeddbb2d78c18d950ad714714 Mon Sep 17 00:00:00 2001 +From 68f2f4badc48c65d4a79f98558f57998b04c9ae5 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 24 Aug 2016 16:28:44 +0100 -Subject: [PATCH 024/150] kbuild: Ignore dtco targets when filtering symbols +Subject: [PATCH 024/156] kbuild: Ignore dtco targets when filtering symbols --- scripts/Kbuild.include | 2 +- @@ -1425,10 +1425,10 @@ index 9ffd3dda3889c56a7a72229bed21ff5c49d62856..00da6c9bacbf33334233e22ca5209ade esac | tr ";" "\n" | sed -rn 's/^.*=== __KSYM_(.*) ===.*$$/KSYM_\1/p' -From e272265844f9e4969ae89b5c001e61cae562e4e7 Mon Sep 17 00:00:00 2001 +From 8640ab81e01ce41ade97b335eebddb83d727940e Mon Sep 17 00:00:00 2001 From: Robert Tiemann Date: Mon, 20 Jul 2015 11:01:25 +0200 -Subject: [PATCH 025/150] BCM2835_DT: Fix I2S register map +Subject: [PATCH 025/156] BCM2835_DT: Fix I2S register map --- Documentation/devicetree/bindings/dma/brcm,bcm2835-dma.txt | 4 ++-- @@ -1466,10 +1466,10 @@ index 65783de0aedf3da79adc36fd077b7a89954ddb6b..a89fe4220fdc3f26f75ee66daf187554 dmas = <&dma 2>, <&dma 3>; -From 07419d735960d6be6fcc0fa067a54169c765f808 Mon Sep 17 00:00:00 2001 +From 56eeb37400267ca0d36efb6458d5a38b9178995a Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 13 Feb 2017 17:20:08 +0000 -Subject: [PATCH 026/150] clk-bcm2835: Mark used PLLs and dividers CRITICAL +Subject: [PATCH 026/156] clk-bcm2835: Mark used PLLs and dividers CRITICAL The VPU configures and relies on several PLLs and dividers. Mark all enabled dividers and their PLLs as CRITICAL to prevent the kernel from @@ -1497,10 +1497,10 @@ index 11d89d106026f15719ea25047d6f357b4bfcb2c5..fe8f5d65f2749cb3ddc878df61664826 divider->data = data; -From d7e0434297b0330f0b7e81c0f877e4a30e5915a3 Mon Sep 17 00:00:00 2001 +From cbc388323525cd53dfd51a5d932d7319d2bceeab Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 13 Feb 2017 17:20:08 +0000 -Subject: [PATCH 027/150] clk-bcm2835: Add claim-clocks property +Subject: [PATCH 027/156] clk-bcm2835: Add claim-clocks property The claim-clocks property can be used to prevent PLLs and dividers from being marked as critical. It contains a vector of clock IDs, @@ -1602,10 +1602,10 @@ index fe8f5d65f2749cb3ddc878df616648267441e0ee..92b5e0f5145b32d3bfc3592fe381e8be sizeof(cprman_parent_names)); of_clk_parent_fill(dev->of_node, cprman->real_parent_names, -From d1e38465fccff99695fed6564180abe9c3739ac1 Mon Sep 17 00:00:00 2001 +From f73acf735e77f6128c689734618e969f79dd1885 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 6 Mar 2017 09:06:18 +0000 -Subject: [PATCH 028/150] clk-bcm2835: Read max core clock from firmware +Subject: [PATCH 028/156] clk-bcm2835: Read max core clock from firmware The VPU is responsible for managing the core clock, usually under direction from the bcm2835-cpufreq driver but not via the clk-bcm2835 @@ -1720,10 +1720,10 @@ index 92b5e0f5145b32d3bfc3592fe381e8be3cd90c72..336f8c9c44325d0a94e591a8557f7af2 for (i = 0; !of_property_read_u32_index(pdev->dev.of_node, "claim-clocks", -From 5b01710cb8dfa475b801da5667d3e545c3b9eabd Mon Sep 17 00:00:00 2001 +From 195917b2219c284543d57dc4b15d5f1eb87f0c7e Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 9 May 2016 17:28:18 -0700 -Subject: [PATCH 029/150] clk: bcm2835: Mark GPIO clocks enabled at boot as +Subject: [PATCH 029/156] clk: bcm2835: Mark GPIO clocks enabled at boot as critical. These divide off of PLLD_PER and are used for the ethernet and wifi @@ -1761,10 +1761,10 @@ index 336f8c9c44325d0a94e591a8557f7af246adc857..caa05e5ad0b7b5cd683e04fb3591a3df * Pass the CLK_SET_RATE_PARENT flag if we are allowed to propagate * rate changes on at least of the parents. -From 7e5626a8c0fe6381939ce7ce295d00db17506e8e Mon Sep 17 00:00:00 2001 +From c71c0ebb1d61fc99cfd09cd8a91715d7b39ef14c Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 9 Feb 2017 14:36:44 +0000 -Subject: [PATCH 030/150] sound: Demote deferral errors to INFO level +Subject: [PATCH 030/156] sound: Demote deferral errors to INFO level At present there is no mechanism to specify driver load order, which can lead to deferrals and repeated retries until successful. @@ -1799,10 +1799,10 @@ index fee4b0ef5566cf9e8de0bf5c568706da9cab2ea2..c728a4148903e983d61b6ae65765ba11 goto _err_defer; } -From c31974df585f99143f3315fae41277101fde6eec Mon Sep 17 00:00:00 2001 +From c569310d249d1e970501449d500e986a45ecfc5e Mon Sep 17 00:00:00 2001 From: Claggy3 Date: Sat, 11 Feb 2017 14:00:30 +0000 -Subject: [PATCH 031/150] Update vfpmodule.c +Subject: [PATCH 031/156] Update vfpmodule.c Christopher Alexander Tobias Schulze - May 2, 2015, 11:57 a.m. This patch fixes a problem with VFP state save and restore related @@ -1939,10 +1939,10 @@ index a71a48e71fffa8626fe90106815376c44bbe679b..d6c0a5a0a5ae3510db3ace5e3f5d3410 /* * Save the userland NEON/VFP state. Under UP, -From 5027f5a3257d195f37bcc2d37f47ad13674887cf Mon Sep 17 00:00:00 2001 +From 1810300a6150e3fda9025d354b93b06e791e60ee Mon Sep 17 00:00:00 2001 From: Matt Flax Date: Wed, 8 Mar 2017 21:13:24 +1100 -Subject: [PATCH 032/150] ASoC: bcm2835_i2s.c: relax the ch2 register setting +Subject: [PATCH 032/156] ASoC: bcm2835_i2s.c: relax the ch2 register setting for 8 channels This patch allows ch2 registers to be set for 8 channels of audio. @@ -1963,10 +1963,10 @@ index 6ba20498202ed36906b52096893a88867a79269f..56df7d8a43d0aac055a91b0d24aca8e1 format |= BCM2835_I2S_CH1(BCM2835_I2S_CHPOS(ch1pos)); format |= BCM2835_I2S_CH2(BCM2835_I2S_CHPOS(ch2pos)); -From 3c0f304e892dc4b25ecac71838db719c6cf753b4 Mon Sep 17 00:00:00 2001 +From 14414793647862240b41d92e060bf544da028869 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Tue, 1 Nov 2016 15:15:41 +0100 -Subject: [PATCH 033/150] i2c: bcm2835: Add debug support +Subject: [PATCH 033/156] i2c: bcm2835: Add debug support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -2155,10 +2155,10 @@ index cd07a69e2e9355540442785f95e90823b05c9d10..47167f403cc8329bd811b47c7011c299 if (i2c_dev->msg_err & BCM2835_I2C_S_ERR) return -EREMOTEIO; -From f6af6c3f1d80e1c90c7b5300a48cf9375bbcdddb Mon Sep 17 00:00:00 2001 +From 928822666a337539431f52f3c9f1e891824406c5 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 18 Dec 2014 16:07:15 -0800 -Subject: [PATCH 034/150] mm: Remove the PFN busy warning +Subject: [PATCH 034/156] mm: Remove the PFN busy warning See commit dae803e165a11bc88ca8dbc07a11077caf97bbcb -- the warning is expected sometimes when using CMA. However, that commit still spams @@ -2183,10 +2183,10 @@ index d51c2087c498c63f3f515d2931e42b5110efb62f..fd094c36e26c712d7537b16aa547d3e8 goto done; } -From 7f02844d849b8ef0a237818b8e53ab1d6bcfc284 Mon Sep 17 00:00:00 2001 +From a2df686515eff3783a9f093ecdec65f4de7f3717 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 23 Mar 2017 10:06:56 +0000 -Subject: [PATCH 035/150] ASoC: Add prompt for ICS43432 codec +Subject: [PATCH 035/156] ASoC: Add prompt for ICS43432 codec Without a prompt string, a config setting can't be included in a defconfig. Give CONFIG_SND_SOC_ICS43432 a prompt so that Pi soundcards @@ -2211,10 +2211,10 @@ index c367d11079bc90feec2ad0fa748d7ffc3035faba..91d5b531b69b49db97f7febbc60d33a2 config SND_SOC_INNO_RK3036 tristate "Inno codec driver for RK3036 SoC" -From 32db47fcf84f7eebaacf50da29680ac48dc71b0a Mon Sep 17 00:00:00 2001 +From e5c0d06f8dda015729b4677f262de672a7e56253 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sun, 12 May 2013 12:24:19 +0100 -Subject: [PATCH 036/150] Main bcm2708/bcm2709 linux port +Subject: [PATCH 036/156] Main bcm2708/bcm2709 linux port MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -2402,10 +2402,10 @@ index cfb4b4496dd9f61362dea012176c146120fada07..d9c6c217c4d6a2408abe2665bf7f2700 MODULE_AUTHOR("Lubomir Rintel "); MODULE_DESCRIPTION("BCM2835 mailbox IPC driver"); -From 8ba530eaad77b1d026d3e1b17fc57964047d4ee1 Mon Sep 17 00:00:00 2001 +From 6b811eb961fc8ee4b32c9d4b0ce1895262865ea3 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 1 May 2013 19:46:17 +0100 -Subject: [PATCH 037/150] Add dwc_otg driver +Subject: [PATCH 037/156] Add dwc_otg driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -3252,10 +3252,10 @@ index bd3e0c5a6db25e7a162d922c6508de1ad0b68025..15c80079c97bb9eeec478932af88a293 return i; } diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c -index e9ce6bb0b22d15587efaff059b3c5c2c29681430..927b15aca2bbed51c221b151902b402cf53fad59 100644 +index 8f7d94239ee3e314780d9fe52ba8cf204ded3eaa..0adad9e31719ac974ee7931e2f83f30a36c43f11 100644 --- a/drivers/usb/core/hub.c +++ b/drivers/usb/core/hub.c -@@ -5055,7 +5055,7 @@ static void port_event(struct usb_hub *hub, int port1) +@@ -5064,7 +5064,7 @@ static void port_event(struct usb_hub *hub, int port1) if (portchange & USB_PORT_STAT_C_OVERCURRENT) { u16 status = 0, unused; @@ -63702,10 +63702,10 @@ index 0000000000000000000000000000000000000000..cdc9963176e5a4a0d5250613b61e26c5 +test_main(); +0; -From 872850d2836f7138725b8b92cf92059e6fc1fa71 Mon Sep 17 00:00:00 2001 +From 62e8030e639ca93fdd156434fa4b9c4d87df49b5 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 17 Jun 2015 17:06:34 +0100 -Subject: [PATCH 038/150] bcm2708 framebuffer driver +Subject: [PATCH 038/156] bcm2708 framebuffer driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -67164,10 +67164,10 @@ index 3c14e43b82fefe1d32f591d1b2f61d2cd28d0fa8..7626beb6a5bb8df601ddf0f6e6909d1f +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 -From fd606c7e1e43996d54eb68367f1cb040b8c93be2 Mon Sep 17 00:00:00 2001 +From 1f1fb9db16b2469b6f85c838411c6c82294ddd6a Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Fri, 22 Nov 2013 14:22:53 +0100 -Subject: [PATCH 039/150] dmaengine: Add support for BCM2708 +Subject: [PATCH 039/156] dmaengine: Add support for BCM2708 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -67798,10 +67798,10 @@ index 0000000000000000000000000000000000000000..c5bfff2765be4606077e6c8af73040ec + +#endif /* _PLAT_BCM2708_DMA_H */ -From 29e61056ab4db393ca9c04744187afbf052e25a0 Mon Sep 17 00:00:00 2001 +From c5978cf87ec8a54135cf156d30660230e5c20b3a Mon Sep 17 00:00:00 2001 From: gellert Date: Fri, 15 Aug 2014 16:35:06 +0100 -Subject: [PATCH 040/150] MMC: added alternative MMC driver +Subject: [PATCH 040/156] MMC: added alternative MMC driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -68007,10 +68007,10 @@ index ad88deb2e8f3b046838a3539841717951c33a6c6..2b424604e17161400b9002eeb2e836e4 kfree(host); return NULL; diff --git a/drivers/mmc/core/quirks.h b/drivers/mmc/core/quirks.h -index f664e9cbc9f8b66aa9f4f3c8fdd55882d99c8c79..baf123718acd934536a97cc9032b98b0e581a47b 100644 +index 75d317623852dc9f55586e41a176311a48144e1d..5f38d6a85b8568b5208643112430a86e27443ab8 100644 --- a/drivers/mmc/core/quirks.h +++ b/drivers/mmc/core/quirks.h -@@ -91,6 +91,14 @@ static const struct mmc_fixup mmc_blk_fixups[] = { +@@ -99,6 +99,14 @@ static const struct mmc_fixup mmc_blk_fixups[] = { MMC_FIXUP("V10016", CID_MANFID_KINGSTON, CID_OEMID_ANY, add_quirk_mmc, MMC_QUIRK_TRIM_BROKEN), @@ -69681,10 +69681,10 @@ index 279b39008a33bb68745d9ea55ea5dd7ed522fd1c..49bdea5791a289251019a89419804dde unsigned int erase_size; /* erase size in sectors */ -From 67761e736056d365817aad7a4a023ec2f7d555e6 Mon Sep 17 00:00:00 2001 +From 39c43fc145cae70882e3e3488290c84b87dcaeae Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 25 Mar 2015 17:49:47 +0000 -Subject: [PATCH 041/150] Adding bcm2835-sdhost driver, and an overlay to +Subject: [PATCH 041/156] Adding bcm2835-sdhost driver, and an overlay to enable it BCM2835 has two SD card interfaces. This driver uses the other one. @@ -72090,10 +72090,10 @@ index 0000000000000000000000000000000000000000..9c6f199a7830959f31012d86bc1f8b1a +MODULE_LICENSE("GPL v2"); +MODULE_AUTHOR("Phil Elwell"); -From 63d4b77c65c02e0b2b787cd8be17801e1dfd6ea1 Mon Sep 17 00:00:00 2001 +From 5a859b5d42cd44e7188dbf6acac2223db98f0314 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 28 Oct 2016 15:36:43 +0100 -Subject: [PATCH 042/150] vc_mem: Add vc_mem driver for querying firmware +Subject: [PATCH 042/156] vc_mem: Add vc_mem driver for querying firmware memory addresses MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -72618,10 +72618,10 @@ index 0000000000000000000000000000000000000000..20a475377eb3078ea1ecaef2b24efc35 + +#endif /* _VC_MEM_H */ -From 10d02e7028b532da989a2f5136c737e8da846504 Mon Sep 17 00:00:00 2001 +From 9532a0d9fa463fd619def308b7bf42242f7aed94 Mon Sep 17 00:00:00 2001 From: Tim Gover Date: Tue, 22 Jul 2014 15:41:04 +0100 -Subject: [PATCH 043/150] vcsm: VideoCore shared memory service for BCM2835 +Subject: [PATCH 043/156] vcsm: VideoCore shared memory service for BCM2835 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -77499,10 +77499,10 @@ index 0000000000000000000000000000000000000000..b75729d762f25aace133f7a008633b40 + +#endif /* __VMCS_SM_IOCTL_H__INCLUDED__ */ -From 4cace99d220bc57da87636b12a40cd92cf4b1b05 Mon Sep 17 00:00:00 2001 +From 2353792af28878cabd4dd7bfb6e88a479625f1a7 Mon Sep 17 00:00:00 2001 From: Luke Wren Date: Fri, 21 Aug 2015 23:14:48 +0100 -Subject: [PATCH 044/150] Add /dev/gpiomem device for rootless user GPIO access +Subject: [PATCH 044/156] Add /dev/gpiomem device for rootless user GPIO access Signed-off-by: Luke Wren @@ -77810,10 +77810,10 @@ index 0000000000000000000000000000000000000000..f5e7f1ba8fb6f18dee77fad06a17480c +MODULE_DESCRIPTION("gpiomem driver for accessing GPIO from userspace"); +MODULE_AUTHOR("Luke Wren "); -From 9ebc192262ac457afdf23ebafaa1c6978c598ff7 Mon Sep 17 00:00:00 2001 +From 1df83a13e38a1e11488f14149e090adc34b29f18 Mon Sep 17 00:00:00 2001 From: Luke Wren Date: Sat, 5 Sep 2015 01:14:45 +0100 -Subject: [PATCH 045/150] Add SMI driver +Subject: [PATCH 045/156] Add SMI driver Signed-off-by: Luke Wren --- @@ -79764,10 +79764,10 @@ index 0000000000000000000000000000000000000000..ee3a75edfc033eeb0d90a687ffb68b10 + +#endif /* BCM2835_SMI_H */ -From 940e1644d707b301d9cb75349039f144e2e2aca6 Mon Sep 17 00:00:00 2001 +From 1d94ec2cc547bb401165d21361065a72146bda2f Mon Sep 17 00:00:00 2001 From: Martin Sperl Date: Tue, 26 Apr 2016 14:59:21 +0000 -Subject: [PATCH 046/150] MISC: bcm2835: smi: use clock manager and fix reload +Subject: [PATCH 046/156] MISC: bcm2835: smi: use clock manager and fix reload issues Use clock manager instead of self-made clockmanager. @@ -79936,10 +79936,10 @@ index 63a4ea08b9930a3a31a985f0a1d969b488ed49ec..1261540703127d1d63b9f3c87042c6e5 return 0; } -From e1ea61ef1b44194d1f733f0ca9e5cda296d3bd48 Mon Sep 17 00:00:00 2001 +From b8a743e8eee44e5b30592abd0d54a3d0c5afc753 Mon Sep 17 00:00:00 2001 From: Luke Wren Date: Sat, 5 Sep 2015 01:16:10 +0100 -Subject: [PATCH 047/150] Add SMI NAND driver +Subject: [PATCH 047/156] Add SMI NAND driver Signed-off-by: Luke Wren --- @@ -80304,10 +80304,10 @@ index 0000000000000000000000000000000000000000..c4826ea1c2bae555ce780e61f1076ddd + ("Driver for NAND chips using Broadcom Secondary Memory Interface"); +MODULE_AUTHOR("Luke Wren "); -From ebb9e3e9e9cdf636c1a796ba55ee2ab6b2fb4156 Mon Sep 17 00:00:00 2001 +From cbda011089d3714435c827b48e4e5dded33a8cb3 Mon Sep 17 00:00:00 2001 From: Aron Szabo Date: Sat, 16 Jun 2012 12:15:55 +0200 -Subject: [PATCH 048/150] lirc: added support for RaspberryPi GPIO +Subject: [PATCH 048/156] lirc: added support for RaspberryPi GPIO lirc_rpi: Use read_current_timer to determine transmitter delay. Thanks to jjmz and others See: https://github.com/raspberrypi/linux/issues/525 @@ -81167,10 +81167,10 @@ index 0000000000000000000000000000000000000000..fb69624ccef00ddbdccf8256d6baf1b1 + +#endif -From 24bdb523756494d478cc8bed0698e017a3f76f05 Mon Sep 17 00:00:00 2001 +From 15fd797651ad28da87939f23a37a00abcee720b7 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 3 Jul 2013 00:49:20 +0100 -Subject: [PATCH 049/150] Add cpufreq driver +Subject: [PATCH 049/156] Add cpufreq driver Signed-off-by: popcornmix @@ -81434,10 +81434,10 @@ index 0000000000000000000000000000000000000000..99345969b0e4d651fd9033d67de2febb +module_init(bcm2835_cpufreq_module_init); +module_exit(bcm2835_cpufreq_module_exit); -From 6cc62aa01af785d1727b22497a42a94aad415e97 Mon Sep 17 00:00:00 2001 +From dcaf9efdeae0aabc2dca9d7c8e8fb2ab480cbbd3 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 17 Jun 2015 15:44:08 +0100 -Subject: [PATCH 050/150] Add Chris Boot's i2c driver +Subject: [PATCH 050/156] Add Chris Boot's i2c driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -82102,10 +82102,10 @@ index 0000000000000000000000000000000000000000..962f2e5c7455d91bf32925d785f5f16b +MODULE_LICENSE("GPL v2"); +MODULE_ALIAS("platform:" DRV_NAME); -From bf72782e67afc065841d1cba7cc825616eb76e45 Mon Sep 17 00:00:00 2001 +From 5619cefc11e86117c3b5e9bf9ba648c732423ab0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Fri, 26 Jun 2015 14:27:06 +0200 -Subject: [PATCH 051/150] char: broadcom: Add vcio module +Subject: [PATCH 051/156] char: broadcom: Add vcio module MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -82330,10 +82330,10 @@ index 0000000000000000000000000000000000000000..c19bc2075c77879563ef5e59038b5a14 +MODULE_DESCRIPTION("Mailbox userspace access"); +MODULE_LICENSE("GPL"); -From d1bb99482eaf23c751c41b6f7ceabcf345e6af24 Mon Sep 17 00:00:00 2001 +From d9ef0aadf1aab86a823f99de4722ecb80ff1bda4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Fri, 26 Jun 2015 14:25:01 +0200 -Subject: [PATCH 052/150] firmware: bcm2835: Support ARCH_BCM270x +Subject: [PATCH 052/156] firmware: bcm2835: Support ARCH_BCM270x MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -82416,10 +82416,10 @@ index dd506cd3a5b874f9e1acd07efb8cd151bb6145d1..3f070bd38a91511c986e3fb114b15bd4 MODULE_AUTHOR("Eric Anholt "); MODULE_DESCRIPTION("Raspberry Pi firmware driver"); -From 2ad67a7989f7d7ea4bfcecc1f647b881c79243c1 Mon Sep 17 00:00:00 2001 +From 479b55d64371c5ddcdeb1af08f3ecb3aa40ef58f Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 11 May 2015 09:00:42 +0100 -Subject: [PATCH 053/150] scripts: Add mkknlimg and knlinfo scripts from tools +Subject: [PATCH 053/156] scripts: Add mkknlimg and knlinfo scripts from tools repo The Raspberry Pi firmware looks for a trailer on the kernel image to @@ -82946,10 +82946,10 @@ index 0000000000000000000000000000000000000000..84be2593ec1de8f97b0167ff06b3e05d + return $trailer; +} -From d5045ca293e4c956ea9a0d345f9d67cc6411a4ec Mon Sep 17 00:00:00 2001 +From e10f56a0f5b9c959f3d46b261aebc913f4c9eee6 Mon Sep 17 00:00:00 2001 From: notro Date: Wed, 9 Jul 2014 14:46:08 +0200 -Subject: [PATCH 054/150] BCM2708: Add core Device Tree support +Subject: [PATCH 054/156] BCM2708: Add core Device Tree support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -95414,10 +95414,10 @@ index 04b5633df1cfafa316f9086c4bf98a9ecf9d0939..d523d1e14220a369c4c766ca3a01208e # Bzip2 -From f251fcf745aba535ed4a942d520d644da5e6050c Mon Sep 17 00:00:00 2001 +From eb15bc53f15bf549a158519e8798817f47597964 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 6 Feb 2015 13:50:57 +0000 -Subject: [PATCH 055/150] BCM270x_DT: Add pwr_led, and the required "input" +Subject: [PATCH 055/156] BCM270x_DT: Add pwr_led, and the required "input" trigger The "input" trigger makes the associated GPIO an input. This is to support @@ -95592,10 +95592,10 @@ index bf6db4fe895bcd67e04ee65e8f76ea104af6299f..8741dca6dba65e2d72fbdbc1702139c2 /* set_brightness_work / blink_timer flags, atomic, private. */ unsigned long work_flags; -From 143690a1aa97db9ac343e58a1bb656057777b0be Mon Sep 17 00:00:00 2001 +From ca45404307f86dcf0bbe702bfc9435ac16d4ef67 Mon Sep 17 00:00:00 2001 From: Siarhei Siamashka Date: Mon, 17 Jun 2013 13:32:11 +0300 -Subject: [PATCH 056/150] fbdev: add FBIOCOPYAREA ioctl +Subject: [PATCH 056/156] fbdev: add FBIOCOPYAREA ioctl Based on the patch authored by Ali Gholami Rudi at https://lkml.org/lkml/2009/7/13/153 @@ -95863,10 +95863,10 @@ index 6cd9b198b7c64eb94821f2e3f2c5201e6c6d25eb..f36c92c2da7487437c33f7a4e2c6e09e __u32 dx; /* screen-relative */ __u32 dy; -From 145bfac8fd6d4b77703f4fea9db90e183e99959e Mon Sep 17 00:00:00 2001 +From a19e8f68eaed63a6297a697f31aeea2d262ac8b2 Mon Sep 17 00:00:00 2001 From: Harm Hanemaaijer Date: Thu, 20 Jun 2013 20:21:39 +0200 -Subject: [PATCH 057/150] Speed up console framebuffer imageblit function +Subject: [PATCH 057/156] Speed up console framebuffer imageblit function Especially on platforms with a slower CPU but a relatively high framebuffer fill bandwidth, like current ARM devices, the existing @@ -96075,10 +96075,10 @@ index a2bb276a8b2463eee98eb237c4647bc00cd93601..436494fba15abecb400ef28688466faf start_index, pitch_index); } else -From 3ee8a840abd103731fd182136d4c7d518f599ac1 Mon Sep 17 00:00:00 2001 +From a104e8132c806ca65c5306f6086e461bd7b06bd1 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 8 May 2013 11:46:50 +0100 -Subject: [PATCH 058/150] enabling the realtime clock 1-wire chip DS1307 and +Subject: [PATCH 058/156] enabling the realtime clock 1-wire chip DS1307 and 1-wire on GPIO4 (as a module) 1-wire: Add support for configuring pin for w1-gpio kernel module @@ -96328,10 +96328,10 @@ index 5b2972946dda5f9ad415f1eaeaab67743a5cc0f0..b3558b7c9efb2484b40e31312aee197b u8, w1_slave_found_callback); }; -From 35a38cca06018a45a1a07c527071b2e9dfba1afe Mon Sep 17 00:00:00 2001 +From 6e0a7d053aadba60d84d57d922118b1721f48db9 Mon Sep 17 00:00:00 2001 From: Gordon Hollingworth Date: Tue, 12 May 2015 14:47:56 +0100 -Subject: [PATCH 059/150] rpi-ft5406: Add touchscreen driver for pi LCD display +Subject: [PATCH 059/156] rpi-ft5406: Add touchscreen driver for pi LCD display Fix driver detection failure Check that the buffer response is non-zero meaning the touchscreen was detected @@ -96676,10 +96676,10 @@ index 0000000000000000000000000000000000000000..9d7d05482355d168c5c0c42508cd9789 +MODULE_DESCRIPTION("Touchscreen driver for memory based FT5406"); +MODULE_LICENSE("GPL"); -From 3c2ed6c46544685d43ca58dab17c19ea903485b0 Mon Sep 17 00:00:00 2001 +From ce8e1e6beb5a0ff2a19c4401e212f1ac630edb2a Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 28 Nov 2016 16:50:04 +0000 -Subject: [PATCH 060/150] Improve __copy_to_user and __copy_from_user +Subject: [PATCH 060/156] Improve __copy_to_user and __copy_from_user performance Provide a __copy_from_user that uses memcpy. On BCM2708, use @@ -98259,10 +98259,10 @@ index 971bc298f63eeeed418131b7b7200ac91b0d73f1..78e9f6e8c6fdebdb754cb703095d1726 bool "Broadcom BCM63xx DSL SoC" depends on ARCH_MULTI_V7 -From 57a40c04b96521d6ff87a9447747205e19c89964 Mon Sep 17 00:00:00 2001 +From d9d3b795cd9df97f3af02a26b871bb2a60333329 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 25 Jun 2015 12:16:11 +0100 -Subject: [PATCH 061/150] gpio-poweroff: Allow it to work on Raspberry Pi +Subject: [PATCH 061/156] gpio-poweroff: Allow it to work on Raspberry Pi The Raspberry Pi firmware manages the power-down and reboot process. To do this it installs a pm_power_off handler, causing @@ -98297,10 +98297,10 @@ index be3d81ff51cc3f510d85e4eed7a52960e51e7bc1..a030ae9fb1fca325061c093696e82186 "%s: pm_power_off function already registered", __func__); -From 616a13de2876122ecb63d590f43b3286ef2ba1ed Mon Sep 17 00:00:00 2001 +From 014aa3731d98f27689a839e7a906254a2429b2e9 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 14 Jul 2015 14:32:47 +0100 -Subject: [PATCH 062/150] mfd: Add Raspberry Pi Sense HAT core driver +Subject: [PATCH 062/156] mfd: Add Raspberry Pi Sense HAT core driver --- drivers/input/joystick/Kconfig | 8 + @@ -99165,10 +99165,10 @@ index 0000000000000000000000000000000000000000..56196dc2af10e464a1e3f98b028dca1c + +#endif -From 6cbb48af13feb9b2aba7fc9345f75604d2599020 Mon Sep 17 00:00:00 2001 +From 5ef2bfd587ebc15bfdebf367952c4b2b2433239b Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Fri, 22 Nov 2013 19:19:08 +0100 -Subject: [PATCH 063/150] ASoC: Add support for HifiBerry DAC +Subject: [PATCH 063/156] ASoC: Add support for HifiBerry DAC This adds a machine driver for the HifiBerry DAC. It is a sound card that can @@ -99343,10 +99343,10 @@ index 0000000000000000000000000000000000000000..ee9f133953544629282631e5ef3f73fe +MODULE_DESCRIPTION("ASoC Driver for HifiBerry DAC"); +MODULE_LICENSE("GPL v2"); -From ad3343c8126a2bdcf5ecc74364d60864227c2050 Mon Sep 17 00:00:00 2001 +From f26ccc628d4257c0fde732a1bb91597914cc08d6 Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Mon, 25 Jan 2016 15:48:59 +0000 -Subject: [PATCH 064/150] ASoC: Add support for Rpi-DAC +Subject: [PATCH 064/156] ASoC: Add support for Rpi-DAC --- sound/soc/bcm/Kconfig | 7 +++ @@ -99630,10 +99630,10 @@ index 0000000000000000000000000000000000000000..afe1b419582aa40c4b2729d242bb13cd +MODULE_AUTHOR("Florian Meier "); +MODULE_LICENSE("GPL v2"); -From 86c71d07b34665c1228abceaafee87c6a0529061 Mon Sep 17 00:00:00 2001 +From 7f689c35cb67718bf21b9ebf2b1169979b272b20 Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Wed, 15 Jan 2014 21:41:23 +0100 -Subject: [PATCH 065/150] ASoC: wm8804: Implement MCLK configuration options, +Subject: [PATCH 065/156] ASoC: wm8804: Implement MCLK configuration options, add 32bit support WM8804 can run with PLL frequencies of 256xfs and 128xfs for most sample rates. At 192kHz only 128xfs is supported. The existing driver selects 128xfs automatically for some lower samples rates. By using an @@ -99682,10 +99682,10 @@ index fc69b87443d80489382b97332de6d5ad12a58ec8..d8fdce81b297dcf02e144bdead0c6193 .component_driver = { .dapm_widgets = wm8804_dapm_widgets, -From e78eb58f05cb4c4f4dda46617be1ea1e92a17455 Mon Sep 17 00:00:00 2001 +From ae0816c5184a8ed1e31ce7c6ac9112f255c545e8 Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Wed, 15 Jan 2014 21:42:08 +0100 -Subject: [PATCH 066/150] ASoC: BCM:Add support for HiFiBerry Digi. Driver is +Subject: [PATCH 066/156] ASoC: BCM:Add support for HiFiBerry Digi. Driver is based on the patched WM8804 driver. Signed-off-by: Daniel Matuschek @@ -100029,10 +100029,10 @@ index 0000000000000000000000000000000000000000..7620dd02de40b6d644ff038b445d375d +MODULE_DESCRIPTION("ASoC Driver for HifiBerry Digi"); +MODULE_LICENSE("GPL v2"); -From 0bc00750ca5ba9b874f2a134829bf3f491ae5cb4 Mon Sep 17 00:00:00 2001 +From 91650de23667a3c5058dd1b3a50bed8def9b1ba7 Mon Sep 17 00:00:00 2001 From: Gordon Garrity Date: Sat, 8 Mar 2014 16:56:57 +0000 -Subject: [PATCH 067/150] Add IQaudIO Sound Card support for Raspberry Pi +Subject: [PATCH 067/156] Add IQaudIO Sound Card support for Raspberry Pi Set a limit of 0dB on Digital Volume Control @@ -100367,10 +100367,10 @@ index 0000000000000000000000000000000000000000..1ee4097c846376666775272ed692ca33 +MODULE_DESCRIPTION("ASoC Driver for IQAudio DAC"); +MODULE_LICENSE("GPL v2"); -From abf5e903c6cde442acbc38ed875b63466fead9d9 Mon Sep 17 00:00:00 2001 +From aef9437e237b2ba638eb0c3ee7de7688329dc576 Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Mon, 4 Aug 2014 10:06:56 +0200 -Subject: [PATCH 068/150] Added support for HiFiBerry DAC+ +Subject: [PATCH 068/156] Added support for HiFiBerry DAC+ The driver is based on the HiFiBerry DAC driver. However HiFiBerry DAC+ uses a different codec chip (PCM5122), therefore a new driver is necessary. @@ -101005,10 +101005,10 @@ index 68feae262476492ae3a0b30855dbb09e96fa187e..f7b0977017ed5a6c02eafa0147d49d66 dev_err(dev, "No LRCLK?\n"); return -EINVAL; -From de70d35d8ba0d2b50924fd1363474c5d086994c7 Mon Sep 17 00:00:00 2001 +From b8ae2020ecedc5af5af10543f0fcdeb5b0d486f3 Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Mon, 4 Aug 2014 11:09:58 +0200 -Subject: [PATCH 069/150] Added driver for HiFiBerry Amp amplifier add-on board +Subject: [PATCH 069/156] Added driver for HiFiBerry Amp amplifier add-on board The driver contains a low-level hardware driver for the TAS5713 and the drivers for the Raspberry Pi I2S subsystem. @@ -101843,10 +101843,10 @@ index 0000000000000000000000000000000000000000..8f019e04898754d2f87e9630137be9e8 + +#endif /* _TAS5713_H */ -From 89f62cc4e8ee4852bab83a3065103dbb10f0ad1c Mon Sep 17 00:00:00 2001 +From a39c9be5bfad358e4e1e0a1f86aa0a48ca43d539 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Wed, 25 Mar 2015 09:26:17 +0100 -Subject: [PATCH 070/150] Add driver for rpi-proto +Subject: [PATCH 070/156] Add driver for rpi-proto Forward port of 3.10.x driver from https://github.com/koalo We are using a custom board and would like to use rpi 3.18.x @@ -102061,10 +102061,10 @@ index 0000000000000000000000000000000000000000..fadbfade100228aaafabb0d3bdf35c01 +MODULE_DESCRIPTION("ASoC Driver for Raspberry Pi connected to PROTO board (WM8731)"); +MODULE_LICENSE("GPL"); -From 997e4a57c1edba111b4a72beef5dd242ceff09ed Mon Sep 17 00:00:00 2001 +From 49816e6ebdd4c90c8e740d15d093870923d5337f Mon Sep 17 00:00:00 2001 From: Jan Grulich Date: Mon, 24 Aug 2015 16:03:47 +0100 -Subject: [PATCH 071/150] RaspiDAC3 support +Subject: [PATCH 071/156] RaspiDAC3 support Signed-off-by: Jan Grulich @@ -102307,10 +102307,10 @@ index 0000000000000000000000000000000000000000..ad2b5b89bc8213dc2e277306ef50d6e3 +MODULE_DESCRIPTION("ASoC Driver for RaspiDAC Rev.3x"); +MODULE_LICENSE("GPL v2"); -From 336ddf15db17af67f37fa2e63422f07b18cc4b76 Mon Sep 17 00:00:00 2001 +From a7568a9d0bceb2678d3c2d63ac9ce04ec87a263a Mon Sep 17 00:00:00 2001 From: Aaron Shaw Date: Thu, 7 Apr 2016 21:26:21 +0100 -Subject: [PATCH 072/150] Add Support for JustBoom Audio boards +Subject: [PATCH 072/156] Add Support for JustBoom Audio boards justboom-dac: Adjust for ALSA API change @@ -102766,10 +102766,10 @@ index 0000000000000000000000000000000000000000..909cf8928f2f4313982316f9c5b8a709 +MODULE_DESCRIPTION("ASoC Driver for JustBoom PI Digi HAT Sound Card"); +MODULE_LICENSE("GPL v2"); -From a0dac89e420629804db6baf5dbd1c4f0d982c4a3 Mon Sep 17 00:00:00 2001 +From 82b0d9cab0d9154a5e937deed6794a4c66e92fc2 Mon Sep 17 00:00:00 2001 From: Andrey Grodzovsky Date: Tue, 3 May 2016 22:10:59 -0400 -Subject: [PATCH 073/150] ARM: adau1977-adc: Add basic machine driver for +Subject: [PATCH 073/156] ARM: adau1977-adc: Add basic machine driver for adau1977 codec driver. This commit adds basic support for the codec usage including: Device tree overlay, @@ -102951,10 +102951,10 @@ index 0000000000000000000000000000000000000000..f3d7e5db7bb912e1d7ca6f8e8d42df5f +MODULE_DESCRIPTION("ASoC Driver for ADAU1977 ADC"); +MODULE_LICENSE("GPL v2"); -From 840712539de56c1eb27a4c4e18df269d90dd1aa6 Mon Sep 17 00:00:00 2001 +From 07827fd83575405414813d0b7595ab7cb5148f25 Mon Sep 17 00:00:00 2001 From: Matt Flax Date: Mon, 16 May 2016 21:36:31 +1000 -Subject: [PATCH 074/150] New AudioInjector.net Pi soundcard with low jitter +Subject: [PATCH 074/156] New AudioInjector.net Pi soundcard with low jitter audio in and out. Contains the sound/soc/bcm ALSA machine driver and necessary alterations to the Kconfig and Makefile. @@ -103205,10 +103205,10 @@ index 0000000000000000000000000000000000000000..491906bbf446826e55dd843f28e4860f +MODULE_ALIAS("platform:audioinjector-pi-soundcard"); + -From fe295d182feaef4d3bda40397fae253acebd034a Mon Sep 17 00:00:00 2001 +From b0f43bb8166292b77d188e1cb4a28c8d1c239750 Mon Sep 17 00:00:00 2001 From: DigitalDreamtime Date: Thu, 30 Jun 2016 18:38:42 +0100 -Subject: [PATCH 075/150] Add IQAudIO Digi WM8804 board support +Subject: [PATCH 075/156] Add IQAudIO Digi WM8804 board support Support IQAudIO Digi board with iqaudio_digi machine driver and iqaudio-digi-wm8804-audio overlay. @@ -103508,10 +103508,10 @@ index 0000000000000000000000000000000000000000..33aa2be8a43a12a12cfb5d844dd9732c +MODULE_DESCRIPTION("ASoC Driver for IQAudIO WM8804 Digi"); +MODULE_LICENSE("GPL v2"); -From 17ae43fe90d0ebdbe11977b28a4766226646d949 Mon Sep 17 00:00:00 2001 +From f600a240390d60342025f77bac6f4846224f6418 Mon Sep 17 00:00:00 2001 From: escalator2015 Date: Tue, 24 May 2016 16:20:09 +0100 -Subject: [PATCH 076/150] New driver for RRA DigiDAC1 soundcard using WM8741 + +Subject: [PATCH 076/156] New driver for RRA DigiDAC1 soundcard using WM8741 + WM8804 --- @@ -103984,10 +103984,10 @@ index 0000000000000000000000000000000000000000..f200688bb4ae32b90a0ced555aed94b0 +MODULE_DESCRIPTION("ASoC Driver for RRA DigiDAC1"); +MODULE_LICENSE("GPL v2"); -From 473b602337b818b7b1508b552c8ea21199aea2cb Mon Sep 17 00:00:00 2001 +From 4a39d2612bfa2f22e6b527873d74be3aadae1da3 Mon Sep 17 00:00:00 2001 From: DigitalDreamtime Date: Sat, 2 Jul 2016 16:26:19 +0100 -Subject: [PATCH 077/150] Add support for Dion Audio LOCO DAC-AMP HAT +Subject: [PATCH 077/156] Add support for Dion Audio LOCO DAC-AMP HAT Using dedicated machine driver and pcm5102a codec driver. @@ -104160,10 +104160,10 @@ index 0000000000000000000000000000000000000000..65e03741d349a2dc5bd91f69855ea952 +MODULE_DESCRIPTION("ASoC Driver for DionAudio LOCO"); +MODULE_LICENSE("GPL v2"); -From 356bfbeae804489a1d8203296e9bf0657804d477 Mon Sep 17 00:00:00 2001 +From d82a4fdba1eb6ad36e1b4cb4b1c527c2a2a00cf7 Mon Sep 17 00:00:00 2001 From: Clive Messer Date: Mon, 19 Sep 2016 14:01:04 +0100 -Subject: [PATCH 078/150] Allo Piano DAC boards: Initial 2 channel (stereo) +Subject: [PATCH 078/156] Allo Piano DAC boards: Initial 2 channel (stereo) support (#1645) Add initial 2 channel (stereo) support for Allo Piano DAC (2.0/2.1) boards, @@ -104370,10 +104370,10 @@ index 0000000000000000000000000000000000000000..eaf50fb6dbca1970ae1c6f8662088b0f +MODULE_DESCRIPTION("ALSA ASoC Machine Driver for Allo Piano DAC"); +MODULE_LICENSE("GPL v2"); -From a692292384ce8a0514514b80e07dcd4240a32c93 Mon Sep 17 00:00:00 2001 +From 16373e16929ecc019c13e839dc504bdabf30c036 Mon Sep 17 00:00:00 2001 From: Raashid Muhammed Date: Mon, 27 Mar 2017 12:35:00 +0530 -Subject: [PATCH 079/150] Add support for Allo Piano DAC 2.1 plus add-on board +Subject: [PATCH 079/156] Add support for Allo Piano DAC 2.1 plus add-on board for Raspberry Pi. The Piano DAC 2.1 has support for 4 channels with subwoofer. @@ -105461,10 +105461,10 @@ index 0000000000000000000000000000000000000000..1800f5e4d414e2d83a9487a89a2800a3 +MODULE_DESCRIPTION("ALSA ASoC Machine Driver for Allo Piano DAC Plus"); +MODULE_LICENSE("GPL v2"); -From a7af0efd0891ba34876433069712600686bbab5e Mon Sep 17 00:00:00 2001 +From 6e95e8cf3d25d294b0a89271df885815ee496593 Mon Sep 17 00:00:00 2001 From: BabuSubashChandar Date: Tue, 28 Mar 2017 20:04:42 +0530 -Subject: [PATCH 080/150] Add support for Allo Boss DAC add-on board for +Subject: [PATCH 080/156] Add support for Allo Boss DAC add-on board for Raspberry Pi. (#1924) Signed-off-by: Baswaraj K @@ -106167,10 +106167,10 @@ index 0000000000000000000000000000000000000000..203ab76c7045b081578e23bda1099dd1 +MODULE_DESCRIPTION("ALSA ASoC Machine Driver for Allo Boss DAC"); +MODULE_LICENSE("GPL v2"); -From 87a85a74d3f76855bd1d545480ace4adb9d9cbbd Mon Sep 17 00:00:00 2001 +From f0beba8bdc0015e5ca11de807b64eb4772a7e545 Mon Sep 17 00:00:00 2001 From: gtrainavicius Date: Sun, 23 Oct 2016 12:06:53 +0300 -Subject: [PATCH 081/150] Support for Blokas Labs pisound board +Subject: [PATCH 081/156] Support for Blokas Labs pisound board Pisound dynamic overlay (#1760) @@ -107369,10 +107369,10 @@ index 0000000000000000000000000000000000000000..06ff1e53dc9d860946965b6303577762 +MODULE_DESCRIPTION("ASoC Driver for pisound, http://blokas.io/pisound"); +MODULE_LICENSE("GPL v2"); -From ce1b3c9437bfee7773c8f4e6e582ae385ac76bda Mon Sep 17 00:00:00 2001 +From 44930a806da8dbd18056135fc3c3abce7af8d861 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 22 Jan 2017 12:49:37 +0100 -Subject: [PATCH 082/150] ASoC: Add driver for Cirrus Logic Audio Card +Subject: [PATCH 082/156] ASoC: Add driver for Cirrus Logic Audio Card Note: due to problems with deferred probing of regulators the following softdep should be added to a modprobe.d file @@ -108437,10 +108437,10 @@ index 0000000000000000000000000000000000000000..ac8651ddff7bd3701dffe22c7fb88352 +MODULE_DESCRIPTION("ASoC driver for Cirrus Logic Audio Card"); +MODULE_LICENSE("GPL"); -From 871d89b758e38faf50e1938fd8527bbf96c16fc3 Mon Sep 17 00:00:00 2001 +From 09500541b1bafdd82d6755d4f92ec9a1d3a009d5 Mon Sep 17 00:00:00 2001 From: Miquel Date: Fri, 24 Feb 2017 20:51:06 +0100 -Subject: [PATCH 083/150] sound: Support for Dion Audio LOCO-V2 DAC-AMP HAT +Subject: [PATCH 083/156] sound: Support for Dion Audio LOCO-V2 DAC-AMP HAT Signed-off-by: Miquel Blauw --- @@ -108635,10 +108635,10 @@ index 0000000000000000000000000000000000000000..a009c49477972a9832175d86f201b035 +MODULE_DESCRIPTION("ASoC Driver for DionAudio LOCO-V2"); +MODULE_LICENSE("GPL v2"); -From 8344fd3e93560eade0b0a407271b419437bcd73d Mon Sep 17 00:00:00 2001 +From 069348585476a8336e604ac3d95d088c989363f1 Mon Sep 17 00:00:00 2001 From: Fe-Pi Date: Wed, 1 Mar 2017 04:42:43 -0700 -Subject: [PATCH 084/150] Add support for Fe-Pi audio sound card. (#1867) +Subject: [PATCH 084/156] Add support for Fe-Pi audio sound card. (#1867) Fe-Pi Audio Sound Card is based on NXP SGTL5000 codec. Mechanical specification of the board is the same the Raspberry Pi Zero. @@ -108852,10 +108852,10 @@ index 0000000000000000000000000000000000000000..015b56fd73cc36be5b5eecd17548fd03 +MODULE_DESCRIPTION("ASoC Driver for Fe-Pi Audio"); +MODULE_LICENSE("GPL v2"); -From a6bdaf46b0d8a177328d6706846c77a3cc49d02b Mon Sep 17 00:00:00 2001 +From 499c5e2918e1bb1ec400694d87b06791c1bb20ef Mon Sep 17 00:00:00 2001 From: Matt Flax Date: Wed, 8 Mar 2017 20:04:13 +1100 -Subject: [PATCH 085/150] Add support for the AudioInjector.net Octo sound card +Subject: [PATCH 085/156] Add support for the AudioInjector.net Octo sound card AudioInjector Octo: sample rates, regulators, reset @@ -109264,10 +109264,10 @@ index 0000000000000000000000000000000000000000..5e79f4eff93a21ed3495c77a90f73525 +MODULE_LICENSE("GPL v2"); +MODULE_ALIAS("platform:audioinjector-octo-soundcard"); -From bed5ced5d21fe2c59caf1f5a499609c1d04d2c79 Mon Sep 17 00:00:00 2001 +From fe48405b4cc8003578e5dfc9b9a15fa1bb519ac4 Mon Sep 17 00:00:00 2001 From: Peter Malkin Date: Mon, 27 Mar 2017 16:38:21 -0700 -Subject: [PATCH 086/150] Driver support for Google voiceHAT soundcard. +Subject: [PATCH 086/156] Driver support for Google voiceHAT soundcard. --- sound/soc/bcm/Kconfig | 7 ++ @@ -109658,10 +109658,10 @@ index 0000000000000000000000000000000000000000..225854b8e5298b3c3018f59a49404354 +MODULE_DESCRIPTION("ASoC Driver for Google voiceHAT SoundCard"); +MODULE_LICENSE("GPL v2"); -From 379618a22a229347ddcca0f7602ac054967eaea9 Mon Sep 17 00:00:00 2001 +From b210cfdea11900e15789c98ea13d46336f463ec7 Mon Sep 17 00:00:00 2001 From: sandeepal Date: Fri, 2 Jun 2017 18:59:46 +0530 -Subject: [PATCH 087/150] Allo Digione Driver (#2048) +Subject: [PATCH 087/156] Allo Digione Driver (#2048) Driver for the Allo Digione soundcard @@ -109984,10 +109984,10 @@ index 0000000000000000000000000000000000000000..9387b055875fdf92a13dc4a9d2727f95 +MODULE_DESCRIPTION("ASoC Driver for Allo DigiOne"); +MODULE_LICENSE("GPL v2"); -From af94db3b3f32b3d76826c714281e7712af3c0dd5 Mon Sep 17 00:00:00 2001 +From 6113ead5b49f159bf453e0a86d925dfe1ddf35f5 Mon Sep 17 00:00:00 2001 From: P33M Date: Wed, 21 Oct 2015 14:55:21 +0100 -Subject: [PATCH 088/150] rpi_display: add backlight driver and overlay +Subject: [PATCH 088/156] rpi_display: add backlight driver and overlay Add a mailbox-driven backlight controller for the Raspberry Pi DSI touchscreen display. Requires updated GPU firmware to recognise the @@ -110156,10 +110156,10 @@ index 0000000000000000000000000000000000000000..14a0d9b037395497c1fdae2961feccd5 +MODULE_DESCRIPTION("Raspberry Pi mailbox based Backlight Driver"); +MODULE_LICENSE("GPL"); -From 677b1332e0203d5a9a644980684286a9b7a7557b Mon Sep 17 00:00:00 2001 +From e2fb27c47d95c61ade6dda988c396dbb17e45569 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 23 Feb 2016 19:56:04 +0000 -Subject: [PATCH 089/150] bcm2835-virtgpio: Virtual GPIO driver +Subject: [PATCH 089/156] bcm2835-virtgpio: Virtual GPIO driver Add a virtual GPIO driver that uses the firmware mailbox interface to request that the VPU toggles LEDs. @@ -110420,10 +110420,10 @@ index 0000000000000000000000000000000000000000..c3725546def9d4a6264fbb1f6b9814d0 +MODULE_DESCRIPTION("brcmvirt GPIO driver"); +MODULE_ALIAS("platform:brcmvirt-gpio"); -From d8e2fdfc579e00f3367177f825af2fff19a72b1b Mon Sep 17 00:00:00 2001 +From b24bf7884dc36cb13e5fcc8ac6041fa0bbdf9f12 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 20 Feb 2017 17:01:21 +0000 -Subject: [PATCH 090/150] bcm2835-gpio-exp: Driver for GPIO expander via +Subject: [PATCH 090/156] bcm2835-gpio-exp: Driver for GPIO expander via mailbox service Pi3 and Compute Module 3 have a GPIO expander that the @@ -110732,10 +110732,10 @@ index 0000000000000000000000000000000000000000..d68adafaee4ad406f45f4ff0d6b7c1ad +MODULE_DESCRIPTION("brcm-exp GPIO driver"); +MODULE_ALIAS("platform:brcmexp-gpio"); -From 9d36f8520856a74eecb086f8fca6f4f4042730ae Mon Sep 17 00:00:00 2001 +From 8c825b2fb64f1fb5b740391d0cc43e5066e84240 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 23 Feb 2016 17:26:48 +0000 -Subject: [PATCH 091/150] amba_pl011: Don't use DT aliases for numbering +Subject: [PATCH 091/156] amba_pl011: Don't use DT aliases for numbering The pl011 driver looks for DT aliases of the form "serial", and if found uses as the device ID. This can cause @@ -110764,10 +110764,10 @@ index 111e6a95077978c2c30bfe2a2de4a0d095e8d76e..584471add0962c0e26eb814fc0ef43ee uap->old_cr = 0; uap->port.dev = dev; -From 2f440d0da7a22be0cb2b1eeab694e10f834a58d6 Mon Sep 17 00:00:00 2001 +From 0cae01eacc85085e805d67783397770a915618ce Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 1 Mar 2017 16:07:39 +0000 -Subject: [PATCH 092/150] amba_pl011: Round input clock up +Subject: [PATCH 092/156] amba_pl011: Round input clock up The UART clock is initialised to be as close to the requested frequency as possible without exceeding it. Now that there is a @@ -110853,10 +110853,10 @@ index 584471add0962c0e26eb814fc0ef43eea99b2d29..bfbc845d7be9ef804468d0a82da18d9b /* unregisters the driver also if no more ports are left */ static void pl011_unregister_port(struct uart_amba_port *uap) -From 42442767c9a260cb6f2a4cac96e228a7da68ee67 Mon Sep 17 00:00:00 2001 +From 58c109fde8bd6c10eba2d06170be70bbb850608f Mon Sep 17 00:00:00 2001 From: Pantelis Antoniou Date: Wed, 3 Dec 2014 13:23:28 +0200 -Subject: [PATCH 093/150] OF: DT-Overlay configfs interface +Subject: [PATCH 093/156] OF: DT-Overlay configfs interface This is a port of Pantelis Antoniou's v3 port that makes use of the new upstreamed configfs support for binary attributes. @@ -111289,10 +111289,10 @@ index 0000000000000000000000000000000000000000..0037e6868a6cda8706c88194c6a4454b +} +late_initcall(of_cfs_init); -From 1c8f7869da68ad83222c977cb331f6b67e186910 Mon Sep 17 00:00:00 2001 +From 491abb48ce9479c3e6c13ac6d4455bc10af832a5 Mon Sep 17 00:00:00 2001 From: Cheong2K Date: Fri, 26 Feb 2016 18:20:10 +0800 -Subject: [PATCH 094/150] brcm: adds support for BCM43341 wifi +Subject: [PATCH 094/156] brcm: adds support for BCM43341 wifi brcmfmac: Disable power management @@ -111403,7 +111403,7 @@ index 7a2b49587b4d32dde1af56a2979d4e1818500f84..df138305217384de2359313bc7d00528 MODULE_PARM_DESC(roamoff, "Do not use internal roaming engine"); diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c -index 613caca7dc020a78985b22521422700022c37473..971c68a261f2d041806655dd66636aee2c28a6bc 100644 +index b3fa8ae804650f7ea838ff59ca84dfb6ca24da90..c1e86df297edf2fa7f641e36ccbfc7334f672e8b 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c @@ -609,6 +609,7 @@ BRCMF_FW_NVRAM_DEF(4329, "brcmfmac4329-sdio.bin", "brcmfmac4329-sdio.txt"); @@ -111424,10 +111424,10 @@ index 613caca7dc020a78985b22521422700022c37473..971c68a261f2d041806655dd66636aee BRCMF_FW_NVRAM_ENTRY(BRCM_CC_43362_CHIP_ID, 0xFFFFFFFE, 43362), BRCMF_FW_NVRAM_ENTRY(BRCM_CC_4339_CHIP_ID, 0xFFFFFFFF, 4339), -From 47d314b9b88bd20da80585373df42b1fe4a27138 Mon Sep 17 00:00:00 2001 +From 3100c83ffbdcf00b740a194677eec30f852f11d2 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 17 Feb 2017 15:26:13 +0000 -Subject: [PATCH 095/150] brcmfmac: Mute expected startup 'errors' +Subject: [PATCH 095/156] brcmfmac: Mute expected startup 'errors' The brcmfmac WiFi driver always complains about the '00' country code. Modify the driver to ignore '00' silently. @@ -111451,10 +111451,10 @@ index 2d3b5e2a3ef7cd6186487b48665b401249380d18..e417454f5d6ec136cda29e65af5449f2 req->alpha2[0], req->alpha2[1]); return; -From 65c54a39b851c2ef39a2dfac66d01ad9111a511d Mon Sep 17 00:00:00 2001 +From 90beb38bf6d1347e07868024894576de8de2c6c4 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 17 Dec 2015 13:37:07 +0000 -Subject: [PATCH 096/150] hci_h5: Don't send conf_req when ACTIVE +Subject: [PATCH 096/156] hci_h5: Don't send conf_req when ACTIVE Without this patch, a modem and kernel can continuously bombard each other with conf_req and conf_rsp messages, in a demented game of tag. @@ -111477,10 +111477,10 @@ index c0e4e26dc30d7c3c6a771b7b86df88c8cf763646..7308287259eedcaf229f8a496a0e3826 if (H5_HDR_LEN(hdr) > 2) h5->tx_win = (data[2] & 0x07); -From aa1386e364672501431f75b2c8182fb0bfc1c788 Mon Sep 17 00:00:00 2001 +From 470aee76e0fe145b6f40f8fd1541344823af32a0 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 13 Apr 2015 17:16:29 +0100 -Subject: [PATCH 097/150] config: Add default configs +Subject: [PATCH 097/156] config: Add default configs --- arch/arm/configs/bcm2709_defconfig | 1339 +++++++++++++++++++++++++++++++++++ @@ -114185,10 +114185,10 @@ index 0000000000000000000000000000000000000000..c1da808d40bc8e867b41d3566bd60a75 +CONFIG_CRC_ITU_T=y +CONFIG_LIBCRC32C=y -From f2d0f05c0ae83346d5c7cd1ffd851428fde0c3cb Mon Sep 17 00:00:00 2001 +From e61e26039df463fdd354f24877075bd38f97f9b8 Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Wed, 24 Aug 2016 03:35:56 -0700 -Subject: [PATCH 098/150] Add arm64 configuration and device tree differences. +Subject: [PATCH 098/156] Add arm64 configuration and device tree differences. Disable MMC_BCM2835_SDHOST and MMC_BCM2835 since these drivers are crashing at the moment. @@ -115602,10 +115602,10 @@ index 0000000000000000000000000000000000000000..e6b09fafa27eed2b762e3d53b55041f7 +CONFIG_LIBCRC32C=y +CONFIG_BCM2835_VCHIQ=n -From 0740db7c14be6c8a6b217c43738331dbc8d0ba78 Mon Sep 17 00:00:00 2001 +From fd72f89ad8fd95ecf834c089d0484f6e57f348d2 Mon Sep 17 00:00:00 2001 From: Electron752 Date: Thu, 12 Jan 2017 07:07:08 -0800 -Subject: [PATCH 099/150] ARM64: Make it work again on 4.9 (#1790) +Subject: [PATCH 099/156] ARM64: Make it work again on 4.9 (#1790) * Invoke the dtc compiler with the same options used in arm mode. * ARM64 now uses the bcm2835 platform just like ARM32. @@ -116016,10 +116016,10 @@ index e6b09fafa27eed2b762e3d53b55041f793683d27..c7e891d72969a388d9b135a36dbfc9c9 CONFIG_LIBCRC32C=y -CONFIG_BCM2835_VCHIQ=n -From 0df4610d763a8004d5eb20acb5c291f3496e9405 Mon Sep 17 00:00:00 2001 +From bde5ef54989937f9c0637186b2d3b88c2d4222b6 Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Thu, 12 Jan 2017 19:10:07 -0800 -Subject: [PATCH 100/150] ARM64: Enable HDMI audio and vc04_services in +Subject: [PATCH 100/156] ARM64: Enable HDMI audio and vc04_services in bcmrpi3_defconfig Signed-off-by: Michael Zoran @@ -116048,10 +116048,10 @@ index c7e891d72969a388d9b135a36dbfc9c9cb609bf8..4b90f9b64abe9f089ba56b13d5a00de3 CONFIG_BCM2835_MBOX=y # CONFIG_IOMMU_SUPPORT is not set -From c2f701081fd62e093679740260428f1cd5248a8c Mon Sep 17 00:00:00 2001 +From b356db8cc8a1158020502d5d602b1d8a3ed781e5 Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Thu, 12 Jan 2017 19:14:03 -0800 -Subject: [PATCH 101/150] ARM64: Run bcmrpi3_defconfig through savedefconfig. +Subject: [PATCH 101/156] ARM64: Run bcmrpi3_defconfig through savedefconfig. Signed-off-by: Michael Zoran --- @@ -116096,10 +116096,10 @@ index 4b90f9b64abe9f089ba56b13d5a00de33343bfb9..dac962ca1634662ce7d966f1ffb53b5b CONFIG_FB_TFT_AGM1264K_FL=m CONFIG_FB_TFT_BD663474=m -From d005d1cb2c1974bf0fb46fa2f8a764ba50890b29 Mon Sep 17 00:00:00 2001 +From b1b97d16f0c098451d2716033d6095ade5ba05de Mon Sep 17 00:00:00 2001 From: Electron752 Date: Sat, 14 Jan 2017 02:54:26 -0800 -Subject: [PATCH 102/150] ARM64: Enable Kernel Address Space Randomization +Subject: [PATCH 102/156] ARM64: Enable Kernel Address Space Randomization (#1792) Randomization allows the mapping between virtual addresses and physical @@ -116131,10 +116131,10 @@ index dac962ca1634662ce7d966f1ffb53b5bfa27c506..aae33b4b3c3e736ea7cd3ca242158ad6 CONFIG_BINFMT_MISC=y CONFIG_COMPAT=y -From c100907ce1944562ee660ee543eb3798493a8ccd Mon Sep 17 00:00:00 2001 +From 3b19ee8423411688908b4b5996f667f9c2248828 Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Sun, 15 Jan 2017 07:31:59 -0800 -Subject: [PATCH 103/150] ARM64: Enable RTL8187/RTL8192CU wifi in build config +Subject: [PATCH 103/156] ARM64: Enable RTL8187/RTL8192CU wifi in build config These drivers build now, so they can be enabled back in the build configuration just like they are for @@ -116159,10 +116159,10 @@ index aae33b4b3c3e736ea7cd3ca242158ad6ba558aff..b7d762df19b85e369a32cd823dfd0621 CONFIG_ZD1211RW=m CONFIG_MAC80211_HWSIM=m -From 81ac65f8da3f9d1c2a7f1cdf5138e5fa36c95b9d Mon Sep 17 00:00:00 2001 +From c7cc24b2d32fad6c665c4d084c801483acb9b982 Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Sat, 14 Jan 2017 21:33:51 -0800 -Subject: [PATCH 104/150] ARM64/DWC_OTG: Port dwc_otg driver to ARM64 +Subject: [PATCH 104/156] ARM64/DWC_OTG: Port dwc_otg driver to ARM64 In ARM64, the FIQ mechanism used by this driver is not current implemented. As a workaround, reqular IRQ is used instead @@ -116505,10 +116505,10 @@ index 6b2c7d0c93f36a63863ff4b0ecc1f3eab77e058b..d7b700ff17821ad1944e36721fe6b2db /** The OS page size */ #define DWC_OS_PAGE_SIZE PAGE_SIZE -From d2a208e4b7ec21d9a581eb5b9e99ef8e3ed36e79 Mon Sep 17 00:00:00 2001 +From 59994acd0c5ee2690597b92d2c943bbb9c686812 Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Sat, 14 Jan 2017 21:43:57 -0800 -Subject: [PATCH 105/150] ARM64: Round-Robin dispatch IRQs between CPUs. +Subject: [PATCH 105/156] ARM64: Round-Robin dispatch IRQs between CPUs. IRQ-CPU mapping is round robined on ARM64 to increase concurrency and allow multiple interrupts to be serviced @@ -116582,10 +116582,10 @@ index 86b357ae027bf8ba1ac32cd150a8cf21e36597e2..05b17ca993f405c4c8e61a782ec58149 .name = "bcm2836-gpu", .irq_mask = bcm2836_arm_irqchip_mask_gpu_irq, -From b9614b669f416188bc65f7387efed80a62ac945e Mon Sep 17 00:00:00 2001 +From 6599dc008b0a0c2e8f944b5f400c6f2ff2d99d07 Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Sat, 14 Jan 2017 21:45:03 -0800 -Subject: [PATCH 106/150] ARM64: Enable DWC_OTG Driver In ARM64 Build +Subject: [PATCH 106/156] ARM64: Enable DWC_OTG Driver In ARM64 Build Config(bcmrpi3_defconfig) Signed-off-by: Michael Zoran @@ -116606,10 +116606,10 @@ index b7d762df19b85e369a32cd823dfd062145bdefa7..4d85c231c5ea0244e1b05fb4a5e3c8fd CONFIG_USB_STORAGE=y CONFIG_USB_STORAGE_REALTEK=m -From 221503f81ef05e1ae14540dd3350c6403ef346d5 Mon Sep 17 00:00:00 2001 +From 505a6f0d7fa2ca0ed200e742f74976b46ad850ea Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Sat, 11 Feb 2017 01:18:31 -0800 -Subject: [PATCH 107/150] ARM64: Force hardware emulation of deprecated +Subject: [PATCH 107/156] ARM64: Force hardware emulation of deprecated instructions. --- @@ -116637,10 +116637,10 @@ index d06fbe4cd38d7423c900aff64b0e728f995478d3..877b7c90f9555203d5d55d739359a256 case INSN_OBSOLETE: insn->current_mode = INSN_UNDEF; -From a839d1efd5beec7ee4cf05b5612ac93fba45088f Mon Sep 17 00:00:00 2001 +From efaa6d619eb4ce1691a89154e5b5e4a305764e98 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Fri, 10 Feb 2017 17:57:08 -0800 -Subject: [PATCH 108/150] build/arm64: Add rules for .dtbo files for dts +Subject: [PATCH 108/156] build/arm64: Add rules for .dtbo files for dts overlays We now create overlays as .dtbo files. @@ -116651,10 +116651,10 @@ Signed-off-by: Khem Raj 1 file changed, 3 insertions(+) diff --git a/arch/arm64/Makefile b/arch/arm64/Makefile -index 3eb4397150df8cb3ce1d60c69f4efb727377ba23..ba7508b89589e618221df693d6cd876e42ef695d 100644 +index 7318165cfc90b5b4e36048fbafd9287a1cf3516f..f6f5df3f262b0baf1338bea188d788833f4114be 100644 --- a/arch/arm64/Makefile +++ b/arch/arm64/Makefile -@@ -128,6 +128,9 @@ zinstall install: +@@ -132,6 +132,9 @@ zinstall install: %.dtb: scripts $(Q)$(MAKE) $(build)=$(boot)/dts $(boot)/dts/$@ @@ -116665,10 +116665,10 @@ index 3eb4397150df8cb3ce1d60c69f4efb727377ba23..ba7508b89589e618221df693d6cd876e dtbs: prepare scripts -From d10eea6195d7db6b4fb762046baefde256f27f17 Mon Sep 17 00:00:00 2001 +From 348ca83c2f655e80e913aac4e52f58f15237b032 Mon Sep 17 00:00:00 2001 From: Bilal Amarni Date: Wed, 24 May 2017 10:52:50 +0200 -Subject: [PATCH 109/150] enable drivers for GPIO expander and vcio +Subject: [PATCH 109/156] enable drivers for GPIO expander and vcio --- arch/arm64/configs/bcmrpi3_defconfig | 3 +++ @@ -116696,10 +116696,10 @@ index 4d85c231c5ea0244e1b05fb4a5e3c8fd3e651ddf..9dcb58a519d041fadae99c81a7bda621 CONFIG_GPIO_ARIZONA=m CONFIG_GPIO_STMPE=y -From 403451429820cbe3a073ffefe1d7988eb7bdb865 Mon Sep 17 00:00:00 2001 +From cc63d5bf3ea73206058fcf93da6e434381988c3a Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 23 Mar 2017 16:34:46 +0000 -Subject: [PATCH 110/150] bcm2835-aux: Add aux interrupt controller +Subject: [PATCH 110/156] bcm2835-aux: Add aux interrupt controller The AUX block has a shared interrupt line with a register indicating which devices have active IRQs. Expose this as a nested interrupt @@ -116863,10 +116863,10 @@ index bd750cf2238d61489811e7d7bd3b5f9950ed53c8..41e0702fae4692221980b0d02aed1ba6 BCM2835_AUX_CLOCK_COUNT, GFP_KERNEL); if (!onecell) -From 344c9c21ee82d116e33dd247dbeb869eeb0b5063 Mon Sep 17 00:00:00 2001 +From afd78fe5da78e4f0f681fefb1f252d89ef9f11e1 Mon Sep 17 00:00:00 2001 From: Yasunari Takiguchi Date: Fri, 14 Apr 2017 10:43:57 +0100 -Subject: [PATCH 111/150] This is the driver for Sony CXD2880 DVB-T2/T tuner + +Subject: [PATCH 111/156] This is the driver for Sony CXD2880 DVB-T2/T tuner + demodulator. It includes the CXD2880 driver and the CXD2880 SPI adapter. The current CXD2880 driver version is 1.4.1 - 1.0.1 released on April 13, 2017. @@ -132998,10 +132998,10 @@ index 0000000000000000000000000000000000000000..82e122349055be817eb74ed5bbcd7560 +MODULE_AUTHOR("Sony Semiconductor Solutions Corporation"); +MODULE_LICENSE("GPL v2"); -From 51632bb34c204cc0f2b1566f0aa8a1533c24c888 Mon Sep 17 00:00:00 2001 +From 5dbe955ec48ef44648e94451318750bb6df81ab7 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 14 Sep 2016 09:16:19 +0100 -Subject: [PATCH 112/150] raspberrypi-firmware: Export the general transaction +Subject: [PATCH 112/156] raspberrypi-firmware: Export the general transaction function. The vc4-firmware-kms module is going to be doing the MBOX FB call. @@ -133033,10 +133033,10 @@ index 3f070bd38a91511c986e3fb114b15bd4ac32634c..f261b64d1657c02290904d841e1f087c /** * rpi_firmware_property_list - Submit firmware property list -From 06d29b5be83b26619c182a03c30e782a31e2599a Mon Sep 17 00:00:00 2001 +From c3937409b87dfca100acf60068a4c56059ab4721 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 14 Sep 2016 08:39:33 +0100 -Subject: [PATCH 113/150] drm/vc4: Add a mode for using the closed firmware for +Subject: [PATCH 113/156] drm/vc4: Add a mode for using the closed firmware for display. Signed-off-by: Eric Anholt @@ -133807,10 +133807,10 @@ index 0000000000000000000000000000000000000000..78c34305935501248b1ca548a1ee0175 + }, +}; -From 9a1b2b1bf331971697d02ac478f498cecf7aa46f Mon Sep 17 00:00:00 2001 +From 19f8ac2c5d3ef969dafd1a40b332b9d62bf972f6 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 1 Feb 2017 17:09:18 -0800 -Subject: [PATCH 114/150] drm/vc4: Name the primary and cursor planes in fkms. +Subject: [PATCH 114/156] drm/vc4: Name the primary and cursor planes in fkms. This makes debugging nicer, compared to trying to remember what the IDs are. @@ -133834,10 +133834,10 @@ index 78c34305935501248b1ca548a1ee01753b8fa099..d9a5551d01a2155e3df1bbbd78a1ee2b if (type == DRM_PLANE_TYPE_PRIMARY) { vc4_plane->fbinfo = -From 24f32ea253853f074ceab2bd26d14031aa695724 Mon Sep 17 00:00:00 2001 +From 9db72b7db374334f1dde969128cf93c20bafe392 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 1 Feb 2017 17:10:09 -0800 -Subject: [PATCH 115/150] drm/vc4: Add DRM_DEBUG_ATOMIC for the insides of +Subject: [PATCH 115/156] drm/vc4: Add DRM_DEBUG_ATOMIC for the insides of fkms. Trying to debug weston on fkms involved figuring out what calls I was @@ -133907,10 +133907,10 @@ index d9a5551d01a2155e3df1bbbd78a1ee2b961be946..e372666af0119b1876bad5167e6d0ff8 RPI_FIRMWARE_SET_CURSOR_STATE, &packet_state, -From 3bf335b891d2d61491ecc3e06f4f8143af4fa68f Mon Sep 17 00:00:00 2001 +From d4b7579168512d1f3388492ab6b38524d30b7f61 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 2 Feb 2017 09:42:18 -0800 -Subject: [PATCH 116/150] drm/vc4: Fix sending of page flip completion events +Subject: [PATCH 116/156] drm/vc4: Fix sending of page flip completion events in FKMS mode. In the rewrite of vc4_crtc.c for fkms, I dropped the part of the @@ -133952,10 +133952,10 @@ index e372666af0119b1876bad5167e6d0ff8945d1b80..4d7b7f218cbbc9e7abcaa37743978060 static void vc4_crtc_handle_page_flip(struct vc4_crtc *vc4_crtc) -From 062891283f173de6823b13aa9652ab896b320a7b Mon Sep 17 00:00:00 2001 +From 95d3f4df4cb6e31ece205afb16c159a23dea0276 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 18 Apr 2017 21:43:46 +0100 -Subject: [PATCH 117/150] vc4_fkms: Apply firmware overscan offset to hardware +Subject: [PATCH 117/156] vc4_fkms: Apply firmware overscan offset to hardware cursor --- @@ -134012,10 +134012,10 @@ index 4d7b7f218cbbc9e7abcaa37743978060b73fbdd1..d170775ccc985637ff018804f510a500 return 0; -From 30dc3f98b45062e07f0033569e51a19ba966b4fc Mon Sep 17 00:00:00 2001 +From 71d68a2a2dd549fdc5887f05226490e4e87b57ca Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 7 May 2017 11:34:26 +0200 -Subject: [PATCH 118/150] ASoC: bcm2835: Add support for TDM modes +Subject: [PATCH 118/156] ASoC: bcm2835: Add support for TDM modes bcm2835 supports arbitrary positioning of channel data within a frame and thus is capable of supporting TDM modes. Since @@ -134417,10 +134417,10 @@ index 56df7d8a43d0aac055a91b0d24aca8e1b4e308e4..dcacf7f83c9371df539a788ea33fedcf dev->dev = &pdev->dev; dev_set_drvdata(&pdev->dev, dev); -From 721076c7c697af01d6d1bc674929a988d66a2cfd Mon Sep 17 00:00:00 2001 +From 7bb2e3cc51efdd7f5e3916296635d3ca2786668a Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 7 May 2017 15:30:50 +0200 -Subject: [PATCH 119/150] ASoC: bcm2835: Support left/right justified and DSP +Subject: [PATCH 119/156] ASoC: bcm2835: Support left/right justified and DSP modes DSP modes and left/right justified modes can be supported @@ -134666,10 +134666,10 @@ index dcacf7f83c9371df539a788ea33fedcf97d64690..3a706fda4f39e42efbe12f19d87af9b1 } -From a7b9cd9dbc3afc79c7ac8ca67e7ed957c80a0bb3 Mon Sep 17 00:00:00 2001 +From 228d120aa69bc4d61a03809e719f227b7761ba58 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 7 May 2017 16:19:54 +0200 -Subject: [PATCH 120/150] ASoC: bcm2835: Support additional samplerates up to +Subject: [PATCH 120/156] ASoC: bcm2835: Support additional samplerates up to 384kHz Sample rates are only restricted by the capabilities of the @@ -134712,10 +134712,10 @@ index 3a706fda4f39e42efbe12f19d87af9b100a348a5..43f5715a0d5dda851731ecf7ff27e76c | SNDRV_PCM_FMTBIT_S24_LE | SNDRV_PCM_FMTBIT_S32_LE -From c31edc1a046bde642372642b1adf547880c28301 Mon Sep 17 00:00:00 2001 +From 8e8081ac8312b0391d415346b72e1509b6dc1b3a Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 7 May 2017 16:24:57 +0200 -Subject: [PATCH 121/150] ASoC: bcm2835: Enforce full symmetry +Subject: [PATCH 121/156] ASoC: bcm2835: Enforce full symmetry bcm2835's configuration registers can't be changed when a stream is running, which means asymmetric configurations aren't supported. @@ -134751,10 +134751,10 @@ index 43f5715a0d5dda851731ecf7ff27e76c48fb6e57..2e449d7173fcecbcd647f90a26bd58b6 static bool bcm2835_i2s_volatile_reg(struct device *dev, unsigned int reg) -From 4b620195999e6cb1b83a94d0fe908056d4242a24 Mon Sep 17 00:00:00 2001 +From 9ebc779b64bc4bbbdc9c19f3787d31fd3b9cf103 Mon Sep 17 00:00:00 2001 From: Andrei Gherzan Date: Mon, 5 Jun 2017 16:40:38 +0100 -Subject: [PATCH 122/150] dma-bcm2708: Fix module compilation of +Subject: [PATCH 122/156] dma-bcm2708: Fix module compilation of CONFIG_DMA_BCM2708 bcm2708-dmaengine.c defines functions like bcm_dma_start which are @@ -134797,10 +134797,10 @@ index c5bfff2765be4606077e6c8af73040ec13ee8974..6ca874d332a8bc666b1c9576ac51f479 #endif /* _PLAT_BCM2708_DMA_H */ -From 16989b9f9348516c596338dae81b02067e32261b Mon Sep 17 00:00:00 2001 +From 2a6bf09a2232c1588f4b8a0712fc86df947c9c68 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 25 Aug 2017 19:18:13 +0100 -Subject: [PATCH 123/150] cache: export clean and invalidate +Subject: [PATCH 123/156] cache: export clean and invalidate --- arch/arm/mm/cache-v6.S | 4 ++-- @@ -134852,10 +134852,10 @@ index de78109d002db1a5e7c94a6c1bc8bb94161d07b8..4c850aa3af2b2439fced4e130441329a sub r3, r2, #1 bic r0, r0, r3 -From 3505d5bdd31a9d2365e981e458443077e11569da Mon Sep 17 00:00:00 2001 +From 0f6ee1e7341758bbde9a4e2b19b5ce1638d77955 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 29 Sep 2017 10:32:19 +0100 -Subject: [PATCH 124/150] amba_pl011: Insert mb() for correct FIFO handling +Subject: [PATCH 124/156] amba_pl011: Insert mb() for correct FIFO handling The pl011 register accessor functions use the _relaxed versions of the standard readl() and writel() functions, meaning that there are no @@ -134882,10 +134882,10 @@ index bfbc845d7be9ef804468d0a82da18d9b67857216..424bdc500864a86e5d431763ba416b52 return true; -From 0cb10c8479770b8c33aa1f23d43a9c289d156a1d Mon Sep 17 00:00:00 2001 +From aad20fc7926f677e910a370ac660003fe8f3241f Mon Sep 17 00:00:00 2001 From: Chung-Hsien Hsu Date: Sun, 14 May 2017 20:11:05 -0500 -Subject: [PATCH 125/150] brcmfmac: add CLM download support +Subject: [PATCH 125/156] brcmfmac: add CLM download support Future firmwares will be provided with minimal built-in CLM - the NULL region (#n/0) becomes the initial country. It cannot be changed @@ -135241,7 +135241,7 @@ index e6e9b00b79d71fddec6249be0109c088846bd35f..3c87157f5b8513d7bb00a4602c22859d diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c -index 971c68a261f2d041806655dd66636aee2c28a6bc..2d211bf4cafbafca5dd0b7a4aa8d80ee24b98adb 100644 +index c1e86df297edf2fa7f641e36ccbfc7334f672e8b..103fd5368aa1ee94f24c16b813f92a0958198633 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c @@ -3980,6 +3980,24 @@ brcmf_sdio_watchdog(unsigned long data) @@ -135313,10 +135313,10 @@ index 11ffaa01599eb4b343b7f675dc275fc8572d127e..b27170c12482de0ca4115b4bc9484c21 static int brcmf_usb_bus_setup(struct brcmf_usbdev_info *devinfo) -From 9baf711884a54f95f0d28fd5418deac014819597 Mon Sep 17 00:00:00 2001 +From 44c8dcbd1a4cc0c4a4797794237be24e2cb658bd Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 6 Oct 2017 13:23:32 +0100 -Subject: [PATCH 126/150] brcmfmac: request_firmware_direct is quieter +Subject: [PATCH 126/156] brcmfmac: request_firmware_direct is quieter Since we don't have any CLM-capable firmware yet, silence the warning of its absence by using request_firmware_direct, which should also @@ -135341,10 +135341,10 @@ index f0309e039592ba6e388084a13f052c03f99cf1ef..b5889360da96096775db6425337a7215 if (err == -ENOENT) return 0; -From 5eb9ecd1e0ec47ef5240711971760ab7be5034a2 Mon Sep 17 00:00:00 2001 +From 03ac58aaac6152c4a81295521371ea1572254c2d Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 29 Sep 2017 10:32:19 +0100 -Subject: [PATCH 127/150] amba_pl011: Add cts-event-workaround DT property +Subject: [PATCH 127/156] amba_pl011: Add cts-event-workaround DT property The BCM2835 PL011 implementation seems to have a bug that can lead to a transmission lockup if CTS changes frequently. A workaround was added to @@ -135393,10 +135393,10 @@ index 424bdc500864a86e5d431763ba416b5298c777dc..b224306633f62c398ef904734a903d4e uap->vendor = vendor; uap->fifosize = vendor->get_fifosize(dev); -From fc0c08f7e445eab7a976285c4bb75e4c7113cfed Mon Sep 17 00:00:00 2001 +From 9530f6a5885ef00c32dc20522e77aacc8d413c02 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 11 Oct 2017 13:48:04 +0100 -Subject: [PATCH 128/150] amba-pl011: Report AUTOCTS capability to framework +Subject: [PATCH 128/156] amba-pl011: Report AUTOCTS capability to framework The PL011 has full hardware RTS/CTS support which is enabled by the driver when flow control is requested. However, it doesn't @@ -135439,10 +135439,10 @@ index b224306633f62c398ef904734a903d4e75df65c3..3b743cf8a94c279ff8d0b747f98062d0 if (uap->vendor->oversampling) { -From 3e48b9a3ef2e5f375b11bcfb180aa8c991cacb77 Mon Sep 17 00:00:00 2001 +From c4d190af43e28a3395d5a4a24e09c03e60ec1227 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 25 Oct 2017 09:20:56 +0100 -Subject: [PATCH 129/150] scripts: Update mkknlimg, just in case +Subject: [PATCH 129/156] scripts: Update mkknlimg, just in case With the removal of the vc_cma driver, mkknlimg lost an indication that the user had built a downstream kernel. Update the script, adding a few @@ -135485,10 +135485,10 @@ index 84be2593ec1de8f97b0167ff06b3e05d231c4ba0..d72e15224232d5164374e93be48949bf my $res = try_extract($kernel_file, $tmpfile1); -From 9381d7c74a5ce14b70938b837009760d9d404db3 Mon Sep 17 00:00:00 2001 +From 70673bcc7449d767000171b2166278414386f3f1 Mon Sep 17 00:00:00 2001 From: James Hughes Date: Tue, 14 Nov 2017 15:13:15 +0000 -Subject: [PATCH 130/150] AXI performance monitor driver (#2222) +Subject: [PATCH 130/156] AXI performance monitor driver (#2222) Uses the debugfs I/F to provide access to the AXI bus performance monitors. @@ -136174,10 +136174,10 @@ index 0000000000000000000000000000000000000000..bafe03b6c000060e78404d65a0aa96d8 +MODULE_LICENSE("GPL"); + -From cf82a931f06f4c996205af80a9b2c6d56ce88693 Mon Sep 17 00:00:00 2001 +From d85feabb73680e9c78a34c78551a19685fd57351 Mon Sep 17 00:00:00 2001 From: James Hughes Date: Fri, 21 Jul 2017 09:55:12 +0100 -Subject: [PATCH 131/150] Sets the BCDC priority to constant 0 +Subject: [PATCH 131/156] Sets the BCDC priority to constant 0 This is to workaround for a possible issue in the wireless chip firmware where some packets with @@ -136203,10 +136203,10 @@ index 9f2d0b0cf6e5c452ad85a3caef58cf16a8cdad46..b009f3083490c2bc2733424f08f81b9f h->data_offset = offset; BCDC_SET_IF_IDX(h, ifidx); -From 651b691735de48abc5f1a956a2c4711351e9378f Mon Sep 17 00:00:00 2001 +From 4deb646df815e8fde6af12cdc4aef28e36adf000 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 26 Apr 2016 13:46:13 -0700 -Subject: [PATCH 132/150] drm/panel: Add support for the Raspberry Pi 7" +Subject: [PATCH 132/156] drm/panel: Add support for the Raspberry Pi 7" Touchscreen. This driver communicates with the Atmel microcontroller for sequencing @@ -136787,10 +136787,10 @@ index 0000000000000000000000000000000000000000..1a536fe4d040f5fafe324baee110a622 +MODULE_DESCRIPTION("Raspberry Pi 7-inch touchscreen driver"); +MODULE_LICENSE("GPL v2"); -From 1f3743ba05a9df789ba541d8f5d734f520bd17f4 Mon Sep 17 00:00:00 2001 +From dc92e8e5c8ef7358b372e9a4c40bff3b633f8233 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 12 Apr 2017 17:52:56 -0700 -Subject: [PATCH 133/150] panel-raspberrypi-touchscreen: Fix NULL deref if +Subject: [PATCH 133/156] panel-raspberrypi-touchscreen: Fix NULL deref if probe order goes wrong. If the i2c driver hadn't pobed before the panel driver probes, then @@ -136817,10 +136817,10 @@ index 1a536fe4d040f5fafe324baee110a6225dd0be08..5d6bfd81b07a11a0cb407f4301d22931 } -From 09836dcfce1a29febefa1006f3257acaa298c097 Mon Sep 17 00:00:00 2001 +From 158eda085c7617a38a8a5c7f3a42731a0fe5a74e Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 6 Mar 2017 12:17:16 -0800 -Subject: [PATCH 134/150] panel-raspberrypi-touchscreen: Round up clk rate to +Subject: [PATCH 134/156] panel-raspberrypi-touchscreen: Round up clk rate to fix DSI panel. Commit 488f9bc8e3def93e0baef53cee2026c2cb0d8956 slightly increased the @@ -136855,10 +136855,10 @@ index 5d6bfd81b07a11a0cb407f4301d22931705fb8b1..b57b7ad9aa4c5048186e98553af59ec9 .hsync_start = HACT + HFP, .hsync_end = HACT + HFP + HSW, -From 0b6ed27389b478b5615c07df69639be9f20f304d Mon Sep 17 00:00:00 2001 +From c3a47a768b4ed30fd3b5999150600196c4d22bfc Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 2 Jun 2016 12:29:45 -0700 -Subject: [PATCH 135/150] BCM270X: Add the DSI panel to the defconfig. +Subject: [PATCH 135/156] BCM270X: Add the DSI panel to the defconfig. Signed-off-by: Eric Anholt --- @@ -136879,10 +136879,10 @@ index 9dcb58a519d041fadae99c81a7bda621b2a49f12..003209bf2362c2a136ab987b2f20065e CONFIG_DRM_VC4=m CONFIG_FB=y -From 9fbf1d4ea4596e6b64ee23493bec3dbd5ddcf626 Mon Sep 17 00:00:00 2001 +From 6dead55502acbb495dc2374ba6bfe24009924cf2 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 6 Jul 2017 11:45:48 -0700 -Subject: [PATCH 136/150] drm/vc4: Add support for setting DPMS in firmwarekms. +Subject: [PATCH 136/156] drm/vc4: Add support for setting DPMS in firmwarekms. This ensures that the screen goes blank during DPMS (screensaver), including the cursor. Planes don't necessarily get disabled during @@ -136985,10 +136985,10 @@ index d170775ccc985637ff018804f510a5003933c9ec..766f700417f7194d6b01fa1bc18dad40 if (!vc4_encoder) return -ENOMEM; -From adbd76238d4554e28f7060330252200cbfe5ec0e Mon Sep 17 00:00:00 2001 +From 02d392a5e011d75ed2256949f4490b6a4181090d Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Fri, 14 Jul 2017 17:33:08 -0700 -Subject: [PATCH 137/150] drm/vc4: Fix pitch setup for T-format scanout. +Subject: [PATCH 137/156] drm/vc4: Fix pitch setup for T-format scanout. The documentation said to use src_w here, and I didn't consider that we actually needed to be using pitch somewhere in our setup. Fixes @@ -137036,10 +137036,10 @@ index 2968b3ebb895714cb8c8faeaf40dff1c996f2259..4ad0b9fcae99f74fb89d09dd52d9ffe5 DRM_DEBUG_KMS("Unsupported FB tiling flag 0x%16llx", (long long)fb->modifier); -From eb3ab1fee74d52bc568767f9c0cb6e4f652e51a7 Mon Sep 17 00:00:00 2001 +From 82ce9961759e6f26e5623e604a20b3320485220d Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 24 Aug 2017 16:16:16 +0100 -Subject: [PATCH 138/150] brcmfmac: Disable ARP offloading when promiscuous +Subject: [PATCH 138/156] brcmfmac: Disable ARP offloading when promiscuous This is a test patch for brcmfmac from Franky Lin at Broadcom to disable ARP offloading when in promiscuous mode, re-enabling the ability to @@ -137176,10 +137176,10 @@ index a4dd313140f37dc1fbb6955e1148f48bccf22f44..b9a96cbc70f0865ee8c9cff3c6164144 bool is_p2pdev, const char *name, u8 *mac_addr); void brcmf_remove_interface(struct brcmf_if *ifp, bool rtnl_locked); -From e76d76dafb85d59ee35df446850cf34d462c99cb Mon Sep 17 00:00:00 2001 +From 6bda342d69a5607eb020a0ce5f3c07c5e57b3373 Mon Sep 17 00:00:00 2001 From: Kevin Cernekee Date: Sat, 16 Sep 2017 21:08:22 -0700 -Subject: [PATCH 139/150] brcmfmac: Avoid possible out-of-bounds read +Subject: [PATCH 139/156] brcmfmac: Avoid possible out-of-bounds read In brcmf_p2p_notify_rx_mgmt_p2p_probereq(), chanspec is assigned before the length of rxframe is validated. This could lead to uninitialized @@ -137217,10 +137217,10 @@ index 2ce675ab40ef867cf6a86ca5257a6db7ef76e80a..1c450c0727cb577f7dae25a1ce82b2db return 0; } -From a762f2eeabfc03a5b495f06cfcfcfd802949e83b Mon Sep 17 00:00:00 2001 +From f8aed552b1faa6e9252a26daea3b38ab22f92120 Mon Sep 17 00:00:00 2001 From: Kevin Cernekee Date: Sat, 16 Sep 2017 21:08:23 -0700 -Subject: [PATCH 140/150] brcmfmac: Delete redundant length check +Subject: [PATCH 140/156] brcmfmac: Delete redundant length check brcmf_fweh_process_event() sets event->datalen to the endian-swapped value of event_packet->msg.datalen, which is the @@ -137251,10 +137251,10 @@ index ef72baf6dd969c2478a2138ea57b9f691fdf12d8..e7eaa57d11d98f61280bd99013e649aa /* special handling of interface event */ if (event->code == BRCMF_E_IF) { -From 69fd01ea204909f8649779598e42d16620e76dba Mon Sep 17 00:00:00 2001 +From c30f1eb84049bff85c4e7107fbb48a3c2165db63 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 14 Nov 2017 11:03:22 +0000 -Subject: [PATCH 141/150] mcp2515: Use DT-supplied interrupt flags +Subject: [PATCH 141/156] mcp2515: Use DT-supplied interrupt flags The MCP2515 datasheet clearly describes a level-triggered interrupt pin. Therefore the receiving interrupt controller must also be @@ -137290,10 +137290,10 @@ index f3f05fea8e1f8e0ad3a1ebd7461d2019835e1d47..6c2d3aba25918f5536b2d67292334e74 flags | IRQF_ONESHOT, DEVICE_NAME, priv); if (ret) { -From ff2e9be866351ffd2c540c1f4f7666bbe707c76b Mon Sep 17 00:00:00 2001 +From d8b1f87abe7997d0168d088d4411cd63ae61ce8c Mon Sep 17 00:00:00 2001 From: James Hughes Date: Thu, 16 Nov 2017 15:56:17 +0000 -Subject: [PATCH 142/150] Tidy up of the ft5406 driver to use DT (#2189) +Subject: [PATCH 142/156] Tidy up of the ft5406 driver to use DT (#2189) Driver was using a fixed resolution, this commit adds touchscreen size, and coordinate flip and swap @@ -137677,10 +137677,10 @@ index 9d7d05482355d168c5c0c42508cd978979ee5f14..40bbde9ce1bc4c51be50f47fc359c74f } -From d48a2cbe69d3b552b30d82140b62248db79460b9 Mon Sep 17 00:00:00 2001 +From c12fd1fd4cef21c82d7acef3e03f81d41cfc1a6b Mon Sep 17 00:00:00 2001 From: notro Date: Thu, 10 Jul 2014 13:59:47 +0200 -Subject: [PATCH 143/150] pinctrl-bcm2835: Set base to 0 give expected gpio +Subject: [PATCH 143/156] pinctrl-bcm2835: Set base to 0 give expected gpio numbering Signed-off-by: Noralf Tronnes @@ -137702,10 +137702,10 @@ index ff782445dfb75d1a8af9eed775b8e8f7b275fee3..786efcddb5e56a06baf67cb91ddbbd8e .can_sleep = false, }; -From 73f55096e293319c764fb653fd67c29d0faa019b Mon Sep 17 00:00:00 2001 +From 3ff0bb2bc2e25a4ba8016aa943a111591491a885 Mon Sep 17 00:00:00 2001 From: P33M Date: Fri, 24 Nov 2017 13:49:26 +0000 -Subject: [PATCH 144/150] fiq_fsm: rewind DMA pointer for OUT transactions that +Subject: [PATCH 144/156] fiq_fsm: rewind DMA pointer for OUT transactions that fail (#2288) See: https://github.com/raspberrypi/linux/issues/2140 @@ -137749,10 +137749,10 @@ index e47d5b6de3ada73896ff9a81abd223d345e0de4f..ec804c7cd06d2db897ce6f72fce29733 if (st->nr_errors >= 3) { st->fsm = FIQ_NP_SPLIT_HS_ABORTED; -From ceeab80e8fad0008e4a64ac641dfa245b483597e Mon Sep 17 00:00:00 2001 +From 23cb26d966f3a608ee425de9f8bb271aef7682b3 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 21 Jul 2017 11:30:18 +0100 -Subject: [PATCH 145/150] lan78xx: Read MAC address from DT if present +Subject: [PATCH 145/156] lan78xx: Read MAC address from DT if present There is a standard mechanism for locating and using a MAC address from the Device Tree. Use this facility in the lan78xx driver to support @@ -137799,10 +137799,10 @@ index 0161f77641fac8eafc1284a5457a7ccb273efc39..01e72b267de8f2a82fbe1ab4557dcaab (addr[2] << 16) | (addr[3] << 24); addr_hi = addr[4] | (addr[5] << 8); -From 808a641b3d4d37114b4cef891e2338719dd99726 Mon Sep 17 00:00:00 2001 +From 467bf7dc624b0feeff16c8e6535b8c3e906f5a6f Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 28 Nov 2017 12:02:37 +0000 -Subject: [PATCH 146/150] lan78xx: Correctly indicate invalid OTP +Subject: [PATCH 146/156] lan78xx: Correctly indicate invalid OTP lan78xx_read_otp tries to return -EINVAL in the event of invalid OTP content, but the value gets overwritten before it is returned and the @@ -137829,10 +137829,10 @@ index 01e72b267de8f2a82fbe1ab4557dcaab67532da9..126fe75e75b19c1076a7dd4415a90403 return ret; -From c5282e16966e858bb264a98476add4b1e4183bc6 Mon Sep 17 00:00:00 2001 +From fa449b32d938fa8be904fdb37b424cf67040c2bd Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 17 Oct 2017 15:04:29 +0100 -Subject: [PATCH 147/150] lan78xx: Enable LEDs and auto-negotiation +Subject: [PATCH 147/156] lan78xx: Enable LEDs and auto-negotiation For applications of the LAN78xx that don't have valid programmed EEPROMs or OTPs, enabling both LEDs and auto-negotiation by default @@ -137880,10 +137880,10 @@ index 126fe75e75b19c1076a7dd4415a904035ba95402..26e04c732df49d09939d470c61a9ab46 ret = lan78xx_read_reg(dev, MAC_TX, &buf); -From 88e072ff870f14e523a595737deeb86f11006daf Mon Sep 17 00:00:00 2001 +From 8ed86c94c82b04849f230d355d43b110f8e2becf Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 27 Nov 2017 17:14:54 +0000 -Subject: [PATCH 148/150] cgroup: Disable cgroup "memory" by default +Subject: [PATCH 148/156] cgroup: Disable cgroup "memory" by default Some Raspberry Pis have limited RAM and most users won't use the cgroup memory support so it is disabled by default. Enable with: @@ -137953,10 +137953,10 @@ index 44857278eb8aa6a2bbf27b7eb12137ef42628170..8f86a3d88d84ccf4b055e6d36835fffa * css_tryget_online_from_dir - get corresponding css from a cgroup dentry * @dentry: directory dentry of interest -From ab009e7091d475269815e4226b9289cd251a8217 Mon Sep 17 00:00:00 2001 +From 05accdcc0fd34d6fad79cc9351ed144cef19ad70 Mon Sep 17 00:00:00 2001 From: Allen Wild Date: Tue, 26 Sep 2017 19:37:44 +0200 -Subject: [PATCH 149/150] thermal: enable broadcom menu for arm64 bcm2835 +Subject: [PATCH 149/156] thermal: enable broadcom menu for arm64 bcm2835 Moving the bcm2835 thermal driver to the broadcom directory prevented it from getting enabled for arm64 builds, since the broadcom directory is only @@ -137987,10 +137987,10 @@ index 07002df4f83acdde2efdf3f51299976ef25d2e1e..e3f0d1fd1720355bc601e766356ac528 endmenu -From 6ee7ffbe5160fc1c95938dbd133ef2edf6f33e14 Mon Sep 17 00:00:00 2001 +From 9f2a63187f992954e0719694b5a5f2fc235cbb45 Mon Sep 17 00:00:00 2001 From: Gottfried Haider Date: Tue, 26 Sep 2017 11:59:51 +0000 -Subject: [PATCH 150/150] pwm: Set class for exported channels in sysfs +Subject: [PATCH 150/156] pwm: Set class for exported channels in sysfs [ Upstream commit 7e5d1fd75c3dde9fc10c4472b9368089d1b81d00 ] @@ -138025,3 +138025,840 @@ index a813239300c3d46bba1320caac77ec7adc8363a8..83f2b0b15712bf5745a0dc3a231c5ed0 export->child.release = pwm_export_release; export->child.parent = parent; export->child.devt = MKDEV(0, 0); + +From 6b05daddf30bfee14f96b8edaed959e170ae6a96 Mon Sep 17 00:00:00 2001 +From: Giedrius Trainavicius +Date: Tue, 25 Oct 2016 01:47:20 +0300 +Subject: [PATCH 151/156] Updates for Pisound module code: + + * Merged 'Fix a warning in DEBUG builds' (1c8b82b). + * Updating some strings and copyright information. + * Fix for handling high load of MIDI input and output. + * Use dual rate oversampling ratio for 96kHz instead of single + rate one. + +Signed-off-by: Giedrius Trainavicius +--- + arch/arm/boot/dts/overlays/pisound-overlay.dts | 4 +- + sound/soc/bcm/pisound.c | 209 +++++++++++++++++-------- + 2 files changed, 146 insertions(+), 67 deletions(-) + +diff --git a/arch/arm/boot/dts/overlays/pisound-overlay.dts b/arch/arm/boot/dts/overlays/pisound-overlay.dts +index 5197e656a3d741d14bd9dd6c812b4b93be1419a2..0893717af4e011ba1ea63a5333b6c6aef802cf25 100644 +--- a/arch/arm/boot/dts/overlays/pisound-overlay.dts ++++ b/arch/arm/boot/dts/overlays/pisound-overlay.dts +@@ -1,6 +1,6 @@ + /* +- * pisound Linux kernel module. +- * Copyright (C) 2016 Vilniaus Blokas UAB, http://blokas.io/pisound ++ * Pisound Linux kernel module. ++ * Copyright (C) 2016-2017 Vilniaus Blokas UAB, https://blokas.io/pisound + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License +diff --git a/sound/soc/bcm/pisound.c b/sound/soc/bcm/pisound.c +index 06ff1e53dc9d860946965b6303577762f958fae2..09739d51b70b877e24e4f74f6aaadebd72d9ccd8 100644 +--- a/sound/soc/bcm/pisound.c ++++ b/sound/soc/bcm/pisound.c +@@ -1,6 +1,6 @@ + /* +- * pisound Linux kernel module. +- * Copyright (C) 2016 Vilniaus Blokas UAB, http://blokas.io/pisound ++ * Pisound Linux kernel module. ++ * Copyright (C) 2016-2017 Vilniaus Blokas UAB, https://blokas.io/pisound + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License +@@ -28,6 +28,7 @@ + #include + #include + #include ++#include + + #include + #include +@@ -41,7 +42,8 @@ + static int pisnd_spi_init(struct device *dev); + static void pisnd_spi_uninit(void); + +-static void pisnd_spi_send(uint8_t val); ++static void pisnd_spi_flush(void); ++static void pisnd_spi_start(void); + static uint8_t pisnd_spi_recv(uint8_t *buffer, uint8_t length); + + typedef void (*pisnd_spi_recv_cb)(void *data); +@@ -56,7 +58,7 @@ static void pisnd_midi_uninit(void); + + #define PISOUND_LOG_PREFIX "pisound: " + +-#ifdef DEBUG ++#ifdef PISOUND_DEBUG + # define printd(...) pr_alert(PISOUND_LOG_PREFIX __VA_ARGS__) + #else + # define printd(...) do {} while (0) +@@ -65,13 +67,18 @@ static void pisnd_midi_uninit(void); + #define printe(...) pr_err(PISOUND_LOG_PREFIX __VA_ARGS__) + #define printi(...) pr_info(PISOUND_LOG_PREFIX __VA_ARGS__) + ++static struct snd_rawmidi *g_rmidi; ++static struct snd_rawmidi_substream *g_midi_output_substream; ++ + static int pisnd_output_open(struct snd_rawmidi_substream *substream) + { ++ g_midi_output_substream = substream; + return 0; + } + + static int pisnd_output_close(struct snd_rawmidi_substream *substream) + { ++ g_midi_output_substream = NULL; + return 0; + } + +@@ -80,26 +87,20 @@ static void pisnd_output_trigger( + int up + ) + { +- uint8_t data; ++ if (substream != g_midi_output_substream) { ++ printe("MIDI output trigger called for an unexpected stream!"); ++ return; ++ } + + if (!up) + return; + +- while (snd_rawmidi_transmit_peek(substream, &data, 1)) { +- pisnd_spi_send(data); +- snd_rawmidi_transmit_ack(substream, 1); +- } ++ pisnd_spi_start(); + } + + static void pisnd_output_drain(struct snd_rawmidi_substream *substream) + { +- uint8_t data; +- +- while (snd_rawmidi_transmit_peek(substream, &data, 1)) { +- pisnd_spi_send(data); +- +- snd_rawmidi_transmit_ack(substream, 1); +- } ++ pisnd_spi_flush(); + } + + static int pisnd_input_open(struct snd_rawmidi_substream *substream) +@@ -120,7 +121,7 @@ static void pisnd_midi_recv_callback(void *substream) + while ((n = pisnd_spi_recv(data, sizeof(data)))) { + int res = snd_rawmidi_receive(substream, data, n); + (void)res; +- printd("midi recv 0x%02x, res = %d\n", data, res); ++ printd("midi recv %u bytes, res = %d\n", n, res); + } + } + +@@ -134,8 +135,6 @@ static void pisnd_input_trigger(struct snd_rawmidi_substream *substream, int up) + } + } + +-static struct snd_rawmidi *g_rmidi; +- + static struct snd_rawmidi_ops pisnd_output_ops = { + .open = pisnd_output_open, + .close = pisnd_output_close, +@@ -168,7 +167,11 @@ static struct snd_rawmidi_global_ops pisnd_global_ops = { + + static int pisnd_midi_init(struct snd_card *card) + { +- int err = snd_rawmidi_new(card, "pisound MIDI", 0, 1, 1, &g_rmidi); ++ int err; ++ ++ g_midi_output_substream = NULL; ++ ++ err = snd_rawmidi_new(card, "pisound MIDI", 0, 1, 1, &g_rmidi); + + if (err < 0) { + printe("snd_rawmidi_new failed: %d\n", err); +@@ -209,7 +212,7 @@ static void pisnd_midi_uninit(void) + static void *g_recvData; + static pisnd_spi_recv_cb g_recvCallback; + +-#define FIFO_SIZE 512 ++#define FIFO_SIZE 4096 + + static char g_serial_num[11]; + static char g_id[25]; +@@ -231,6 +234,7 @@ static struct work_struct pisnd_work_process; + + static void pisnd_work_handler(struct work_struct *work); + ++static void spi_transfer(const uint8_t *txbuf, uint8_t *rxbuf, int len); + static uint16_t spi_transfer16(uint16_t val); + + static int pisnd_init_workqueues(void) +@@ -285,9 +289,6 @@ static unsigned long spilockflags; + + static uint16_t spi_transfer16(uint16_t val) + { +- int err; +- struct spi_transfer transfer; +- struct spi_message msg; + uint8_t txbuf[2]; + uint8_t rxbuf[2]; + +@@ -296,19 +297,38 @@ static uint16_t spi_transfer16(uint16_t val) + return 0; + } + ++ txbuf[0] = val >> 8; ++ txbuf[1] = val & 0xff; ++ ++ spi_transfer(txbuf, rxbuf, sizeof(txbuf)); ++ ++ printd("received: %02x%02x\n", rxbuf[0], rxbuf[1]); ++ ++ return (rxbuf[0] << 8) | rxbuf[1]; ++} ++ ++static void spi_transfer(const uint8_t *txbuf, uint8_t *rxbuf, int len) ++{ ++ int err; ++ struct spi_transfer transfer; ++ struct spi_message msg; ++ ++ memset(rxbuf, 0, sizeof(txbuf)); ++ ++ if (!pisnd_spi_device) { ++ printe("pisnd_spi_device null, returning\n"); ++ return; ++ } ++ + spi_message_init(&msg); + + memset(&transfer, 0, sizeof(transfer)); +- memset(&rxbuf, 0, sizeof(rxbuf)); + +- txbuf[0] = val >> 8; +- txbuf[1] = val & 0xff; +- +- transfer.tx_buf = &txbuf; +- transfer.rx_buf = &rxbuf; +- transfer.len = sizeof(txbuf); +- transfer.speed_hz = 125000; +- transfer.delay_usecs = 100; ++ transfer.tx_buf = txbuf; ++ transfer.rx_buf = rxbuf; ++ transfer.len = len; ++ transfer.speed_hz = 100000; ++ transfer.delay_usecs = 10; + spi_message_add_tail(&transfer, &msg); + + spin_lock_irqsave(&spilock, spilockflags); +@@ -317,13 +337,10 @@ static uint16_t spi_transfer16(uint16_t val) + + if (err < 0) { + printe("spi_sync error %d\n", err); +- return 0; ++ return; + } + +- printd("received: %02x%02x\n", rxbuf[0], rxbuf[1]); + printd("hasMore %d\n", pisnd_spi_has_more()); +- +- return (rxbuf[0] << 8) | rxbuf[1]; + } + + static int spi_read_bytes(char *dst, size_t length, uint8_t *bytesRead) +@@ -335,7 +352,7 @@ static int spi_read_bytes(char *dst, size_t length, uint8_t *bytesRead) + memset(dst, 0, length); + *bytesRead = 0; + +- rx = spi_transfer16(0); ++ rx = spi_transfer16(0); + if (!(rx >> 8)) + return -EINVAL; + +@@ -388,35 +405,90 @@ static struct spi_device *pisnd_spi_find_device(void) + + static void pisnd_work_handler(struct work_struct *work) + { +- uint16_t rx; +- uint16_t tx; ++ enum { TRANSFER_SIZE = 4 }; ++ enum { PISOUND_OUTPUT_BUFFER_SIZE = 128 }; ++ enum { MIDI_BYTES_PER_SECOND = 3125 }; ++ int out_buffer_used = 0; ++ unsigned long now; + uint8_t val; ++ uint8_t txbuf[TRANSFER_SIZE]; ++ uint8_t rxbuf[TRANSFER_SIZE]; ++ uint8_t midibuf[TRANSFER_SIZE]; ++ int i, n; ++ bool had_data; ++ ++ unsigned long last_transfer_at = jiffies; + + if (work == &pisnd_work_process) { + if (pisnd_spi_device == NULL) + return; + + do { +- val = 0; +- tx = 0; +- +- if (g_ledFlashDurationChanged) { +- tx = 0xf000 | g_ledFlashDuration; +- g_ledFlashDuration = 0; +- g_ledFlashDurationChanged = false; +- } else if (kfifo_get(&spi_fifo_out, &val)) { +- tx = 0x0f00 | val; ++ if (g_midi_output_substream && ++ kfifo_avail(&spi_fifo_out) >= sizeof(midibuf)) { ++ ++ n = snd_rawmidi_transmit_peek( ++ g_midi_output_substream, ++ midibuf, sizeof(midibuf) ++ ); ++ ++ if (n > 0) { ++ for (i = 0; i < n; ++i) ++ kfifo_put( ++ &spi_fifo_out, ++ midibuf[i] ++ ); ++ snd_rawmidi_transmit_ack( ++ g_midi_output_substream, ++ i ++ ); ++ } + } + +- rx = spi_transfer16(tx); ++ had_data = false; ++ memset(txbuf, 0, sizeof(txbuf)); ++ for (i = 0; i < sizeof(txbuf) && ++ out_buffer_used < PISOUND_OUTPUT_BUFFER_SIZE; ++ i += 2) { ++ ++ val = 0; ++ ++ if (g_ledFlashDurationChanged) { ++ txbuf[i+0] = 0xf0; ++ txbuf[i+1] = g_ledFlashDuration; ++ g_ledFlashDuration = 0; ++ g_ledFlashDurationChanged = false; ++ } else if (kfifo_get(&spi_fifo_out, &val)) { ++ txbuf[i+0] = 0x0f; ++ txbuf[i+1] = val; ++ ++out_buffer_used; ++ } ++ } + +- if (rx & 0xff00) { +- kfifo_put(&spi_fifo_in, rx & 0xff); +- if (kfifo_len(&spi_fifo_in) > 16 +- && g_recvCallback) +- g_recvCallback(g_recvData); ++ spi_transfer(txbuf, rxbuf, sizeof(txbuf)); ++ /* Estimate the Pisound's MIDI output buffer usage, so ++ * that we don't overflow it. Space in the buffer should ++ * be becoming available at the UART MIDI byte transfer ++ * rate. ++ */ ++ now = jiffies; ++ out_buffer_used -= ++ (MIDI_BYTES_PER_SECOND / HZ) / ++ (now - last_transfer_at); ++ if (out_buffer_used < 0) ++ out_buffer_used = 0; ++ last_transfer_at = now; ++ ++ for (i = 0; i < sizeof(rxbuf); i += 2) { ++ if (rxbuf[i]) { ++ kfifo_put(&spi_fifo_in, rxbuf[i+1]); ++ if (kfifo_len(&spi_fifo_in) > 16 && ++ g_recvCallback) ++ g_recvCallback(g_recvData); ++ had_data = true; ++ } + } +- } while (rx != 0 ++ } while (had_data + || !kfifo_is_empty(&spi_fifo_out) + || pisnd_spi_has_more() + || g_ledFlashDurationChanged +@@ -492,7 +564,7 @@ static int spi_read_info(void) + if (!(tmp >> 8)) + return -EINVAL; + +- count = tmp & 0xff; ++ count = tmp & 0xff; + + for (i = 0; i < count; ++i) { + memset(buffer, 0, sizeof(buffer)); +@@ -628,10 +700,17 @@ static void pisnd_spi_flash_leds(uint8_t duration) + pisnd_schedule_process(TASK_PROCESS); + } + +-static void pisnd_spi_send(uint8_t val) ++static void pisnd_spi_flush(void) ++{ ++ while (!kfifo_is_empty(&spi_fifo_out)) { ++ pisnd_spi_start(); ++ flush_workqueue(pisnd_workqueue); ++ } ++} ++ ++static void pisnd_spi_start(void) + { +- kfifo_put(&spi_fifo_out, val); +- printd("schedule from spi_send\n"); ++ printd("schedule from spi_start\n"); + pisnd_schedule_process(TASK_PROCESS); + } + +@@ -765,7 +844,7 @@ static int pisnd_hw_params( + struct snd_soc_pcm_runtime *rtd = substream->private_data; + struct snd_soc_dai *cpu_dai = rtd->cpu_dai; + +- /* pisound runs on fixed 32 clock counts per channel, ++ /* Pisound runs on fixed 32 clock counts per channel, + * as generated by the master ADC. + */ + snd_soc_dai_set_bclk_ratio(cpu_dai, 32*2); +@@ -786,8 +865,8 @@ static int pisnd_hw_params( + break; + case 96000: + gpiod_set_value(osr0, true); +- gpiod_set_value(osr1, true); +- gpiod_set_value(osr2, false); ++ gpiod_set_value(osr1, false); ++ gpiod_set_value(osr2, true); + break; + case 192000: + gpiod_set_value(osr0, true); +@@ -1030,7 +1109,7 @@ static int pisnd_probe(struct platform_device *pdev) + return ret; + } + +- printi("Detected pisound card:\n"); ++ printi("Detected Pisound card:\n"); + printi("\tSerial: %s\n", pisnd_spi_get_serial()); + printi("\tVersion: %s\n", pisnd_spi_get_version()); + printi("\tId: %s\n", pisnd_spi_get_id()); +@@ -1119,5 +1198,5 @@ static struct platform_driver pisnd_driver = { + module_platform_driver(pisnd_driver); + + MODULE_AUTHOR("Giedrius Trainavicius "); +-MODULE_DESCRIPTION("ASoC Driver for pisound, http://blokas.io/pisound"); ++MODULE_DESCRIPTION("ASoC Driver for Pisound, https://blokas.io/pisound"); + MODULE_LICENSE("GPL v2"); + +From 553c00f4d0c206db850747bdda8e09b032bbcc0a Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Sat, 9 Dec 2017 21:45:12 +0000 +Subject: [PATCH 152/156] overlays: Add applepi-dac overlay + +See: https://github.com/raspberrypi/linux/issues/2302 + +Signed-off-by: Phil Elwell +--- + arch/arm/boot/dts/overlays/Makefile | 1 + + arch/arm/boot/dts/overlays/README | 6 +++ + arch/arm/boot/dts/overlays/applepi-dac-overlay.dts | 57 ++++++++++++++++++++++ + 3 files changed, 64 insertions(+) + create mode 100644 arch/arm/boot/dts/overlays/applepi-dac-overlay.dts + +diff --git a/arch/arm/boot/dts/overlays/Makefile b/arch/arm/boot/dts/overlays/Makefile +index b8771396608df877ca0832ce2b36972530c655bc..0902c59021bfaef60edce7867274e268e7a5fc17 100644 +--- a/arch/arm/boot/dts/overlays/Makefile ++++ b/arch/arm/boot/dts/overlays/Makefile +@@ -11,6 +11,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \ + allo-digione.dtbo \ + allo-piano-dac-pcm512x-audio.dtbo \ + allo-piano-dac-plus-pcm512x-audio.dtbo \ ++ applepi-dac.dtbo \ + at86rf233.dtbo \ + audioinjector-addons.dtbo \ + audioinjector-wm8731-audio.dtbo \ +diff --git a/arch/arm/boot/dts/overlays/README b/arch/arm/boot/dts/overlays/README +index 8f2da2ab4e1858e60b403a21c29b23caf69c3c61..abe9ce716b66dcc4845c8568da4ddf50e5ce1a1c 100644 +--- a/arch/arm/boot/dts/overlays/README ++++ b/arch/arm/boot/dts/overlays/README +@@ -337,6 +337,12 @@ Params: 24db_digital_gain Allow gain to be applied via the PCM512x codec + better voice quality. (default Off) + + ++Name: applepi-dac ++Info: Configures the Orchard Audio ApplePi-DAC audio card ++Load: dtoverlay=applepi-dac ++Params: ++ ++ + Name: at86rf233 + Info: Configures the Atmel AT86RF233 802.15.4 low-power WPAN transceiver, + connected to spi0.0 +diff --git a/arch/arm/boot/dts/overlays/applepi-dac-overlay.dts b/arch/arm/boot/dts/overlays/applepi-dac-overlay.dts +new file mode 100644 +index 0000000000000000000000000000000000000000..fc02b295470efce41d61be241ba550224a2f4bb6 +--- /dev/null ++++ b/arch/arm/boot/dts/overlays/applepi-dac-overlay.dts +@@ -0,0 +1,57 @@ ++/dts-v1/; ++/plugin/; ++ ++/ { ++ compatible = "brcm,bcm2708"; ++ ++ fragment@0 { ++ target = <&sound>; ++ __overlay__ { ++ compatible = "simple-audio-card"; ++ simple-audio-card,name = "ApplePi-DAC"; ++ ++ status = "okay"; ++ ++ playback_link: simple-audio-card,dai-link@1 { ++ format = "i2s"; ++ ++ p_cpu_dai: cpu { ++ sound-dai = <&i2s>; ++ dai-tdm-slot-num = <2>; ++ dai-tdm-slot-width = <32>; ++ }; ++ ++ p_codec_dai: codec { ++ sound-dai = <&codec_out>; ++ }; ++ }; ++ }; ++ }; ++ ++ fragment@1 { ++ target-path = "/"; ++ __overlay__ { ++ codec_out: pcm1794a-codec { ++ #sound-dai-cells = <0>; ++ compatible = "ti,pcm1794a"; ++ status = "okay"; ++ }; ++ }; ++ }; ++ ++ fragment@2 { ++ target = <&i2s>; ++ __overlay__ { ++ #sound-dai-cells = <0>; ++ status = "okay"; ++ }; ++ }; ++}; ++ ++/* ++ Written by: Leonid Ayzenshtat ++ Company: Orchard Audio (www.orchardaudio.com) ++ ++ compile with: ++ dtc -@ -H epapr -O dtb -o ApplePi-DAC.dtbo -W no-unit_address_vs_reg ApplePi-DAC.dts ++*/ + +From 833b3504358cdedd79bd4bb2635a77aacb30e858 Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Tue, 12 Dec 2017 12:12:46 +0000 +Subject: [PATCH 153/156] staging: vchiq_arm: Make debugfs failure non-fatal + +It can be useful to be able to open multiple vchiq instances in a +single process. This currently fails due to a debugfs collision, +so make such a failure non-fatal. + +Signed-off-by: Phil Elwell +--- + drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c | 6 +----- + 1 file changed, 1 insertion(+), 5 deletions(-) + +diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c +index 314ffac50bb8303971ca71a5f702f07fb8ed6639..e4bad872b7e547de268648fae690524ff265f235 100644 +--- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c ++++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c +@@ -1749,11 +1749,7 @@ vchiq_open(struct inode *inode, struct file *file) + instance->state = state; + instance->pid = current->tgid; + +- ret = vchiq_debugfs_add_instance(instance); +- if (ret != 0) { +- kfree(instance); +- return ret; +- } ++ (void)vchiq_debugfs_add_instance(instance); + + sema_init(&instance->insert_event, 0); + sema_init(&instance->remove_event, 0); + +From a629763c410ffd15f909fbddef94f35329c088ef Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Sat, 23 Dec 2017 22:10:37 +0000 +Subject: [PATCH 154/156] config: Add PINCTRL_MCP23S08 + +As of Linux 4.12, the mcp23s08 driver moved from drivers/gpio to +drivers/pinctrl. At the same time, the Kconfig symbols changed +from CONFIG_GPIO_MCP23S08 to CONFIG_PINCTRL_MCP23S08, effectively +removing the MCP23S17 from the downstream defconfigs. Restore +support by adding CONFIG_PINCTRL_MCP23S08. + +See: https://github.com/raspberrypi/linux/issues/2311 + +Signed-off-by: Phil Elwell +--- + arch/arm/configs/bcm2709_defconfig | 1 + + arch/arm/configs/bcmrpi_defconfig | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/arch/arm/configs/bcm2709_defconfig b/arch/arm/configs/bcm2709_defconfig +index e3620ef6499eea5677677f1c44aba9c61fe81856..3cc3a9745c1366ef6fc7d8066462c56039d7a071 100644 +--- a/arch/arm/configs/bcm2709_defconfig ++++ b/arch/arm/configs/bcm2709_defconfig +@@ -613,6 +613,7 @@ CONFIG_SPI_SLAVE=y + CONFIG_PPS=m + CONFIG_PPS_CLIENT_LDISC=m + CONFIG_PPS_CLIENT_GPIO=m ++CONFIG_PINCTRL_MCP23S08=m + CONFIG_GPIO_SYSFS=y + CONFIG_GPIO_BCM_EXP=y + CONFIG_GPIO_BCM_VIRT=y +diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig +index c1da808d40bc8e867b41d3566bd60a758d052bdb..4cfd4e6a339009536d6ebaaff36e4007573cfe63 100644 +--- a/arch/arm/configs/bcmrpi_defconfig ++++ b/arch/arm/configs/bcmrpi_defconfig +@@ -608,6 +608,7 @@ CONFIG_SPI_SLAVE=y + CONFIG_PPS=m + CONFIG_PPS_CLIENT_LDISC=m + CONFIG_PPS_CLIENT_GPIO=m ++CONFIG_PINCTRL_MCP23S08=m + CONFIG_GPIO_SYSFS=y + CONFIG_GPIO_PCF857X=m + CONFIG_GPIO_ARIZONA=m + +From 1a8c4ce941c8a8d9865bd86546660b6ff68938f5 Mon Sep 17 00:00:00 2001 +From: Alex Riesen +Date: Thu, 21 Dec 2017 09:29:39 +0100 +Subject: [PATCH 155/156] Add Raspberry Pi firmware driver to the dependencies + of backlight driver + +Otherwise the backlight driver fails to build if the firmware +loading driver is not in the kernel + +Signed-off-by: Alex Riesen +--- + drivers/video/backlight/Kconfig | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/drivers/video/backlight/Kconfig b/drivers/video/backlight/Kconfig +index e345a32945b7ec0712cebd0ac8e62c9e8955e24f..9244f2f7b642c6fe5725f0b3b841cece6deb8941 100644 +--- a/drivers/video/backlight/Kconfig ++++ b/drivers/video/backlight/Kconfig +@@ -267,6 +267,7 @@ config BACKLIGHT_PWM + + config BACKLIGHT_RPI + tristate "Raspberry Pi display firmware driven backlight" ++ depends on RASPBERRYPI_FIRMWARE + help + If you have the Raspberry Pi DSI touchscreen display, say Y to + enable the mailbox-controlled backlight driver. + +From a02f735a7abbf857a7630e0c7a8723747192a6b1 Mon Sep 17 00:00:00 2001 +From: Aaron Shaw +Date: Sun, 24 Dec 2017 21:57:05 +0000 +Subject: [PATCH 156/156] overlays: Add media center HAT overlay (#2313) + +--- + arch/arm/boot/dts/overlays/Makefile | 1 + + arch/arm/boot/dts/overlays/README | 24 ++++ + .../arm/boot/dts/overlays/media-center-overlay.dts | 132 +++++++++++++++++++++ + 3 files changed, 157 insertions(+) + create mode 100644 arch/arm/boot/dts/overlays/media-center-overlay.dts + +diff --git a/arch/arm/boot/dts/overlays/Makefile b/arch/arm/boot/dts/overlays/Makefile +index 0902c59021bfaef60edce7867274e268e7a5fc17..e07c87e2dcbd4d1b7146cec2e53a762a4b283800 100644 +--- a/arch/arm/boot/dts/overlays/Makefile ++++ b/arch/arm/boot/dts/overlays/Makefile +@@ -61,6 +61,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \ + mcp2515-can0.dtbo \ + mcp2515-can1.dtbo \ + mcp3008.dtbo \ ++ media-center.dtbo \ + midi-uart0.dtbo \ + midi-uart1.dtbo \ + mmc.dtbo \ +diff --git a/arch/arm/boot/dts/overlays/README b/arch/arm/boot/dts/overlays/README +index abe9ce716b66dcc4845c8568da4ddf50e5ce1a1c..6e43bbdd4ef26ee93ce45e045e2c7ebafc261ef1 100644 +--- a/arch/arm/boot/dts/overlays/README ++++ b/arch/arm/boot/dts/overlays/README +@@ -994,6 +994,30 @@ Params: spi--present boolean, configure device at spi, cs + spi--speed integer, set the spi bus speed for this device + + ++Name: media-center ++Info: Media Center HAT - 2.83" Touch Display + extras by Pi Supply ++Load: dtoverlay=media-center,= ++Params: speed Display SPI bus speed ++ rotate Display rotation {0,90,180,270} ++ fps Delay between frame updates ++ xohms Touchpanel sensitivity (X-plate resistance) ++ swapxy Swap x and y axis ++ gpio_out_pin GPIO for output (default "17") ++ gpio_in_pin GPIO for input (default "18") ++ gpio_in_pull Pull up/down/off on the input pin ++ (default "down") ++ sense Override the IR receive auto-detection logic: ++ "0" = force active-high ++ "1" = force active-low ++ "-1" = use auto-detection ++ (default "-1") ++ softcarrier Turn the software carrier "on" or "off" ++ (default "on") ++ invert "on" = invert the output pin (default "off") ++ debug "on" = enable additional debug messages ++ (default "off") ++ ++ + Name: midi-uart0 + Info: Configures UART0 (ttyAMA0) so that a requested 38.4kbaud actually gets + 31.25kbaud, the frequency required for MIDI +diff --git a/arch/arm/boot/dts/overlays/media-center-overlay.dts b/arch/arm/boot/dts/overlays/media-center-overlay.dts +new file mode 100644 +index 0000000000000000000000000000000000000000..a42b8e2a846c6e614ca807f798bef238ad002535 +--- /dev/null ++++ b/arch/arm/boot/dts/overlays/media-center-overlay.dts +@@ -0,0 +1,132 @@ ++/* ++ * Device Tree overlay for Media Center HAT by Pi Supply ++ * ++ */ ++ ++/dts-v1/; ++/plugin/; ++ ++/ { ++ compatible = "brcm,bcm2835", "brcm,bcm2708", "brcm,bcm2709"; ++ ++ fragment@0 { ++ target = <&spi0>; ++ __overlay__ { ++ status = "okay"; ++ ++ spidev@0{ ++ status = "disabled"; ++ }; ++ ++ spidev@1{ ++ status = "disabled"; ++ }; ++ }; ++ }; ++ ++ fragment@1 { ++ target = <&gpio>; ++ __overlay__ { ++ rpi_display_pins: rpi_display_pins { ++ brcm,pins = <12 23 24 25>; ++ brcm,function = <1 1 1 0>; /* out out out in */ ++ brcm,pull = <0 0 0 2>; /* - - - up */ ++ }; ++ }; ++ }; ++ ++ fragment@2 { ++ target = <&spi0>; ++ __overlay__ { ++ /* needed to avoid dtc warning */ ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ rpidisplay: rpi-display@0{ ++ compatible = "ilitek,ili9341"; ++ reg = <0>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&rpi_display_pins>; ++ ++ spi-max-frequency = <32000000>; ++ rotate = <90>; ++ bgr; ++ fps = <30>; ++ buswidth = <8>; ++ reset-gpios = <&gpio 23 0>; ++ dc-gpios = <&gpio 24 0>; ++ led-gpios = <&gpio 12 1>; ++ debug = <0>; ++ }; ++ ++ rpidisplay_ts: rpi-display-ts@1 { ++ compatible = "ti,ads7846"; ++ reg = <1>; ++ ++ spi-max-frequency = <2000000>; ++ interrupts = <25 2>; /* high-to-low edge triggered */ ++ interrupt-parent = <&gpio>; ++ pendown-gpio = <&gpio 25 0>; ++ ti,x-plate-ohms = /bits/ 16 <60>; ++ ti,pressure-max = /bits/ 16 <255>; ++ }; ++ }; ++ }; ++ ++ fragment@3 { ++ target-path = "/"; ++ __overlay__ { ++ lirc_rpi: lirc_rpi { ++ compatible = "rpi,lirc-rpi"; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&lirc_pins>; ++ status = "okay"; ++ ++ // Override autodetection of IR receiver circuit ++ // (0 = active high, 1 = active low, -1 = no override ) ++ rpi,sense = <0xffffffff>; ++ ++ // Software carrier ++ // (0 = off, 1 = on) ++ rpi,softcarrier = <1>; ++ ++ // Invert output ++ // (0 = off, 1 = on) ++ rpi,invert = <0>; ++ ++ // Enable debugging messages ++ // (0 = off, 1 = on) ++ rpi,debug = <0>; ++ }; ++ }; ++ }; ++ ++ fragment@4 { ++ target = <&gpio>; ++ __overlay__ { ++ lirc_pins: lirc_pins { ++ brcm,pins = <6 5>; ++ brcm,function = <1 0>; // out in ++ brcm,pull = <0 1>; // off down ++ }; ++ }; ++ }; ++ ++ __overrides__ { ++ speed = <&rpidisplay>,"spi-max-frequency:0"; ++ rotate = <&rpidisplay>,"rotate:0"; ++ fps = <&rpidisplay>,"fps:0"; ++ debug = <&rpidisplay>,"debug:0", ++ <&lirc_rpi>,"rpi,debug:0"; ++ xohms = <&rpidisplay_ts>,"ti,x-plate-ohms;0"; ++ swapxy = <&rpidisplay_ts>,"ti,swap-xy?"; ++ ++ gpio_out_pin = <&lirc_pins>,"brcm,pins:0"; ++ gpio_in_pin = <&lirc_pins>,"brcm,pins:4"; ++ gpio_in_pull = <&lirc_pins>,"brcm,pull:4"; ++ ++ sense = <&lirc_rpi>,"rpi,sense:0"; ++ softcarrier = <&lirc_rpi>,"rpi,softcarrier:0"; ++ invert = <&lirc_rpi>,"rpi,invert:0"; ++ }; ++};