Linux v3.11 rebase
This commit is contained in:
parent
2716cfff50
commit
02005b979f
36 changed files with 549 additions and 2517 deletions
|
|
@ -1,172 +0,0 @@
|
|||
From c63e0e370028d7e4033bd40165f18499872b5183 Mon Sep 17 00:00:00 2001
|
||||
From: Nestor Lopez Casado <nlopezcasad@logitech.com>
|
||||
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 <nlopezcasad@logitech.com>
|
||||
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
|
||||
---
|
||||
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
|
||||
|
|
@ -1,55 +0,0 @@
|
|||
From d0a934b764c67b4bf626f5b7cf725a6e3066afd2 Mon Sep 17 00:00:00 2001
|
||||
From: David Herrmann <dh.herrmann@gmail.com>
|
||||
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 <jkosina@suse.cz>
|
||||
Cc: Anton Vorontsov <cbou@mail.ru>
|
||||
Cc: David Woodhouse <dwmw2@infradead.org>
|
||||
Reported-by: Daniel Nicoletti <dantti12@gmail.com>
|
||||
Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
|
||||
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
|
||||
---
|
||||
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
|
||||
|
|
@ -1,98 +0,0 @@
|
|||
From 3685c18e17f12438d0a83331c1b6a5b00fade7a1 Mon Sep 17 00:00:00 2001
|
||||
From: Benjamin Tissoires <benjamin.tissoires@redhat.com>
|
||||
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 <benjamin.tissoires@redhat.com>
|
||||
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
|
||||
---
|
||||
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
|
||||
|
|
@ -1,70 +0,0 @@
|
|||
From 9eebed7de660c0b5ab129a9de4f89d20b60de68c Mon Sep 17 00:00:00 2001
|
||||
From: Matteo Delfino <kendatsuba@gmail.com>
|
||||
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 <gio.frigione@gmail.com>
|
||||
Signed-off-by: Matteo Delfino <kendatsuba@gmail.com>
|
||||
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
|
||||
---
|
||||
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
|
||||
|
||||
|
|
@ -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 */
|
||||
|
||||
|
|
@ -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)
|
||||
|
|
@ -1,50 +0,0 @@
|
|||
From 1faabf2aab1fdaa1ace4e8c829d1b9cf7bfec2f1 Mon Sep 17 00:00:00 2001
|
||||
From: Eric Dumazet <edumazet@google.com>
|
||||
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 <srivatsa.bhat@linux.vnet.ibm.com>
|
||||
Diagnosed-by: Thomas Gleixner <tglx@linutronix.de>
|
||||
Signed-off-by: Eric Dumazet <edumazet@google.com>
|
||||
Tested-by: Srivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com>
|
||||
Cc: Cong Wang <amwang@redhat.com>
|
||||
Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
---
|
||||
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
|
||||
|
|
@ -1,159 +0,0 @@
|
|||
From 9f00b2e7cf241fa389733d41b615efdaa2cb0f5b Mon Sep 17 00:00:00 2001
|
||||
From: Cong Wang <amwang@redhat.com>
|
||||
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 <herbert@gondor.apana.org.au>
|
||||
Cc: Stephen Hemminger <stephen@networkplumber.org>
|
||||
Cc: "David S. Miller" <davem@davemloft.net>
|
||||
Cc: Adam Baker <linux@baker-net.org.uk>
|
||||
Signed-off-by: Cong Wang <amwang@redhat.com>
|
||||
Acked-by: Herbert Xu <herbert@gondor.apana.org.au>
|
||||
Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
---
|
||||
(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
|
||||
|
|
@ -1,57 +0,0 @@
|
|||
From 6b7df111ece130fa979a0c4f58e53674c1e47d3e Mon Sep 17 00:00:00 2001
|
||||
From: Cong Wang <amwang@redhat.com>
|
||||
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 <herbert@gondor.apana.org.au>
|
||||
Cc: Stephen Hemminger <stephen@networkplumber.org>
|
||||
Cc: "David S. Miller" <davem@davemloft.net>
|
||||
Cc: Adam Baker <linux@baker-net.org.uk>
|
||||
Signed-off-by: Cong Wang <amwang@redhat.com>
|
||||
Acked-by: Herbert Xu <herbert@gondor.apana.org.au>
|
||||
Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
---
|
||||
(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
|
||||
|
|
@ -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);
|
||||
|
||||
|
|
@ -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
|
||||
|
|
|
|||
209
config-armv7
209
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
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
12
config-debug
12
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
|
||||
|
||||
|
|
|
|||
209
config-generic
209
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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
CONFIG_SMP=y
|
||||
# CONFIG_HOTPLUG_CPU is not set
|
||||
CONFIG_NR_CPUS=4
|
||||
# CONFIG_BATTERY_PMU is not set
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
25
config-s390x
25
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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -1,164 +0,0 @@
|
|||
From f2a2b3496b6024a5df546f0aedd60705b896a464 Mon Sep 17 00:00:00 2001
|
||||
From: Dave Airlie <airlied@redhat.com>
|
||||
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 <daniel.vetter@ffwll.ch>
|
||||
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
||||
---
|
||||
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
|
||||
|
||||
|
|
@ -1,517 +0,0 @@
|
|||
From cd402bae4566410f38780e1ce94248b92c3403c0 Mon Sep 17 00:00:00 2001
|
||||
From: Dave Airlie <airlied@redhat.com>
|
||||
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
|
||||
|
||||
|
|
@ -1,483 +0,0 @@
|
|||
From db21a217f7de4f173aa0fb4c7a296cc9cffbd6bf Mon Sep 17 00:00:00 2001
|
||||
From: Dave Airlie <airlied@redhat.com>
|
||||
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 <airlied@redhat.com>
|
||||
---
|
||||
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 <drm/drm_crtc_helper.h>
|
||||
#include <linux/io-mapping.h>
|
||||
|
||||
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
|
||||
|
||||
|
|
@ -1,25 +0,0 @@
|
|||
This triggers on a MacBook Pro.
|
||||
|
||||
Signed-off-by: Andy Lutomirski <luto@amacapital.net>
|
||||
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
|
||||
|
||||
|
|
@ -1,63 +0,0 @@
|
|||
From 2712c283acc085b5438fa1b22053423a0158468d Mon Sep 17 00:00:00 2001
|
||||
From: Hannes Frederic Sowa <hannes@stressinduktion.org>
|
||||
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:
|
||||
|
||||
<http://seclists.org/oss-sec/2012/q4/292>
|
||||
|
||||
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 <dingtianhong@huawei.com>
|
||||
Cc: George Kargiotakis <kargig@void.gr>
|
||||
Cc: P J P <ppandit@redhat.com>
|
||||
Cc: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
|
||||
Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
|
||||
Acked-by: Ding Tianhong <dingtianhong@huawei.com>
|
||||
Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
---
|
||||
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
|
||||
|
||||
81
kernel.spec
81
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 <jforbes@fedoraproject.org>
|
||||
- Linux v3.11 rebase
|
||||
|
||||
* Mon Sep 09 2013 Josh Boyer <jwboyer@fedoraproject.org> 3.10.11-200
|
||||
- Fix system freeze due to incorrect rt2800 initialization (rhbz 1000679)
|
||||
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ Just disable the detector on VMs.
|
|||
Signed-off-by: Dave Jones <davej@redhat.com>
|
||||
|
||||
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
|
||||
|
|
|
|||
|
|
@ -1,18 +1,40 @@
|
|||
My commit
|
||||
|
||||
commit c630ccf1a127578421a928489d51e99c05037054
|
||||
Author: Stanislaw Gruszka <stf_xl@wp.pl>
|
||||
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 <polyakov@dexmalabs.com>
|
||||
Bisected-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
|
||||
Cc: stable@vger.kernel.org # 3.10+
|
||||
Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
|
||||
---
|
||||
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
|
||||
|
|
@ -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 <wenxiong@linux.vnet.ibm.com>
|
||||
---
|
||||
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
|
||||
3
sources
3
sources
|
|
@ -1,2 +1 @@
|
|||
4f25cd5bec5f8d5a7d935b3f2ccb8481 linux-3.10.tar.xz
|
||||
9aadf2325fed53e971fe59bc6c7c3b89 patch-3.10.11.xz
|
||||
fea363551ff45fbe4cb88497b863b261 linux-3.11.tar.xz
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue