rpms/kernel/devel drm-intel-next.patch, 1.1, 1.2 kernel.spec, 1.1279, 1.1280

Kristian Høgsberg krh at fedoraproject.org
Mon Feb 9 15:46:04 UTC 2009


Author: krh

Update of /cvs/pkgs/rpms/kernel/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv28849

Modified Files:
	drm-intel-next.patch kernel.spec 
Log Message:
* Mon Feb  9 2009 Kristian Høgsberg <krh at redhat.com>
- Pull in more fixes from drm-intel-next.


drm-intel-next.patch:

View full diff with command:
/usr/bin/cvs -f diff  -kk -u -N -r 1.1 -r 1.2 drm-intel-next.patch
Index: drm-intel-next.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/drm-intel-next.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- drm-intel-next.patch	3 Feb 2009 14:53:25 -0000	1.1
+++ drm-intel-next.patch	9 Feb 2009 15:45:33 -0000	1.2
@@ -1,8 +1,327 @@
+#!/bin/sh
+
+exec > +$$
+
+sed -e '/^commit /Q' < $0
+base=$(git merge-base HEAD linus/master)
+
+git log $base..HEAD
+echo
+git diff $base HEAD
+
+mv +$$ $0
+
+exit 0
+
+# Patches follow
+
+commit 9c408a5b39bdf17ddb6b1c8c76fd918007a64230
+Author: Jesse Barnes <jbarnes at virtuousgeek.org>
+Date:   Wed Feb 4 14:27:01 2009 -0800
+
+    drm: set_config fixes
+    
+    On Wednesday, February 4, 2009 1:24 pm Jesse Barnes wrote:
+    > Kristian pointed out some problems with the set_config code (switching
+    > CRTCs didn't work for one) so I took a look and found a couple of problems.
+    >  I'm still working on the CRTC switch issue, looks like the pipes don't get
+    > configured right if they're swapped, but this patch fixes some other bugs:
+    > - checks possible_crtcs in the CRTC assignment loop
+    >   - restores previous fb in case of mode set failure
+    >   - checks to make sure a connector has an encoder before restoring its
+    > crtc - adds a few more debug statements for finding out why a modeset is
+    > occurring
+    >
+    > Any thoughts on this?
+    
+    Here's an updated one that will disable unused/re-routed encoders at mode set
+    time.  Should fix Kristian's bug.
+    
+    --
+    Jesse Barnes, Intel Open Source Technology Center
+
+commit 323505925ddf763b4a839f44fb24838fc08a639f
+Author: Kristian Høgsberg <krh at redhat.com>
+Date:   Tue Feb 3 15:07:02 2009 -0500
+
+    Restore kernelfb mode for all crtcs.
+    
+    Record and restore the kernel framebuffer for all crtc on panic
+    and lastclose.
+    
+    Signed-off-by: Kristian Høgsberg <krh at redhat.com>
+
+commit 9ac37e9d74785997abdd344866b648dd213aae04
+Author: Chris Wilson <chris at chris-wilson.co.uk>
+Date:   Wed Feb 4 14:15:10 2009 +0000
+
+    drm/i915: Unlock mutex on i915_gem_fault() error path
+    
+    If we failed to allocate a new fence register we would return
+    VM_FAULT_SIGBUS without relinquishing the lock.
+    
+    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
+    Signed-off-by: Eric Anholt <eric at anholt.net>
+
+commit b389fc443443504133eceea2ddbdf76e7ffa984b
+Author: Eric Anholt <eric at anholt.net>
+Date:   Tue Feb 3 12:10:21 2009 -0800
+
+    drm/i915: Quiet the message on get/setparam ioctl with an unknown value.
+    
+    Getting an unknown get/setparam used to be more significant back when they
+    didn't change much.  However, now that we're in the git world we're using
+    them instead of a monotonic version number to signal feature availability,
+    so clients ask about unknown params on older kernels more often.
+    
+    Signed-off-by: Eric Anholt <eric at anholt.net>
+
+commit 97dd93c127cf7b9111021692cb9f9bea90a0e27d
+Author: Paul Collins <paul at burly.ondioline.org>
+Date:   Wed Feb 4 23:05:41 2009 +1300
+
+    drm/i915: skip LVDS initialization on Apple Mac Mini
+    
+    The Apple Mac Mini falsely reports LVDS.  Use DMI to check whether we
+    are running on a Mac Mini, and skip LVDS initialization if that proves
+    to be the case.
+    
+    Signed-off-by: Paul Collins <paul at ondioline.org>
+    Signed-off-by: Eric Anholt <eric at anholt.net>
+
+commit 1ef1df8f7005b3f83133483e9418a8f7e3398e0e
+Author: Jesse Barnes <jbarnes at virtuousgeek.org>
+Date:   Mon Feb 2 15:11:52 2009 -0800
+
+    drm/i915: sync SDVO code with stable userland modesetting driver
+    
+    Pull in an update from the 2D driver (hopefully the last one, future work
+    should be done here and pulled back into xf86-video-intel as needed).
+    
+    Signed-off-by: Jesse Barnes <jbarnes at virtuousgeek.org>
+    Signed-off-by: Eric Anholt <eric at anholt.net>
+
+commit 3816120bf8c411aff71b0e3023a56b56b129beab
+Author: Chris Wilson <chris at chris-wilson.co.uk>
+Date:   Fri Jan 30 21:10:22 2009 +0000
+
+    drm/i915: Unref the object after failing to set tiling mode.
+    
+    Cleanup the object reference on the error paths.
+    
+    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
+    Signed-off-by: Eric Anholt <eric at anholt.net>
+
+commit 25085cd0a13678664cc1764eecc01612fa9cc1ea
+Author: Jesse Barnes <jbarnes at virtuousgeek.org>
+Date:   Mon Jan 26 17:10:45 2009 -0800
+
+    drm/i915: add fence register management to execbuf
+    
+    Adds code to set up fence registers at execbuf time on pre-965 chips as
+    necessary.  Also fixes up a few bugs in the pre-965 tile register support
+    (get_order != ffs).  The number of fences available to the kernel defaults
+    to the hw limit minus 3 (for legacy X front/back/depth), but a new parameter
+    allows userspace to override that as needed.
+    
+    Signed-off-by: Jesse Barnes <jbarnes at virtuousgeek.org>
+    Signed-off-by: Eric Anholt <eric at anholt.net>
+
+commit 17edf961e82572818f15da3e93a6b73c7a7efde7
+Author: Eric Anholt <eric at anholt.net>
+Date:   Tue Jan 27 10:33:49 2009 -0800
+
+    drm/i915: Return error from i915_gem_object_get_fence_reg() when failing.
+    
+    Previously, the caller would continue along without knowing that the
+    function failed, resulting in potential mis-rendering.  Right now vm_fault
+    just returns SIGBUS in that case, and we may need to disable signal handling
+    to avoid that happening.
+    
+    Signed-off-by: Eric Anholt <eric at anholt.net>
+
+commit 5cb87d8fd402d84b83dc24dfa43e373690c3c66c
+Author: Eric Anholt <eric at anholt.net>
+Date:   Fri Jan 23 12:57:47 2009 -0800
+
+    drm/i915: Set up an MTRR covering the GTT at driver load.
+    
+    We'd love to just be using PAT, but even on chips with PAT it gets disabled
+    sometimes due to an errata.  It would probably be better to have pat_enabled
+    exported and only bother with this when !pat_enabled.
+    
+    Signed-off-by: Eric Anholt <eric at anholt.net>
+
+commit 0c7cfd3b9c67afb575fef6c9989f2dcb1ea4fdf8
+Author: Eric Anholt <eric at anholt.net>
+Date:   Thu Jan 22 13:01:02 2009 -0800
+
+    drm/i915: Skip SDVO/HDMI init when the chipset tells us it's not present.
+    
+    This saves startup time from probing SDVO, and saves setting up HDMI outputs
+    on G4X devices that don't have them.
+
+commit f0299ef4ff77278599a1eaf78179f4c8b5c10820
+Author: Eric Anholt <eric at anholt.net>
+Date:   Thu Jan 22 09:56:58 2009 -0800
+
+    drm/i915: Suppress GEM teardown on X Server exit in KMS mode.
+    
+    Fixes hangs when starting X for the second time.
+    
+    Signed-off-by: Eric Anholt <eric at anholt.net>
+
+diff --git a/drivers/gpu/drm/drm_crtc_helper.c b/drivers/gpu/drm/drm_crtc_helper.c
+index 964c5eb..40c60de 100644
+--- a/drivers/gpu/drm/drm_crtc_helper.c
++++ b/drivers/gpu/drm/drm_crtc_helper.c
+@@ -452,6 +452,59 @@ static void drm_setup_crtcs(struct drm_device *dev)
+ 	kfree(modes);
+ 	kfree(enabled);
+ }
++
++/**
++ * drm_encoder_crtc_ok - can a given crtc drive a given encoder?
++ * @encoder: encoder to test
++ * @crtc: crtc to test
++ *
++ * Return false if @encoder can't be driven by @crtc, true otherwise.
++ */
++static bool drm_encoder_crtc_ok(struct drm_encoder *encoder,
++				struct drm_crtc *crtc)
[...1864 lines suppressed...]
++    u8 t1;
++    u8 t2;
++    u8 t3;
++    u8 t4;
++
++    unsigned int t0_high:2;
++    unsigned int t1_high:2;
++    unsigned int t2_high:2;
++    unsigned int t3_high:2;
++
++    unsigned int t4_high:2;
++    unsigned int pad:6;
++} __attribute__((packed));
++
++#define SDVO_CMD_GET_MAX_BACKLIGHT_LEVEL		0x30
++struct sdvo_max_backlight_reply {
++    u8 max_value;
++    u8 default_value;
++} __attribute__((packed));
++
++#define SDVO_CMD_GET_BACKLIGHT_LEVEL			0x31
++#define SDVO_CMD_SET_BACKLIGHT_LEVEL			0x32
++
++#define SDVO_CMD_GET_AMBIENT_LIGHT			0x33
++struct sdvo_get_ambient_light_reply {
++    u16 trip_low;
++    u16 trip_high;
++    u16 value;
++} __attribute__((packed));
++#define SDVO_CMD_SET_AMBIENT_LIGHT			0x34
++struct sdvo_set_ambient_light_reply {
++    u16 trip_low;
++    u16 trip_high;
++    unsigned int enable:1;
++    unsigned int pad:7;
++} __attribute__((packed));
++
++/* Set display power state */
++#define SDVO_CMD_SET_DISPLAY_POWER_STATE		0x7d
++# define SDVO_DISPLAY_STATE_ON				(1 << 0)
++# define SDVO_DISPLAY_STATE_STANDBY			(1 << 1)
++# define SDVO_DISPLAY_STATE_SUSPEND			(1 << 2)
++# define SDVO_DISPLAY_STATE_OFF				(1 << 3)
++
++#define SDVO_CMD_GET_SUPPORTED_ENHANCEMENTS		0x84
++struct intel_sdvo_enhancements_reply {
++    unsigned int flicker_filter:1;
++    unsigned int flicker_filter_adaptive:1;
++    unsigned int flicker_filter_2d:1;
++    unsigned int saturation:1;
++    unsigned int hue:1;
++    unsigned int brightness:1;
++    unsigned int contrast:1;
++    unsigned int overscan_h:1;
++
++    unsigned int overscan_v:1;
++    unsigned int position_h:1;
++    unsigned int position_v:1;
++    unsigned int sharpness:1;
++    unsigned int dot_crawl:1;
++    unsigned int dither:1;
++    unsigned int max_tv_chroma_filter:1;
++    unsigned int max_tv_luma_filter:1;
++} __attribute__((packed));
++
++/* Picture enhancement limits below are dependent on the current TV format,
++ * and thus need to be queried and set after it.
++ */
++#define SDVO_CMD_GET_MAX_FLICKER_FITER			0x4d
++#define SDVO_CMD_GET_MAX_ADAPTIVE_FLICKER_FITER		0x7b
++#define SDVO_CMD_GET_MAX_2D_FLICKER_FITER		0x52
++#define SDVO_CMD_GET_MAX_SATURATION			0x55
++#define SDVO_CMD_GET_MAX_HUE				0x58
++#define SDVO_CMD_GET_MAX_BRIGHTNESS			0x5b
++#define SDVO_CMD_GET_MAX_CONTRAST			0x5e
++#define SDVO_CMD_GET_MAX_OVERSCAN_H			0x61
++#define SDVO_CMD_GET_MAX_OVERSCAN_V			0x64
++#define SDVO_CMD_GET_MAX_POSITION_H			0x67
++#define SDVO_CMD_GET_MAX_POSITION_V			0x6a
++#define SDVO_CMD_GET_MAX_SHARPNESS_V			0x6d
++#define SDVO_CMD_GET_MAX_TV_CHROMA			0x74
++#define SDVO_CMD_GET_MAX_TV_LUMA			0x77
++struct intel_sdvo_enhancement_limits_reply {
++    u16 max_value;
++    u16 default_value;
++} __attribute__((packed));
+ 
+-#define SDVO_CMD_SET_TV_RESOLUTION_SUPPORT		0x93
++#define SDVO_CMD_GET_LVDS_PANEL_INFORMATION		0x7f
++#define SDVO_CMD_SET_LVDS_PANEL_INFORMATION		0x80
++# define SDVO_LVDS_COLOR_DEPTH_18			(0 << 0)
++# define SDVO_LVDS_COLOR_DEPTH_24			(1 << 0)
++# define SDVO_LVDS_CONNECTOR_SPWG			(0 << 2)
++# define SDVO_LVDS_CONNECTOR_OPENLDI			(1 << 2)
++# define SDVO_LVDS_SINGLE_CHANNEL			(0 << 4)
++# define SDVO_LVDS_DUAL_CHANNEL				(1 << 4)
++
++#define SDVO_CMD_GET_FLICKER_FILTER			0x4e
++#define SDVO_CMD_SET_FLICKER_FILTER			0x4f
++#define SDVO_CMD_GET_ADAPTIVE_FLICKER_FITER		0x50
++#define SDVO_CMD_SET_ADAPTIVE_FLICKER_FITER		0x51
++#define SDVO_CMD_GET_2D_FLICKER_FITER			0x53
++#define SDVO_CMD_SET_2D_FLICKER_FITER			0x54
++#define SDVO_CMD_GET_SATURATION				0x56
++#define SDVO_CMD_SET_SATURATION				0x57
++#define SDVO_CMD_GET_HUE				0x59
++#define SDVO_CMD_SET_HUE				0x5a
++#define SDVO_CMD_GET_BRIGHTNESS				0x5c
++#define SDVO_CMD_SET_BRIGHTNESS				0x5d
++#define SDVO_CMD_GET_CONTRAST				0x5f
++#define SDVO_CMD_SET_CONTRAST				0x60
++#define SDVO_CMD_GET_OVERSCAN_H				0x62
++#define SDVO_CMD_SET_OVERSCAN_H				0x63
++#define SDVO_CMD_GET_OVERSCAN_V				0x65
++#define SDVO_CMD_SET_OVERSCAN_V				0x66
++#define SDVO_CMD_GET_POSITION_H				0x68
++#define SDVO_CMD_SET_POSITION_H				0x69
++#define SDVO_CMD_GET_POSITION_V				0x6b
++#define SDVO_CMD_SET_POSITION_V				0x6c
++#define SDVO_CMD_GET_SHARPNESS				0x6e
++#define SDVO_CMD_SET_SHARPNESS				0x6f
++#define SDVO_CMD_GET_TV_CHROMA				0x75
++#define SDVO_CMD_SET_TV_CHROMA				0x76
++#define SDVO_CMD_GET_TV_LUMA				0x78
++#define SDVO_CMD_SET_TV_LUMA				0x79
++struct intel_sdvo_enhancements_arg {
++    u16 value;
++}__attribute__((packed));
++
++#define SDVO_CMD_GET_DOT_CRAWL				0x70
++#define SDVO_CMD_SET_DOT_CRAWL				0x71
++# define SDVO_DOT_CRAWL_ON					(1 << 0)
++# define SDVO_DOT_CRAWL_DEFAULT_ON				(1 << 1)
++
++#define SDVO_CMD_GET_DITHER				0x72
++#define SDVO_CMD_SET_DITHER				0x73
++# define SDVO_DITHER_ON						(1 << 0)
++# define SDVO_DITHER_DEFAULT_ON					(1 << 1)
+ 
+ #define SDVO_CMD_SET_CONTROL_BUS_SWITCH			0x7a
+-# define SDVO_CONTROL_BUS_PROM				0x0
+-# define SDVO_CONTROL_BUS_DDC1				0x1
+-# define SDVO_CONTROL_BUS_DDC2				0x2
+-# define SDVO_CONTROL_BUS_DDC3				0x3
++# define SDVO_CONTROL_BUS_PROM				(1 << 0)
++# define SDVO_CONTROL_BUS_DDC1				(1 << 1)
++# define SDVO_CONTROL_BUS_DDC2				(1 << 2)
++# define SDVO_CONTROL_BUS_DDC3				(1 << 3)
++
++/* HDMI op codes */
++#define SDVO_CMD_GET_SUPP_ENCODE	0x9d
++#define SDVO_CMD_GET_ENCODE		0x9e
++#define SDVO_CMD_SET_ENCODE		0x9f
++  #define SDVO_ENCODE_DVI	0x0
++  #define SDVO_ENCODE_HDMI	0x1
++#define SDVO_CMD_SET_PIXEL_REPLI	0x8b
++#define SDVO_CMD_GET_PIXEL_REPLI	0x8c
++#define SDVO_CMD_GET_COLORIMETRY_CAP	0x8d
++#define SDVO_CMD_SET_COLORIMETRY	0x8e
++  #define SDVO_COLORIMETRY_RGB256   0x0
++  #define SDVO_COLORIMETRY_RGB220   0x1
++  #define SDVO_COLORIMETRY_YCrCb422 0x3
++  #define SDVO_COLORIMETRY_YCrCb444 0x4
++#define SDVO_CMD_GET_COLORIMETRY	0x8f
++#define SDVO_CMD_GET_AUDIO_ENCRYPT_PREFER 0x90
++#define SDVO_CMD_SET_AUDIO_STAT		0x91
++#define SDVO_CMD_GET_AUDIO_STAT		0x92
++#define SDVO_CMD_SET_HBUF_INDEX		0x93
++#define SDVO_CMD_GET_HBUF_INDEX		0x94
++#define SDVO_CMD_GET_HBUF_INFO		0x95
++#define SDVO_CMD_SET_HBUF_AV_SPLIT	0x96
++#define SDVO_CMD_GET_HBUF_AV_SPLIT	0x97
++#define SDVO_CMD_SET_HBUF_DATA		0x98
++#define SDVO_CMD_GET_HBUF_DATA		0x99
++#define SDVO_CMD_SET_HBUF_TXRATE	0x9a
++#define SDVO_CMD_GET_HBUF_TXRATE	0x9b
++  #define SDVO_HBUF_TX_DISABLED	(0 << 6)
++  #define SDVO_HBUF_TX_ONCE	(2 << 6)
++  #define SDVO_HBUF_TX_VSYNC	(3 << 6)
++#define SDVO_CMD_GET_AUDIO_TX_INFO	0x9c
++
++struct intel_sdvo_encode{
++    u8 dvi_rev;
++    u8 hdmi_rev;
++} __attribute__ ((packed));
+diff --git a/include/drm/drm_crtc_helper.h b/include/drm/drm_crtc_helper.h
+index 0c6f0e1..28ff3ee 100644
+--- a/include/drm/drm_crtc_helper.h
++++ b/include/drm/drm_crtc_helper.h
+@@ -76,6 +76,7 @@ struct drm_encoder_helper_funcs {
+ 	void (*mode_set)(struct drm_encoder *encoder,
+ 			 struct drm_display_mode *mode,
+ 			 struct drm_display_mode *adjusted_mode);
++	struct drm_crtc *(*get_crtc)(struct drm_encoder *encoder);
+ 	/* detect for DAC style encoders */
+ 	enum drm_connector_status (*detect)(struct drm_encoder *encoder,
+ 					    struct drm_connector *connector);
 diff --git a/include/drm/i915_drm.h b/include/drm/i915_drm.h
 index b3bcf72..912cd52 100644
 --- a/include/drm/i915_drm.h


Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/kernel.spec,v
retrieving revision 1.1279
retrieving revision 1.1280
diff -u -r1.1279 -r1.1280
--- kernel.spec	9 Feb 2009 04:45:32 -0000	1.1279
+++ kernel.spec	9 Feb 2009 15:45:33 -0000	1.1280
@@ -1751,6 +1751,9 @@
 %kernel_variant_files -k vmlinux %{with_kdump} kdump
 
 %changelog
+* Mon Feb  9 2009 Kristian Høgsberg <krh at redhat.com>
+- Pull in more fixes from drm-intel-next.
+
 * Sun Feb 08 2009 Kyle McMartin <kyle at redhat.com>
 - drm-no-gem-on-i8xx.patch: disable GEM on i8xx series graphics cards, patch
   was lost at some point during the rebasing. :/




More information about the fedora-extras-commits mailing list