Linux 3.2-rc6
This commit is contained in:
parent
e7b5dbf08a
commit
799841bbdd
@ -1,83 +0,0 @@
|
||||
From 64015d6d16d7ed5b6ffcec95dc13e8694bd2a4d6 Mon Sep 17 00:00:00 2001
|
||||
From: Chris Wilson <chris@chris-wilson.co.uk>
|
||||
Date: Mon, 20 Jun 2011 22:35:24 +0100
|
||||
Subject: [PATCH] drm/i915/sdvo: Include LVDS panels for the IS_DIGITAL check
|
||||
|
||||
We were checking whether the supplied edid matched the connector it was
|
||||
read from. We do this in case a DDC read returns an EDID for another
|
||||
device on a multifunction or otherwise interesting card. However, we
|
||||
failed to include LVDS as a digital device and so rejecting an otherwise
|
||||
valid EDID.
|
||||
|
||||
Fixes the detection of the secondary SDVO LVDS panel on the Libretto
|
||||
W105.
|
||||
|
||||
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
||||
---
|
||||
drivers/gpu/drm/i915/intel_sdvo.c | 28 ++++++++++++++++++++--------
|
||||
1 files changed, 20 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/drivers/gpu/drm/i915/intel_sdvo.c b/drivers/gpu/drm/i915/intel_sdvo.c
|
||||
index f96975c..26eff9f 100644
|
||||
--- a/drivers/gpu/drm/i915/intel_sdvo.c
|
||||
+++ b/drivers/gpu/drm/i915/intel_sdvo.c
|
||||
@@ -49,6 +49,7 @@
|
||||
#define IS_TMDS(c) (c->output_flag & SDVO_TMDS_MASK)
|
||||
#define IS_LVDS(c) (c->output_flag & SDVO_LVDS_MASK)
|
||||
#define IS_TV_OR_LVDS(c) (c->output_flag & (SDVO_TV_MASK | SDVO_LVDS_MASK))
|
||||
+#define IS_DIGITAL(c) (c->output_flag & (SDVO_TMDS_MASK | SDVO_LVDS_MASK))
|
||||
|
||||
|
||||
static const char *tv_format_names[] = {
|
||||
@@ -1363,6 +1364,18 @@ intel_sdvo_hdmi_sink_detect(struct drm_connector *connector)
|
||||
return status;
|
||||
}
|
||||
|
||||
+static bool
|
||||
+intel_sdvo_connector_matches_edid(struct intel_sdvo_connector *sdvo,
|
||||
+ struct edid *edid)
|
||||
+{
|
||||
+ bool monitor_is_digital = !!(edid->input & DRM_EDID_INPUT_DIGITAL);
|
||||
+ bool connector_is_digital = !!IS_DIGITAL(sdvo);
|
||||
+
|
||||
+ DRM_DEBUG_KMS("connector_is_digital? %d, monitor_is_digital? %d\n",
|
||||
+ connector_is_digital, monitor_is_digital);
|
||||
+ return connector_is_digital == monitor_is_digital;
|
||||
+}
|
||||
+
|
||||
static enum drm_connector_status
|
||||
intel_sdvo_detect(struct drm_connector *connector, bool force)
|
||||
{
|
||||
@@ -1407,10 +1420,12 @@ intel_sdvo_detect(struct drm_connector *connector, bool force)
|
||||
if (edid == NULL)
|
||||
edid = intel_sdvo_get_analog_edid(connector);
|
||||
if (edid != NULL) {
|
||||
- if (edid->input & DRM_EDID_INPUT_DIGITAL)
|
||||
- ret = connector_status_disconnected;
|
||||
- else
|
||||
+ if (intel_sdvo_connector_matches_edid(intel_sdvo_connector,
|
||||
+ edid))
|
||||
ret = connector_status_connected;
|
||||
+ else
|
||||
+ ret = connector_status_disconnected;
|
||||
+
|
||||
connector->display_info.raw_edid = NULL;
|
||||
kfree(edid);
|
||||
} else
|
||||
@@ -1451,11 +1466,8 @@ static void intel_sdvo_get_ddc_modes(struct drm_connector *connector)
|
||||
edid = intel_sdvo_get_analog_edid(connector);
|
||||
|
||||
if (edid != NULL) {
|
||||
- struct intel_sdvo_connector *intel_sdvo_connector = to_intel_sdvo_connector(connector);
|
||||
- bool monitor_is_digital = !!(edid->input & DRM_EDID_INPUT_DIGITAL);
|
||||
- bool connector_is_digital = !!IS_TMDS(intel_sdvo_connector);
|
||||
-
|
||||
- if (connector_is_digital == monitor_is_digital) {
|
||||
+ if (intel_sdvo_connector_matches_edid(to_intel_sdvo_connector(connector),
|
||||
+ edid)) {
|
||||
drm_mode_connector_update_edid_property(connector, edid);
|
||||
drm_add_edid_modes(connector, edid);
|
||||
}
|
||||
--
|
||||
1.7.5.4
|
||||
|
10
kernel.spec
10
kernel.spec
@ -85,9 +85,9 @@ 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 5
|
||||
%define rcrev 6
|
||||
# The git snapshot level
|
||||
%define gitrev 4
|
||||
%define gitrev 0
|
||||
# Set rpm version accordingly
|
||||
%define rpmversion 3.%{upstream_sublevel}.0
|
||||
%endif
|
||||
@ -681,8 +681,6 @@ Patch1700: drm-edid-try-harder-to-fix-up-broken-headers.patch
|
||||
# nouveau + drm fixes
|
||||
# intel drm is all merged upstream
|
||||
Patch1824: drm-intel-next.patch
|
||||
# rhbz#729882, https://bugs.freedesktop.org/attachment.cgi?id=49069
|
||||
Patch1826: drm-i915-sdvo-lvds-is-digital.patch
|
||||
|
||||
Patch1900: linux-2.6-intel-iommu-igfx.patch
|
||||
|
||||
@ -1368,7 +1366,6 @@ ApplyPatch drm-edid-try-harder-to-fix-up-broken-headers.patch
|
||||
|
||||
# Intel DRM
|
||||
ApplyOptionalPatch drm-intel-next.patch
|
||||
ApplyPatch drm-i915-sdvo-lvds-is-digital.patch
|
||||
|
||||
ApplyPatch linux-2.6-intel-iommu-igfx.patch
|
||||
|
||||
@ -2233,6 +2230,9 @@ fi
|
||||
# ||----w |
|
||||
# || ||
|
||||
%changelog
|
||||
* Sat Dec 17 2011 Josh Boyer <jwboyer@redhat.com> - 3.2.0-0.rc6.git0.1
|
||||
- Linux 3.2-rc6
|
||||
|
||||
* Fri Dec 16 2011 Dave Jones <davej@redhat.com> - 3.2.0-0.rc5.git4.1
|
||||
- Linux 3.2-rc5-git4 (6f12d2ee52dcf97dcefdadbd500e7650311eaa6a)
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From e13491e4c394907ffdd834aeccca279213818079 Mon Sep 17 00:00:00 2001
|
||||
From 602e1f209dd983e40d989e871cd253e8187899b8 Mon Sep 17 00:00:00 2001
|
||||
From: drago01 <drago01@gmail.com>
|
||||
Date: Wed, 26 Oct 2011 13:37:27 -0400
|
||||
Subject: [PATCH] Default to igfx_off
|
||||
@ -21,10 +21,10 @@ Reviewed-by: Adam Jackson <ajax@redhat.com>
|
||||
2 files changed, 10 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
|
||||
index a8ba119..8ddc43a 100644
|
||||
index 81c287f..ee5693b 100644
|
||||
--- a/Documentation/kernel-parameters.txt
|
||||
+++ b/Documentation/kernel-parameters.txt
|
||||
@@ -998,12 +998,11 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
|
||||
@@ -1014,12 +1014,11 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
|
||||
Enable intel iommu driver.
|
||||
off
|
||||
Disable intel iommu driver.
|
||||
@ -43,12 +43,12 @@ index a8ba119..8ddc43a 100644
|
||||
With this option iommu will not optimize to look
|
||||
for io virtual address below 32-bit forcing dual
|
||||
diff --git a/drivers/iommu/intel-iommu.c b/drivers/iommu/intel-iommu.c
|
||||
index be1953c..2e23af1 100644
|
||||
index bdc447f..240db6b 100644
|
||||
--- a/drivers/iommu/intel-iommu.c
|
||||
+++ b/drivers/iommu/intel-iommu.c
|
||||
@@ -404,7 +404,8 @@ int dmar_disabled = 0;
|
||||
int dmar_disabled = 1;
|
||||
#endif /*CONFIG_INTEL_IOMMU_DEFAULT_ON*/
|
||||
@@ -408,7 +408,8 @@ int dmar_disabled = 1;
|
||||
int intel_iommu_enabled = 0;
|
||||
EXPORT_SYMBOL_GPL(intel_iommu_enabled);
|
||||
|
||||
-static int dmar_map_gfx = 1;
|
||||
+/* disabled by default; causes way too many issues */
|
||||
@ -56,7 +56,7 @@ index be1953c..2e23af1 100644
|
||||
static int dmar_forcedac;
|
||||
static int intel_iommu_strict;
|
||||
static int intel_iommu_superpage = 1;
|
||||
@@ -429,10 +430,10 @@ static int __init intel_iommu_setup(char *str)
|
||||
@@ -433,10 +434,10 @@ static int __init intel_iommu_setup(char *str)
|
||||
} else if (!strncmp(str, "off", 3)) {
|
||||
dmar_disabled = 1;
|
||||
printk(KERN_INFO "Intel-IOMMU: disabled\n");
|
||||
@ -71,5 +71,5 @@ index be1953c..2e23af1 100644
|
||||
printk(KERN_INFO
|
||||
"Intel-IOMMU: Forcing DAC for PCI devices\n");
|
||||
--
|
||||
1.7.6.4
|
||||
1.7.7.4
|
||||
|
||||
|
3
sources
3
sources
@ -1,4 +1,3 @@
|
||||
8d43453f8159b2332ad410b19d86a931 linux-3.1.tar.bz2
|
||||
83560f29ec67cb44535c5d66d6cf9606 patch-3.2-rc5.xz
|
||||
020a0ea456f0f061bf8d7c52c3670421 patch-3.2-rc6.xz
|
||||
5360f273d6b9e930675bf48f9aad33f7 compat-wireless-2011-12-01.tar.bz2
|
||||
e870c2d57d892783c3929ac66ed7250c patch-3.2-rc5-git4.xz
|
||||
|
Loading…
Reference in New Issue
Block a user