From 02005b979fbb6eda190c7690498bfd157c37fce3 Mon Sep 17 00:00:00 2001 From: "Justin M. Forbes" Date: Wed, 11 Sep 2013 10:07:25 -0500 Subject: [PATCH] Linux v3.11 rebase --- ...ech-dj-missing-Unifying-device-issue.patch | 172 ------ ...ODATA-if-reading-battery-attrs-fails.patch | 55 -- ...t-fixup-for-Genius-Gila-Gaming-mouse.patch | 98 ---- ...h-fix-for-newer-hardware-versions-v7.patch | 70 --- ...andle-idiv-overflow-at-kvm_write_tsc.patch | 45 -- acpi-video-dos.patch | 17 - ...-not-call-setup_timer-multiple-times.patch | 50 -- ...the-mdb-entry-when-query-is-received.patch | 159 ------ ...d-query-as-soon-as-leave-is-received.patch | 57 -- bridge-timer-fix.patch | 13 - config-arm-generic | 115 +++- config-armv7 | 209 ++++--- config-armv7-generic | 62 ++- config-armv7-lpae | 64 ++- config-debug | 12 +- config-generic | 209 ++++--- config-nodebug | 14 +- config-powerpc-generic | 20 +- config-powerpc32-generic | 6 - config-powerpc32-smp | 1 - config-powerpc64 | 14 +- config-powerpc64p7 | 14 +- config-s390x | 25 +- config-x86-32-generic | 4 +- config-x86-generic | 55 +- config-x86_64-generic | 17 +- drm-hotspot-cursor-backport.patch | 164 ------ drm-qxl-post-3.10-feature-fixes.patch | 517 ------------------ drm-qxl-post-3.10-features-part-2.patch | 483 ---------------- ...ning-if-enabling-irq-remapping-fails.patch | 25 - ...sses-check-from-ipv6_create_tempaddr.patch | 63 --- kernel.spec | 81 +-- nowatchdog-on-virt.patch | 10 +- ...0-rearrange-bbp-rfcsr-initialization.patch | 60 +- ...q-lock-inversion-dependency-detected.patch | 83 --- sources | 3 +- 36 files changed, 549 insertions(+), 2517 deletions(-) delete mode 100644 HID-Revert-Revert-HID-Fix-logitech-dj-missing-Unifying-device-issue.patch delete mode 100644 HID-input-return-ENODATA-if-reading-battery-attrs-fails.patch delete mode 100644 HID-kye-Add-report-fixup-for-Genius-Gila-Gaming-mouse.patch delete mode 100644 Input-elantech-fix-for-newer-hardware-versions-v7.patch delete mode 100644 KVM-x86-handle-idiv-overflow-at-kvm_write_tsc.patch delete mode 100644 acpi-video-dos.patch delete mode 100644 bridge-do-not-call-setup_timer-multiple-times.patch delete mode 100644 bridge-only-expire-the-mdb-entry-when-query-is-received.patch delete mode 100644 bridge-send-query-as-soon-as-leave-is-received.patch delete mode 100644 bridge-timer-fix.patch delete mode 100644 drm-hotspot-cursor-backport.patch delete mode 100644 drm-qxl-post-3.10-feature-fixes.patch delete mode 100644 drm-qxl-post-3.10-features-part-2.patch delete mode 100644 intel_iommu-Downgrade-the-warning-if-enabling-irq-remapping-fails.patch delete mode 100644 ipv6-remove-max_addresses-check-from-ipv6_create_tempaddr.patch delete mode 100644 scsi-ipr-possible-irq-lock-inversion-dependency-detected.patch diff --git a/HID-Revert-Revert-HID-Fix-logitech-dj-missing-Unifying-device-issue.patch b/HID-Revert-Revert-HID-Fix-logitech-dj-missing-Unifying-device-issue.patch deleted file mode 100644 index 1c112ccde..000000000 --- a/HID-Revert-Revert-HID-Fix-logitech-dj-missing-Unifying-device-issue.patch +++ /dev/null @@ -1,172 +0,0 @@ -From c63e0e370028d7e4033bd40165f18499872b5183 Mon Sep 17 00:00:00 2001 -From: Nestor Lopez Casado -Date: Thu, 18 Jul 2013 13:21:30 +0000 -Subject: HID: Revert "Revert "HID: Fix logitech-dj: missing Unifying device issue"" - -This reverts commit 8af6c08830b1ae114d1a8b548b1f8b056e068887. - -This patch re-adds the workaround introduced by 596264082f10dd4 -which was reverted by 8af6c08830b1ae114. - -The original patch 596264 was needed to overcome a situation where -the hid-core would drop incoming reports while probe() was being -executed. - -This issue was solved by c849a6143bec520af which added -hid_device_io_start() and hid_device_io_stop() that enable a specific -hid driver to opt-in for input reports while its probe() is being -executed. - -Commit a9dd22b730857347 modified hid-logitech-dj so as to use the -functionality added to hid-core. Having done that, workaround 596264 -was no longer necessary and was reverted by 8af6c08. - -We now encounter a different problem that ends up 'again' thwarting -the Unifying receiver enumeration. The problem is time and usb controller -dependent. Ocasionally the reports sent to the usb receiver to start -the paired devices enumeration fail with -EPIPE and the receiver never -gets to enumerate the paired devices. - -With dcd9006b1b053c7b1c the problem was "hidden" as the call to the usb -driver became asynchronous and none was catching the error from the -failing URB. - -As the root cause for this failing SET_REPORT is not understood yet, --possibly a race on the usb controller drivers or a problem with the -Unifying receiver- reintroducing this workaround solves the problem. - -Overall what this workaround does is: If an input report from an -unknown device is received, then a (re)enumeration is performed. - -related bug: -https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1194649 - -Signed-off-by: Nestor Lopez Casado -Signed-off-by: Jiri Kosina ---- -diff --git a/drivers/hid/hid-logitech-dj.c b/drivers/hid/hid-logitech-dj.c -index 5207591a..cd33084 100644 ---- a/drivers/hid/hid-logitech-dj.c -+++ b/drivers/hid/hid-logitech-dj.c -@@ -192,6 +192,7 @@ static struct hid_ll_driver logi_dj_ll_driver; - static int logi_dj_output_hidraw_report(struct hid_device *hid, u8 * buf, - size_t count, - unsigned char report_type); -+static int logi_dj_recv_query_paired_devices(struct dj_receiver_dev *djrcv_dev); - - static void logi_dj_recv_destroy_djhid_device(struct dj_receiver_dev *djrcv_dev, - struct dj_report *dj_report) -@@ -232,6 +233,7 @@ static void logi_dj_recv_add_djhid_device(struct dj_receiver_dev *djrcv_dev, - if (dj_report->report_params[DEVICE_PAIRED_PARAM_SPFUNCTION] & - SPFUNCTION_DEVICE_LIST_EMPTY) { - dbg_hid("%s: device list is empty\n", __func__); -+ djrcv_dev->querying_devices = false; - return; - } - -@@ -242,6 +244,12 @@ static void logi_dj_recv_add_djhid_device(struct dj_receiver_dev *djrcv_dev, - return; - } - -+ if (djrcv_dev->paired_dj_devices[dj_report->device_index]) { -+ /* The device is already known. No need to reallocate it. */ -+ dbg_hid("%s: device is already known\n", __func__); -+ return; -+ } -+ - dj_hiddev = hid_allocate_device(); - if (IS_ERR(dj_hiddev)) { - dev_err(&djrcv_hdev->dev, "%s: hid_allocate_device failed\n", -@@ -305,6 +313,7 @@ static void delayedwork_callback(struct work_struct *work) - struct dj_report dj_report; - unsigned long flags; - int count; -+ int retval; - - dbg_hid("%s\n", __func__); - -@@ -337,6 +346,25 @@ static void delayedwork_callback(struct work_struct *work) - logi_dj_recv_destroy_djhid_device(djrcv_dev, &dj_report); - break; - default: -+ /* A normal report (i. e. not belonging to a pair/unpair notification) -+ * arriving here, means that the report arrived but we did not have a -+ * paired dj_device associated to the report's device_index, this -+ * means that the original "device paired" notification corresponding -+ * to this dj_device never arrived to this driver. The reason is that -+ * hid-core discards all packets coming from a device while probe() is -+ * executing. */ -+ if (!djrcv_dev->paired_dj_devices[dj_report.device_index]) { -+ /* ok, we don't know the device, just re-ask the -+ * receiver for the list of connected devices. */ -+ retval = logi_dj_recv_query_paired_devices(djrcv_dev); -+ if (!retval) { -+ /* everything went fine, so just leave */ -+ break; -+ } -+ dev_err(&djrcv_dev->hdev->dev, -+ "%s:logi_dj_recv_query_paired_devices " -+ "error:%d\n", __func__, retval); -+ } - dbg_hid("%s: unexpected report type\n", __func__); - } - } -@@ -367,6 +395,12 @@ static void logi_dj_recv_forward_null_report(struct dj_receiver_dev *djrcv_dev, - if (!djdev) { - dbg_hid("djrcv_dev->paired_dj_devices[dj_report->device_index]" - " is NULL, index %d\n", dj_report->device_index); -+ kfifo_in(&djrcv_dev->notif_fifo, dj_report, sizeof(struct dj_report)); -+ -+ if (schedule_work(&djrcv_dev->work) == 0) { -+ dbg_hid("%s: did not schedule the work item, was already " -+ "queued\n", __func__); -+ } - return; - } - -@@ -397,6 +431,12 @@ static void logi_dj_recv_forward_report(struct dj_receiver_dev *djrcv_dev, - if (dj_device == NULL) { - dbg_hid("djrcv_dev->paired_dj_devices[dj_report->device_index]" - " is NULL, index %d\n", dj_report->device_index); -+ kfifo_in(&djrcv_dev->notif_fifo, dj_report, sizeof(struct dj_report)); -+ -+ if (schedule_work(&djrcv_dev->work) == 0) { -+ dbg_hid("%s: did not schedule the work item, was already " -+ "queued\n", __func__); -+ } - return; - } - -@@ -444,6 +484,10 @@ static int logi_dj_recv_query_paired_devices(struct dj_receiver_dev *djrcv_dev) - struct dj_report *dj_report; - int retval; - -+ /* no need to protect djrcv_dev->querying_devices */ -+ if (djrcv_dev->querying_devices) -+ return 0; -+ - dj_report = kzalloc(sizeof(struct dj_report), GFP_KERNEL); - if (!dj_report) - return -ENOMEM; -@@ -455,6 +499,7 @@ static int logi_dj_recv_query_paired_devices(struct dj_receiver_dev *djrcv_dev) - return retval; - } - -+ - static int logi_dj_recv_switch_to_dj_mode(struct dj_receiver_dev *djrcv_dev, - unsigned timeout) - { -diff --git a/drivers/hid/hid-logitech-dj.h b/drivers/hid/hid-logitech-dj.h -index fd28a5e..4a40003 100644 ---- a/drivers/hid/hid-logitech-dj.h -+++ b/drivers/hid/hid-logitech-dj.h -@@ -101,6 +101,7 @@ struct dj_receiver_dev { - struct work_struct work; - struct kfifo notif_fifo; - spinlock_t lock; -+ bool querying_devices; - }; - - struct dj_device { --- -cgit v0.9.2 diff --git a/HID-input-return-ENODATA-if-reading-battery-attrs-fails.patch b/HID-input-return-ENODATA-if-reading-battery-attrs-fails.patch deleted file mode 100644 index acdd66d48..000000000 --- a/HID-input-return-ENODATA-if-reading-battery-attrs-fails.patch +++ /dev/null @@ -1,55 +0,0 @@ -From d0a934b764c67b4bf626f5b7cf725a6e3066afd2 Mon Sep 17 00:00:00 2001 -From: David Herrmann -Date: Mon, 13 May 2013 15:01:30 +0000 -Subject: HID: input: return ENODATA if reading battery attrs fails - -power_supply core has the bad habit of calling our battery callbacks -from within power_supply_register(). Furthermore, if the callbacks -fail with an unhandled error code, it will skip any uevent that it -might currently process. -So if HID-core registers battery devices, an "add" uevent is generated -and the battery callbacks are called. These will gracefully fail due -to timeouts as they might still hold locks on event processing. One -could argue that this should be fixed in power_supply core, but the -least we can do is to signal ENODATA so power_supply core will just -skip the property and continue with the uevent. - -This fixes a bug where "add" and "remove" uevents are skipped for -battery devices. upower is unable to track these devices and currently -needs to ignore them. - -This patch also overwrites any other error code. I cannot see any reason -why we should forward protocol- or I/O-errors to the power_supply core. -We handle these errors in hid_ll_driver later, anyway, so just skip -them. power_supply core cannot do anything useful with them, anyway, -and we avoid skipping important uevents and confusing user-space. - -Thanks a lot to Daniel Nicoletti for pushing and investigating -on this. - -Cc: Jiri Kosina -Cc: Anton Vorontsov -Cc: David Woodhouse -Reported-by: Daniel Nicoletti -Signed-off-by: David Herrmann -Signed-off-by: Jiri Kosina ---- -diff --git a/drivers/hid/hid-input.c b/drivers/hid/hid-input.c -index 945b815..c526a3c 100644 ---- a/drivers/hid/hid-input.c -+++ b/drivers/hid/hid-input.c -@@ -354,10 +354,10 @@ static int hidinput_get_battery_property(struct power_supply *psy, - dev->battery_report_type); - - if (ret != 2) { -- if (ret >= 0) -- ret = -EINVAL; -+ ret = -ENODATA; - break; - } -+ ret = 0; - - if (dev->battery_min < dev->battery_max && - buf[1] >= dev->battery_min && --- -cgit v0.9.2 diff --git a/HID-kye-Add-report-fixup-for-Genius-Gila-Gaming-mouse.patch b/HID-kye-Add-report-fixup-for-Genius-Gila-Gaming-mouse.patch deleted file mode 100644 index 6913eb520..000000000 --- a/HID-kye-Add-report-fixup-for-Genius-Gila-Gaming-mouse.patch +++ /dev/null @@ -1,98 +0,0 @@ -From 3685c18e17f12438d0a83331c1b6a5b00fade7a1 Mon Sep 17 00:00:00 2001 -From: Benjamin Tissoires -Date: Tue, 02 Jul 2013 16:10:09 +0000 -Subject: HID: kye: Add report fixup for Genius Gila Gaming mouse - -Genius Gila Gaming Mouse presents an obviously wrong report descriptor. -the Consumer control (report ID 3) is the following: -0x05, 0x0c, // Usage Page (Consumer Devices) 105 -0x09, 0x01, // Usage (Consumer Control) 107 -0xa1, 0x01, // Collection (Application) 109 -0x85, 0x03, // Report ID (3) 111 -0x19, 0x00, // Usage Minimum (0) 113 -0x2a, 0xff, 0x7f, // Usage Maximum (32767) 115 -0x15, 0x00, // Logical Minimum (0) 118 -0x26, 0xff, 0x7f, // Logical Maximum (32767) 120 -0x75, 0x10, // Report Size (16) 123 -0x95, 0x03, // Report Count (3) 125 -0x81, 0x00, // Input (Data,Arr,Abs) 127 -0x75, 0x08, // Report Size (8) 129 -0x95, 0x01, // Report Count (1) 131 -0x81, 0x01, // Input (Cnst,Arr,Abs) 133 -0xc0, // End Collection 135 - -So the first input whithin this report has a count of 3 but a usage range -of 32768. So this value is obviously wrong as it should not be greater than -the report count. - -Fixes: -https://bugzilla.redhat.com/show_bug.cgi?id=959721 - -Signed-off-by: Benjamin Tissoires -Signed-off-by: Jiri Kosina ---- -diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c -index 8f616bd..27aa7c7 100644 ---- a/drivers/hid/hid-core.c -+++ b/drivers/hid/hid-core.c -@@ -1589,6 +1589,7 @@ static const struct hid_device_id hid_have_special_driver[] = { - { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_ION, USB_DEVICE_ID_ICADE) }, - { HID_USB_DEVICE(USB_VENDOR_ID_KENSINGTON, USB_DEVICE_ID_KS_SLIMBLADE) }, - { HID_USB_DEVICE(USB_VENDOR_ID_KEYTOUCH, USB_DEVICE_ID_KEYTOUCH_IEC) }, -+ { HID_USB_DEVICE(USB_VENDOR_ID_KYE, USB_DEVICE_ID_GENIUS_GILA_GAMING_MOUSE) }, - { HID_USB_DEVICE(USB_VENDOR_ID_KYE, USB_DEVICE_ID_KYE_ERGO_525V) }, - { HID_USB_DEVICE(USB_VENDOR_ID_KYE, USB_DEVICE_ID_KYE_EASYPEN_I405X) }, - { HID_USB_DEVICE(USB_VENDOR_ID_KYE, USB_DEVICE_ID_KYE_MOUSEPEN_I608X) }, -diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h -index 3da75dd..b2b692e 100644 ---- a/drivers/hid/hid-ids.h -+++ b/drivers/hid/hid-ids.h -@@ -474,6 +474,7 @@ - - #define USB_VENDOR_ID_KYE 0x0458 - #define USB_DEVICE_ID_KYE_ERGO_525V 0x0087 -+#define USB_DEVICE_ID_GENIUS_GILA_GAMING_MOUSE 0x0138 - #define USB_DEVICE_ID_KYE_GPEN_560 0x5003 - #define USB_DEVICE_ID_KYE_EASYPEN_I405X 0x5010 - #define USB_DEVICE_ID_KYE_MOUSEPEN_I608X 0x5011 -diff --git a/drivers/hid/hid-kye.c b/drivers/hid/hid-kye.c -index 6af90db..1e2ee2aa 100644 ---- a/drivers/hid/hid-kye.c -+++ b/drivers/hid/hid-kye.c -@@ -314,6 +314,25 @@ static __u8 *kye_report_fixup(struct hid_device *hdev, __u8 *rdesc, - *rsize = sizeof(easypen_m610x_rdesc_fixed); - } - break; -+ case USB_DEVICE_ID_GENIUS_GILA_GAMING_MOUSE: -+ /* -+ * the fixup that need to be done: -+ * - change Usage Maximum in the Comsumer Control -+ * (report ID 3) to a reasonable value -+ */ -+ if (*rsize >= 135 && -+ /* Usage Page (Consumer Devices) */ -+ rdesc[104] == 0x05 && rdesc[105] == 0x0c && -+ /* Usage (Consumer Control) */ -+ rdesc[106] == 0x09 && rdesc[107] == 0x01 && -+ /* Usage Maximum > 12287 */ -+ rdesc[114] == 0x2a && rdesc[116] > 0x2f) { -+ hid_info(hdev, -+ "fixing up Genius Gila Gaming Mouse " -+ "report descriptor\n"); -+ rdesc[116] = 0x2f; -+ } -+ break; - } - return rdesc; - } -@@ -407,6 +426,8 @@ static const struct hid_device_id kye_devices[] = { - USB_DEVICE_ID_KYE_MOUSEPEN_I608X) }, - { HID_USB_DEVICE(USB_VENDOR_ID_KYE, - USB_DEVICE_ID_KYE_EASYPEN_M610X) }, -+ { HID_USB_DEVICE(USB_VENDOR_ID_KYE, -+ USB_DEVICE_ID_GENIUS_GILA_GAMING_MOUSE) }, - { } - }; - MODULE_DEVICE_TABLE(hid, kye_devices); --- -cgit v0.9.2 diff --git a/Input-elantech-fix-for-newer-hardware-versions-v7.patch b/Input-elantech-fix-for-newer-hardware-versions-v7.patch deleted file mode 100644 index b9495d75d..000000000 --- a/Input-elantech-fix-for-newer-hardware-versions-v7.patch +++ /dev/null @@ -1,70 +0,0 @@ -From 9eebed7de660c0b5ab129a9de4f89d20b60de68c Mon Sep 17 00:00:00 2001 -From: Matteo Delfino -Date: Sat, 6 Jul 2013 21:52:26 -0700 -Subject: [PATCH] Input: elantech - fix for newer hardware versions (v7) - -* Fix version recognition in elantech_set_properties - - The new hardware reports itself as v7 but the packets' - structure is unaltered. - -* Fix packet type recognition in elantech_packet_check_v4 - - The bitmask used for v6 is too wide, only the last three bits of - the third byte in a packet (packet[3] & 0x03) are actually used to - distinguish between packet types. - Starting from v7, additional information (to be interpreted) is - stored in the remaining bits (packets[3] & 0x1c). - In addition, the value stored in (packet[0] & 0x0c) is no longer - a constant but contains additional information yet to be deciphered. - This change should be backwards compatible with v6 hardware. - -Additional-author: Giovanni Frigione -Signed-off-by: Matteo Delfino -Signed-off-by: Dmitry Torokhov ---- - drivers/input/mouse/elantech.c | 17 +++++++++-------- - 1 file changed, 9 insertions(+), 8 deletions(-) - -diff --git a/drivers/input/mouse/elantech.c b/drivers/input/mouse/elantech.c -index 1e8e42f..57b2637 100644 ---- a/drivers/input/mouse/elantech.c -+++ b/drivers/input/mouse/elantech.c -@@ -694,18 +694,18 @@ static int elantech_packet_check_v3(struct psmouse *psmouse) - static int elantech_packet_check_v4(struct psmouse *psmouse) - { - unsigned char *packet = psmouse->packet; -+ unsigned char packet_type = packet[3] & 0x03; - -- if ((packet[0] & 0x0c) == 0x04 && -- (packet[3] & 0x1f) == 0x11) -+ switch (packet_type) { -+ case 0: -+ return PACKET_V4_STATUS; -+ -+ case 1: - return PACKET_V4_HEAD; - -- if ((packet[0] & 0x0c) == 0x04 && -- (packet[3] & 0x1f) == 0x12) -+ case 2: - return PACKET_V4_MOTION; -- -- if ((packet[0] & 0x0c) == 0x04 && -- (packet[3] & 0x1f) == 0x10) -- return PACKET_V4_STATUS; -+ } - - return PACKET_UNKNOWN; - } -@@ -1282,6 +1282,7 @@ static int elantech_set_properties(struct elantech_data *etd) - etd->hw_version = 3; - break; - case 6: -+ case 7: - etd->hw_version = 4; - break; - default: --- -1.8.3.1 - diff --git a/KVM-x86-handle-idiv-overflow-at-kvm_write_tsc.patch b/KVM-x86-handle-idiv-overflow-at-kvm_write_tsc.patch deleted file mode 100644 index 678e82953..000000000 --- a/KVM-x86-handle-idiv-overflow-at-kvm_write_tsc.patch +++ /dev/null @@ -1,45 +0,0 @@ -diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c -index 094b5d9..64a4b03 100644 ---- a/arch/x86/kvm/x86.c -+++ b/arch/x86/kvm/x86.c -@@ -1194,20 +1194,37 @@ void kvm_write_tsc(struct kvm_vcpu *vcpu, struct msr_data *msr) - elapsed = ns - kvm->arch.last_tsc_nsec; - - if (vcpu->arch.virtual_tsc_khz) { -+ int faulted = 0; -+ - /* n.b - signed multiplication and division required */ - usdiff = data - kvm->arch.last_tsc_write; - #ifdef CONFIG_X86_64 - usdiff = (usdiff * 1000) / vcpu->arch.virtual_tsc_khz; - #else - /* do_div() only does unsigned */ -- asm("idivl %2; xor %%edx, %%edx" -- : "=A"(usdiff) -- : "A"(usdiff * 1000), "rm"(vcpu->arch.virtual_tsc_khz)); -+ asm("1: idivl %[divisor]\n" -+ "2: xor %%edx, %%edx\n" -+ " movl $0, %[faulted]\n" -+ "3:\n" -+ ".section .fixup,\"ax\"\n" -+ "4: movl $1, %[faulted]\n" -+ " jmp 3b\n" -+ ".previous\n" -+ -+ _ASM_EXTABLE(1b, 4b) -+ -+ : "=A"(usdiff), [faulted] "=r" (faulted) -+ : "A"(usdiff * 1000), [divisor] "rm"(vcpu->arch.virtual_tsc_khz)); -+ - #endif - do_div(elapsed, 1000); - usdiff -= elapsed; - if (usdiff < 0) - usdiff = -usdiff; -+ -+ /* idivl overflow => difference is larger than USEC_PER_SEC */ -+ if (faulted) -+ usdiff = USEC_PER_SEC; - } else - usdiff = USEC_PER_SEC; /* disable TSC match window below */ - diff --git a/acpi-video-dos.patch b/acpi-video-dos.patch deleted file mode 100644 index 3e2085193..000000000 --- a/acpi-video-dos.patch +++ /dev/null @@ -1,17 +0,0 @@ -Disable firmware video brightness change on AC/Battery switch by default - --- mjg59 - -diff --git a/drivers/acpi/video.c b/drivers/acpi/video.c -index bac2901..93b1a9e 100644 ---- a/drivers/acpi/video.c -+++ b/drivers/acpi/video.c -@@ -1818,7 +1818,7 @@ static int acpi_video_bus_put_devices(struct acpi_video_bus *video) - - static int acpi_video_bus_start_devices(struct acpi_video_bus *video) - { -- return acpi_video_bus_DOS(video, 0, 0); -+ return acpi_video_bus_DOS(video, 0, 1); - } - - static int acpi_video_bus_stop_devices(struct acpi_video_bus *video) diff --git a/bridge-do-not-call-setup_timer-multiple-times.patch b/bridge-do-not-call-setup_timer-multiple-times.patch deleted file mode 100644 index c8c7bf747..000000000 --- a/bridge-do-not-call-setup_timer-multiple-times.patch +++ /dev/null @@ -1,50 +0,0 @@ -From 1faabf2aab1fdaa1ace4e8c829d1b9cf7bfec2f1 Mon Sep 17 00:00:00 2001 -From: Eric Dumazet -Date: Sat, 20 Jul 2013 03:07:16 +0000 -Subject: bridge: do not call setup_timer() multiple times - -commit 9f00b2e7cf24 ("bridge: only expire the mdb entry when query is -received") added a nasty bug as an active timer can be reinitialized. - -setup_timer() must be done once, no matter how many time mod_timer() -is called. br_multicast_new_group() is the right place to do this. - -Reported-by: Srivatsa S. Bhat -Diagnosed-by: Thomas Gleixner -Signed-off-by: Eric Dumazet -Tested-by: Srivatsa S. Bhat -Cc: Cong Wang -Signed-off-by: David S. Miller ---- -diff --git a/net/bridge/br_multicast.c b/net/bridge/br_multicast.c -index 69af490..4b99c9a 100644 ---- a/net/bridge/br_multicast.c -+++ b/net/bridge/br_multicast.c -@@ -619,6 +619,9 @@ rehash: - mp->br = br; - mp->addr = *group; - -+ setup_timer(&mp->timer, br_multicast_group_expired, -+ (unsigned long)mp); -+ - hlist_add_head_rcu(&mp->hlist[mdb->ver], &mdb->mhash[hash]); - mdb->size++; - -@@ -1126,7 +1129,6 @@ static int br_ip4_multicast_query(struct net_bridge *br, - if (!mp) - goto out; - -- setup_timer(&mp->timer, br_multicast_group_expired, (unsigned long)mp); - mod_timer(&mp->timer, now + br->multicast_membership_interval); - mp->timer_armed = true; - -@@ -1204,7 +1206,6 @@ static int br_ip6_multicast_query(struct net_bridge *br, - if (!mp) - goto out; - -- setup_timer(&mp->timer, br_multicast_group_expired, (unsigned long)mp); - mod_timer(&mp->timer, now + br->multicast_membership_interval); - mp->timer_armed = true; - --- -cgit v0.9.2 diff --git a/bridge-only-expire-the-mdb-entry-when-query-is-received.patch b/bridge-only-expire-the-mdb-entry-when-query-is-received.patch deleted file mode 100644 index b58b57083..000000000 --- a/bridge-only-expire-the-mdb-entry-when-query-is-received.patch +++ /dev/null @@ -1,159 +0,0 @@ -From 9f00b2e7cf241fa389733d41b615efdaa2cb0f5b Mon Sep 17 00:00:00 2001 -From: Cong Wang -Date: Tue, 21 May 2013 21:52:55 +0000 -Subject: bridge: only expire the mdb entry when query is received - -Currently we arm the expire timer when the mdb entry is added, -however, this causes problem when there is no querier sent -out after that. - -So we should only arm the timer when a corresponding query is -received, as suggested by Herbert. - -And he also mentioned "if there is no querier then group -subscriptions shouldn't expire. There has to be at least one querier -in the network for this thing to work. Otherwise it just degenerates -into a non-snooping switch, which is OK." - -Cc: Herbert Xu -Cc: Stephen Hemminger -Cc: "David S. Miller" -Cc: Adam Baker -Signed-off-by: Cong Wang -Acked-by: Herbert Xu -Signed-off-by: David S. Miller ---- -(limited to 'net/bridge') - -diff --git a/net/bridge/br_multicast.c b/net/bridge/br_multicast.c -index 2475147..40bda80 100644 ---- a/net/bridge/br_multicast.c -+++ b/net/bridge/br_multicast.c -@@ -617,8 +617,6 @@ rehash: - - mp->br = br; - mp->addr = *group; -- setup_timer(&mp->timer, br_multicast_group_expired, -- (unsigned long)mp); - - hlist_add_head_rcu(&mp->hlist[mdb->ver], &mdb->mhash[hash]); - mdb->size++; -@@ -656,7 +654,6 @@ static int br_multicast_add_group(struct net_bridge *br, - struct net_bridge_mdb_entry *mp; - struct net_bridge_port_group *p; - struct net_bridge_port_group __rcu **pp; -- unsigned long now = jiffies; - int err; - - spin_lock(&br->multicast_lock); -@@ -671,7 +668,6 @@ static int br_multicast_add_group(struct net_bridge *br, - - if (!port) { - mp->mglist = true; -- mod_timer(&mp->timer, now + br->multicast_membership_interval); - goto out; - } - -@@ -679,7 +675,7 @@ static int br_multicast_add_group(struct net_bridge *br, - (p = mlock_dereference(*pp, br)) != NULL; - pp = &p->next) { - if (p->port == port) -- goto found; -+ goto out; - if ((unsigned long)p->port < (unsigned long)port) - break; - } -@@ -690,8 +686,6 @@ static int br_multicast_add_group(struct net_bridge *br, - rcu_assign_pointer(*pp, p); - br_mdb_notify(br->dev, port, group, RTM_NEWMDB); - --found: -- mod_timer(&p->timer, now + br->multicast_membership_interval); - out: - err = 0; - -@@ -1131,6 +1125,10 @@ static int br_ip4_multicast_query(struct net_bridge *br, - if (!mp) - goto out; - -+ setup_timer(&mp->timer, br_multicast_group_expired, (unsigned long)mp); -+ mod_timer(&mp->timer, now + br->multicast_membership_interval); -+ mp->timer_armed = true; -+ - max_delay *= br->multicast_last_member_count; - - if (mp->mglist && -@@ -1205,6 +1203,10 @@ static int br_ip6_multicast_query(struct net_bridge *br, - if (!mp) - goto out; - -+ setup_timer(&mp->timer, br_multicast_group_expired, (unsigned long)mp); -+ mod_timer(&mp->timer, now + br->multicast_membership_interval); -+ mp->timer_armed = true; -+ - max_delay *= br->multicast_last_member_count; - if (mp->mglist && - (timer_pending(&mp->timer) ? -@@ -1263,7 +1265,7 @@ static void br_multicast_leave_group(struct net_bridge *br, - call_rcu_bh(&p->rcu, br_multicast_free_pg); - br_mdb_notify(br->dev, port, group, RTM_DELMDB); - -- if (!mp->ports && !mp->mglist && -+ if (!mp->ports && !mp->mglist && mp->timer_armed && - netif_running(br->dev)) - mod_timer(&mp->timer, jiffies); - } -@@ -1275,30 +1277,12 @@ static void br_multicast_leave_group(struct net_bridge *br, - br->multicast_last_member_interval; - - if (!port) { -- if (mp->mglist && -+ if (mp->mglist && mp->timer_armed && - (timer_pending(&mp->timer) ? - time_after(mp->timer.expires, time) : - try_to_del_timer_sync(&mp->timer) >= 0)) { - mod_timer(&mp->timer, time); - } -- -- goto out; -- } -- -- for (p = mlock_dereference(mp->ports, br); -- p != NULL; -- p = mlock_dereference(p->next, br)) { -- if (p->port != port) -- continue; -- -- if (!hlist_unhashed(&p->mglist) && -- (timer_pending(&p->timer) ? -- time_after(p->timer.expires, time) : -- try_to_del_timer_sync(&p->timer) >= 0)) { -- mod_timer(&p->timer, time); -- } -- -- break; - } - - out: -@@ -1674,6 +1658,7 @@ void br_multicast_stop(struct net_bridge *br) - hlist_for_each_entry_safe(mp, n, &mdb->mhash[i], - hlist[ver]) { - del_timer(&mp->timer); -+ mp->timer_armed = false; - call_rcu_bh(&mp->rcu, br_multicast_free_group); - } - } -diff --git a/net/bridge/br_private.h b/net/bridge/br_private.h -index e260710..1b0ac95 100644 ---- a/net/bridge/br_private.h -+++ b/net/bridge/br_private.h -@@ -112,6 +112,7 @@ struct net_bridge_mdb_entry - struct timer_list timer; - struct br_ip addr; - bool mglist; -+ bool timer_armed; - }; - - struct net_bridge_mdb_htable --- -cgit v0.9.2 diff --git a/bridge-send-query-as-soon-as-leave-is-received.patch b/bridge-send-query-as-soon-as-leave-is-received.patch deleted file mode 100644 index 8b6652e7e..000000000 --- a/bridge-send-query-as-soon-as-leave-is-received.patch +++ /dev/null @@ -1,57 +0,0 @@ -From 6b7df111ece130fa979a0c4f58e53674c1e47d3e Mon Sep 17 00:00:00 2001 -From: Cong Wang -Date: Tue, 21 May 2013 21:52:56 +0000 -Subject: bridge: send query as soon as leave is received - -Continue sending queries when leave is received if the user marks -it as a querier. - -Cc: Herbert Xu -Cc: Stephen Hemminger -Cc: "David S. Miller" -Cc: Adam Baker -Signed-off-by: Cong Wang -Acked-by: Herbert Xu -Signed-off-by: David S. Miller ---- -(limited to 'net/bridge') - -diff --git a/net/bridge/br_multicast.c b/net/bridge/br_multicast.c -index 40bda80..37a4676 100644 ---- a/net/bridge/br_multicast.c -+++ b/net/bridge/br_multicast.c -@@ -1250,6 +1250,32 @@ static void br_multicast_leave_group(struct net_bridge *br, - if (!mp) - goto out; - -+ if (br->multicast_querier && -+ !timer_pending(&br->multicast_querier_timer)) { -+ __br_multicast_send_query(br, port, &mp->addr); -+ -+ time = jiffies + br->multicast_last_member_count * -+ br->multicast_last_member_interval; -+ mod_timer(port ? &port->multicast_query_timer : -+ &br->multicast_query_timer, time); -+ -+ for (p = mlock_dereference(mp->ports, br); -+ p != NULL; -+ p = mlock_dereference(p->next, br)) { -+ if (p->port != port) -+ continue; -+ -+ if (!hlist_unhashed(&p->mglist) && -+ (timer_pending(&p->timer) ? -+ time_after(p->timer.expires, time) : -+ try_to_del_timer_sync(&p->timer) >= 0)) { -+ mod_timer(&p->timer, time); -+ } -+ -+ break; -+ } -+ } -+ - if (port && (port->flags & BR_MULTICAST_FAST_LEAVE)) { - struct net_bridge_port_group __rcu **pp; - --- -cgit v0.9.2 diff --git a/bridge-timer-fix.patch b/bridge-timer-fix.patch deleted file mode 100644 index 888a6f009..000000000 --- a/bridge-timer-fix.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/net/bridge/br_multicast.c b/net/bridge/br_multicast.c -index d6448e3..aadb596 100644 ---- a/net/bridge/br_multicast.c -+++ b/net/bridge/br_multicast.c -@@ -269,7 +269,7 @@ static void br_multicast_del_pg(struct net_bridge *br, - del_timer(&p->timer); - call_rcu_bh(&p->rcu, br_multicast_free_pg); - -- if (!mp->ports && !mp->mglist && -+ if (!mp->ports && !mp->mglist && mp->timer_armed && - netif_running(br->dev)) - mod_timer(&mp->timer, jiffies); - diff --git a/config-arm-generic b/config-arm-generic index 7aa5a852a..5000b5b5a 100644 --- a/config-arm-generic +++ b/config-arm-generic @@ -1,44 +1,103 @@ -CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y -CONFIG_ARM_AMBA=y -CONFIG_ARM_ARCH_TIMER=y -# CONFIG_ARM_DT_BL_CPUFREQ is not set -CONFIG_ARM_GIC=y +CONFIG_KUSER_HELPERS=y # CONFIG_ASYMMETRIC_KEY_TYPE is not set -CONFIG_BACKLIGHT_PWM=m # CONFIG_COMMON_CLK_DEBUG is not set CONFIG_COMMON_CLK=y -CONFIG_DMA_OF=y -CONFIG_DTC=y CONFIG_EARLY_PRINTK=y -CONFIG_ETHERNET=y CONFIG_FB_SSD1307=m -CONFIG_GENERIC_GPIO=y -CONFIG_GPIOLIB=y -CONFIG_HIGH_RES_TIMERS=y CONFIG_HW_PERF_EVENTS=y -# CONFIG_I2C_NOMADIK is not set -CONFIG_INPUT_PWM_BEEPER=m -# CONFIG_IRQ_DOMAIN_DEBUG is not set -# CONFIG_LEDS_RENESAS_TPU is not set -CONFIG_MMC_ARMMMCI=y -# CONFIG_MMC_SDHCI_PXAV2 is not set -# CONFIG_MMC_SDHCI_PXAV3 is not set CONFIG_MMC=y CONFIG_NFS_FS=y -CONFIG_NLS_ISO8859_1=y -CONFIG_NO_HZ=y -CONFIG_OF_DEVICE=y -CONFIG_OF_GPIO=y -CONFIG_OF_IRQ=y -# CONFIG_OF_SELFTEST is not set -CONFIG_OF=y -CONFIG_PERF_EVENTS=y # CONFIG_PID_IN_CONTEXTIDR is not set CONFIG_PWM=y CONFIG_RCU_FANOUT_LEAF=16 # CONFIG_RTC_DRV_SNVS is not set +CONFIG_BACKLIGHT_PWM=m +CONFIG_INPUT_PWM_BEEPER=m +CONFIG_ARM_SP805_WATCHDOG=m +CONFIG_ARM_ARCH_TIMER=y +# CONFIG_ARM_DT_BL_CPUFREQ is not set +CONFIG_NR_CPUS=8 +CONFIG_ARM_DMA_USE_IOMMU=y + +# ARM AMBA generic HW +CONFIG_ARM_AMBA=y +CONFIG_ARM_GIC=y +CONFIG_MMC_ARMMMCI=y CONFIG_SERIAL_AMBA_PL011_CONSOLE=y CONFIG_SERIAL_AMBA_PL011=y +CONFIG_SERIO_AMBAKMI=y +CONFIG_OC_ETM=y + +# ARM VExpress +CONFIG_ARCH_VEXPRESS=y +CONFIG_VEXPRESS_CONFIG=y +CONFIG_COMMON_CLK_VERSATILE=y +CONFIG_I2C_VERSATILE=m +CONFIG_POWER_RESET_VEXPRESS=y +CONFIG_REGULATOR_VEXPRESS=m +CONFIG_SENSORS_VEXPRESS=m + +# Device tree +CONFIG_DTC=y +CONFIG_DMA_OF=y +CONFIG_PROC_DEVICETREE=y +CONFIG_OF=y +CONFIG_OF_ADDRESS=y +CONFIG_OF_DEVICE=y +CONFIG_OF_EARLY_FLATTREE=y +CONFIG_OF_FLATTREE=y +CONFIG_OF_GPIO=y +CONFIG_OF_I2C=m +CONFIG_OF_IRQ=y +CONFIG_OF_MDIO=m +CONFIG_OF_MTD=y +CONFIG_OF_NET=y +CONFIG_OF_PCI_IRQ=m +CONFIG_OF_PCI=m +# CONFIG_OF_SELFTEST is not set +CONFIG_SERIAL_OF_PLATFORM=y + +# MTD +CONFIG_MTD_BLKDEVS=m +CONFIG_MTD_BLOCK=m +CONFIG_MTD_CHAR=m +CONFIG_MTD_CFI=m +CONFIG_MTD_CFI_INTELEXT=m +CONFIG_MTD_CFI_AMDSTD=m +CONFIG_MTD_CFI_STAA=m +CONFIG_MTD_OF_PARTS=m +# CONFIG_MTD_CFI_ADV_OPTIONS is not set +CONFIG_MTD_PHYSMAP=m +CONFIG_MTD_PHYSMAP_OF=m +# CONFIG_MTD_PHYSMAP_COMPAT is not set +CONFIG_OF_MTD=y + +# GPIO +CONFIG_GENERIC_GPIO=y +CONFIG_GPIOLIB=y +CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y +CONFIG_MDIO_GPIO=m +CONFIG_POWER_RESET_GPIO=y +CONFIG_RFKILL_GPIO=m + +# MFD +CONFIG_MFD_CORE=m + +CONFIG_SMC91X=m +CONFIG_SMC911X=m # CONFIG_CRYPTO_TEST is not set -CONFIG_KUSER_HELPERS=y +# CONFIG_TRANSPARENT_HUGEPAGE is not set +# CONFIG_XEN is not set +# CONFIG_DRM_RCAR_DU is not set +# CONFIG_DRM_SHMOBILE is not set +# CONFIG_MMC_DW_SOCFPGA is not set +# CONFIG_ARM_SMMU is not set +# CONFIG_I2C_NOMADIK is not set +# CONFIG_IRQ_DOMAIN_DEBUG is not set +# CONFIG_LEDS_RENESAS_TPU is not set +# CONFIG_MMC_SDHCI_PXAV2 is not set +# CONFIG_MMC_SDHCI_PXAV3 is not set +# CONFIG_COMMON_CLK_SI5351 is not set +# CONFIG_LOCK_STAT is not set +# CONFIG_PCIEPORTBUS is not set diff --git a/config-armv7 b/config-armv7 index 1bbb3d524..5fb4e9380 100644 --- a/config-armv7 +++ b/config-armv7 @@ -1,21 +1,17 @@ # ARM unified arch kernel -# CONFIG_ARCH_BCM is not set -CONFIG_ARCH_HIGHBANK=y +# CONFIG_ARCH_EXYNOS_MULTI is not set +# CONFIG_ARCH_KEYSTONE is not set CONFIG_ARCH_MVEBU=y CONFIG_ARCH_MXC=y CONFIG_ARCH_OMAP2PLUS=y CONFIG_ARCH_PICOXCELL=y -# CONFIG_ARCH_SIRF is not set +CONFIG_ARCH_ROCKCHIP=y CONFIG_ARCH_SOCFPGA=y -# CONFIG_PLAT_SPEAR is not set CONFIG_ARCH_SUNXI=y CONFIG_ARCH_TEGRA=y # CONFIG_ARCH_U8500 is not set -CONFIG_ARCH_VEXPRESS_CA9X4=y -CONFIG_ARCH_VEXPRESS=y # CONFIG_ARCH_VIRT is not set -# CONFIG_ARCH_WM8850 is not set CONFIG_ARCH_ZYNQ=y # These are supported in the LPAE kernel @@ -27,16 +23,7 @@ CONFIG_ARCH_ZYNQ=y # Generic CONFIG_REMOTEPROC=m -# highbank -# 2013/04/19 - stability issues -# CONFIG_CPU_IDLE_CALXEDA is not set -CONFIG_EDAC_HIGHBANK_MC=m -CONFIG_EDAC_HIGHBANK_L2=m -CONFIG_SATA_HIGHBANK=m -CONFIG_ARM_HIGHBANK_CPUFREQ=m - -# versatile -CONFIG_VEXPRESS_CONFIG=y +# FIXME should be generic (I think it's enabled by default) CONFIG_FB=y CONFIG_FB_ARMCLCD=m CONFIG_FB_CFB_COPYAREA=m @@ -45,13 +32,14 @@ CONFIG_FB_CFB_IMAGEBLIT=m CONFIG_TOUCHSCREEN_ADS7846=m CONFIG_OC_ETM=y -CONFIG_ARCH_VEXPRESS_CORTEX_A5_A9_ERRATA=y # mvebu CONFIG_MACH_ARMADA_370_XP=y CONFIG_MACH_ARMADA_370=y CONFIG_MACH_ARMADA_XP=y +CONFIG_MVEBU_DEVBUS=y +CONFIG_PCI_MVEBU=y CONFIG_CACHE_TAUROS2=y CONFIG_MV_XOR=y CONFIG_CRYPTO_DEV_MV_CESA=m @@ -86,6 +74,7 @@ CONFIG_SOC_OMAP5=y CONFIG_SOC_OMAP3430=y CONFIG_SOC_TI81XX=y CONFIG_SOC_AM33XX=y +CONFIG_SOC_AM43XX=y CONFIG_MACH_OMAP_GENERIC=y CONFIG_MACH_OMAP3_BEAGLE=y CONFIG_MACH_DEVKIT8000=y @@ -111,8 +100,6 @@ CONFIG_MACH_SBC3530=y CONFIG_MACH_OMAP_3630SDP=y CONFIG_MACH_TI8168EVM=y CONFIG_MACH_TI8148EVM=y -CONFIG_MACH_OMAP_4430SDP=y -CONFIG_MACH_OMAP4_PANDA=y CONFIG_SOC_HAS_REALTIME_COUNTER=y CONFIG_OMAP_RESET_CLOCKS=y @@ -123,17 +110,23 @@ CONFIG_OMAP_32K_TIMER_HZ=128 # CONFIG_OMAP3_L2_AUX_SECURE_SAVE_RESTORE is not set CONFIG_OMAP_MCBSP=y +CONFIG_OMAP2PLUS_MBOX=m CONFIG_OMAP_MBOX_FWK=m CONFIG_OMAP_MBOX_KFIFO_SIZE=256 CONFIG_OMAP_DM_TIMER=y CONFIG_OMAP_PM_NOOP=y +CONFIG_DMA_OMAP=y CONFIG_OMAP_IOMMU=y CONFIG_OMAP_IOVMM=m +CONFIG_HWSPINLOCK_OMAP=m CONFIG_OMAP3_EMU=y # CONFIG_OMAP3_SDRC_AC_TIMING is not set -CONFIG_ARM_OMAP2PLUS_CPUFREQ=y +CONFIG_OMAP_WATCHDOG=m +CONFIG_TWL4030_WATCHDOG=m CONFIG_TI_ST=m +CONFIG_TI_EDMA=y +CONFIG_TI_SOC_THERMAL=m CONFIG_TI_DAC7512=m CONFIG_TI_DAVINCI_EMAC=m CONFIG_TI_DAVINCI_MDIO=m @@ -142,6 +135,7 @@ CONFIG_TI_CPSW=m CONFIG_TI_CPTS=y CONFIG_TI_EMIF=m CONFIG_MFD_TPS65217=m +CONFIG_REGULATOR_TI_ABB=y CONFIG_REGULATOR_TPS65217=m CONFIG_BACKLIGHT_TPS65217=m @@ -156,7 +150,6 @@ CONFIG_OMAP_WATCHDOG=m CONFIG_TWL4030_CORE=y CONFIG_TWL4030_MADC=m CONFIG_TWL4030_POWER=y -CONFIG_TWL4030_CODEC=y CONFIG_TWL4030_WATCHDOG=m CONFIG_TWL4030_USB=m CONFIG_TWL6030_USB=m @@ -172,8 +165,10 @@ CONFIG_HDQ_MASTER_OMAP=m CONFIG_REGULATOR_TWL4030=y CONFIG_BACKLIGHT_PANDORA=m CONFIG_OMAP_OCP2SCP=m -CONFIG_USB_EHCI_HCD_OMAP=y -CONFIG_USB_OHCI_HCD_PLATFORM=y +CONFIG_OMAP_USB2=m +CONFIG_OMAP_USB3=m +CONFIG_USB_EHCI_HCD_OMAP=m +CONFIG_USB_OHCI_HCD_PLATFORM=m CONFIG_USB_OHCI_HCD_OMAP3=y CONFIG_USB_MUSB_AM35X=m CONFIG_USB_MUSB_OMAP2PLUS=m @@ -182,17 +177,12 @@ CONFIG_USB_GADGET_MUSB_HDRC=m # CONFIG_MUSB_PIO_ONLY is not set # CONFIG_USB_MUSB_DEBUG is not set CONFIG_OMAP_CONTROL_USB=m -CONFIG_NOP_USB_XCEIV=m CONFIG_MMC_OMAP=y CONFIG_MMC_OMAP_HS=y CONFIG_RTC_DRV_MAX8907=m # CONFIG_RTC_DRV_TWL92330 is not set -CONFIG_RTC_DRV_TWL4030=m -CONFIG_RTC_DRV_OMAP=m -# Note needs to be compiled in until we build MMC modular -CONFIG_DMA_OMAP=y -CONFIG_OMAP_IOVMM=m -CONFIG_HWSPINLOCK_OMAP=m +CONFIG_RTC_DRV_TWL4030=y +CONFIG_RTC_DRV_OMAP=y CONFIG_SENSORS_TWL4030_MADC=m CONFIG_WL_TI=y @@ -206,9 +196,7 @@ CONFIG_WILINK_PLATFORM_DATA=y CONFIG_MFD_WL1273_CORE=m CONFIG_NFC_WILINK=m -CONFIG_MTD_NAND_OMAP2=y -CONFIG_MTD_NAND_OMAP_PREFETCH=y -CONFIG_MTD_NAND_OMAP_PREFETCH_DMA=y +CONFIG_MTD_NAND_OMAP2=m CONFIG_SPI_DAVINCI=m CONFIG_SPI_OMAP24XX=m CONFIG_MFD_TI_SSP=m @@ -245,8 +233,6 @@ CONFIG_HW_RANDOM_OMAP=m CONFIG_DRM_TILCDC=m CONFIG_DRM_OMAP=m CONFIG_DRM_OMAP_NUM_CRTCS=2 -CONFIG_OMAP2_VRAM=y -CONFIG_OMAP2_VRAM_SIZE=0 CONFIG_OMAP2_VRFB=y # CONFIG_FB_OMAP_BOOTLOADER_INIT is not set # CONFIG_FB_OMAP_LCD_VGA is not set @@ -278,6 +264,19 @@ CONFIG_PANEL_LGPHILIPS_LB035Q02=m CONFIG_PANEL_ACX565AKM=m # CONFIG_PANEL_N8X0 is not set +CONFIG_DISPLAY_ENCODER_TFP410=m +CONFIG_DISPLAY_ENCODER_TPD12S015=m +CONFIG_DISPLAY_CONNECTOR_DVI=m +CONFIG_DISPLAY_CONNECTOR_HDMI=m +CONFIG_DISPLAY_CONNECTOR_ANALOG_TV=m +CONFIG_DISPLAY_PANEL_DPI=m +CONFIG_DISPLAY_PANEL_DSI_CM=m +CONFIG_DISPLAY_PANEL_SONY_ACX565AKM=m +CONFIG_DISPLAY_PANEL_LGPHILIPS_LB035Q02=m +CONFIG_DISPLAY_PANEL_SHARP_LS037V7DW01=m +CONFIG_DISPLAY_PANEL_TPO_TD043MTEA1=m +CONFIG_DISPLAY_PANEL_NEC_NL8048HL11=m + # Enable V4L2 drivers for OMAP2+ CONFIG_MEDIA_CONTROLLER=y CONFIG_VIDEO_V4L2_SUBDEV_API=y @@ -320,6 +319,7 @@ CONFIG_SND_SOC_TLV320AIC23=m CONFIG_SND_SOC_TLV320AIC3X=m CONFIG_SND_SOC_TWL4030=m CONFIG_SND_SOC_TWL6040=m +CONFIG_SND_SOC_PCM1792A=m CONFIG_RADIO_WL128X=m CONFIG_OMAP_REMOTEPROC=m @@ -341,40 +341,9 @@ CONFIG_OMAP_REMOTEPROC=m # Allwinner a1x CONFIG_PINCTRL_SUNXI=y -# CONFIG_SUNXI_RFKILL=y -# CONFIG_SUNXI_NAND=y -# CONFIG_SUNXI_DBGREG=m -# CONFIG_WEMAC_SUN4I=y -# CONFIG_KEYBOARD_SUN4IKEYPAD=m -# CONFIG_KEYBOARD_SUN4I_KEYBOARD=m -# CONFIG_IR_SUN4I=m -# CONFIG_TOUCHSCREEN_SUN4I_TS=m -# CONFIG_SUN4I_G2D=y -# CONFIG_I2C_SUN4I=y -# CONFIG_DRM_MALI=m -# CONFIG_MALI=m -# CONFIG_FB_SUNXI=m -# CONFIG_FB_SUNXI_UMP=y -# CONFIG_FB_SUNXI_LCD=m -# CONFIG_FB_SUNXI_HDMI=m -# CONFIG_SOUND_SUN4I=y -# CONFIG_SND_SUN4I_SOC_CODEC=y -# CONFIG_SND_SUN4I_SOC_HDMIAUDIO=y -# CONFIG_SND_SUN4I_SOC_SPDIF=m -# CONFIG_SND_SUN4I_SOC_I2S_INTERFACE=m -# CONFIG_SND_SOC_I2C_AND_SPI=y -# CONFIG_USB_SW_SUN4I_HCD=y -# CONFIG_USB_SW_SUN4I_HCD0=y -# CONFIG_USB_SW_SUN4I_HCI=y -# CONFIG_USB_SW_SUN4I_EHCI0=y -# CONFIG_USB_SW_SUN4I_EHCI1=y -# CONFIG_USB_SW_SUN4I_OHCI0=y -# CONFIG_USB_SW_SUN4I_OHCI1=y -# CONFIG_USB_SW_SUN4I_USB=y -# CONFIG_USB_SW_SUN4I_USB_MANAGER=y -# CONFIG_MMC_SUNXI_POWER_CONTROL=y -# CONFIG_MMC_SUNXI=y -# CONFIG_RTC_DRV_SUN4I=y +CONFIG_MDIO_SUN4I=m +CONFIG_NET_VENDOR_ALLWINNER=y +CONFIG_SUN4I_EMAC=m # imx CONFIG_MXC_IRQ_PRIOR=y @@ -384,7 +353,12 @@ CONFIG_MACH_IMX51_DT=y # CONFIG_MACH_EUKREA_CPUIMX51SD is not set CONFIG_SOC_IMX53=y CONFIG_SOC_IMX6Q=y +CONFIG_SOC_IMX6SL=y CONFIG_PATA_IMX=m +CONFIG_USB_CHIPIDEA=m +CONFIG_USB_CHIPIDEA_UDC=y +CONFIG_USB_CHIPIDEA_HOST=y +# CONFIG_USB_CHIPIDEA_DEBUG is not set CONFIG_NET_VENDOR_FREESCALE=y CONFIG_FEC=m CONFIG_KEYBOARD_IMX=m @@ -392,11 +366,23 @@ CONFIG_SERIAL_IMX=y CONFIG_SERIAL_IMX_CONSOLE=y CONFIG_I2C_IMX=m CONFIG_SPI_IMX=m +CONFIG_MFD_MC13783=m +CONFIG_MFD_MC13XXX_SPI=m CONFIG_W1_MASTER_MXC=m +CONFIG_IMX_WEIM=y CONFIG_IMX2_WDT=m +CONFIG_CRYPTO_DEV_SAHARA=m # CONFIG_FB_MX3 is not set CONFIG_SND_IMX_SOC=m +CONFIG_SND_SOC_FSL_SSI=m +CONFIG_SND_SOC_FSL_UTILS=m +CONFIG_SND_SOC_IMX_SSI=m +CONFIG_SND_SOC_IMX_AUDMUX=m +CONFIG_SND_SOC_IMX_PCM_FIQ=m +CONFIG_SND_SOC_IMX_PCM_DMA=m CONFIG_SND_SOC_IMX_SGTL5000=m +CONFIG_SND_SOC_IMX_WM8962=m +CONFIG_SND_SOC_IMX_MC13783=m CONFIG_USB_EHCI_MXC=m CONFIG_USB_IMX21_HCD=m CONFIG_USB_MXS_PHY=m @@ -409,16 +395,23 @@ CONFIG_RTC_DRV_MXC=m # CONFIG_MX3_IPU_IRQS is not set CONFIG_IMX_SDMA=m CONFIG_IMX_DMA=m +CONFIG_AHCI_IMX=m # CONFIG_MXS_DMA is not set CONFIG_PWM_IMX=m CONFIG_BACKLIGHT_PWM=m CONFIG_DRM_IMX=m CONFIG_DRM_IMX_FB_HELPER=m -CONFIG_DRM_IMX_PARALLEL_DISPLAY=m CONFIG_DRM_IMX_IPUV3_CORE=m CONFIG_DRM_IMX_IPUV3=m +# CONFIG_DRM_IMX_LDB is not set +CONFIG_DRM_IMX_PARALLEL_DISPLAY=m CONFIG_DRM_IMX_TVE=m CONFIG_VIDEO_CODA=m +CONFIG_SENSORS_MC13783_ADC=m +CONFIG_REGULATOR_MC13783=m +CONFIG_REGULATOR_MC13892=m +CONFIG_LEDS_MC13783=m +CONFIG_RTC_DRV_MC13XXX=m CONFIG_INPUT_PWM_BEEPER=m CONFIG_INPUT_88PM80X_ONKEY=m @@ -467,11 +460,18 @@ CONFIG_AB8500_BM=y CONFIG_AB8500_GPADC=y CONFIG_SENSORS_AB8500=m CONFIG_STE_MODEM_RPROC=m +CONFIG_CW1200=m +CONFIG_CW1200_WLAN_SDIO=m +CONFIG_CW1200_WLAN_SPI=m +CONFIG_UX500_WATCHDOG=m # tegra CONFIG_ARCH_TEGRA_2x_SOC=y CONFIG_ARCH_TEGRA_3x_SOC=y # CONFIG_ARCH_TEGRA_114_SOC is not set +CONFIG_ARM_TEGRA_CPUFREQ=y +CONFIG_TEGRA20_MC=y +CONFIG_TEGRA30_MC=y CONFIG_SERIAL_TEGRA=y @@ -494,18 +494,19 @@ CONFIG_KEYBOARD_TEGRA=m CONFIG_PINCTRL_TEGRA=y CONFIG_PINCTRL_TEGRA20=y CONFIG_PINCTRL_TEGRA30=y -CONFIG_USB_EHCI_TEGRA=y -CONFIG_RTC_DRV_TEGRA=y +CONFIG_USB_EHCI_TEGRA=m +CONFIG_RTC_DRV_TEGRA=m CONFIG_SND_SOC_TEGRA=m CONFIG_SND_SOC_TEGRA_ALC5632=m +CONFIG_SND_SOC_TEGRA_RT5640=m +CONFIG_SND_SOC_TEGRA_TRIMSLICE=m CONFIG_SND_SOC_TEGRA_WM8753=m CONFIG_SND_SOC_TEGRA_WM8903=m CONFIG_SND_SOC_TEGRA_WM9712=m -CONFIG_SND_SOC_TEGRA_TRIMSLICE=m +CONFIG_SND_SOC_TEGRA20_AC97=m CONFIG_SND_SOC_TEGRA30_AHUB=m CONFIG_SND_SOC_TEGRA30_I2S=m -CONFIG_SND_SOC_TEGRA20_AC97=m # AC100 (PAZ00) CONFIG_MFD_NVEC=y @@ -534,8 +535,21 @@ CONFIG_CRYPTO_DEV_TEGRA_AES=m CONFIG_LEDS_RENESAS_TPU=y -# ZYNQ +# OLPC XO +CONFIG_SERIO_OLPC_APSP=m + +# Zynq-7xxx +# likely needs usb/mmc still +CONFIG_SERIAL_XILINX_PS_UART=y +CONFIG_SERIAL_XILINX_PS_UART_CONSOLE=y +CONFIG_COMMON_CLK_AXI_CLKGEN=m +CONFIG_CPU_IDLE_ZYNQ=y CONFIG_LATTICE_ECP3_CONFIG=m +CONFIG_NET_VENDOR_XILINX=y +CONFIG_XILINX_EMACLITE=m +CONFIG_GPIO_XILINX=y +CONFIG_I2C_XILINX=m +CONFIG_SPI_XILINX=m # MMC/SD CONFIG_MMC_TMIO=m @@ -543,8 +557,6 @@ CONFIG_MMC_SDHCI_PXAV3=m CONFIG_MMC_SDHCI_PXAV2=m # Multi function devices -CONFIG_MFD_CORE=m -CONFIG_MFD_SYSCON=y CONFIG_MFD_88PM800=m CONFIG_MFD_88PM805=m CONFIG_MFD_T7L66XB=y @@ -575,12 +587,39 @@ CONFIG_REGULATOR_MAX8907=m CONFIG_REGULATOR_LP872X=y CONFIG_REGULATOR_LP8755=m +# usb gadget +CONFIG_USB_GADGET=m +CONFIG_USB_GADGET_VBUS_DRAW=100 +CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2 +# CONFIG_USB_FSL_USB2 is not set +# CONFIG_USB_FUSB300 is not set +# CONFIG_USB_RENESAS_USBHS is not set +# CONFIG_USB_GADGET_DEBUG is not set +# CONFIG_USB_GADGET_DEBUG_FILES is not set +# CONFIG_USB_GADGET_DEBUG_FS is not set +# CONFIG_USB_GADGET_VBUS_DRAW is not set +# CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS is not set +# CONFIG_USB_FOTG210_UDC is not set +# CONFIG_USB_R8A66597 is not set +# CONFIG_USB_PXA27X is not set +# CONFIG_USB_MV_UDC is not set +# CONFIG_USB_MV_U3D is not set +# CONFIG_USB_M66592 is not set +# CONFIG_USB_AMD5536UDC is not set +# CONFIG_USB_NET2272 is not set +# CONFIG_USB_NET2280 is not set +# CONFIG_USB_GOKU is not set +# CONFIG_USB_EG20T is not set +# CONFIG_USB_DUMMY_HCD is not set +# CONFIG_USB_ZERO_HNPTEST is not set +# CONFIG_USB_ETH_RNDIS is not set +# CONFIG_USB_ETH_EEM is not set + # Needs work/investigation # CONFIG_ARM_CHARLCD is not set # CONFIG_MTD_AFS_PARTS is not set # CONFIG_IP_PNP_RARP is not set -# CONFIG_ASYMMETRIC_KEY_TYPE is not set # CONFIG_PID_IN_CONTEXTIDR is not set # CONFIG_DEPRECATED_PARAM_STRUCT is not set @@ -588,10 +627,6 @@ CONFIG_REGULATOR_LP8755=m # Defined config options we don't use yet # CONFIG_PINCTRL_IMX35 is not set -# CONFIG_DRM_IMX_FB_HELPER is not set -# CONFIG_DRM_IMX_PARALLEL_DISPLAY is not set -# CONFIG_DRM_IMX_IPUV3_CORE is not set -# CONFIG_DRM_IMX_IPUV3 is not set # CONFIG_REGULATOR_ANATOP is not set # CONFIG_BATTERY_RX51 is not set @@ -619,8 +654,6 @@ CONFIG_REGULATOR_LP8755=m # CONFIG_PMIC_ADP5520 is not set # CONFIG_REGULATOR_LP3972 is not set # CONFIG_REGULATOR_LP872X is not set -# CONFIG_SGI_IOC4 is not set -# CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set # CONFIG_DVB_USB_PCTV452E is not set # We need to fix these as they should be either generic includes or kconfig fixes @@ -637,3 +670,9 @@ CONFIG_REGULATOR_LP8755=m # CONFIG_DRM_TEGRA_DEBUG is not set # CONFIG_CRYPTO_DEV_UX500_DEBUG is not set # CONFIG_AB8500_DEBUG is not set + +# CONFIG_SOC_VF610 is not set +# CONFIG_ARM_CCI is not set +# CONFIG_GPIO_XILINX is not set +# CONFIG_SERIAL_UARTLITE is not set + diff --git a/config-armv7-generic b/config-armv7-generic index 897a7e3ee..663f86b82 100644 --- a/config-armv7-generic +++ b/config-armv7-generic @@ -46,6 +46,25 @@ CONFIG_ALWAYS_USE_PERSISTENT_CLOCK=y # CONFIG_XIP_KERNEL is not set # CONFIG_ARM_VIRT_EXT is not set +# Platforms enabled/disabled globally on ARMv7 +CONFIG_ARCH_HIGHBANK=y +CONFIG_ARCH_VEXPRESS_CA9X4=y +CONFIG_ARCH_VEXPRESS_CORTEX_A5_A9_ERRATA=y +# CONFIG_ARCH_BCM is not set +# CONFIG_PLAT_SPEAR is not set +# CONFIG_ARCH_STI is not set +# CONFIG_ARCH_SIRF is not set +# CONFIG_ARCH_U8500 is not set +# CONFIG_ARCH_WM8850 is not set + +# highbank +# 2013/04/19 - stability issues +# CONFIG_CPU_IDLE_CALXEDA is not set +CONFIG_EDAC_HIGHBANK_MC=m +CONFIG_EDAC_HIGHBANK_L2=m +CONFIG_SATA_HIGHBANK=m +CONFIG_ARM_HIGHBANK_CPUFREQ=m + # errata # v5/v6 # CONFIG_ARM_ERRATA_326103 is not set @@ -76,8 +95,6 @@ CONFIG_PJ4B_ERRATA_4742=y # CONFIG_ARM_ERRATA_798181 is not set # generic that deviates from or should be merged into config-generic -CONFIG_SMP=y -CONFIG_NR_CPUS=8 CONFIG_SMP_ON_UP=y CONFIG_HIGHMEM=y CONFIG_CC_OPTIMIZE_FOR_SIZE=y @@ -98,15 +115,8 @@ CONFIG_RCU_FANOUT=32 CONFIG_DEFAULT_MMAP_MIN_ADDR=32768 CONFIG_LSM_MMAP_MIN_ADDR=32768 -CONFIG_SECCOMP=y -CONFIG_STRICT_DEVMEM=y - CONFIG_XZ_DEC_ARM=y -CONFIG_OC_ETM=y -CONFIG_PM=y -CONFIG_PM_STD_PARTITION="" -CONFIG_SUSPEND=y CONFIG_ARM_CPU_SUSPEND=y CONFIG_LOCAL_TIMERS=y @@ -119,7 +129,6 @@ CONFIG_IP_PNP_BOOTP=y # Root as NFS, different from mainline CONFIG_ROOT_NFS=y -CONFIG_NLS_CODEPAGE_437=y CONFIG_LBDAF=y @@ -127,15 +136,7 @@ CONFIG_LBDAF=y CONFIG_USE_OF=y CONFIG_ARM_ATAG_DTB_COMPAT=y CONFIG_ARM_APPENDED_DTB=y -CONFIG_PROC_DEVICETREE=y -CONFIG_SERIAL_OF_PLATFORM=y -CONFIG_OF_PCI=y -CONFIG_OF_PCI_IRQ=y CONFIG_I2C_MUX_PINCTRL=m -CONFIG_OF_MDIO=m - -CONFIG_OF_DISPLAY_TIMING=y -CONFIG_OF_VIDEOMODE=y # General vexpress ARM drivers CONFIG_ARM_TIMER_SP804=y @@ -152,11 +153,8 @@ CONFIG_RTC_DRV_PL031=y CONFIG_PL330_DMA=m CONFIG_AMBA_PL08X=y CONFIG_ARM_SP805_WATCHDOG=m -CONFIG_I2C_VERSATILE=m CONFIG_GPIO_PL061=y -CONFIG_SENSORS_VEXPRESS=m CONFIG_FB_ARMCLCD=m -CONFIG_REGULATOR_VEXPRESS=m # usb CONFIG_USB_OTG=y @@ -165,9 +163,6 @@ CONFIG_USB_OTG=y CONFIG_USB_ULPI=y CONFIG_AX88796=m CONFIG_AX88796_93CX6=y -CONFIG_SMC91X=m -CONFIG_SMC911X=m -CONFIG_SMSC911X=m CONFIG_USB_ISP1760_HCD=m # CONFIG_USB_EHCI_HCD_ORION is not set @@ -183,7 +178,7 @@ CONFIG_MFD_TPS65912_SPI=y CONFIG_PINMUX=y CONFIG_PINCONF=y CONFIG_PINCTRL=y -CONFIG_PINCTRL_SINGLE=m +CONFIG_PINCTRL_SINGLE=y # CONFIG_PINCTRL_SAMSUNG is not set # CONFIG_PINCTRL_EXYNOS4 is not set @@ -194,7 +189,6 @@ CONFIG_EXTCON_GPIO=m CONFIG_GPIO_ADNP=m CONFIG_GPIO_MCP23S08=m CONFIG_POWER_RESET_GPIO=y -CONFIG_RFKILL_GPIO=m CONFIG_SERIAL_8250_EM=m CONFIG_INPUT_GPIO_TILT_POLLED=m CONFIG_MDIO_BUS_MUX_GPIO=m @@ -226,6 +220,8 @@ CONFIG_SPI_DESIGNWARE=m CONFIG_SPI_TLE62X0=m # CONFIG_SPI_FSL_SPI is not set +CONFIG_NFC_NCI_SPI=y + # HW crypto and rng CONFIG_CRYPTO_SHA1_ARM=m CONFIG_CRYPTO_AES_ARM=m @@ -244,7 +240,6 @@ CONFIG_POWER_RESET_RESTART=y CONFIG_ARM_PSCI=y # MTD -CONFIG_MTD_OF_PARTS=y # CONFIG_MG_DISK is not set CONFIG_MTD_DATAFLASH=m CONFIG_MTD_DATAFLASH_WRITE_VERIFY=y @@ -256,13 +251,20 @@ CONFIG_EEPROM_93XX46=m # MMC/SD CONFIG_MMC_SPI=m + +# Designware (used by numerous devices) CONFIG_MMC_DW=m CONFIG_MMC_DW_PLTFM=m CONFIG_MMC_DW_PCI=m CONFIG_SPI_DW_MMIO=m CONFIG_SPI_DW_PCI=m +CONFIG_MMC_DW_SOCFPGA=m # CONFIG_MMC_DW_EXYNOS is not set # CONFIG_MMC_DW_IDMAC is not set +CONFIG_USB_DWC2=m +CONFIG_USB_DWC3=m +# CONFIG_USB_DWC3_DEBUG is not set +CONFIG_DW_WATCHDOG=m # Sound CONFIG_SND_ARM=y @@ -401,7 +403,6 @@ CONFIG_UBIFS_FS_ZLIB=y # Should be in generic CONFIG_BPF_JIT=y -# CONFIG_NET_VENDOR_BROADCOM is not set # CONFIG_NET_VENDOR_CIRRUS is not set # CONFIG_NET_VENDOR_MICROCHIP is not set @@ -410,6 +411,7 @@ CONFIG_BPF_JIT=y # CONFIG_DRM_EXYNOS is not set # CONFIG_DRM_TILCDC is not set # CONFIG_DRM_IMX is not set +# CONFIG_AHCI_IMX is not set # CONFIG_CS89x0 is not set # CONFIG_DM9000 is not set # CONFIG_HW_RANDOM_ATMEL is not set @@ -429,7 +431,6 @@ CONFIG_BPF_JIT=y # CONFIG_SERIAL_MAX3100 is not set # CONFIG_SERIAL_MAX310X is not set # CONFIG_SERIAL_IFX6X60 is not set -# CONFIG_COMMON_CLK_SI5351 is not set # CONFIG_COMMON_CLK_AXI_CLKGEN is not set # CONFIG_SPI_TOPCLIFF_PCH is not set # CONFIG_SPI_PXA2XX is not set @@ -455,3 +456,6 @@ CONFIG_BPF_JIT=y # CONFIG_DEBUG_LL is not set # CONFIG_DEBUG_PINCTRL is not set # CONFIG_ARM_DT_BL_CPUFREQ is not set + +# FIX ME +# CONFIG_FB_XILINX is not set diff --git a/config-armv7-lpae b/config-armv7-lpae index a7db64919..c4febfc94 100644 --- a/config-armv7-lpae +++ b/config-armv7-lpae @@ -1,16 +1,35 @@ -# ARM unified arch kernel -CONFIG_ARCH_EXYNOS=y +# ARM A15 lpae unified arch kernel +CONFIG_ARCH_EXYNOS_MULTI=y +CONFIG_ARCH_KEYSTONE=y CONFIG_ARCH_VIRT=y +CONFIG_ARCH_EXYNOS5=y + +# CONFIG_ARCH_MVEBU is not set +# CONFIG_ARCH_MXC is not set +# CONFIG_ARCH_OMAP3 is not set +# CONFIG_ARCH_OMAP4 is not set +# CONFIG_SOC_OMAP5 is not set +# CONFIG_SOC_AM33XX is not set +# CONFIG_SOC_AM43XX is not set +# CONFIG_ARCH_ROCKCHIP is not set +# CONFIG_ARCH_SOCFPGA is not set +# CONFIG_ARCH_SUNXI is not set +# CONFIG_ARCH_TEGRA is not set +# CONFIG_ARCH_ZYNQ is not set + # CONFIG_ARCH_EXYNOS4 is not set -CONFIG_ARCH_EXYNOS5=y # CONFIG_EXYNOS_ATAGS is not set CONFIG_ARM_LPAE=y +CONFIG_SYS_SUPPORTS_HUGETLBFS=y +CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y CONFIG_VIRTIO_CONSOLE=m CONFIG_ARM_VIRT_EXT=y CONFIG_VIRTUALIZATION=y +CONFIG_ARM_SMMU=y +CONFIG_ARM_DMA_IOMMU_ALIGNMENT=8 # Cortex-A15 CONFIG_ARM_ERRATA_798181=y @@ -42,26 +61,22 @@ CONFIG_XEN_WDT=m CONFIG_MACH_EXYNOS5_DT=y CONFIG_SERIAL_SAMSUNG=y CONFIG_SERIAL_SAMSUNG_CONSOLE=y -CONFIG_SERIAL_OF_PLATFORM=y -CONFIG_S3C_BOOT_ERROR_RESET=y -CONFIG_S3C_BOOT_UART_FORCE_FIFO=y -CONFIG_S3C_LOWLEVEL_UART_PORT=0 -CONFIG_S3C_GPIO_SPACE=8 -CONFIG_S3C_ADC=y -CONFIG_S3C24XX_PWM=y # CONFIG_SAMSUNG_PM_DEBUG is not set # CONFIG_SAMSUNG_PM_CHECK is not set CONFIG_SOC_EXYNOS5250=y +CONFIG_SOC_EXYNOS5420=y CONFIG_SOC_EXYNOS5440=y CONFIG_ARM_EXYNOS_CPUFREQ=y # CONFIG_GENERIC_CPUFREQ_CPU0 is not set CONFIG_EXYNOS_THERMAL=m +CONFIG_PCI_EXYNOS=y +CONFIG_ARM_CCI=y CONFIG_TCG_TIS_I2C_INFINEON=m -CONFIG_I2C_S3C2410=m + CONFIG_PINCTRL_EXYNOS=y CONFIG_PINCTRL_EXYNOS5440=y -CONFIG_S3C2410_WATCHDOG=m +CONFIG_EXYNOS_IOMMU=y CONFIG_VIDEO_SAMSUNG_S5P_G2D=m CONFIG_VIDEO_SAMSUNG_S5P_JPEG=m CONFIG_VIDEO_SAMSUNG_S5P_MFC=m @@ -76,7 +91,7 @@ CONFIG_DRM_EXYNOS_DMABUF=y CONFIG_DRM_EXYNOS_FIMD=y CONFIG_DRM_EXYNOS_HDMI=y CONFIG_DRM_EXYNOS_VIDI=y -# CONFIG_DRM_EXYNOS_G2D is not set +CONFIG_DRM_EXYNOS_G2D=y CONFIG_DRM_EXYNOS_IPP=y CONFIG_DRM_EXYNOS_FIMC=y CONFIG_DRM_EXYNOS_ROTATOR=y @@ -86,29 +101,16 @@ CONFIG_SND_SOC_SAMSUNG=m CONFIG_USB_EHCI_HCD=y CONFIG_USB_EHCI_S5P=m CONFIG_USB_OHCI_EXYNOS=y -CONFIG_USB_DWC3=m -# CONFIG_USB_DWC3_DEBUG is not set -CONFIG_S3C_DEV_HSMMC=y -CONFIG_MMC_SDHCI_S3C=m -CONFIG_MMC_SDHCI_S3C_DMA=y -CONFIG_RTC_DRV_S3C=m CONFIG_PWM_SAMSUNG=m -CONFIG_S3C_BOOT_WATCHDOG=y CONFIG_SAMSUNG_GPIO_EXTRA=8 CONFIG_SERIAL_SAMSUNG_CONSOLE=y -CONFIG_BATTERY_S3C_ADC=m -CONFIG_SENSORS_S3C=m -CONFIG_SENSORS_S3C_RAW=y -CONFIG_FB_S3C_DEBUG_REGWRITE=y CONFIG_SND_SOC_SAMSUNG_SMDK_SPDIF=m CONFIG_USB_EHCI_S5P=y CONFIG_SAMSUNG_USBPHY=m CONFIG_SAMSUNG_USB2PHY=m CONFIG_SAMSUNG_USB3PHY=m -CONFIG_MMC_DW=m -CONFIG_MMC_DW_PLTFM=m -CONFIG_MMC_DW_PCI=m CONFIG_MMC_DW_EXYNOS=m +CONFIG_RTC_DRV_S3C=m # Chromebook CONFIG_MFD_CROS_EC=m @@ -123,5 +125,13 @@ CONFIG_REGULATOR_MAX8997=m CONFIG_REGULATOR_S5M8767=m CONFIG_COMMON_CLK_MAX77686=m +CONFIG_S3C_LOWLEVEL_UART_PORT=1 # CONFIG_EXYNOS4_SDHCI_CH0_8BIT is not set # CONFIG_EXYNOS4_SDHCI_CH2_8BIT is not set + +# CONFIG_S3C_BOOT_ERROR_RESET is not set +# CONFIG_S3C_BOOT_UART_FORCE_FIFO is not set +# CONFIG_I2C_S3C2410 is not set +# CONFIG_S3C2410_WATCHDOG is not set +# CONFIG_MMC_SDHCI_S3C is not set +# CONFIG_TEGRA_HOST1X is not set diff --git a/config-debug b/config-debug index e7f7ce147..fb7df3e38 100644 --- a/config-debug +++ b/config-debug @@ -5,6 +5,7 @@ CONFIG_SND_PCM_XRUN_DEBUG=y CONFIG_DEBUG_ATOMIC_SLEEP=y CONFIG_DEBUG_MUTEXES=y +CONFIG_DEBUG_WW_MUTEX_SLOWPATH=y CONFIG_DEBUG_RT_MUTEXES=y CONFIG_DEBUG_LOCK_ALLOC=y CONFIG_PROVE_LOCKING=y @@ -64,6 +65,8 @@ CONFIG_DEBUG_CREDENTIALS=y CONFIG_EXT4_DEBUG=y +CONFIG_XFS_WARN=y + CONFIG_DEBUG_PERF_USE_VMALLOC=y # off in both production debug and nodebug builds, @@ -82,6 +85,8 @@ CONFIG_ATH_DEBUG=y CONFIG_CARL9170_DEBUGFS=y CONFIG_IWLWIFI_DEVICE_TRACING=y +CONFIG_RTLWIFI_DEBUG=y + CONFIG_DEBUG_OBJECTS_WORK=y CONFIG_DMADEVICES_DEBUG=y @@ -100,6 +105,7 @@ CONFIG_KDB_CONTINUE_CATASTROPHIC=0 CONFIG_DEBUG_OBJECTS_PERCPU_COUNTER=y CONFIG_TEST_LIST_SORT=y +CONFIG_TEST_STRING_HELPERS=m CONFIG_DETECT_HUNG_TASK=y CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120 @@ -115,9 +121,7 @@ CONFIG_DEBUG_KMEMLEAK_DEFAULT_OFF=y CONFIG_MAC80211_MESSAGE_TRACING=y CONFIG_EDAC_DEBUG=y + +CONFIG_X86_DEBUG_STATIC_CPU_HAS=y CONFIG_LATENCYTOP=y CONFIG_SCHEDSTATS=y - -CONFIG_TEST_STRING_HELPERS=m -CONFIG_XFS_WARN=y - diff --git a/config-generic b/config-generic index 7e1ecf1cf..182d8a273 100644 --- a/config-generic +++ b/config-generic @@ -35,6 +35,7 @@ CONFIG_SWAP=y CONFIG_SYSVIPC=y CONFIG_BSD_PROCESS_ACCT=y CONFIG_BSD_PROCESS_ACCT_V3=y +# CONFIG_COMPILE_TEST is not set CONFIG_FHANDLE=y CONFIG_TASKSTATS=y CONFIG_TASK_DELAY_ACCT=y @@ -67,6 +68,7 @@ CONFIG_PREEMPT_VOLUNTARY=y # CONFIG_PREEMPT is not set CONFIG_SLUB=y +CONFIG_SLUB_CPU_PARTIAL=y # CONFIG_SLUB_STATS is not set # CONFIG_AD525X_DPOT is not set @@ -101,6 +103,9 @@ CONFIG_PCIEAER_INJECT=m CONFIG_HOTPLUG_PCI_PCIE=y CONFIG_HOTPLUG_PCI_FAKE=m +# CONFIG_SGI_IOC4 is not set +# + # CONFIG_ISA is not set # CONFIG_SCx200 is not set @@ -156,6 +161,7 @@ CONFIG_INFINIBAND_USER_MAD=m CONFIG_INFINIBAND_USER_ACCESS=m CONFIG_INFINIBAND_IPATH=m CONFIG_INFINIBAND_ISER=m +CONFIG_INFINIBAND_ISERT=m CONFIG_INFINIBAND_AMSO1100=m # CONFIG_INFINIBAND_AMSO1100_DEBUG is not set CONFIG_INFINIBAND_CXGB3=m @@ -164,9 +170,11 @@ CONFIG_SCSI_CXGB3_ISCSI=m CONFIG_SCSI_CXGB4_ISCSI=m # CONFIG_INFINIBAND_CXGB3_DEBUG is not set CONFIG_MLX4_INFINIBAND=m +CONFIG_MLX5_INFINIBAND=m CONFIG_INFINIBAND_NES=m # CONFIG_INFINIBAND_NES_DEBUG is not set CONFIG_INFINIBAND_QIB=m +CONFIG_INFINIBAND_QIB_DCA=y # CONFIG_INFINIBAND_OCRDMA is not set # @@ -175,6 +183,7 @@ CONFIG_INFINIBAND_QIB=m CONFIG_BINFMT_ELF=y CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y # CONFIG_BINFMT_AOUT is not set +CONFIG_BINFMT_SCRIPT=y CONFIG_BINFMT_MISC=m # @@ -298,6 +307,7 @@ CONFIG_BLK_CPQ_DA=m CONFIG_BLK_CPQ_CISS_DA=m CONFIG_CISS_SCSI_TAPE=y CONFIG_BLK_DEV_DAC960=m +# CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set CONFIG_BLK_DEV_DRBD=m CONFIG_BLK_DEV_UMEM=m CONFIG_BLK_DEV_LOOP=y @@ -337,6 +347,7 @@ CONFIG_HW_RANDOM_VIRTIO=m CONFIG_VIRTIO_CONSOLE=y CONFIG_VHOST_NET=m CONFIG_TCM_VHOST=m +CONFIG_VHOST_SCSI=m # # SCSI device support @@ -434,6 +445,7 @@ CONFIG_SCSI_MPT3SAS_LOGGING=y CONFIG_SCSI_UFSHCD=m CONFIG_SCSI_UFSHCD_PCI=m +# CONFIG_SCSI_UFSHCD_PLATFORM is not set CONFIG_SCSI_MVUMI=m @@ -510,6 +522,7 @@ CONFIG_SATA_NV=m CONFIG_SATA_PMP=y CONFIG_SATA_PROMISE=m CONFIG_SATA_QSTOR=m +CONFIG_SATA_RCAR=m CONFIG_SATA_SIL=m CONFIG_SATA_SIL24=m CONFIG_SATA_SIS=m @@ -587,6 +600,12 @@ CONFIG_MD_RAID10=m CONFIG_MD_RAID456=m # CONFIG_MULTICORE_RAID456 is not set CONFIG_ASYNC_RAID6_TEST=m + +CONFIG_BCACHE=m +# CONFIG_BCACHE_DEBUG is not set +# CONFIG_BCACHE_EDEBUG is not set +# CONFIG_BCACHE_CLOSURES_DEBUG is not set + CONFIG_BLK_DEV_DM=y CONFIG_DM_CRYPT=m CONFIG_DM_DEBUG=y @@ -608,6 +627,7 @@ CONFIG_DM_MULTIPATH_ST=m CONFIG_DM_RAID=m CONFIG_DM_FLAKEY=m CONFIG_DM_VERITY=m +CONFIG_DM_SWITCH=m # # Fusion MPT device support @@ -654,6 +674,9 @@ CONFIG_NET=y CONFIG_NET_DMA=y +CONFIG_NETLINK_MMAP=y +CONFIG_NETLINK_DIAG=m + CONFIG_TCP_CONG_ADVANCED=y CONFIG_TCP_CONG_BIC=m CONFIG_TCP_CONG_CUBIC=y @@ -1039,6 +1062,7 @@ CONFIG_IP_DCCP_CCID3=y # CONFIG_TIPC=m CONFIG_TIPC_PORTS=8192 +# CONFIG_TIPC_MEDIA_IB is not set # CONFIG_TIPC_ADVANCED is not set # CONFIG_TIPC_DEBUG is not set @@ -1109,8 +1133,10 @@ CONFIG_DNS_RESOLVER=m CONFIG_BATMAN_ADV=m CONFIG_BATMAN_ADV_BLA=y CONFIG_BATMAN_ADV_DAT=y +CONFIG_BATMAN_ADV_NC=y # CONFIG_BATMAN_ADV_DEBUG is not set CONFIG_OPENVSWITCH=m +CONFIG_OPENVSWITCH_GRE=y CONFIG_VSOCKETS=m CONFIG_NETPRIO_CGROUP=m @@ -1135,6 +1161,7 @@ CONFIG_NET_TEAM_MODE_ROUNDROBIN=m CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=m CONFIG_NET_TEAM_MODE_LOADBALANCE=m CONFIG_NET_TEAM_MODE_BROADCAST=m +CONFIG_NET_TEAM_MODE_RANDOM=m CONFIG_DUMMY=m CONFIG_BONDING=m CONFIG_MACVLAN=m @@ -1143,6 +1170,7 @@ CONFIG_VXLAN=m CONFIG_EQUALIZER=m CONFIG_TUN=m CONFIG_VETH=m +CONFIG_NLMON=m # # ATM @@ -1199,6 +1227,8 @@ CONFIG_L2TP_ETH=m CONFIG_RFKILL=m CONFIG_RFKILL_INPUT=y +CONFIG_ETHERNET=y + # # Ethernet (10 or 100Mbit) # @@ -1215,7 +1245,11 @@ CONFIG_PCNET32=m CONFIG_AMD8111_ETH=m CONFIG_PCMCIA_NMCLAN=m +CONFIG_NET_VENDOR_ARC=y +CONFIG_ARC_EMAC=m + CONFIG_NET_VENDOR_ATHEROS=y +CONFIG_ALX=m CONFIG_ATL2=m CONFIG_ATL1=m CONFIG_ATL1C=m @@ -1334,6 +1368,7 @@ CONFIG_YELLOWFIN=m CONFIG_NET_VENDOR_QLOGIC=y CONFIG_QLA3XXX=m CONFIG_QLCNIC=m +CONFIG_QLCNIC_SRIOV=y CONFIG_QLGE=m CONFIG_NETXEN_NIC=m @@ -1347,6 +1382,8 @@ CONFIG_8139TOO_8129=y # CONFIG_8139_OLD_RX_RESET is not set CONFIG_R8169=m +CONFIG_SH_ETH=m + CONFIG_NET_VENDOR_RDC=y CONFIG_R6040=m @@ -1362,6 +1399,7 @@ CONFIG_SIS190=m CONFIG_NET_VENDOR_SMSC=y CONFIG_PCMCIA_SMC91C92=m CONFIG_EPIC100=m +CONFIG_SMSC911X=m CONFIG_SMSC9420=m CONFIG_NET_VENDOR_STMICRO=y @@ -1420,6 +1458,7 @@ CONFIG_VITESSE_PHY=m CONFIG_MICREL_PHY=m CONFIG_MII=m +CONFIG_NET_CORE=y CONFIG_NET_VENDOR_3COM=y CONFIG_VORTEX=m CONFIG_TYPHOON=m @@ -1524,6 +1563,7 @@ CONFIG_ATH6KL=m CONFIG_ATH6KL_DEBUG=y CONFIG_ATH6KL_SDIO=m CONFIG_ATH6KL_USB=m +# CONFIG_ATH6KL_TRACING is not set CONFIG_AR5523=m CONFIG_ATH9K=m CONFIG_ATH9K_PCI=y @@ -1534,9 +1574,15 @@ CONFIG_ATH9K_DEBUGFS=y CONFIG_ATH9K_HTC=m CONFIG_ATH9K_BTCOEX_SUPPORT=y # CONFIG_ATH9K_HTC_DEBUGFS is not set -CONFIG_ATH9K_LEGACY_RATE_CONTROL=y +# CONFIG_ATH9K_LEGACY_RATE_CONTROL is not set +CONFIG_ATH10K=m +CONFIG_ATH10K_PCI=m +# CONFIG_ATH10K_DEBUG is not set +# CONFIG_ATH10K_TRACING is not set +CONFIG_ATH10K_DEBUGFS=y CONFIG_WIL6210=m CONFIG_WIL6210_ISR_COR=y +# CONFIG_WIL6210_TRACING is not set CONFIG_CARL9170=m CONFIG_CARL9170_LEDS=y # CONFIG_CARL9170_HWRNG is not set @@ -1544,6 +1590,7 @@ CONFIG_AT76C50X_USB=m # CONFIG_AIRO is not set # CONFIG_AIRO_CS is not set # CONFIG_ATMEL is not set +CONFIG_NET_VENDOR_BROADCOM=y CONFIG_B43=m CONFIG_B43_PCMCIA=y CONFIG_B43_SDIO=y @@ -1580,6 +1627,9 @@ CONFIG_PCMCIA_HERMES=m CONFIG_ORINOCO_USB=m # CONFIG_TMD_HERMES is not set # CONFIG_PCMCIA_SPECTRUM is not set +CONFIG_CW1200=m +CONFIG_CW1200_WLAN_SDIO=m +CONFIG_CW1200_WLAN_SPI=m # CONFIG_HOSTAP is not set # CONFIG_IPW2100 is not set # CONFIG_IPW2200 is not set @@ -1628,6 +1678,7 @@ CONFIG_RT2800USB=m CONFIG_RT2800USB_RT33XX=y CONFIG_RT2800USB_RT35XX=y CONFIG_RT2800USB_RT53XX=y +CONFIG_RT2800USB_RT55XX=y CONFIG_RT2800USB_UNKNOWN=y CONFIG_RT2800PCI=m CONFIG_RT2800PCI_RT3290=y @@ -1657,13 +1708,14 @@ CONFIG_WL1251=m CONFIG_WL1251_SPI=m CONFIG_WL1251_SDIO=m +CONFIG_RTL_CARDS=m CONFIG_RTLWIFI=m -# CONFIG_RTLWIFI_DEBUG is not set CONFIG_RTL8192CE=m CONFIG_RTL8192SE=m CONFIG_RTL8192CU=m CONFIG_RTL8192DE=m CONFIG_RTL8723AE=m +CONFIG_RTL8188EE=m CONFIG_MWIFIEX=m CONFIG_MWIFIEX_SDIO=m @@ -1715,6 +1767,7 @@ CONFIG_NFC_NCI=m CONFIG_NFC_HCI=m CONFIG_NFC_SHDLC=y CONFIG_NFC_LLCP=y +CONFIG_NFC_SIM=m # # Near Field Communication (NFC) devices @@ -1959,6 +2012,7 @@ CONFIG_INPUT_POLLDEV=m CONFIG_INPUT_SPARSEKMAP=m # CONFIG_INPUT_ADXL34X is not set # CONFIG_INPUT_BMA150 is not set +# CONFIG_INPUT_IMS_PCU is not set CONFIG_INPUT_CMA3000=m CONFIG_INPUT_CMA3000_I2C=m @@ -1977,8 +2031,10 @@ CONFIG_SERIO_RAW=m CONFIG_SERIO_ALTERA_PS2=m # CONFIG_SERIO_PS2MULT is not set CONFIG_SERIO_ARC_PS2=m +# CONFIG_SERIO_APBPS2 is not set # CONFIG_SERIO_CT82C710 is not set +# CONFIG_SERIO_OLPC_APSP is not set # CONFIG_SERIO_PARKBD is not set # CONFIG_SERIO_PCIPS2 is not set @@ -2056,6 +2112,7 @@ CONFIG_INPUT_TOUCHSCREEN=y CONFIG_TOUCHSCREEN_AD7879_I2C=m # CONFIG_TOUCHSCREEN_CY8CTMG110 is not set # CONFIG_TOUCHSCREEN_CYTTSP_CORE is not set +# CONFIG_TOUCHSCREEN_CYTTSP4_CORE is not set CONFIG_TOUCHSCREEN_DYNAPRO=m CONFIG_TOUCHSCREEN_EDT_FT5X06=m CONFIG_TOUCHSCREEN_EETI=m @@ -2130,6 +2187,7 @@ CONFIG_N_HDLC=m CONFIG_N_GSM=m # CONFIG_TRACE_SINK is not set # CONFIG_STALDRV is not set +# CONFIG_DUMMY_IRQ is not set # CONFIG_IBM_ASM is not set CONFIG_TIFM_CORE=m CONFIG_TIFM_7XX1=m @@ -2264,6 +2322,7 @@ CONFIG_SENSORS_ADM1026=m CONFIG_SENSORS_ADM1029=m CONFIG_SENSORS_ADM1031=m CONFIG_SENSORS_ADM9240=m +CONFIG_SENSORS_ADT7310=m CONFIG_SENSORS_ADT7410=m CONFIG_SENSORS_ADS7828=m CONFIG_SENSORS_ADT7462=m @@ -2281,6 +2340,7 @@ CONFIG_SENSORS_F71882FG=m CONFIG_SENSORS_F75375S=m CONFIG_SENSORS_FSCHMD=m CONFIG_SENSORS_G760A=m +CONFIG_SENSORS_G762=m CONFIG_SENSORS_GL518SM=m CONFIG_SENSORS_GL520SM=m CONFIG_SENSORS_HDAPS=m @@ -2305,11 +2365,13 @@ CONFIG_SENSORS_LM87=m CONFIG_SENSORS_LM90=m CONFIG_SENSORS_LM92=m CONFIG_SENSORS_LM93=m +CONFIG_SENSORS_LM95234=m CONFIG_SENSORS_LTC4245=m CONFIG_SENSORS_MAX1619=m CONFIG_SENSORS_MAX6650=m CONFIG_SENSORS_MAX6697=m CONFIG_SENSORS_MCP3021=m +CONFIG_SENSORS_NCT6775=m CONFIG_SENSORS_NTC_THERMISTOR=m CONFIG_SENSORS_PC87360=m CONFIG_SENSORS_PC87427=m @@ -2394,9 +2456,11 @@ CONFIG_SENSORS_MAX197=m # CONFIG_PCH_PHUB is not set # CONFIG_SERIAL_PCH_UART is not set # CONFIG_USB_SWITCH_FSA9480 is not set +# CONFIG_SRAM is not set CONFIG_SERIAL_ARC=m CONFIG_SERIAL_ARC_NR_PORTS=1 # CONFIG_SERIAL_RP2 is not set +# CONFIG_SERIAL_FSL_LPUART is not set CONFIG_W1=m CONFIG_W1_CON=y @@ -2408,6 +2472,7 @@ CONFIG_W1_MASTER_DS1WM=m CONFIG_W1_SLAVE_THERM=m CONFIG_W1_SLAVE_SMEM=m CONFIG_W1_SLAVE_DS2408=m +# CONFIG_W1_SLAVE_DS2408_READBACK is not set CONFIG_W1_SLAVE_DS2413=m CONFIG_W1_SLAVE_DS2423=m CONFIG_W1_SLAVE_DS2431=m @@ -2474,6 +2539,7 @@ CONFIG_WM831X_WATCHDOG=m # CONFIG_MAX63XX_WATCHDOG is not set # CONFIG_DW_WATCHDOG is not set CONFIG_W83697UG_WDT=m +# CONFIG_MEN_A21_WDT is not set CONFIG_HW_RANDOM=y CONFIG_HW_RANDOM_TIMERIOMEM=m @@ -2505,6 +2571,7 @@ CONFIG_RTC_DRV_M41T80_WDT=y CONFIG_RTC_DRV_M48T59=m CONFIG_RTC_DRV_MAX6900=m # CONFIG_RTC_DRV_M48T86 is not set +CONFIG_RTC_DRV_PCF2127=m CONFIG_RTC_DRV_PCF8563=m CONFIG_RTC_DRV_PCF8583=m CONFIG_RTC_DRV_RS5C372=m @@ -2698,6 +2765,7 @@ CONFIG_VIDEO_TLG2300=m # CONFIG_VIDEO_TIMBERDALE is not set # CONFIG_VIDEO_M5MOLS is not set # CONFIG_EXYNOS_VIDEO is not set +CONFIG_VIDEO_USBTV=m CONFIG_USB_VIDEO_CLASS=m CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y @@ -2742,6 +2810,7 @@ CONFIG_DVB_BUDGET_CORE=m CONFIG_DVB_PLUTO2=m CONFIG_SMS_SIANO_MDTV=m CONFIG_SMS_SIANO_RC=y +# CONFIG_SMS_SIANO_DEBUGFS is not set CONFIG_MEDIA_SUBDRV_AUTOSELECT=y CONFIG_SMS_USB_DRV=m CONFIG_SMS_SDIO_DRV=m @@ -2918,6 +2987,7 @@ CONFIG_FB_I810_I2C=y # CONFIG_FB_S1D13XXX is not set # CONFIG_FB_S3 is not set # CONFIG_FB_SAVAGE is not set +# CONFIG_FB_SIMPLE is not set # CONFIG_FB_SIS is not set # CONFIG_FB_SM501 is not set # CONFIG_FB_SMSCUFX is not set @@ -2987,6 +3057,7 @@ CONFIG_SND_PCM_OSS=y CONFIG_SND_PCM_OSS_PLUGINS=y CONFIG_SND_RTCTIMER=y CONFIG_SND_DYNAMIC_MINORS=y +CONFIG_SND_MAX_CARDS=32 # CONFIG_SND_SUPPORT_OLD_API is not set # @@ -3062,6 +3133,7 @@ CONFIG_SND_HDA_CODEC_CONEXANT=y CONFIG_SND_HDA_CODEC_CMEDIA=y CONFIG_SND_HDA_CODEC_SI3054=y CONFIG_SND_HDA_CODEC_HDMI=y +CONFIG_SND_HDA_I915=y CONFIG_SND_HDA_CODEC_CA0132=y CONFIG_SND_HDA_CODEC_CA0132_DSP=y CONFIG_SND_HDA_GENERIC=y @@ -3109,6 +3181,7 @@ CONFIG_SND_USB_USX2Y=m CONFIG_SND_USB_US122L=m CONFIG_SND_USB_UA101=m CONFIG_SND_USB_6FIRE=m +CONFIG_SND_USB_HIFACE=m # # PCMCIA devices @@ -3143,6 +3216,7 @@ CONFIG_USB_SUPPORT=y # Deprecated. # CONFIG_USB_DEVICEFS is not set +CONFIG_USB_DEFAULT_PERSIST=y # CONFIG_USB_DYNAMIC_MINORS is not set CONFIG_USB_SUSPEND=y @@ -3155,6 +3229,7 @@ CONFIG_USB_EHCI_TT_NEWSCHED=y # CONFIG_USB_EHCI_MV is not set # CONFIG_USB_EHCI_HCD_PLATFORM is not set CONFIG_USB_OHCI_HCD=y +CONFIG_USB_OHCI_HCD_PCI=y # CONFIG_USB_OHCI_HCD_SSB is not set # CONFIG_USB_OHCI_HCD_PLATFORM is not set CONFIG_USB_UHCI_HCD=y @@ -3165,6 +3240,7 @@ CONFIG_USB_SL811_HCD_ISO=y CONFIG_USB_XHCI_HCD=y # CONFIG_USB_XHCI_HCD_DEBUGGING is not set CONFIG_USB_ISP1362_HCD=m +CONFIG_USB_FUSBH200_HCD=m # # USB Device Class drivers @@ -3256,9 +3332,10 @@ CONFIG_HID_THINGM=m CONFIG_HID_THRUSTMASTER=m CONFIG_HID_ZEROPLUS=m CONFIG_HID_ZYDACRON=m -# CONFIG_HID_SENSOR_HUB is not set +CONFIG_HID_SENSOR_HUB=m CONFIG_HID_EMS_FF=m CONFIG_HID_ELECOM=m +CONFIG_HID_ELO=m CONFIG_HID_UCLOGIC=m CONFIG_HID_WALTOP=m CONFIG_HID_ROCCAT_PYRA=m @@ -3273,6 +3350,7 @@ CONFIG_HID_ROCCAT_ISKU=m CONFIG_HID_ROCCAT_KOVAPLUS=m CONFIG_HID_HOLTEK=m CONFIG_HOLTEK_FF=y +CONFIG_HID_HUION=m CONFIG_HID_SPEEDLINK=m CONFIG_HID_WIIMOTE=m CONFIG_HID_WIIMOTE_EXT=y @@ -3281,6 +3359,7 @@ CONFIG_HID_SAITEK=m CONFIG_HID_TIVO=m CONFIG_HID_GENERIC=y CONFIG_HID_AUREAL=m +CONFIG_HID_APPLEIR=m # @@ -3358,6 +3437,7 @@ CONFIG_USB_HSO=m CONFIG_USB_KAWETH=m CONFIG_USB_PEGASUS=m CONFIG_USB_RTL8150=m +CONFIG_USB_RTL8152=m CONFIG_USB_USBNET=m CONFIG_USB_SPEEDTOUCH=m CONFIG_USB_NET_AX8817X=m @@ -3450,6 +3530,7 @@ CONFIG_USB_SERIAL_MCT_U232=m CONFIG_USB_SERIAL_MOS7720=m CONFIG_USB_SERIAL_MOS7715_PARPORT=y # CONFIG_USB_SERIAL_ZIO is not set +# CONFIG_USB_SERIAL_WISHBONE is not set # CONFIG_USB_SERIAL_ZTE is not set CONFIG_USB_SERIAL_MOS7840=m CONFIG_USB_SERIAL_MOTOROLA=m @@ -3475,7 +3556,8 @@ CONFIG_USB_SERIAL_XSENS_MT=m CONFIG_USB_SERIAL_DEBUG=m CONFIG_USB_SERIAL_SSU100=m CONFIG_USB_SERIAL_QT2=m - +CONFIG_USB_SERIAL_FLASHLOADER=m +CONFIG_USB_SERIAL_SUUNTO=m CONFIG_USB_SERIAL_CONSOLE=y CONFIG_USB_EZUSB=y @@ -3492,9 +3574,16 @@ CONFIG_USB_ADUTUX=m CONFIG_USB_SEVSEG=m CONFIG_USB_ALI_M5632=y CONFIG_USB_APPLEDISPLAY=m + +# Physical Layer USB driver +CONFIG_USB_PHY=y + # CONFIG_OMAP_USB2 is not set # CONFIG_OMAP_USB3 is not set # CONFIG_OMAP_CONTROL_USB is not set +# CONFIG_SAMSUNG_USBPHY is not set +# CONFIG_SAMSUNG_USB2PHY is not set +# CONFIG_SAMSUNG_USB3PHY is not set CONFIG_USB_RCAR_PHY=m CONFIG_USB_ATM=m CONFIG_USB_CXACRU=m @@ -3542,6 +3631,8 @@ CONFIG_USB_UEAGLEATM=m CONFIG_USB_XUSBATM=m CONFIG_USB_ZERO=m +# CONFIG_USB_DWC2 is not set + CONFIG_USB_ANNOUNCE_NEW_DEVICES=y # CONFIG_USB_ISP1301 is not set @@ -3595,6 +3686,7 @@ CONFIG_MFD_VIPERBOARD=m # CONFIG_ABX500_CORE is not set # CONFIG_MFD_RDC321X is not set # CONFIG_MFD_JANZ_CMODIO is not set +# CONFIG_MFD_KEMPLD is not set # CONFIG_MFD_WM831X_I2C is not set # CONFIG_MFD_CS5535 is not set # CONFIG_MFD_STMPE is not set @@ -3607,6 +3699,10 @@ CONFIG_MFD_VIPERBOARD=m # CONFIG_MFD_MC13XXX_I2C is not set # CONFIG_MFD_ARIZONA is not set # CONFIG_MFD_ARIZONA_I2C is not set +# CONFIG_MFD_CROS_EC is not set +# CONFIG_MFD_SI476X_CORE is not set +# CONFIG_MFD_TPS65912 is not set +# CONFIG_MFD_SYSCON is not set # # File systems @@ -3735,6 +3831,7 @@ CONFIG_UFS_FS=m CONFIG_9P_FS=m CONFIG_9P_FSCACHE=y CONFIG_9P_FS_POSIX_ACL=y +CONFIG_9P_FS_SECURITY=y CONFIG_FUSE_FS=m # CONFIG_OMFS_FS is not set CONFIG_CUSE=m @@ -3749,13 +3846,15 @@ CONFIG_NFS_V2=y CONFIG_NFS_V3=y CONFIG_NFS_V3_ACL=y CONFIG_NFS_V4=y -# CONFIG_NFS_SWAP is not set +CONFIG_NFS_SWAP=y CONFIG_NFS_V4_1=y CONFIG_NFS_V4_1_IMPLEMENTATION_ID_DOMAIN="kernel.org" +CONFIG_NFS_V4_2=y CONFIG_NFSD=m CONFIG_NFSD_V3=y CONFIG_NFSD_V3_ACL=y CONFIG_NFSD_V4=y +CONFIG_NFSD_V4_SECURITY_LABEL=y CONFIG_NFS_FSCACHE=y # CONFIG_NFS_USE_LEGACY_DNS is not set CONFIG_PNFS_OBJLAYOUT=m @@ -3806,6 +3905,8 @@ CONFIG_BTRFS_FS=m CONFIG_BTRFS_FS_POSIX_ACL=y # Maybe see if we want this on for debug kernels? # CONFIG_BTRFS_FS_CHECK_INTEGRITY is not set +# CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set +# CONFIG_BTRFS_DEBUG is not set CONFIG_CONFIGFS_FS=y @@ -3825,6 +3926,7 @@ CONFIG_UBIFS_FS_XATTR=y # CONFIG_PARTITION_ADVANCED=y # CONFIG_ACORN_PARTITION is not set +CONFIG_AIX_PARTITION=y CONFIG_AMIGA_PARTITION=y # CONFIG_ATARI_PARTITION is not set CONFIG_BSD_DISKLABEL=y @@ -4002,6 +4104,11 @@ CONFIG_AUDITSYSCALL=y # http://lists.fedoraproject.org/pipermail/kernel/2013-February/004125.html CONFIG_AUDIT_LOGINUID_IMMUTABLE=y +CONFIG_SECCOMP=y +CONFIG_STRICT_DEVMEM=y + +# CONFIG_SSBI is not set + # # Cryptographic options # @@ -4035,10 +4142,13 @@ CONFIG_CRYPTO_ECB=y CONFIG_CRYPTO_FCRYPT=m CONFIG_CRYPTO_GCM=m CONFIG_CRYPTO_GF128MUL=m +CONFIG_CRYPTO_CMAC=m CONFIG_CRYPTO_HMAC=y CONFIG_CRYPTO_KHAZAD=m CONFIG_CRYPTO_LRW=m CONFIG_CRYPTO_LZO=m +CONFIG_CRYPTO_LZ4=m +CONFIG_CRYPTO_LZ4HC=m CONFIG_CRYPTO_MD4=m CONFIG_CRYPTO_MD5=m CONFIG_CRYPTO_MICHAEL_MIC=m @@ -4097,6 +4207,8 @@ CONFIG_ZLIB_DEFLATE=m CONFIG_INITRAMFS_SOURCE="" CONFIG_KEYS=y +CONFIG_PERSISTENT_KEYRINGS=y +CONFIG_BIG_KEYS=m CONFIG_TRUSTED_KEYS=m CONFIG_ENCRYPTED_KEYS=m CONFIG_KEYS_DEBUG_PROC_KEYS=y @@ -4183,6 +4295,8 @@ CONFIG_PROC_EVENTS=y CONFIG_IBMASR=m +CONFIG_PM=y +CONFIG_PM_STD_PARTITION="" CONFIG_PM_DEBUG=y CONFIG_PM_TRACE=y CONFIG_PM_TRACE_RTC=y @@ -4191,6 +4305,9 @@ CONFIG_PM_RUNTIME=y # CONFIG_PM_OPP is not set # CONFIG_PM_AUTOSLEEP is not set # CONFIG_PM_WAKELOCKS is not set +CONFIG_HIBERNATION=y +# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set +CONFIG_SUSPEND=y CONFIG_CPU_FREQ=y CONFIG_CPU_FREQ_GOV_PERFORMANCE=y @@ -4248,6 +4365,7 @@ CONFIG_SND_INDIGODJX=m CONFIG_BALLOON_COMPACTION=y CONFIG_COMPACTION=y CONFIG_MIGRATION=y +CONFIG_BOUNCE=y CONFIG_NEW_LEDS=y CONFIG_LEDS_CLASS=y # CONFIG_LEDS_AMS_DELTA is not set @@ -4273,6 +4391,7 @@ CONFIG_LEDS_TRIGGER_BACKLIGHT=m # CONFIG_LEDS_TRIGGER_CPU is not set CONFIG_LEDS_TRIGGER_DEFAULT_ON=m CONFIG_LEDS_TRIGGER_TRANSIENT=m +CONFIG_LEDS_TRIGGER_CAMERA=m CONFIG_LEDS_ALIX2=m CONFIG_LEDS_CLEVO_MAIL=m CONFIG_LEDS_INTEL_SS4200=m @@ -4283,6 +4402,7 @@ CONFIG_LEDS_BLINKM=m CONFIG_LEDS_LP3944=m CONFIG_LEDS_LP5521=m CONFIG_LEDS_LP5523=m +CONFIG_LEDS_LP5562=m CONFIG_LEDS_LT3593=m CONFIG_LEDS_REGULATOR=m CONFIG_LEDS_TRIGGER_GPIO=m @@ -4291,7 +4411,9 @@ CONFIG_LEDS_WM831X_STATUS=m CONFIG_DMADEVICES=y CONFIG_DMA_ENGINE=y +CONFIG_DW_DMAC_CORE=m CONFIG_DW_DMAC=m +CONFIG_DW_DMAC_PCI=m # CONFIG_DW_DMAC_BIG_ENDIAN_IO is not set # CONFIG_TIMB_DMA is not set # CONFIG_DMATEST is not set @@ -4307,12 +4429,14 @@ CONFIG_DYNAMIC_FTRACE=y CONFIG_SCHED_TRACER=y CONFIG_CONTEXT_SWITCH_TRACER=y CONFIG_TRACER_SNAPSHOT=y +# CONFIG_TRACER_SNAPSHOT_PER_CPU_SWAP is not set CONFIG_FTRACE_SYSCALLS=y CONFIG_FTRACE_MCOUNT_RECORD=y # CONFIG_FTRACE_STARTUP_TEST is not set # CONFIG_TRACE_BRANCH_PROFILING is not set CONFIG_FUNCTION_PROFILER=y CONFIG_RING_BUFFER_BENCHMARK=m +# CONFIG_RING_BUFFER_STARTUP_TEST is not set # CONFIG_RBTREE_TEST is not set # CONFIG_INTERVAL_TREE_TEST is not set CONFIG_FUNCTION_TRACER=y @@ -4326,8 +4450,12 @@ CONFIG_JUMP_LABEL=y CONFIG_OPTPROBES=y CONFIG_HZ_1000=y +CONFIG_NO_HZ=y CONFIG_TIMER_STATS=y +CONFIG_HIGH_RES_TIMERS=y +CONFIG_PERF_EVENTS=y +CONFIG_PERF_COUNTERS=y # Auxillary displays CONFIG_KS0108=m @@ -4519,6 +4647,7 @@ CONFIG_R8712U=m # Larry Finger maintains this (rhbz 699618) # CONFIG_ATH6K_LEGACY is not set # CONFIG_USB_ENESTORAGE is not set # CONFIG_BCM_WIMAX is not set +# CONFIG_USB_BTMTK is not set # CONFIG_FT1000 is not set # CONFIG_SPEAKUP is not set # CONFIG_DX_SEP is not set @@ -4567,6 +4696,7 @@ CONFIG_IMA_LSM_RULES=y # CONFIG_EVM is not set # CONFIG_PWM is not set +# CONFIG_PWM_PCA9685 is not set CONFIG_LSM_MMAP_MIN_ADDR=65536 @@ -4580,6 +4710,7 @@ CONFIG_RCU_CPU_STALL_TIMEOUT=60 # CONFIG_RCU_TORTURE_TEST is not set # CONFIG_RCU_TRACE is not set # CONFIG_RCU_CPU_STALL_INFO is not set +# CONFIG_RCU_USER_QS is not set CONFIG_SPARSE_RCU_POINTER=y CONFIG_KSM=y @@ -4596,6 +4727,7 @@ CONFIG_IEEE802154_FAKEHARD=m CONFIG_IEEE802154_FAKELB=m CONFIG_MAC802154=m +CONFIG_NET_MPLS_GSO=m # CONFIG_EXTCON is not set # CONFIG_MEMORY is not set @@ -4614,6 +4746,7 @@ CONFIG_PTP_1588_CLOCK_PCH=m CONFIG_CLEANCACHE=y CONFIG_FRONTSWAP=y +CONFIG_ZSWAP=y # CONFIG_MDIO_GPIO is not set # CONFIG_KEYBOARD_GPIO is not set @@ -4649,6 +4782,7 @@ CONFIG_GPIO_VIPERBOARD=m # CONFIG_GPIO_AMD8111 is not set # CONFIG_GPIO_BT8XX is not set # CONFIG_GPIO_SX150X is not set +# CONFIG_GPIO_GRGPIO is not set # FIXME: Why? CONFIG_EVENT_POWER_TRACING_DEPRECATED=y @@ -4703,6 +4837,14 @@ CONFIG_IOMMU_SUPPORT=y # CONFIG_MAILBOX is not set +# CONFIG_RESET_CONTROLLER is not set + +CONFIG_FMC=m +CONFIG_FMC_FAKEDEV=m +CONFIG_FMC_TRIVIAL=m +CONFIG_FMC_WRITE_EEPROM=m +CONFIG_FMC_CHARDEV=m + # CONFIG_HSI is not set # CONFIG_PM_DEVFREQ is not set @@ -4713,60 +4855,3 @@ CONFIG_IOMMU_SUPPORT=y # CONFIG_CRYPTO_KEY_TYPE is not set # CONFIG_PGP_LIBRARY is not set # CONFIG_PGP_PRELOAD is not set - - -# F19 3.10 rebase options below - -# CONFIG_ATH6KL_TRACING is not set -CONFIG_BATMAN_ADV_NC=y -# CONFIG_BCACHE_CLOSURES_DEBUG is not set -# CONFIG_BCACHE_DEBUG is not set -# CONFIG_BCACHE_EDEBUG is not set -CONFIG_BCACHE=m -CONFIG_BINFMT_SCRIPT=y -CONFIG_BOUNCE=y -# CONFIG_BTRFS_DEBUG is not set -# CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set -CONFIG_CRYPTO_CMAC=m -# CONFIG_DUMMY_IRQ is not set -# CONFIG_FB_SIMPLE is not set -# CONFIG_GPIO_GRGPIO is not set -CONFIG_HID_APPLEIR=m -# CONFIG_INPUT_IMS_PCU is not set -CONFIG_LEDS_LP5562=m -CONFIG_LEDS_TRIGGER_CAMERA=m -# CONFIG_MFD_CROS_EC is not set -# CONFIG_MFD_SI476X_CORE is not set -CONFIG_NETLINK_DIAG=m -CONFIG_NETLINK_MMAP=y -CONFIG_NET_TEAM_MODE_RANDOM=m -# CONFIG_RCU_USER_QS is not set -# CONFIG_RESET_CONTROLLER is not set -# CONFIG_RING_BUFFER_STARTUP_TEST is not set -CONFIG_RT2800USB_RT55XX=y -# CONFIG_SCSI_UFSHCD_PLATFORM is not set -CONFIG_SENSORS_ADT7310=m -CONFIG_SENSORS_LM95234=m -CONFIG_SENSORS_NCT6775=m -# CONFIG_SERIO_APBPS2 is not set -# CONFIG_SMS_SIANO_DEBUGFS is not set -# CONFIG_SRAM is not set -# CONFIG_SSBI is not set -# CONFIG_TRACER_SNAPSHOT_PER_CPU_SWAP is not set -CONFIG_USB_DEFAULT_PERSIST=y -CONFIG_USB_PHY=y -CONFIG_USB_RTL8152=m -# CONFIG_USB_SERIAL_WISHBONE is not set -# CONFIG_W1_SLAVE_DS2408_READBACK is not set -# CONFIG_SAMSUNG_USB2PHY is not set -# CONFIG_SAMSUNG_USB3PHY is not set -CONFIG_ALX=m -CONFIG_INFINIBAND_ISERT=m -CONFIG_QLCNIC_SRIOV=y -CONFIG_RTL8188EE=m -# CONFIG_SAMSUNG_USBPHY is not set -# CONFIG_TIPC_MEDIA_IB is not set -# CONFIG_USB_DWC2 is not set -CONFIG_VHOST_SCSI=m -# CONFIG_MFD_TPS65912 is not set -# CONFIG_MFD_SYSCON is not set diff --git a/config-nodebug b/config-nodebug index 12ecfcc29..75fc2200b 100644 --- a/config-nodebug +++ b/config-nodebug @@ -5,6 +5,7 @@ CONFIG_SND_PCM_XRUN_DEBUG=y # CONFIG_DEBUG_ATOMIC_SLEEP is not set # CONFIG_DEBUG_MUTEXES is not set +# CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set # CONFIG_DEBUG_RT_MUTEXES is not set # CONFIG_DEBUG_LOCK_ALLOC is not set # CONFIG_PROVE_LOCKING is not set @@ -68,6 +69,8 @@ CONFIG_DEBUG_OBJECTS_ENABLE_DEFAULT=1 # CONFIG_EXT4_DEBUG is not set +# CONFIG_XFS_WARN is not set + # CONFIG_DEBUG_PERF_USE_VMALLOC is not set # CONFIG_JBD2_DEBUG is not set @@ -82,6 +85,8 @@ CONFIG_DEBUG_OBJECTS_ENABLE_DEFAULT=1 # CONFIG_CARL9170_DEBUGFS is not set # CONFIG_IWLWIFI_DEVICE_TRACING is not set +# CONFIG_RTLWIFI_DEBUG is not set + # CONFIG_DEBUG_OBJECTS_WORK is not set # CONFIG_DMADEVICES_DEBUG is not set @@ -100,6 +105,7 @@ CONFIG_KDB_CONTINUE_CATASTROPHIC=0 # CONFIG_DEBUG_OBJECTS_PERCPU_COUNTER is not set # CONFIG_TEST_LIST_SORT is not set +# CONFIG_TEST_STRING_HELPERS is not set # CONFIG_DETECT_HUNG_TASK is not set CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120 @@ -117,9 +123,9 @@ CONFIG_DEBUG_KMEMLEAK_DEFAULT_OFF=y # CONFIG_EDAC_DEBUG is not set # CONFIG_SPI_DEBUG is not set -# CONFIG_LATENCYTOP is not set + +# CONFIG_X86_DEBUG_STATIC_CPU_HAS is not set + # CONFIG_SCHEDSTATS is not set - -# CONFIG_TEST_STRING_HELPERS is not set -# CONFIG_XFS_WARN is not set +# CONFIG_LATENCYTOP is not set diff --git a/config-powerpc-generic b/config-powerpc-generic index e8617230e..2f26fb4ba 100644 --- a/config-powerpc-generic +++ b/config-powerpc-generic @@ -1,5 +1,4 @@ # Most PowerPC kernels we build are SMP -CONFIG_SMP=y CONFIG_IRQ_ALL_CPUS=y CONFIG_PPC=y CONFIG_WATCHDOG_RTAS=m @@ -11,14 +10,6 @@ CONFIG_TAU=y # CONFIG_TAU_INT is not set CONFIG_TAU_AVERAGE=y -CONFIG_SECCOMP=y - -CONFIG_PM=y - -CONFIG_PM_STD_PARTITION="" - -CONFIG_SUSPEND=y -CONFIG_HIBERNATION=y # CONFIG_RTC is not set # CONFIG_GEN_RTC is not set # CONFIG_GEN_RTC_X is not set @@ -100,9 +91,6 @@ CONFIG_LEDS_TRIGGER_TIMER=m CONFIG_LEDS_TRIGGER_HEARTBEAT=m CONFIG_LEDS_TRIGGER_GPIO=m -# FIXME: Should depend on IA64/x86 -# CONFIG_SGI_IOC4 is not set - CONFIG_PPC_EFIKA=y CONFIG_PPC_MEDIA5200=y @@ -363,7 +351,6 @@ CONFIG_RFKILL_GPIO=m # CONFIG_TOUCHSCREEN_AUO_PIXCIR is not set # CONFIG_INPUT_GP2A is not set # CONFIG_INPUT_GPIO_TILT_POLLED is not set -CONFIG_STRICT_DEVMEM=y CONFIG_RCU_FANOUT_LEAF=16 @@ -371,9 +358,10 @@ CONFIG_RCU_FANOUT_LEAF=16 # CONFIG_MPIC_MSGR is not set # CONFIG_FA_DUMP is not set # CONFIG_MDIO_BUS_MUX_GPIO is not set -# CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set # CONFIG_FAIL_IOMMU is not set +# CONFIG_SPAPR_TCE_IOMMU is not set +# CONFIG_TRANSPARENT_HUGEPAGE is not set # CONFIG_PPC_DENORMALISATION is not set # CONFIG_MDIO_BUS_MUX_MMIOREG is not set @@ -385,6 +373,8 @@ CONFIG_RCU_FANOUT_LEAF=16 # CONFIG_OF_DISPLAY_TIMING is not set # CONFIG_OF_VIDEOMODE is not set +# CONFIG_POWERNV_MSI is not set + CONFIG_POWER_RESET_GPIO=y CONFIG_FB_SSD1307=m CONFIG_INPUT_PWM_BEEPER=m @@ -392,5 +382,3 @@ CONFIG_BACKLIGHT_PWM=m CONFIG_CPU_IDLE_MULTIPLE_DRIVERS=n CONFIG_XZ_DEC_POWERPC=y - -# CONFIG_POWERNV_MSI is not set diff --git a/config-powerpc32-generic b/config-powerpc32-generic index 935aab420..61e3236b1 100644 --- a/config-powerpc32-generic +++ b/config-powerpc32-generic @@ -95,8 +95,6 @@ CONFIG_SERIAL_OF_PLATFORM=y CONFIG_DEBUG_STACKOVERFLOW=y # CONFIG_EMBEDDED6xx is not set -CONFIG_NO_HZ=y -CONFIG_HIGH_RES_TIMERS=y # CONFIG_BLK_DEV_PLATFORM is not set # CONFIG_BLK_DEV_4DRIVES is not set @@ -175,10 +173,6 @@ CONFIG_CRYPTO_DEV_TALITOS=m CONFIG_RCU_FANOUT=32 -CONFIG_PERF_COUNTERS=y -CONFIG_PERF_EVENTS=y -CONFIG_EVENT_PROFILE=y - CONFIG_KVM_BOOK3S_32=m # CONFIG_SCSI_QLA_ISCSI is not set diff --git a/config-powerpc32-smp b/config-powerpc32-smp index e60f59cdf..5dbe87f7f 100644 --- a/config-powerpc32-smp +++ b/config-powerpc32-smp @@ -1,4 +1,3 @@ -CONFIG_SMP=y # CONFIG_HOTPLUG_CPU is not set CONFIG_NR_CPUS=4 # CONFIG_BATTERY_PMU is not set diff --git a/config-powerpc64 b/config-powerpc64 index 02a44d888..705a7ea2b 100644 --- a/config-powerpc64 +++ b/config-powerpc64 @@ -12,6 +12,7 @@ CONFIG_PPC_MAPLE=y CONFIG_PPC_PSERIES=y CONFIG_PPC_PMAC=y CONFIG_PPC_POWERNV=y +CONFIG_POWERNV_MSI=y CONFIG_PPC_POWERNV_RTAS=y # CONFIG_PPC_PASEMI is not set # CONFIG_PPC_PASEMI_IOMMU_DMA_FORCE is not set @@ -110,11 +111,7 @@ CONFIG_XMON_DISASSEMBLY=y CONFIG_SCSI_IBMVSCSIS=m -CONFIG_SECCOMP=y - # CONFIG_TUNE_CELL is not set -CONFIG_NO_HZ=y -CONFIG_HIGH_RES_TIMERS=y # CONFIG_BLK_DEV_PLATFORM is not set # CONFIG_VIRQ_DEBUG is not set @@ -137,13 +134,10 @@ CONFIG_RELOCATABLE=y CONFIG_RCU_FANOUT=64 -CONFIG_PERF_COUNTERS=y -CONFIG_PERF_EVENTS=y -CONFIG_EVENT_PROFILE=y - CONFIG_KVM_BOOK3S_64=m CONFIG_KVM_BOOK3S_64_HV=y # CONFIG_KVM_EXIT_TIMING is not set +CONFIG_KVM_XICS=y #-- bz#607175 #-- active memory sharing @@ -176,11 +170,7 @@ CONFIG_CRYPTO_DEV_NX_COMPRESS=m CONFIG_BPF_JIT=y # CONFIG_PPC_ICSWX_PID is not set # CONFIG_PPC_ICSWX_USE_SIGILL is not set -# CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set # CONFIG_PCIEPORTBUS is not set # CONFIG_PPC_TRANSACTIONAL_MEM is not set # CONFIG_SND_HDA_INTEL is not set CONFIG_BLK_DEV_RSXX=m - -CONFIG_POWERNV_MSI=y -CONFIG_KVM_XICS=y diff --git a/config-powerpc64p7 b/config-powerpc64p7 index ff4471037..7ab19187b 100644 --- a/config-powerpc64p7 +++ b/config-powerpc64p7 @@ -8,6 +8,7 @@ CONFIG_POWER7_CPU=y CONFIG_PPC_PSERIES=y # CONFIG_PPC_PMAC is not set CONFIG_PPC_POWERNV=y +CONFIG_POWERNV_MSI=y CONFIG_PPC_POWERNV_RTAS=y # CONFIG_PPC_PASEMI is not set # CONFIG_PPC_PASEMI_IOMMU_DMA_FORCE is not set @@ -101,11 +102,7 @@ CONFIG_XMON_DISASSEMBLY=y CONFIG_SCSI_IBMVSCSIS=m -CONFIG_SECCOMP=y - # CONFIG_TUNE_CELL is not set -CONFIG_NO_HZ=y -CONFIG_HIGH_RES_TIMERS=y # CONFIG_BLK_DEV_PLATFORM is not set # CONFIG_VIRQ_DEBUG is not set @@ -128,13 +125,10 @@ CONFIG_RELOCATABLE=y CONFIG_RCU_FANOUT=64 -CONFIG_PERF_COUNTERS=y -CONFIG_PERF_EVENTS=y -CONFIG_EVENT_PROFILE=y - CONFIG_KVM_BOOK3S_64=m CONFIG_KVM_BOOK3S_64_HV=y # CONFIG_KVM_EXIT_TIMING is not set +CONFIG_KVM_XICS=y #-- bz#607175 #-- active memory sharing @@ -167,10 +161,6 @@ CONFIG_CRYPTO_DEV_NX_COMPRESS=m CONFIG_BPF_JIT=y # CONFIG_PPC_ICSWX_PID is not set # CONFIG_PPC_ICSWX_USE_SIGILL is not set -# CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set # CONFIG_PCIEPORTBUS is not set # CONFIG_SND_HDA_INTEL is not set CONFIG_BLK_DEV_RSXX=m - -CONFIG_POWERNV_MSI=y -CONFIG_KVM_XICS=y diff --git a/config-s390x b/config-s390x index 35aec886f..a292f425e 100644 --- a/config-s390x +++ b/config-s390x @@ -13,13 +13,9 @@ CONFIG_HZ_100=y # See bug 496605 # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set -CONFIG_MMU=y - CONFIG_LOG_BUF_SHIFT=16 CONFIG_NO_IDLE_HZ=y -CONFIG_SMP=y - # # I/O subsystem configuration # @@ -190,8 +186,6 @@ CONFIG_S390_VMUR=m # CONFIG_THERMAL is not set -CONFIG_NO_HZ=y -CONFIG_HIGH_RES_TIMERS=y CONFIG_CTCM=m CONFIG_QETH_L2=m CONFIG_QETH_L3=m @@ -214,15 +208,7 @@ CONFIG_HVC_IUCV=y CONFIG_RCU_FANOUT=64 CONFIG_RCU_FANOUT_LEAF=16 -CONFIG_SECCOMP=y - -CONFIG_PM=y -CONFIG_HIBERNATION=y -CONFIG_PM_STD_PARTITION="/dev/jokes" - -CONFIG_PERF_COUNTERS=y -CONFIG_PERF_EVENTS=y -CONFIG_EVENT_PROFILE=y +# CONFIG_SUSPEND is not set CONFIG_SMSGIUCV_EVENT=m @@ -235,13 +221,9 @@ CONFIG_ZFCP_DIF=y CONFIG_SCHED_MC=y CONFIG_SCHED_BOOK=y -CONFIG_STRICT_DEVMEM=y - # CONFIG_WARN_DYNAMIC_STACK is not set CONFIG_CRYPTO_GHASH_S390=m -CONFIG_NET_CORE=y -CONFIG_ETHERNET=y CONFIG_BPF_JIT=y # CONFIG_TRANSPARENT_HUGEPAGE is not set @@ -250,11 +232,8 @@ CONFIG_EADM_SCH=m CONFIG_SCM_BLOCK=m CONFIG_SCM_BLOCK_CLUSTER_WRITE=y # CONFIG_S390_PTDUMP is not set -# CONFIG_SCSI_UFSHCD is not set # CONFIG_ASYMMETRIC_KEY_TYPE is not set # CONFIG_PCI is not set -# CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set -# CONFIG_SGI_IOC4 is not set # CONFIG_GPIO_GENERIC_PLATFORM is not set # CONFIG_GPIO_MCP23S08 is not set @@ -272,8 +251,6 @@ CONFIG_SCM_BLOCK_CLUSTER_WRITE=y # CONFIG_ACCESSIBILITY is not set # CONFIG_AUXDISPLAY is not set -# CONFIG_PTP_1588_CLOCK is not set -# CONFIG_PTP_1588_CLOCK_PCH is not set # CONFIG_POWER_SUPPLY is not set # CONFIG_STAGING is not set # CONFIG_MEMSTICK is not set diff --git a/config-x86-32-generic b/config-x86-32-generic index 6b6c60d30..3cd496569 100644 --- a/config-x86-32-generic +++ b/config-x86-32-generic @@ -122,8 +122,6 @@ CONFIG_SND_ES18XX=m CONFIG_HW_RANDOM_GEODE=m -# CONFIG_SGI_IOC4 is not set - CONFIG_TC1100_WMI=m CONFIG_IB700_WDT=m @@ -230,3 +228,5 @@ CONFIG_BACKLIGHT_PWM=m # CONFIG_RTC_DRV_SNVS is not set # CONFIG_OF_DISPLAY_TIMING is not set # CONFIG_OF_VIDEOMODE is not set + +# CONFIG_MLX5_INFINIBAND is not set diff --git a/config-x86-generic b/config-x86-generic index 983028436..881ef82d1 100644 --- a/config-x86-generic +++ b/config-x86-generic @@ -2,8 +2,6 @@ CONFIG_UID16=y CONFIG_X86_EXTENDED_PLATFORM=y -CONFIG_SMP=y - CONFIG_X86_GENERIC=y CONFIG_HPET=y @@ -37,6 +35,7 @@ CONFIG_X86_PM_TIMER=y CONFIG_EFI=y CONFIG_EFI_STUB=y CONFIG_EFI_VARS=y +CONFIG_EFIVAR_FS=y CONFIG_EFI_VARS_PSTORE=y CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE=y CONFIG_EFI_PCDP=y @@ -51,8 +50,6 @@ CONFIG_INTEL_IOMMU_FLOPPY_WA=y # CONFIG_INTEL_IOMMU_DEFAULT_ON is not set CONFIG_SCSI_ADVANSYS=m -CONFIG_SECCOMP=y - CONFIG_CAPI_EICON=y # @@ -99,9 +96,10 @@ CONFIG_ACPI_BGRT=y CONFIG_X86_INTEL_PSTATE=y CONFIG_X86_ACPI_CPUFREQ=m -CONFIG_X86_PCC_CPUFREQ=m CONFIG_X86_ACPI_CPUFREQ_CPB=y +CONFIG_X86_PCC_CPUFREQ=m CONFIG_X86_POWERNOW_K8=m +CONFIG_X86_AMD_FREQ_SENSITIVITY=m CONFIG_X86_P4_CLOCKMOD=m # CONFIG_X86_SPEEDSTEP_CENTRINO is not set @@ -115,10 +113,6 @@ CONFIG_CRYPTO_DEV_PADLOCK_SHA=m CONFIG_GENERIC_ISA_DMA=y -CONFIG_SUSPEND=y -CONFIG_HIBERNATION=y -CONFIG_PM_STD_PARTITION="" - CONFIG_PCI_MMCONFIG=y CONFIG_PCI_BIOS=y CONFIG_PCI_IOAPIC=y @@ -129,8 +123,6 @@ CONFIG_HOTPLUG_PCI_COMPAQ=m CONFIG_HOTPLUG_PCI_IBM=m # CONFIG_HOTPLUG_PCI_CPCI is not set -CONFIG_PM=y - CONFIG_IPW2100=m CONFIG_IPW2100_MONITOR=y CONFIG_IPW2200=m @@ -154,7 +146,8 @@ CONFIG_I2C_SIS96X=m CONFIG_I2C_VIA=m CONFIG_I2C_VIAPRO=m -CONFIG_DELL_RBU=m +#rhbz 997149 +# CONFIG_DELL_RBU is not set CONFIG_DCDBAS=m CONFIG_EDAC=y @@ -211,7 +204,6 @@ CONFIG_SAMSUNG_LAPTOP=m CONFIG_SONY_LAPTOP=m CONFIG_TOPSTAR_LAPTOP=m - CONFIG_ACPI_WMI=m CONFIG_ACER_WMI=m CONFIG_ACERHDF=m @@ -226,6 +218,9 @@ CONFIG_INTEL_OAKTRAIL=m CONFIG_SAMSUNG_Q10=m CONFIG_APPLE_GMUX=m CONFIG_XO15_EBOOK=m +CONFIG_INTEL_RST=m +CONFIG_INTEL_SMARTCONNECT=y +CONFIG_PVPANIC=m # CONFIG_TOUCHSCREEN_INTEL_MID is not set @@ -242,10 +237,11 @@ CONFIG_VIRTUALIZATION=y CONFIG_KVM=m CONFIG_KVM_INTEL=m CONFIG_KVM_AMD=m +CONFIG_KVM_DEVICE_ASSIGNMENT=y CONFIG_LGUEST=m CONFIG_LGUEST_GUEST=y -CONFIG_PARAVIRT_GUEST=y +CONFIG_HYPERVISOR_GUEST=y CONFIG_PARAVIRT=y CONFIG_PARAVIRT_TIME_ACCOUNTING=y # CONFIG_PARAVIRT_DEBUG is not set @@ -286,8 +282,6 @@ CONFIG_XEN_ACPI_PROCESSOR=m CONFIG_MTD_ESB2ROM=m CONFIG_MTD_CK804XROM=m -CONFIG_NO_HZ=y -CONFIG_HIGH_RES_TIMERS=y CONFIG_CPU_IDLE=y # CONFIG_CPU_IDLE_MULTIPLE_DRIVERS is not set # CONFIG_CPU_IDLE_GOV_LADDER is not set @@ -322,8 +316,6 @@ CONFIG_HP_WATCHDOG=m CONFIG_NV_TCO=m CONFIG_SP5100_TCO=m -CONFIG_STRICT_DEVMEM=y - # CONFIG_NO_BOOTMEM is not set # CONFIG_MEMTEST is not set @@ -346,9 +338,6 @@ CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y # CONFIG_IOMMU_STRESS is not set -CONFIG_PERF_COUNTERS=y -CONFIG_PERF_EVENTS=y - CONFIG_X86_MCE=y CONFIG_X86_MCE_INTEL=y CONFIG_X86_MCE_AMD=y @@ -420,6 +409,7 @@ CONFIG_HID_HYPERV_MOUSE=m CONFIG_HYPERV_NET=m CONFIG_HYPERV_STORAGE=m CONFIG_HYPERV_BALLOON=m +CONFIG_FB_HYPERV=m # Depends on HOTPLUG_PCI_PCIE CONFIG_BLK_DEV_PCIESSD_MTIP32XX=m @@ -433,12 +423,17 @@ CONFIG_RCU_FANOUT_LEAF=16 CONFIG_INTEL_MEI=m CONFIG_INTEL_MEI_ME=m +CONFIG_NFC_MEI_PHY=m +CONFIG_NFC_PN544_MEI=m +CONFIG_NFC_MICROREAD_MEI=m + # Maybe enable in debug kernels? # CONFIG_DEBUG_NMI_SELFTEST is not set # CONFIG_X86_INTEL_LPSS is not set # CONFIG_INTEL_POWERCLAMP is not set +CONFIG_X86_PKG_TEMP_THERMAL=m CONFIG_VMWARE_VMCI=m CONFIG_VMWARE_VMCI_VSOCKETS=m @@ -447,26 +442,20 @@ CONFIG_XZ_DEC_X86=y CONFIG_MPILIB=y CONFIG_PKCS7_MESSAGE_PARSER=y +CONFIG_EFI_SIGNATURE_LIST_PARSER=y CONFIG_PE_FILE_PARSER=y +CONFIG_SYSTEM_TRUSTED_KEYRING=y +CONFIG_SYSTEM_BLACKLIST_KEYRING=y CONFIG_MODULE_SIG=y CONFIG_MODULE_SIG_ALL=y # CONFIG_MODULE_SIG_SHA1 is not set CONFIG_MODULE_SIG_SHA256=y # CONFIG_MODULE_SIG_FORCE is not set -CONFIG_SYSTEM_BLACKLIST_KEYRING=y +CONFIG_MODULE_SIG_BLACKLIST=y +CONFIG_EFI_SECURE_BOOT_SIG_ENFORCE=y +CONFIG_EFI_SIGNATURE_LIST_PARSER=y CONFIG_MODULE_SIG_UEFI=y CONFIG_VMXNET3=m CONFIG_VFIO_PCI_VGA=y - -CONFIG_EFIVAR_FS=y -CONFIG_HYPERVISOR_GUEST=y -CONFIG_KVM_DEVICE_ASSIGNMENT=y -CONFIG_NFC_MEI_PHY=m -CONFIG_PVPANIC=m -CONFIG_X86_AMD_FREQ_SENSITIVITY=m -CONFIG_FB_HYPERV=m -CONFIG_NFC_MICROREAD_MEI=m -CONFIG_NFC_PN544_MEI=m - diff --git a/config-x86_64-generic b/config-x86_64-generic index 65e6a6869..85f588bc1 100644 --- a/config-x86_64-generic +++ b/config-x86_64-generic @@ -30,11 +30,12 @@ CONFIG_SWIOTLB=y # CONFIG_CALGARY_IOMMU is not set CONFIG_TRANSPARENT_HUGEPAGE=y +CONFIG_MEM_SOFT_DIRTY=y CONFIG_KEXEC_JUMP=y CONFIG_ACPI_BLACKLIST_YEAR=0 -CONFIG_ACPI_HOTPLUG_MEMORY=m +CONFIG_ACPI_HOTPLUG_MEMORY=y # CONFIG_INTEL_SCU_IPC is not set @@ -47,14 +48,21 @@ CONFIG_CRYPTO_TWOFISH_X86_64=m CONFIG_CRYPTO_SALSA20_X86_64=m CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL=m CONFIG_CRYPTO_SHA1_SSSE3=m +CONFIG_CRYPTO_SHA256_SSSE3=m +CONFIG_CRYPTO_SHA512_SSSE3=m CONFIG_CRYPTO_BLOWFISH_X86_64=m +CONFIG_CRYPTO_BLOWFISH_AVX2_X86_64=m CONFIG_CRYPTO_TWOFISH_X86_64_3WAY=m CONFIG_CRYPTO_CAMELLIA_X86_64=m +CONFIG_CRYPTO_CAMELLIA_AESNI_AVX_X86_64=m +CONFIG_CRYPTO_CAMELLIA_AESNI_AVX2_X86_64=m CONFIG_CRYPTO_CAST5_AVX_X86_64=m CONFIG_CRYPTO_CAST6_AVX_X86_64=m +CONFIG_CRYPTO_CRCT10DIF_PCLMUL=m CONFIG_CRYPTO_SERPENT_AVX_X86_64=m +CONFIG_CRYPTO_SERPENT_AVX2_X86_64=m CONFIG_CRYPTO_TWOFISH_AVX_X86_64=m -CONFIG_CRYPTO_CAMELLIA_AESNI_AVX_X86_64=m +CONFIG_CRYPTO_TWOFISH_AVX2_X86_64=m # CONFIG_I2C_ALI1535 is not set # CONFIG_I2C_ALI1563 is not set @@ -157,8 +165,3 @@ CONFIG_SFC_MTD=y CONFIG_MTD_CHAR=m CONFIG_MTD_BLOCK=m -CONFIG_CRYPTO_CAMELLIA_AESNI_AVX2_X86_64=m -CONFIG_CRYPTO_SERPENT_AVX2_X86_64=m -CONFIG_CRYPTO_SHA256_SSSE3=m -CONFIG_CRYPTO_SHA512_SSSE3=m - diff --git a/drm-hotspot-cursor-backport.patch b/drm-hotspot-cursor-backport.patch deleted file mode 100644 index f3dc82042..000000000 --- a/drm-hotspot-cursor-backport.patch +++ /dev/null @@ -1,164 +0,0 @@ -From f2a2b3496b6024a5df546f0aedd60705b896a464 Mon Sep 17 00:00:00 2001 -From: Dave Airlie -Date: Thu, 20 Jun 2013 11:48:52 +1000 -Subject: [PATCH 2/5] drm: add hotspot support for cursors. - -So it looks like for virtual hw cursors on QXL we need to inform -the "hw" device what the cursor hotspot parameters are. This -makes sense if you think the host has to draw the cursor and interpret -clicks from it. However the current modesetting interface doesn't support -passing the hotspot information from userspace. - -This implements a new cursor ioctl, that takes the hotspot info as well, -userspace can try calling the new interface and if it gets -ENOSYS it means -its on an older kernel and can just fallback. - -Reviewed-by: Daniel Vetter -Signed-off-by: Dave Airlie ---- - drivers/gpu/drm/drm_crtc.c | 35 +++++++++++++++++++++++++++++------ - drivers/gpu/drm/drm_drv.c | 1 + - include/drm/drm_crtc.h | 5 +++++ - include/uapi/drm/drm.h | 1 + - include/uapi/drm/drm_mode.h | 13 +++++++++++++ - 5 files changed, 49 insertions(+), 6 deletions(-) - -diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c -index dd64a06..21e71a8 100644 ---- a/drivers/gpu/drm/drm_crtc.c -+++ b/drivers/gpu/drm/drm_crtc.c -@@ -2202,10 +2202,10 @@ out: - return ret; - } - --int drm_mode_cursor_ioctl(struct drm_device *dev, -- void *data, struct drm_file *file_priv) -+static int drm_mode_cursor_common(struct drm_device *dev, -+ struct drm_mode_cursor2 *req, -+ struct drm_file *file_priv) - { -- struct drm_mode_cursor *req = data; - struct drm_mode_object *obj; - struct drm_crtc *crtc; - int ret = 0; -@@ -2225,13 +2225,17 @@ int drm_mode_cursor_ioctl(struct drm_device *dev, - - mutex_lock(&crtc->mutex); - if (req->flags & DRM_MODE_CURSOR_BO) { -- if (!crtc->funcs->cursor_set) { -+ if (!crtc->funcs->cursor_set && !crtc->funcs->cursor_set2) { - ret = -ENXIO; - goto out; - } - /* Turns off the cursor if handle is 0 */ -- ret = crtc->funcs->cursor_set(crtc, file_priv, req->handle, -- req->width, req->height); -+ if (crtc->funcs->cursor_set2) -+ ret = crtc->funcs->cursor_set2(crtc, file_priv, req->handle, -+ req->width, req->height, req->hot_x, req->hot_y); -+ else -+ ret = crtc->funcs->cursor_set(crtc, file_priv, req->handle, -+ req->width, req->height); - } - - if (req->flags & DRM_MODE_CURSOR_MOVE) { -@@ -2246,6 +2250,25 @@ out: - mutex_unlock(&crtc->mutex); - - return ret; -+ -+} -+int drm_mode_cursor_ioctl(struct drm_device *dev, -+ void *data, struct drm_file *file_priv) -+{ -+ struct drm_mode_cursor *req = data; -+ struct drm_mode_cursor2 new_req; -+ -+ memcpy(&new_req, req, sizeof(struct drm_mode_cursor)); -+ new_req.hot_x = new_req.hot_y = 0; -+ -+ return drm_mode_cursor_common(dev, &new_req, file_priv); -+} -+ -+int drm_mode_cursor2_ioctl(struct drm_device *dev, -+ void *data, struct drm_file *file_priv) -+{ -+ struct drm_mode_cursor2 *req = data; -+ return drm_mode_cursor_common(dev, req, file_priv); - } - - /* Original addfb only supported RGB formats, so figure out which one */ -diff --git a/drivers/gpu/drm/drm_drv.c b/drivers/gpu/drm/drm_drv.c -index 25f91cd..cb4470b 100644 ---- a/drivers/gpu/drm/drm_drv.c -+++ b/drivers/gpu/drm/drm_drv.c -@@ -166,6 +166,7 @@ static struct drm_ioctl_desc drm_ioctls[] = { - DRM_IOCTL_DEF(DRM_IOCTL_MODE_DESTROY_DUMB, drm_mode_destroy_dumb_ioctl, DRM_CONTROL_ALLOW|DRM_UNLOCKED), - DRM_IOCTL_DEF(DRM_IOCTL_MODE_OBJ_GETPROPERTIES, drm_mode_obj_get_properties_ioctl, DRM_CONTROL_ALLOW|DRM_UNLOCKED), - DRM_IOCTL_DEF(DRM_IOCTL_MODE_OBJ_SETPROPERTY, drm_mode_obj_set_property_ioctl, DRM_MASTER|DRM_CONTROL_ALLOW|DRM_UNLOCKED), -+ DRM_IOCTL_DEF(DRM_IOCTL_MODE_CURSOR2, drm_mode_cursor2_ioctl, DRM_MASTER|DRM_CONTROL_ALLOW|DRM_UNLOCKED), - }; - - #define DRM_CORE_IOCTL_COUNT ARRAY_SIZE( drm_ioctls ) -diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h -index e3e0d65..eba931b 100644 ---- a/include/drm/drm_crtc.h -+++ b/include/drm/drm_crtc.h -@@ -339,6 +339,9 @@ struct drm_crtc_funcs { - /* cursor controls */ - int (*cursor_set)(struct drm_crtc *crtc, struct drm_file *file_priv, - uint32_t handle, uint32_t width, uint32_t height); -+ int (*cursor_set2)(struct drm_crtc *crtc, struct drm_file *file_priv, -+ uint32_t handle, uint32_t width, uint32_t height, -+ int32_t hot_x, int32_t hot_y); - int (*cursor_move)(struct drm_crtc *crtc, int x, int y); - - /* Set gamma on the CRTC */ -@@ -1025,6 +1028,8 @@ extern int drm_mode_setplane(struct drm_device *dev, - void *data, struct drm_file *file_priv); - extern int drm_mode_cursor_ioctl(struct drm_device *dev, - void *data, struct drm_file *file_priv); -+extern int drm_mode_cursor2_ioctl(struct drm_device *dev, -+ void *data, struct drm_file *file_priv); - extern int drm_mode_addfb(struct drm_device *dev, - void *data, struct drm_file *file_priv); - extern int drm_mode_addfb2(struct drm_device *dev, -diff --git a/include/uapi/drm/drm.h b/include/uapi/drm/drm.h -index 8d1e2bb..5182a2d 100644 ---- a/include/uapi/drm/drm.h -+++ b/include/uapi/drm/drm.h -@@ -732,6 +732,7 @@ struct drm_prime_handle { - #define DRM_IOCTL_MODE_ADDFB2 DRM_IOWR(0xB8, struct drm_mode_fb_cmd2) - #define DRM_IOCTL_MODE_OBJ_GETPROPERTIES DRM_IOWR(0xB9, struct drm_mode_obj_get_properties) - #define DRM_IOCTL_MODE_OBJ_SETPROPERTY DRM_IOWR(0xBA, struct drm_mode_obj_set_property) -+#define DRM_IOCTL_MODE_CURSOR2 DRM_IOWR(0xBB, struct drm_mode_cursor2) - - /** - * Device specific ioctls should only be in their respective headers -diff --git a/include/uapi/drm/drm_mode.h b/include/uapi/drm/drm_mode.h -index 3d6301b..ecde539 100644 ---- a/include/uapi/drm/drm_mode.h -+++ b/include/uapi/drm/drm_mode.h -@@ -388,6 +388,19 @@ struct drm_mode_cursor { - __u32 handle; - }; - -+struct drm_mode_cursor2 { -+ __u32 flags; -+ __u32 crtc_id; -+ __s32 x; -+ __s32 y; -+ __u32 width; -+ __u32 height; -+ /* driver specific handle */ -+ __u32 handle; -+ __s32 hot_x; -+ __s32 hot_y; -+}; -+ - struct drm_mode_crtc_lut { - __u32 crtc_id; - __u32 gamma_size; --- -1.8.3.1 - diff --git a/drm-qxl-post-3.10-feature-fixes.patch b/drm-qxl-post-3.10-feature-fixes.patch deleted file mode 100644 index cf747c4b2..000000000 --- a/drm-qxl-post-3.10-feature-fixes.patch +++ /dev/null @@ -1,517 +0,0 @@ -From cd402bae4566410f38780e1ce94248b92c3403c0 Mon Sep 17 00:00:00 2001 -From: Dave Airlie -Date: Mon, 1 Jul 2013 14:14:38 +1000 -Subject: [PATCH 5/5] drm/qxl: post 3.10 feature fixes - -drm/qxl: make dynamic resizing work properly. -drm/qxl: add support for cursor hotspot. -drm/qxl: add support for > 1 output -drm/qxl: set time on drawables from userspace ---- - drivers/gpu/drm/qxl/qxl_cmd.c | 8 +- - drivers/gpu/drm/qxl/qxl_display.c | 187 ++++++++++++++++---------------------- - drivers/gpu/drm/qxl/qxl_drv.c | 4 + - drivers/gpu/drm/qxl/qxl_drv.h | 8 +- - drivers/gpu/drm/qxl/qxl_fb.c | 2 +- - drivers/gpu/drm/qxl/qxl_ioctl.c | 6 ++ - 6 files changed, 98 insertions(+), 117 deletions(-) - -diff --git a/drivers/gpu/drm/qxl/qxl_cmd.c b/drivers/gpu/drm/qxl/qxl_cmd.c -index 02befd9..0ec55e7 100644 ---- a/drivers/gpu/drm/qxl/qxl_cmd.c -+++ b/drivers/gpu/drm/qxl/qxl_cmd.c -@@ -375,8 +375,8 @@ void qxl_io_destroy_primary(struct qxl_device *qdev) - wait_for_io_cmd(qdev, 0, QXL_IO_DESTROY_PRIMARY_ASYNC); - } - --void qxl_io_create_primary(struct qxl_device *qdev, unsigned width, -- unsigned height, unsigned offset, struct qxl_bo *bo) -+void qxl_io_create_primary(struct qxl_device *qdev, -+ unsigned offset, struct qxl_bo *bo) - { - struct qxl_surface_create *create; - -@@ -384,8 +384,8 @@ void qxl_io_create_primary(struct qxl_device *qdev, unsigned width, - qdev->ram_header); - create = &qdev->ram_header->create_surface; - create->format = bo->surf.format; -- create->width = width; -- create->height = height; -+ create->width = bo->surf.width; -+ create->height = bo->surf.height; - create->stride = bo->surf.stride; - create->mem = qxl_bo_physical_address(qdev, bo, offset); - -diff --git a/drivers/gpu/drm/qxl/qxl_display.c b/drivers/gpu/drm/qxl/qxl_display.c -index 823d29e..a127a97 100644 ---- a/drivers/gpu/drm/qxl/qxl_display.c -+++ b/drivers/gpu/drm/qxl/qxl_display.c -@@ -30,53 +30,9 @@ - #include "qxl_object.h" - #include "drm_crtc_helper.h" - --static void qxl_crtc_set_to_mode(struct qxl_device *qdev, -- struct drm_connector *connector, -- struct qxl_head *head) -+static bool qxl_head_enabled(struct qxl_head *head) - { -- struct drm_device *dev = connector->dev; -- struct drm_display_mode *mode, *t; -- int width = head->width; -- int height = head->height; -- -- if (width < 320 || height < 240) { -- qxl_io_log(qdev, "%s: bad head: %dx%d", width, height); -- width = 1024; -- height = 768; -- } -- if (width * height * 4 > 16*1024*1024) { -- width = 1024; -- height = 768; -- } -- /* TODO: go over regular modes and removed preferred? */ -- list_for_each_entry_safe(mode, t, &connector->probed_modes, head) -- drm_mode_remove(connector, mode); -- mode = drm_cvt_mode(dev, width, height, 60, false, false, false); -- mode->type |= DRM_MODE_TYPE_PREFERRED; -- mode->status = MODE_OK; -- drm_mode_probed_add(connector, mode); -- qxl_io_log(qdev, "%s: %d x %d\n", __func__, width, height); --} -- --void qxl_crtc_set_from_monitors_config(struct qxl_device *qdev) --{ -- struct drm_connector *connector; -- int i; -- struct drm_device *dev = qdev->ddev; -- -- i = 0; -- qxl_io_log(qdev, "%s: %d, %d\n", __func__, -- dev->mode_config.num_connector, -- qdev->monitors_config->count); -- list_for_each_entry(connector, &dev->mode_config.connector_list, head) { -- if (i > qdev->monitors_config->count) { -- /* crtc will be reported as disabled */ -- continue; -- } -- qxl_crtc_set_to_mode(qdev, connector, -- &qdev->monitors_config->heads[i]); -- ++i; -- } -+ return head->width && head->height; - } - - void qxl_alloc_client_monitors_config(struct qxl_device *qdev, unsigned count) -@@ -106,7 +62,6 @@ static int qxl_display_copy_rom_client_monitors_config(struct qxl_device *qdev) - int num_monitors; - uint32_t crc; - -- BUG_ON(!qdev->monitors_config); - num_monitors = qdev->rom->client_monitors_config.count; - crc = crc32(0, (const uint8_t *)&qdev->rom->client_monitors_config, - sizeof(qdev->rom->client_monitors_config)); -@@ -117,8 +72,8 @@ static int qxl_display_copy_rom_client_monitors_config(struct qxl_device *qdev) - return 1; - } - if (num_monitors > qdev->monitors_config->max_allowed) { -- DRM_INFO("client monitors list will be truncated: %d < %d\n", -- qdev->monitors_config->max_allowed, num_monitors); -+ DRM_DEBUG_KMS("client monitors list will be truncated: %d < %d\n", -+ qdev->monitors_config->max_allowed, num_monitors); - num_monitors = qdev->monitors_config->max_allowed; - } else { - num_monitors = qdev->rom->client_monitors_config.count; -@@ -132,18 +87,15 @@ static int qxl_display_copy_rom_client_monitors_config(struct qxl_device *qdev) - &qdev->rom->client_monitors_config.heads[i]; - struct qxl_head *client_head = - &qdev->client_monitors_config->heads[i]; -- struct qxl_head *head = &qdev->monitors_config->heads[i]; -- client_head->x = head->x = c_rect->left; -- client_head->y = head->y = c_rect->top; -- client_head->width = head->width = -- c_rect->right - c_rect->left; -- client_head->height = head->height = -- c_rect->bottom - c_rect->top; -- client_head->surface_id = head->surface_id = 0; -- client_head->id = head->id = i; -- client_head->flags = head->flags = 0; -- QXL_DEBUG(qdev, "read %dx%d+%d+%d\n", head->width, head->height, -- head->x, head->y); -+ client_head->x = c_rect->left; -+ client_head->y = c_rect->top; -+ client_head->width = c_rect->right - c_rect->left; -+ client_head->height = c_rect->bottom - c_rect->top; -+ client_head->surface_id = 0; -+ client_head->id = i; -+ client_head->flags = 0; -+ DRM_DEBUG_KMS("read %dx%d+%d+%d\n", client_head->width, client_head->height, -+ client_head->x, client_head->y); - } - return 0; - } -@@ -155,9 +107,6 @@ void qxl_display_read_client_monitors_config(struct qxl_device *qdev) - qxl_io_log(qdev, "failed crc check for client_monitors_config," - " retrying\n"); - } -- qxl_crtc_set_from_monitors_config(qdev); -- /* fire off a uevent and let userspace tell us what to do */ -- qxl_io_log(qdev, "calling drm_sysfs_hotplug_event\n"); - drm_sysfs_hotplug_event(qdev->ddev); - } - -@@ -170,9 +119,9 @@ static int qxl_add_monitors_config_modes(struct drm_connector *connector) - struct drm_display_mode *mode = NULL; - struct qxl_head *head; - -- if (!qdev->monitors_config) -+ if (!qdev->client_monitors_config) - return 0; -- head = &qdev->monitors_config->heads[h]; -+ head = &qdev->client_monitors_config->heads[h]; - - mode = drm_cvt_mode(dev, head->width, head->height, 60, false, false, - false); -@@ -255,11 +204,11 @@ qxl_hide_cursor(struct qxl_device *qdev) - qxl_release_unreserve(qdev, release); - } - --static int qxl_crtc_cursor_set(struct drm_crtc *crtc, -- struct drm_file *file_priv, -- uint32_t handle, -- uint32_t width, -- uint32_t height) -+static int qxl_crtc_cursor_set2(struct drm_crtc *crtc, -+ struct drm_file *file_priv, -+ uint32_t handle, -+ uint32_t width, -+ uint32_t height, int32_t hot_x, int32_t hot_y) - { - struct drm_device *dev = crtc->dev; - struct qxl_device *qdev = dev->dev_private; -@@ -315,8 +264,8 @@ static int qxl_crtc_cursor_set(struct drm_crtc *crtc, - cursor->header.type = SPICE_CURSOR_TYPE_ALPHA; - cursor->header.width = 64; - cursor->header.height = 64; -- cursor->header.hot_spot_x = 0; -- cursor->header.hot_spot_y = 0; -+ cursor->header.hot_spot_x = hot_x; -+ cursor->header.hot_spot_y = hot_y; - cursor->data_size = size; - cursor->chunk.next_chunk = 0; - cursor->chunk.prev_chunk = 0; -@@ -397,7 +346,7 @@ static int qxl_crtc_cursor_move(struct drm_crtc *crtc, - - - static const struct drm_crtc_funcs qxl_crtc_funcs = { -- .cursor_set = qxl_crtc_cursor_set, -+ .cursor_set2 = qxl_crtc_cursor_set2, - .cursor_move = qxl_crtc_cursor_move, - .gamma_set = qxl_crtc_gamma_set, - .set_config = drm_crtc_helper_set_config, -@@ -506,7 +455,7 @@ qxl_send_monitors_config(struct qxl_device *qdev) - for (i = 0 ; i < qdev->monitors_config->count ; ++i) { - struct qxl_head *head = &qdev->monitors_config->heads[i]; - -- if (head->y > 8192 || head->y < head->x || -+ if (head->y > 8192 || head->x > 8192 || - head->width > 8192 || head->height > 8192) { - DRM_ERROR("head %d wrong: %dx%d+%d+%d\n", - i, head->width, head->height, -@@ -517,16 +466,19 @@ qxl_send_monitors_config(struct qxl_device *qdev) - qxl_io_monitors_config(qdev); - } - --static void qxl_monitors_config_set_single(struct qxl_device *qdev, -- unsigned x, unsigned y, -- unsigned width, unsigned height) -+static void qxl_monitors_config_set(struct qxl_device *qdev, -+ int index, -+ unsigned x, unsigned y, -+ unsigned width, unsigned height, -+ unsigned surf_id) - { -- DRM_DEBUG("%dx%d+%d+%d\n", width, height, x, y); -- qdev->monitors_config->count = 1; -- qdev->monitors_config->heads[0].x = x; -- qdev->monitors_config->heads[0].y = y; -- qdev->monitors_config->heads[0].width = width; -- qdev->monitors_config->heads[0].height = height; -+ DRM_DEBUG_KMS("%d:%dx%d+%d+%d\n", index, width, height, x, y); -+ qdev->monitors_config->heads[index].x = x; -+ qdev->monitors_config->heads[index].y = y; -+ qdev->monitors_config->heads[index].width = width; -+ qdev->monitors_config->heads[index].height = height; -+ qdev->monitors_config->heads[index].surface_id = surf_id; -+ - } - - static int qxl_crtc_mode_set(struct drm_crtc *crtc, -@@ -540,10 +492,11 @@ static int qxl_crtc_mode_set(struct drm_crtc *crtc, - struct qxl_mode *m = (void *)mode->private; - struct qxl_framebuffer *qfb; - struct qxl_bo *bo, *old_bo = NULL; -+ struct qxl_crtc *qcrtc = to_qxl_crtc(crtc); - uint32_t width, height, base_offset; - bool recreate_primary = false; - int ret; -- -+ int surf_id; - if (!crtc->fb) { - DRM_DEBUG_KMS("No FB bound\n"); - return 0; -@@ -567,7 +520,8 @@ static int qxl_crtc_mode_set(struct drm_crtc *crtc, - adjusted_mode->hdisplay, - adjusted_mode->vdisplay); - -- recreate_primary = true; -+ if (qcrtc->index == 0) -+ recreate_primary = true; - - width = mode->hdisplay; - height = mode->vdisplay; -@@ -588,8 +542,11 @@ static int qxl_crtc_mode_set(struct drm_crtc *crtc, - "recreate primary: %dx%d (was %dx%d,%d,%d)\n", - width, height, bo->surf.width, - bo->surf.height, bo->surf.stride, bo->surf.format); -- qxl_io_create_primary(qdev, width, height, base_offset, bo); -+ qxl_io_create_primary(qdev, base_offset, bo); - bo->is_primary = true; -+ surf_id = 0; -+ } else { -+ surf_id = bo->surface_id; - } - - if (old_bo && old_bo != bo) { -@@ -599,11 +556,9 @@ static int qxl_crtc_mode_set(struct drm_crtc *crtc, - qxl_bo_unreserve(old_bo); - } - -- if (qdev->monitors_config->count == 0) { -- qxl_monitors_config_set_single(qdev, x, y, -- mode->hdisplay, -- mode->vdisplay); -- } -+ qxl_monitors_config_set(qdev, qcrtc->index, x, y, -+ mode->hdisplay, -+ mode->vdisplay, surf_id); - return 0; - } - -@@ -619,6 +574,26 @@ static void qxl_crtc_commit(struct drm_crtc *crtc) - DRM_DEBUG("\n"); - } - -+static void qxl_crtc_disable(struct drm_crtc *crtc) -+{ -+ struct qxl_crtc *qcrtc = to_qxl_crtc(crtc); -+ struct drm_device *dev = crtc->dev; -+ struct qxl_device *qdev = dev->dev_private; -+ if (crtc->fb) { -+ struct qxl_framebuffer *qfb = to_qxl_framebuffer(crtc->fb); -+ struct qxl_bo *bo = gem_to_qxl_bo(qfb->obj); -+ int ret; -+ ret = qxl_bo_reserve(bo, false); -+ qxl_bo_unpin(bo); -+ qxl_bo_unreserve(bo); -+ crtc->fb = NULL; -+ } -+ -+ qxl_monitors_config_set(qdev, qcrtc->index, 0, 0, 0, 0, 0); -+ -+ qxl_send_monitors_config(qdev); -+} -+ - static void qxl_crtc_load_lut(struct drm_crtc *crtc) - { - DRM_DEBUG("\n"); -@@ -626,6 +601,7 @@ static void qxl_crtc_load_lut(struct drm_crtc *crtc) - - static const struct drm_crtc_helper_funcs qxl_crtc_helper_funcs = { - .dpms = qxl_crtc_dpms, -+ .disable = qxl_crtc_disable, - .mode_fixup = qxl_crtc_mode_fixup, - .mode_set = qxl_crtc_mode_set, - .prepare = qxl_crtc_prepare, -@@ -633,7 +609,7 @@ static const struct drm_crtc_helper_funcs qxl_crtc_helper_funcs = { - .load_lut = qxl_crtc_load_lut, - }; - --static int qdev_crtc_init(struct drm_device *dev, int num_crtc) -+static int qdev_crtc_init(struct drm_device *dev, int crtc_id) - { - struct qxl_crtc *qxl_crtc; - -@@ -642,7 +618,7 @@ static int qdev_crtc_init(struct drm_device *dev, int num_crtc) - return -ENOMEM; - - drm_crtc_init(dev, &qxl_crtc->base, &qxl_crtc_funcs); -- -+ qxl_crtc->index = crtc_id; - drm_mode_crtc_set_gamma_size(&qxl_crtc->base, 256); - drm_crtc_helper_add(&qxl_crtc->base, &qxl_crtc_helper_funcs); - return 0; -@@ -670,18 +646,13 @@ static void qxl_write_monitors_config_for_encoder(struct qxl_device *qdev, - struct drm_encoder *encoder) - { - int i; -+ struct qxl_output *output = drm_encoder_to_qxl_output(encoder); - struct qxl_head *head; - struct drm_display_mode *mode; - - BUG_ON(!encoder); - /* TODO: ugly, do better */ -- for (i = 0 ; (encoder->possible_crtcs != (1 << i)) && i < 32; ++i) -- ; -- if (encoder->possible_crtcs != (1 << i)) { -- DRM_ERROR("encoder has wrong possible_crtcs: %x\n", -- encoder->possible_crtcs); -- return; -- } -+ i = output->index; - if (!qdev->monitors_config || - qdev->monitors_config->max_allowed <= i) { - DRM_ERROR( -@@ -699,7 +670,6 @@ static void qxl_write_monitors_config_for_encoder(struct qxl_device *qdev, - DRM_DEBUG("missing for multiple monitors: no head holes\n"); - head = &qdev->monitors_config->heads[i]; - head->id = i; -- head->surface_id = 0; - if (encoder->crtc->enabled) { - mode = &encoder->crtc->mode; - head->width = mode->hdisplay; -@@ -714,8 +684,8 @@ static void qxl_write_monitors_config_for_encoder(struct qxl_device *qdev, - head->x = 0; - head->y = 0; - } -- DRM_DEBUG("setting head %d to +%d+%d %dx%d\n", -- i, head->x, head->y, head->width, head->height); -+ DRM_DEBUG_KMS("setting head %d to +%d+%d %dx%d out of %d\n", -+ i, head->x, head->y, head->width, head->height, qdev->monitors_config->count); - head->flags = 0; - /* TODO - somewhere else to call this for multiple monitors - * (config_commit?) */ -@@ -810,8 +780,9 @@ static enum drm_connector_status qxl_conn_detect( - - /* The first monitor is always connected */ - connected = (output->index == 0) || -- (qdev->monitors_config && -- qdev->monitors_config->count > output->index); -+ (qdev->client_monitors_config && -+ qdev->client_monitors_config->count > output->index && -+ qxl_head_enabled(&qdev->client_monitors_config->heads[output->index])); - - DRM_DEBUG("\n"); - return connected ? connector_status_connected -@@ -919,7 +890,7 @@ int qxl_modeset_init(struct qxl_device *qdev) - int i; - int ret; - struct drm_gem_object *gobj; -- int max_allowed = QXL_NUM_OUTPUTS; -+ int max_allowed = qxl_num_crtc; - int monitors_config_size = sizeof(struct qxl_monitors_config) + - max_allowed * sizeof(struct qxl_head); - -@@ -949,7 +920,7 @@ int qxl_modeset_init(struct qxl_device *qdev) - qdev->ddev->mode_config.max_height = 8192; - - qdev->ddev->mode_config.fb_base = qdev->vram_base; -- for (i = 0 ; i < QXL_NUM_OUTPUTS; ++i) { -+ for (i = 0 ; i < qxl_num_crtc; ++i) { - qdev_crtc_init(qdev->ddev, i); - qdev_output_init(qdev->ddev, i); - } -diff --git a/drivers/gpu/drm/qxl/qxl_drv.c b/drivers/gpu/drm/qxl/qxl_drv.c -index aa291d8..00e57b76 100644 ---- a/drivers/gpu/drm/qxl/qxl_drv.c -+++ b/drivers/gpu/drm/qxl/qxl_drv.c -@@ -47,10 +47,14 @@ static DEFINE_PCI_DEVICE_TABLE(pciidlist) = { - MODULE_DEVICE_TABLE(pci, pciidlist); - - static int qxl_modeset = -1; -+int qxl_num_crtc = 4; - - MODULE_PARM_DESC(modeset, "Disable/Enable modesetting"); - module_param_named(modeset, qxl_modeset, int, 0400); - -+MODULE_PARM_DESC(num_heads, "Number of virtual crtcs to expose (default 4)"); -+module_param_named(num_heads, qxl_num_crtc, int, 0400); -+ - static struct drm_driver qxl_driver; - static struct pci_driver qxl_pci_driver; - -diff --git a/drivers/gpu/drm/qxl/qxl_drv.h b/drivers/gpu/drm/qxl/qxl_drv.h -index 43d06ab..42ef0e2 100644 ---- a/drivers/gpu/drm/qxl/qxl_drv.h -+++ b/drivers/gpu/drm/qxl/qxl_drv.h -@@ -55,11 +55,10 @@ - #define DRIVER_MINOR 1 - #define DRIVER_PATCHLEVEL 0 - --#define QXL_NUM_OUTPUTS 1 -- - #define QXL_DEBUGFS_MAX_COMPONENTS 32 - - extern int qxl_log_level; -+extern int qxl_num_crtc; - - enum { - QXL_INFO_LEVEL = 1, -@@ -139,6 +138,7 @@ struct qxl_reloc_list { - - struct qxl_crtc { - struct drm_crtc base; -+ int index; - int cur_x; - int cur_y; - }; -@@ -156,7 +156,7 @@ struct qxl_framebuffer { - - #define to_qxl_crtc(x) container_of(x, struct qxl_crtc, base) - #define drm_connector_to_qxl_output(x) container_of(x, struct qxl_output, base) --#define drm_encoder_to_qxl_output(x) container_of(x, struct qxl_output, base) -+#define drm_encoder_to_qxl_output(x) container_of(x, struct qxl_output, enc) - #define to_qxl_framebuffer(x) container_of(x, struct qxl_framebuffer, base) - - struct qxl_mman { -@@ -435,7 +435,7 @@ void qxl_update_screen(struct qxl_device *qxl); - /* qxl io operations (qxl_cmd.c) */ - - void qxl_io_create_primary(struct qxl_device *qdev, -- unsigned width, unsigned height, unsigned offset, -+ unsigned offset, - struct qxl_bo *bo); - void qxl_io_destroy_primary(struct qxl_device *qdev); - void qxl_io_memslot_add(struct qxl_device *qdev, uint8_t id); -diff --git a/drivers/gpu/drm/qxl/qxl_fb.c b/drivers/gpu/drm/qxl/qxl_fb.c -index b3c5127..11ef7cb 100644 ---- a/drivers/gpu/drm/qxl/qxl_fb.c -+++ b/drivers/gpu/drm/qxl/qxl_fb.c -@@ -542,7 +542,7 @@ int qxl_fbdev_init(struct qxl_device *qdev) - qfbdev->helper.funcs = &qxl_fb_helper_funcs; - - ret = drm_fb_helper_init(qdev->ddev, &qfbdev->helper, -- 1 /* num_crtc - QXL supports just 1 */, -+ qxl_num_crtc /* num_crtc - QXL supports just 1 */, - QXLFB_CONN_LIMIT); - if (ret) { - kfree(qfbdev); -diff --git a/drivers/gpu/drm/qxl/qxl_ioctl.c b/drivers/gpu/drm/qxl/qxl_ioctl.c -index a4b71b2..6ba49d9 100644 ---- a/drivers/gpu/drm/qxl/qxl_ioctl.c -+++ b/drivers/gpu/drm/qxl/qxl_ioctl.c -@@ -183,6 +183,12 @@ static int qxl_execbuffer_ioctl(struct drm_device *dev, void *data, - /* TODO copy slow path code from i915 */ - fb_cmd = qxl_bo_kmap_atomic_page(qdev, cmd_bo, (release->release_offset & PAGE_SIZE)); - unwritten = __copy_from_user_inatomic_nocache(fb_cmd + sizeof(union qxl_release_info) + (release->release_offset & ~PAGE_SIZE), (void *)(unsigned long)user_cmd.command, user_cmd.command_size); -+ -+ { -+ struct qxl_drawable *draw = fb_cmd; -+ -+ draw->mm_time = qdev->rom->mm_clock; -+ } - qxl_bo_kunmap_atomic_page(qdev, cmd_bo, fb_cmd); - if (unwritten) { - DRM_ERROR("got unwritten %d\n", unwritten); --- -1.8.3.1 - diff --git a/drm-qxl-post-3.10-features-part-2.patch b/drm-qxl-post-3.10-features-part-2.patch deleted file mode 100644 index 3af9b1bb1..000000000 --- a/drm-qxl-post-3.10-features-part-2.patch +++ /dev/null @@ -1,483 +0,0 @@ -From db21a217f7de4f173aa0fb4c7a296cc9cffbd6bf Mon Sep 17 00:00:00 2001 -From: Dave Airlie -Date: Thu, 4 Jul 2013 14:46:46 +1000 -Subject: [PATCH] drm/qxl: post 3.10 features part 2 - -qxl: split monitors_config object creation out. -qxl: prepare memslot code for suspend/resume -qxl: add ring prep code for s/r -qxl: add fb and ttm entry points for use by suspend/resume. -qxl: add suspend/resume/hibernate support. -qxl: use drm helper hotplug support - -Signed-off-by: Dave Airlie ---- - drivers/gpu/drm/qxl/qxl_cmd.c | 9 ++- - drivers/gpu/drm/qxl/qxl_display.c | 58 +++++++++++++++-- - drivers/gpu/drm/qxl/qxl_drv.c | 134 +++++++++++++++++++++++++++++++++++--- - drivers/gpu/drm/qxl/qxl_drv.h | 10 +++ - drivers/gpu/drm/qxl/qxl_fb.c | 10 +++ - drivers/gpu/drm/qxl/qxl_kms.c | 24 +++++-- - drivers/gpu/drm/qxl/qxl_object.c | 10 +++ - 7 files changed, 236 insertions(+), 19 deletions(-) - -diff --git a/drivers/gpu/drm/qxl/qxl_cmd.c b/drivers/gpu/drm/qxl/qxl_cmd.c -index 0ec55e7..0ca2999 100644 ---- a/drivers/gpu/drm/qxl/qxl_cmd.c -+++ b/drivers/gpu/drm/qxl/qxl_cmd.c -@@ -49,6 +49,11 @@ void qxl_ring_free(struct qxl_ring *ring) - kfree(ring); - } - -+void qxl_ring_init_hdr(struct qxl_ring *ring) -+{ -+ ring->ring->header.notify_on_prod = ring->n_elements; -+} -+ - struct qxl_ring * - qxl_ring_create(struct qxl_ring_header *header, - int element_size, -@@ -69,7 +74,7 @@ qxl_ring_create(struct qxl_ring_header *header, - ring->prod_notify = prod_notify; - ring->push_event = push_event; - if (set_prod_notify) -- header->notify_on_prod = ring->n_elements; -+ qxl_ring_init_hdr(ring); - spin_lock_init(&ring->lock); - return ring; - } -@@ -87,7 +92,7 @@ static int qxl_check_header(struct qxl_ring *ring) - return ret; - } - --static int qxl_check_idle(struct qxl_ring *ring) -+int qxl_check_idle(struct qxl_ring *ring) - { - int ret; - struct qxl_ring_header *header = &(ring->ring->header); -diff --git a/drivers/gpu/drm/qxl/qxl_display.c b/drivers/gpu/drm/qxl/qxl_display.c -index a127a97..b03fe6d 100644 ---- a/drivers/gpu/drm/qxl/qxl_display.c -+++ b/drivers/gpu/drm/qxl/qxl_display.c -@@ -107,7 +107,7 @@ void qxl_display_read_client_monitors_config(struct qxl_device *qdev) - qxl_io_log(qdev, "failed crc check for client_monitors_config," - " retrying\n"); - } -- drm_sysfs_hotplug_event(qdev->ddev); -+ drm_helper_hpd_irq_event(qdev->ddev); - } - - static int qxl_add_monitors_config_modes(struct drm_connector *connector) -@@ -846,6 +846,8 @@ static int qdev_output_init(struct drm_device *dev, int num_output) - drm_encoder_init(dev, &qxl_output->enc, &qxl_enc_funcs, - DRM_MODE_ENCODER_VIRTUAL); - -+ /* we get HPD via client monitors config */ -+ connector->polled = DRM_CONNECTOR_POLL_HPD; - encoder->possible_crtcs = 1 << num_output; - drm_mode_connector_attach_encoder(&qxl_output->base, - &qxl_output->enc); -@@ -885,16 +887,14 @@ static const struct drm_mode_config_funcs qxl_mode_funcs = { - .fb_create = qxl_user_framebuffer_create, - }; - --int qxl_modeset_init(struct qxl_device *qdev) -+int qxl_create_monitors_object(struct qxl_device *qdev) - { -- int i; - int ret; - struct drm_gem_object *gobj; - int max_allowed = qxl_num_crtc; - int monitors_config_size = sizeof(struct qxl_monitors_config) + -- max_allowed * sizeof(struct qxl_head); -+ max_allowed * sizeof(struct qxl_head); - -- drm_mode_config_init(qdev->ddev); - ret = qxl_gem_object_create(qdev, monitors_config_size, 0, - QXL_GEM_DOMAIN_VRAM, - false, false, NULL, &gobj); -@@ -903,13 +903,59 @@ int qxl_modeset_init(struct qxl_device *qdev) - return -ENOMEM; - } - qdev->monitors_config_bo = gem_to_qxl_bo(gobj); -+ -+ ret = qxl_bo_reserve(qdev->monitors_config_bo, false); -+ if (ret) -+ return ret; -+ -+ ret = qxl_bo_pin(qdev->monitors_config_bo, QXL_GEM_DOMAIN_VRAM, NULL); -+ if (ret) { -+ qxl_bo_unreserve(qdev->monitors_config_bo); -+ return ret; -+ } -+ -+ qxl_bo_unreserve(qdev->monitors_config_bo); -+ - qxl_bo_kmap(qdev->monitors_config_bo, NULL); -+ - qdev->monitors_config = qdev->monitors_config_bo->kptr; - qdev->ram_header->monitors_config = - qxl_bo_physical_address(qdev, qdev->monitors_config_bo, 0); - - memset(qdev->monitors_config, 0, monitors_config_size); - qdev->monitors_config->max_allowed = max_allowed; -+ return 0; -+} -+ -+int qxl_destroy_monitors_object(struct qxl_device *qdev) -+{ -+ int ret; -+ -+ qdev->monitors_config = NULL; -+ qdev->ram_header->monitors_config = 0; -+ -+ qxl_bo_kunmap(qdev->monitors_config_bo); -+ ret = qxl_bo_reserve(qdev->monitors_config_bo, false); -+ if (ret) -+ return ret; -+ -+ qxl_bo_unpin(qdev->monitors_config_bo); -+ qxl_bo_unreserve(qdev->monitors_config_bo); -+ -+ qxl_bo_unref(&qdev->monitors_config_bo); -+ return 0; -+} -+ -+int qxl_modeset_init(struct qxl_device *qdev) -+{ -+ int i; -+ int ret; -+ -+ drm_mode_config_init(qdev->ddev); -+ -+ ret = qxl_create_monitors_object(qdev); -+ if (ret) -+ return ret; - - qdev->ddev->mode_config.funcs = (void *)&qxl_mode_funcs; - -@@ -937,6 +983,8 @@ int qxl_modeset_init(struct qxl_device *qdev) - void qxl_modeset_fini(struct qxl_device *qdev) - { - qxl_fbdev_fini(qdev); -+ -+ qxl_destroy_monitors_object(qdev); - if (qdev->mode_info.mode_config_initialized) { - drm_mode_config_cleanup(qdev->ddev); - qdev->mode_info.mode_config_initialized = false; -diff --git a/drivers/gpu/drm/qxl/qxl_drv.c b/drivers/gpu/drm/qxl/qxl_drv.c -index 00e57b76..df0b577 100644 ---- a/drivers/gpu/drm/qxl/qxl_drv.c -+++ b/drivers/gpu/drm/qxl/qxl_drv.c -@@ -33,8 +33,9 @@ - - #include "drmP.h" - #include "drm/drm.h" -- -+#include "drm_crtc_helper.h" - #include "qxl_drv.h" -+#include "qxl_object.h" - - extern int qxl_max_ioctls; - static DEFINE_PCI_DEVICE_TABLE(pciidlist) = { -@@ -77,13 +78,6 @@ qxl_pci_remove(struct pci_dev *pdev) - drm_put_dev(dev); - } - --static struct pci_driver qxl_pci_driver = { -- .name = DRIVER_NAME, -- .id_table = pciidlist, -- .probe = qxl_pci_probe, -- .remove = qxl_pci_remove, --}; -- - static const struct file_operations qxl_fops = { - .owner = THIS_MODULE, - .open = drm_open, -@@ -94,6 +88,130 @@ static const struct file_operations qxl_fops = { - .mmap = qxl_mmap, - }; - -+static int qxl_drm_freeze(struct drm_device *dev) -+{ -+ struct pci_dev *pdev = dev->pdev; -+ struct qxl_device *qdev = dev->dev_private; -+ struct drm_crtc *crtc; -+ -+ drm_kms_helper_poll_disable(dev); -+ -+ console_lock(); -+ qxl_fbdev_set_suspend(qdev, 1); -+ console_unlock(); -+ -+ /* unpin the front buffers */ -+ list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) { -+ struct drm_crtc_helper_funcs *crtc_funcs = crtc->helper_private; -+ if (crtc->enabled) -+ (*crtc_funcs->disable)(crtc); -+ } -+ -+ qxl_destroy_monitors_object(qdev); -+ qxl_surf_evict(qdev); -+ qxl_vram_evict(qdev); -+ -+ while (!qxl_check_idle(qdev->command_ring)); -+ while (!qxl_check_idle(qdev->release_ring)) -+ qxl_queue_garbage_collect(qdev, 1); -+ -+ pci_save_state(pdev); -+ -+ return 0; -+} -+ -+static int qxl_drm_resume(struct drm_device *dev, bool thaw) -+{ -+ struct qxl_device *qdev = dev->dev_private; -+ -+ qdev->ram_header->int_mask = QXL_INTERRUPT_MASK; -+ if (!thaw) { -+ qxl_reinit_memslots(qdev); -+ qxl_ring_init_hdr(qdev->release_ring); -+ } -+ -+ qxl_create_monitors_object(qdev); -+ drm_helper_resume_force_mode(dev); -+ -+ console_lock(); -+ qxl_fbdev_set_suspend(qdev, 0); -+ console_unlock(); -+ -+ drm_kms_helper_poll_enable(dev); -+ return 0; -+} -+ -+static int qxl_pm_suspend(struct device *dev) -+{ -+ struct pci_dev *pdev = to_pci_dev(dev); -+ struct drm_device *drm_dev = pci_get_drvdata(pdev); -+ int error; -+ -+ error = qxl_drm_freeze(drm_dev); -+ if (error) -+ return error; -+ -+ pci_disable_device(pdev); -+ pci_set_power_state(pdev, PCI_D3hot); -+ return 0; -+} -+ -+static int qxl_pm_resume(struct device *dev) -+{ -+ struct pci_dev *pdev = to_pci_dev(dev); -+ struct drm_device *drm_dev = pci_get_drvdata(pdev); -+ -+ pci_set_power_state(pdev, PCI_D0); -+ pci_restore_state(pdev); -+ if (pci_enable_device(pdev)) { -+ return -EIO; -+ } -+ -+ return qxl_drm_resume(drm_dev, false); -+} -+ -+static int qxl_pm_thaw(struct device *dev) -+{ -+ struct pci_dev *pdev = to_pci_dev(dev); -+ struct drm_device *drm_dev = pci_get_drvdata(pdev); -+ -+ return qxl_drm_resume(drm_dev, true); -+} -+ -+static int qxl_pm_freeze(struct device *dev) -+{ -+ struct pci_dev *pdev = to_pci_dev(dev); -+ struct drm_device *drm_dev = pci_get_drvdata(pdev); -+ -+ return qxl_drm_freeze(drm_dev); -+} -+ -+static int qxl_pm_restore(struct device *dev) -+{ -+ struct pci_dev *pdev = to_pci_dev(dev); -+ struct drm_device *drm_dev = pci_get_drvdata(pdev); -+ struct qxl_device *qdev = drm_dev->dev_private; -+ -+ qxl_io_reset(qdev); -+ return qxl_drm_resume(drm_dev, false); -+} -+ -+static const struct dev_pm_ops qxl_pm_ops = { -+ .suspend = qxl_pm_suspend, -+ .resume = qxl_pm_resume, -+ .freeze = qxl_pm_freeze, -+ .thaw = qxl_pm_thaw, -+ .poweroff = qxl_pm_freeze, -+ .restore = qxl_pm_restore, -+}; -+static struct pci_driver qxl_pci_driver = { -+ .name = DRIVER_NAME, -+ .id_table = pciidlist, -+ .probe = qxl_pci_probe, -+ .remove = qxl_pci_remove, -+ .driver.pm = &qxl_pm_ops, -+}; -+ - static struct drm_driver qxl_driver = { - .driver_features = DRIVER_GEM | DRIVER_MODESET | - DRIVER_HAVE_IRQ | DRIVER_IRQ_SHARED, -diff --git a/drivers/gpu/drm/qxl/qxl_drv.h b/drivers/gpu/drm/qxl/qxl_drv.h -index 42ef0e2..aacb791 100644 ---- a/drivers/gpu/drm/qxl/qxl_drv.h -+++ b/drivers/gpu/drm/qxl/qxl_drv.h -@@ -331,6 +331,10 @@ void qxl_modeset_fini(struct qxl_device *qdev); - int qxl_bo_init(struct qxl_device *qdev); - void qxl_bo_fini(struct qxl_device *qdev); - -+void qxl_reinit_memslots(struct qxl_device *qdev); -+int qxl_surf_evict(struct qxl_device *qdev); -+int qxl_vram_evict(struct qxl_device *qdev); -+ - struct qxl_ring *qxl_ring_create(struct qxl_ring_header *header, - int element_size, - int n_elements, -@@ -338,6 +342,8 @@ struct qxl_ring *qxl_ring_create(struct qxl_ring_header *header, - bool set_prod_notify, - wait_queue_head_t *push_event); - void qxl_ring_free(struct qxl_ring *ring); -+void qxl_ring_init_hdr(struct qxl_ring *ring); -+int qxl_check_idle(struct qxl_ring *ring); - - static inline void * - qxl_fb_virtual_address(struct qxl_device *qdev, unsigned long physical) -@@ -365,6 +371,7 @@ void qxl_fbdev_fini(struct qxl_device *qdev); - int qxl_get_handle_for_primary_fb(struct qxl_device *qdev, - struct drm_file *file_priv, - uint32_t *handle); -+void qxl_fbdev_set_suspend(struct qxl_device *qdev, int state); - - /* qxl_display.c */ - int -@@ -374,6 +381,8 @@ qxl_framebuffer_init(struct drm_device *dev, - struct drm_gem_object *obj); - void qxl_display_read_client_monitors_config(struct qxl_device *qdev); - void qxl_send_monitors_config(struct qxl_device *qdev); -+int qxl_create_monitors_object(struct qxl_device *qdev); -+int qxl_destroy_monitors_object(struct qxl_device *qdev); - - /* used by qxl_debugfs only */ - void qxl_crtc_set_from_monitors_config(struct qxl_device *qdev); -@@ -528,6 +537,7 @@ irqreturn_t qxl_irq_handler(DRM_IRQ_ARGS); - - /* qxl_fb.c */ - int qxl_fb_init(struct qxl_device *qdev); -+bool qxl_fbdev_qobj_is_fb(struct qxl_device *qdev, struct qxl_bo *qobj); - - int qxl_debugfs_add_files(struct qxl_device *qdev, - struct drm_info_list *files, -diff --git a/drivers/gpu/drm/qxl/qxl_fb.c b/drivers/gpu/drm/qxl/qxl_fb.c -index 11ef7cb..2c3970a 100644 ---- a/drivers/gpu/drm/qxl/qxl_fb.c -+++ b/drivers/gpu/drm/qxl/qxl_fb.c -@@ -564,4 +564,14 @@ void qxl_fbdev_fini(struct qxl_device *qdev) - qdev->mode_info.qfbdev = NULL; - } - -+void qxl_fbdev_set_suspend(struct qxl_device *qdev, int state) -+{ -+ fb_set_suspend(qdev->mode_info.qfbdev->helper.fbdev, state); -+} - -+bool qxl_fbdev_qobj_is_fb(struct qxl_device *qdev, struct qxl_bo *qobj) -+{ -+ if (qobj == gem_to_qxl_bo(qdev->mode_info.qfbdev->qfb.obj)) -+ return true; -+ return false; -+} -diff --git a/drivers/gpu/drm/qxl/qxl_kms.c b/drivers/gpu/drm/qxl/qxl_kms.c -index e27ce2a..9e8da9e 100644 ---- a/drivers/gpu/drm/qxl/qxl_kms.c -+++ b/drivers/gpu/drm/qxl/qxl_kms.c -@@ -26,6 +26,7 @@ - #include "qxl_drv.h" - #include "qxl_object.h" - -+#include - #include - - int qxl_log_level; -@@ -72,21 +73,28 @@ static bool qxl_check_device(struct qxl_device *qdev) - return true; - } - -+static void setup_hw_slot(struct qxl_device *qdev, int slot_index, -+ struct qxl_memslot *slot) -+{ -+ qdev->ram_header->mem_slot.mem_start = slot->start_phys_addr; -+ qdev->ram_header->mem_slot.mem_end = slot->end_phys_addr; -+ qxl_io_memslot_add(qdev, slot_index); -+} -+ - static uint8_t setup_slot(struct qxl_device *qdev, uint8_t slot_index_offset, - unsigned long start_phys_addr, unsigned long end_phys_addr) - { - uint64_t high_bits; - struct qxl_memslot *slot; - uint8_t slot_index; -- struct qxl_ram_header *ram_header = qdev->ram_header; - - slot_index = qdev->rom->slots_start + slot_index_offset; - slot = &qdev->mem_slots[slot_index]; - slot->start_phys_addr = start_phys_addr; - slot->end_phys_addr = end_phys_addr; -- ram_header->mem_slot.mem_start = slot->start_phys_addr; -- ram_header->mem_slot.mem_end = slot->end_phys_addr; -- qxl_io_memslot_add(qdev, slot_index); -+ -+ setup_hw_slot(qdev, slot_index, slot); -+ - slot->generation = qdev->rom->slot_generation; - high_bits = slot_index << qdev->slot_gen_bits; - high_bits |= slot->generation; -@@ -95,6 +103,12 @@ static uint8_t setup_slot(struct qxl_device *qdev, uint8_t slot_index_offset, - return slot_index; - } - -+void qxl_reinit_memslots(struct qxl_device *qdev) -+{ -+ setup_hw_slot(qdev, qdev->main_mem_slot, &qdev->mem_slots[qdev->main_mem_slot]); -+ setup_hw_slot(qdev, qdev->surfaces_mem_slot, &qdev->mem_slots[qdev->surfaces_mem_slot]); -+} -+ - static void qxl_gc_work(struct work_struct *work) - { - struct qxl_device *qdev = container_of(work, struct qxl_device, gc_work); -@@ -294,6 +308,8 @@ int qxl_driver_load(struct drm_device *dev, unsigned long flags) - goto out; - } - -+ drm_kms_helper_poll_init(qdev->ddev); -+ - return 0; - out: - kfree(qdev); -diff --git a/drivers/gpu/drm/qxl/qxl_object.c b/drivers/gpu/drm/qxl/qxl_object.c -index d9b12e7..1191fe7 100644 ---- a/drivers/gpu/drm/qxl/qxl_object.c -+++ b/drivers/gpu/drm/qxl/qxl_object.c -@@ -363,3 +363,13 @@ int qxl_bo_list_add(struct qxl_reloc_list *reloc_list, struct qxl_bo *bo) - return ret; - return 0; - } -+ -+int qxl_surf_evict(struct qxl_device *qdev) -+{ -+ return ttm_bo_evict_mm(&qdev->mman.bdev, TTM_PL_PRIV0); -+} -+ -+int qxl_vram_evict(struct qxl_device *qdev) -+{ -+ return ttm_bo_evict_mm(&qdev->mman.bdev, TTM_PL_VRAM); -+} --- -1.8.3.1 - diff --git a/intel_iommu-Downgrade-the-warning-if-enabling-irq-remapping-fails.patch b/intel_iommu-Downgrade-the-warning-if-enabling-irq-remapping-fails.patch deleted file mode 100644 index 424d60350..000000000 --- a/intel_iommu-Downgrade-the-warning-if-enabling-irq-remapping-fails.patch +++ /dev/null @@ -1,25 +0,0 @@ -This triggers on a MacBook Pro. - -Signed-off-by: Andy Lutomirski -https://bugzilla.redhat.com/show_bug.cgi?id=948262 ---- - drivers/iommu/intel_irq_remapping.c | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -diff --git a/drivers/iommu/intel_irq_remapping.c b/drivers/iommu/intel_irq_remapping.c -index f3b8f23..a7e0ad1 100644 ---- a/drivers/iommu/intel_irq_remapping.c -+++ b/drivers/iommu/intel_irq_remapping.c -@@ -654,8 +654,7 @@ error: - */ - - if (x2apic_present) -- WARN(1, KERN_WARNING -- "Failed to enable irq remapping. You are vulnerable to irq-injection attacks.\n"); -+ pr_warn("Failed to enable irq remapping. You are vulnerable to irq-injection attacks.\n"); - - return -1; - } --- -1.8.1.4 - diff --git a/ipv6-remove-max_addresses-check-from-ipv6_create_tempaddr.patch b/ipv6-remove-max_addresses-check-from-ipv6_create_tempaddr.patch deleted file mode 100644 index 0c4fc2484..000000000 --- a/ipv6-remove-max_addresses-check-from-ipv6_create_tempaddr.patch +++ /dev/null @@ -1,63 +0,0 @@ -From 2712c283acc085b5438fa1b22053423a0158468d Mon Sep 17 00:00:00 2001 -From: Hannes Frederic Sowa -Date: Fri, 16 Aug 2013 11:02:27 +0000 -Subject: [PATCH] ipv6: remove max_addresses check from ipv6_create_tempaddr - -Because of the max_addresses check attackers were able to disable privacy -extensions on an interface by creating enough autoconfigured addresses: - - - -But the check is not actually needed: max_addresses protects the -kernel to install too many ipv6 addresses on an interface and guards -addrconf_prefix_rcv to install further addresses as soon as this limit -is reached. We only generate temporary addresses in direct response of -a new address showing up. As soon as we filled up the maximum number of -addresses of an interface, we stop installing more addresses and thus -also stop generating more temp addresses. - -Even if the attacker tries to generate a lot of temporary addresses -by announcing a prefix and removing it again (lifetime == 0) we won't -install more temp addresses, because the temporary addresses do count -to the maximum number of addresses, thus we would stop installing new -autoconfigured addresses when the limit is reached. - -This patch fixes CVE-2013-0343 (but other layer-2 attacks are still -possible). - -Thanks to Ding Tianhong to bring this topic up again. - -Cc: Ding Tianhong -Cc: George Kargiotakis -Cc: P J P -Cc: YOSHIFUJI Hideaki -Signed-off-by: Hannes Frederic Sowa -Acked-by: Ding Tianhong -Signed-off-by: David S. Miller ---- - net/ipv6/addrconf.c | 8 +++----- - 1 file changed, 3 insertions(+), 5 deletions(-) - -diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c -index fb8c94c..21b7a87 100644 ---- a/net/ipv6/addrconf.c -+++ b/net/ipv6/addrconf.c -@@ -1124,12 +1124,10 @@ retry: - if (ifp->flags & IFA_F_OPTIMISTIC) - addr_flags |= IFA_F_OPTIMISTIC; - -- ift = !max_addresses || -- ipv6_count_addresses(idev) < max_addresses ? -- ipv6_add_addr(idev, &addr, tmp_plen, -+ ift = ipv6_add_addr(idev, &addr, tmp_plen, - ipv6_addr_type(&addr)&IPV6_ADDR_SCOPE_MASK, -- addr_flags) : NULL; -- if (IS_ERR_OR_NULL(ift)) { -+ addr_flags); -+ if (IS_ERR(ift)) { - in6_ifa_put(ifp); - in6_dev_put(idev); - pr_info("%s: retry temporary address regeneration\n", __func__); --- -1.8.3.1 - diff --git a/kernel.spec b/kernel.spec index 94ae83bba..aae273169 100644 --- a/kernel.spec +++ b/kernel.spec @@ -68,13 +68,13 @@ Summary: The Linux kernel # base_sublevel is the kernel version we're starting with and patching # on top of -- for example, 3.1-rc7-git1 starts with a 3.0 base, # which yields a base_sublevel of 0. -%define base_sublevel 10 +%define base_sublevel 11 ## If this is a released kernel ## %if 0%{?released_kernel} # Do we have a -stable update to apply? -%define stable_update 11 +%define stable_update 0 # Is it a -stable RC? %define stable_rc 0 # Set rpm version accordingly @@ -93,7 +93,7 @@ Summary: The Linux kernel # The next upstream release sublevel (base_sublevel+1) %define upstream_sublevel %(echo $((%{base_sublevel} + 1))) # The rc snapshot level -%define rcrev 8 +%define rcrev 0 # The git snapshot level %define gitrev 0 # Set rpm version accordingly @@ -475,7 +475,7 @@ Provides: kernel-tegra-uname-r = %{KVERREL}%{?1:.%{1}}\ Provides: kernel-omap\ Requires(pre): %{kernel_prereq}\ Requires(pre): %{initrd_prereq}\ -Requires(pre): linux-firmware >= 20120206-0.1.git06c8f81\ +Requires(pre): linux-firmware >= 20130724-29.git31f6b30\ Requires(post): /sbin/new-kernel-pkg\ Requires(preun): /sbin/new-kernel-pkg\ Conflicts: %{kernel_dot_org_conflicts}\ @@ -636,7 +636,6 @@ Patch100: taint-vbox.patch Patch110: vmbugon-warnon.patch Patch390: defaults-acpi-video.patch -Patch391: acpi-video-dos.patch Patch396: acpi-sony-nonvs-blacklist.patch Patch450: input-kill-stupid-messages.patch @@ -661,9 +660,6 @@ Patch1000: devel-pekey-secure-boot-20130502.patch # DRM #atch1700: drm-edid-try-harder-to-fix-up-broken-headers.patch #Patch1800: drm-vgem.patch -Patch1701: drm-hotspot-cursor-backport.patch -Patch1705: drm-qxl-post-3.10-feature-fixes.patch -Patch1706: drm-qxl-post-3.10-features-part-2.patch # nouveau + drm fixes # intel drm is all merged upstream Patch1824: drm-intel-next.patch @@ -727,49 +723,18 @@ Patch22001: selinux-apply-different-permission-to-ptrace-child.patch #rhbz 927469 Patch23006: fix-child-thread-introspection.patch -#rhbz 948262 -Patch25024: intel_iommu-Downgrade-the-warning-if-enabling-irq-remapping-fails.patch - #CVE-2013-2147 rhbz 971242 971249 Patch25032: cve-2013-2147-ciss-info-leak.patch -#rhbz 954252 -Patch25036: scsi-ipr-possible-irq-lock-inversion-dependency-detected.patch - -#rhbz 969644 -Patch25046: KVM-x86-handle-idiv-overflow-at-kvm_write_tsc.patch - Patch25047: drm-radeon-Disable-writeback-by-default-on-ppc.patch -#rhbz 903741 -Patch25052: HID-input-return-ENODATA-if-reading-battery-attrs-fails.patch - -#rhbz 880035 -Patch25053: bridge-only-expire-the-mdb-entry-when-query-is-received.patch -Patch25054: bridge-send-query-as-soon-as-leave-is-received.patch -#rhbz 980254 -Patch25061: bridge-timer-fix.patch -Patch25066: bridge-do-not-call-setup_timer-multiple-times.patch - #rhbz 977040 Patch25056: iwl3945-better-skb-management-in-rx-path.patch Patch25057: iwl4965-better-skb-management-in-rx-path.patch -#rhbz 959721 -Patch25063: HID-kye-Add-report-fixup-for-Genius-Gila-Gaming-mouse.patch - -#rhbz 969473 -Patch25070: Input-elantech-fix-for-newer-hardware-versions-v7.patch - -#rhbz 989138 -Patch25072: HID-Revert-Revert-HID-Fix-logitech-dj-missing-Unifying-device-issue.patch - #rhbz 963715 Patch25077: media-cx23885-Fix-TeVii-S471-regression-since-introduction-of-ts2020.patch -#CVE-2013-0343 rhbz 914664 999380 -Patch25078: ipv6-remove-max_addresses-check-from-ipv6_create_tempaddr.patch - #rhbz 1000679 Patch25079: rt2800-rearrange-bbp-rfcsr-initialization.patch @@ -1351,7 +1316,6 @@ ApplyPatch arm-tegra-usb-no-reset-linux33.patch # ACPI ApplyPatch defaults-acpi-video.patch -ApplyPatch acpi-video-dos.patch ApplyPatch acpi-sony-nonvs-blacklist.patch # @@ -1400,9 +1364,6 @@ ApplyPatch devel-pekey-secure-boot-20130502.patch # Assorted Virt Fixes # DRM core -ApplyPatch drm-hotspot-cursor-backport.patch -ApplyPatch drm-qxl-post-3.10-feature-fixes.patch -ApplyPatch drm-qxl-post-3.10-features-part-2.patch #ApplyPatch drm-edid-try-harder-to-fix-up-broken-headers.patch #ApplyPatch drm-vgem.patch @@ -1455,49 +1416,18 @@ ApplyPatch ath9k_rx_dma_stop_check.patch #rhbz 927469 ApplyPatch fix-child-thread-introspection.patch -#rhbz 948262 -ApplyPatch intel_iommu-Downgrade-the-warning-if-enabling-irq-remapping-fails.patch - #CVE-2013-2147 rhbz 971242 971249 ApplyPatch cve-2013-2147-ciss-info-leak.patch -#rhbz 954252 -ApplyPatch scsi-ipr-possible-irq-lock-inversion-dependency-detected.patch - -#rhbz 969644 -ApplyPatch KVM-x86-handle-idiv-overflow-at-kvm_write_tsc.patch - ApplyPatch drm-radeon-Disable-writeback-by-default-on-ppc.patch -#rhbz 903741 -ApplyPatch HID-input-return-ENODATA-if-reading-battery-attrs-fails.patch - -#rhbz 880035 -ApplyPatch bridge-only-expire-the-mdb-entry-when-query-is-received.patch -ApplyPatch bridge-send-query-as-soon-as-leave-is-received.patch -#rhbz 980254 -ApplyPatch bridge-timer-fix.patch -ApplyPatch bridge-do-not-call-setup_timer-multiple-times.patch - #rhbz 977040 ApplyPatch iwl3945-better-skb-management-in-rx-path.patch ApplyPatch iwl4965-better-skb-management-in-rx-path.patch -#rhbz 959721 -ApplyPatch HID-kye-Add-report-fixup-for-Genius-Gila-Gaming-mouse.patch - -#rhbz 969473 -ApplyPatch Input-elantech-fix-for-newer-hardware-versions-v7.patch - -#rhbz 989138 -ApplyPatch HID-Revert-Revert-HID-Fix-logitech-dj-missing-Unifying-device-issue.patch - #rhbz 963715 ApplyPatch media-cx23885-Fix-TeVii-S471-regression-since-introduction-of-ts2020.patch -#CVE-2013-0343 rhbz 914664 999380 -ApplyPatch ipv6-remove-max_addresses-check-from-ipv6_create_tempaddr.patch - #CVE-2013-2888 rhbz 1000451 1002543 CVE-2013-2889 rhbz 999890 1002548 #CVE-2013-2891 rhbz 999960 1002555 CVE-2013-2892 rhbz 1000429 1002570 #CVE-2013-2893 rhbz 1000414 1002575 CVE-2013-2894 rhbz 1000137 1002579 @@ -2320,6 +2250,9 @@ fi # and build. %changelog +* Wed Sep 11 2013 Justin M. Forbes +- Linux v3.11 rebase + * Mon Sep 09 2013 Josh Boyer 3.10.11-200 - Fix system freeze due to incorrect rt2800 initialization (rhbz 1000679) diff --git a/nowatchdog-on-virt.patch b/nowatchdog-on-virt.patch index b20642204..87ab11a0f 100644 --- a/nowatchdog-on-virt.patch +++ b/nowatchdog-on-virt.patch @@ -12,7 +12,7 @@ Just disable the detector on VMs. Signed-off-by: Dave Jones diff --git a/kernel/watchdog.c b/kernel/watchdog.c -index 05039e3..a28aab9 100644 +index 1241d8c..b2dc4e4 100644 --- a/kernel/watchdog.c +++ b/kernel/watchdog.c @@ -24,6 +24,7 @@ @@ -30,7 +30,7 @@ index 05039e3..a28aab9 100644 +static int disable_watchdog(const struct dmi_system_id *d) +{ + printk(KERN_INFO "watchdog: disabled (inside virtual machine)\n"); -+ watchdog_enabled = 0; ++ watchdog_user_enabled = 0; + return 0; +} + @@ -56,12 +56,12 @@ index 05039e3..a28aab9 100644 /* * Hard-lockup warnings should be triggered after just a few seconds. Soft- * lockups can have false positives under extreme conditions. So we generally -@@ -543,6 +570,8 @@ static struct smp_hotplug_thread watchdog_threads = { +@@ -551,6 +578,8 @@ int proc_dowatchdog(struct ctl_table *table, int write, void __init lockup_detector_init(void) { + dmi_check_system(watchdog_virt_dmi_table); + set_sample_period(); - if (smpboot_register_percpu_thread(&watchdog_threads)) { - pr_err("Failed to create watchdog threads, disabled\n"); + + #ifdef CONFIG_NO_HZ_FULL diff --git a/rt2800-rearrange-bbp-rfcsr-initialization.patch b/rt2800-rearrange-bbp-rfcsr-initialization.patch index c782fc5d4..5b1e27c23 100644 --- a/rt2800-rearrange-bbp-rfcsr-initialization.patch +++ b/rt2800-rearrange-bbp-rfcsr-initialization.patch @@ -1,18 +1,40 @@ +My commit + +commit c630ccf1a127578421a928489d51e99c05037054 +Author: Stanislaw Gruszka +Date: Sat Mar 16 19:19:46 2013 +0100 + + rt2800: rearrange bbp/rfcsr initialization + +make Maxim machine freeze when try to start wireless device. + +Initialization order and sending MCU_BOOT_SIGNAL request, changed in +above commit, is important. Doing things incorrectly make PCIe bus +problems, which can froze the machine. + +This patch change initialization sequence like vendor driver do: +function NICInitializeAsic() from +2011_1007_RT5390_RT5392_Linux_STA_V2.5.0.3_DPO (PCI devices) and +DPO_RT5572_LinuxSTA_2.6.1.3_20121022 (according Mediatek, latest driver +for RT8070/RT3070/RT3370/RT3572/RT5370/RT5372/RT5572 USB devices). +It fixes freezes on Maxim system. + +Resolve: +https://bugzilla.redhat.com/show_bug.cgi?id=1000679 + +Reported-and-tested-by: Maxim Polyakov +Bisected-by: Igor Gnatenko +Cc: stable@vger.kernel.org # 3.10+ +Signed-off-by: Stanislaw Gruszka +--- + drivers/net/wireless/rt2x00/rt2800lib.c | 11 ++++++----- + 1 file changed, 6 insertions(+), 5 deletions(-) + diff --git a/drivers/net/wireless/rt2x00/rt2800lib.c b/drivers/net/wireless/rt2x00/rt2800lib.c -index 7e66a90..6a70c27 100644 +index d217c9e..8f6820a 100644 --- a/drivers/net/wireless/rt2x00/rt2800lib.c +++ b/drivers/net/wireless/rt2x00/rt2800lib.c -@@ -4041,8 +4041,7 @@ static int rt2800_init_bbp(struct rt2x00_dev *rt2x00dev) - u8 reg_id; - u8 value; - -- if (unlikely(rt2800_wait_bbp_rf_ready(rt2x00dev) || -- rt2800_wait_bbp_ready(rt2x00dev))) -+ if (unlikely(rt2800_wait_bbp_ready(rt2x00dev))) - return -EACCES; - - if (rt2x00_rt(rt2x00dev, RT5592)) { -@@ -5185,15 +5184,17 @@ int rt2800_enable_radio(struct rt2x00_dev *rt2x00dev) +@@ -6631,19 +6631,20 @@ int rt2800_enable_radio(struct rt2x00_dev *rt2x00dev) rt2800_init_registers(rt2x00dev))) return -EIO; @@ -32,4 +54,16 @@ index 7e66a90..6a70c27 100644 + rt2800_mcu_request(rt2x00dev, MCU_BOOT_SIGNAL, 0, 0, 0); msleep(1); - if (unlikely(rt2800_init_bbp(rt2x00dev))) +- if (unlikely(rt2800_wait_bbp_rf_ready(rt2x00dev) || +- rt2800_wait_bbp_ready(rt2x00dev))) ++ if (unlikely(rt2800_wait_bbp_ready(rt2x00dev))) + return -EIO; + + rt2800_init_bbp(rt2x00dev); +-- +1.7.11.7 + +-- +To unsubscribe from this list: send the line "unsubscribe linux-wireless" in +the body of a message to majordomo@vger.kernel.org +More majordomo info at http://vger.kernel.org/majordomo-info.html \ No newline at end of file diff --git a/scsi-ipr-possible-irq-lock-inversion-dependency-detected.patch b/scsi-ipr-possible-irq-lock-inversion-dependency-detected.patch deleted file mode 100644 index d89b9f8e8..000000000 --- a/scsi-ipr-possible-irq-lock-inversion-dependency-detected.patch +++ /dev/null @@ -1,83 +0,0 @@ -When enable lockdep, seeing "possible irq lock inversion dependency detected" -error. This patch fixes the issue. - -Signed-off-by: Wen Xiong ---- - drivers/scsi/ipr.c | 17 +++++++++-------- - 1 file changed, 9 insertions(+), 8 deletions(-) - -Index: b/drivers/scsi/ipr.c -=================================================================== ---- a/drivers/scsi/ipr.c 2013-05-20 09:55:23.000000000 -0500 -+++ b/drivers/scsi/ipr.c 2013-05-20 10:00:34.548380858 -0500 -@@ -9408,7 +9408,7 @@ static int ipr_probe_ioa(struct pci_dev - void __iomem *ipr_regs; - int rc = PCIBIOS_SUCCESSFUL; - volatile u32 mask, uproc, interrupts; -- unsigned long lock_flags; -+ unsigned long lock_flags, driver_lock_flags; - - ENTER; - -@@ -9631,9 +9631,9 @@ static int ipr_probe_ioa(struct pci_dev - } else - ioa_cfg->reset = ipr_reset_start_bist; - -- spin_lock(&ipr_driver_lock); -+ spin_lock_irqsave(&ipr_driver_lock, driver_lock_flags); - list_add_tail(&ioa_cfg->queue, &ipr_ioa_head); -- spin_unlock(&ipr_driver_lock); -+ spin_unlock_irqrestore(&ipr_driver_lock, driver_lock_flags); - - LEAVE; - out: -@@ -9716,6 +9716,7 @@ static void __ipr_remove(struct pci_dev - unsigned long host_lock_flags = 0; - struct ipr_ioa_cfg *ioa_cfg = pci_get_drvdata(pdev); - int i; -+ unsigned long driver_lock_flags; - ENTER; - - spin_lock_irqsave(ioa_cfg->host->host_lock, host_lock_flags); -@@ -9739,9 +9740,9 @@ static void __ipr_remove(struct pci_dev - INIT_LIST_HEAD(&ioa_cfg->used_res_q); - spin_lock_irqsave(ioa_cfg->host->host_lock, host_lock_flags); - -- spin_lock(&ipr_driver_lock); -+ spin_lock_irqsave(&ipr_driver_lock, driver_lock_flags); - list_del(&ioa_cfg->queue); -- spin_unlock(&ipr_driver_lock); -+ spin_unlock_irqrestore(&ipr_driver_lock, driver_lock_flags); - - if (ioa_cfg->sdt_state == ABORT_DUMP) - ioa_cfg->sdt_state = WAIT_FOR_DUMP; -@@ -10007,12 +10008,12 @@ static int ipr_halt(struct notifier_bloc - { - struct ipr_cmnd *ipr_cmd; - struct ipr_ioa_cfg *ioa_cfg; -- unsigned long flags = 0; -+ unsigned long flags = 0, driver_lock_flags; - - if (event != SYS_RESTART && event != SYS_HALT && event != SYS_POWER_OFF) - return NOTIFY_DONE; - -- spin_lock(&ipr_driver_lock); -+ spin_lock_irqsave(&ipr_driver_lock, driver_lock_flags); - - list_for_each_entry(ioa_cfg, &ipr_ioa_head, queue) { - spin_lock_irqsave(ioa_cfg->host->host_lock, flags); -@@ -10030,7 +10031,7 @@ static int ipr_halt(struct notifier_bloc - ipr_do_req(ipr_cmd, ipr_halt_done, ipr_timeout, IPR_DEVICE_RESET_TIMEOUT); - spin_unlock_irqrestore(ioa_cfg->host->host_lock, flags); - } -- spin_unlock(&ipr_driver_lock); -+ spin_unlock_irqrestore(&ipr_driver_lock, driver_lock_flags); - - return NOTIFY_OK; - } - --- --- -To unsubscribe from this list: send the line "unsubscribe linux-scsi" in -the body of a message to majordomo@vger.kernel.org -More majordomo info at http://vger.kernel.org/majordomo-info.html \ No newline at end of file diff --git a/sources b/sources index fb3a8ac24..97f72c19a 100644 --- a/sources +++ b/sources @@ -1,2 +1 @@ -4f25cd5bec5f8d5a7d935b3f2ccb8481 linux-3.10.tar.xz -9aadf2325fed53e971fe59bc6c7c3b89 patch-3.10.11.xz +fea363551ff45fbe4cb88497b863b261 linux-3.11.tar.xz