From: Dave A. <ai...@li...> - 2008-12-29 08:32:23
|
Hi Linus, Please pull the 'drm-next' branch from ssh://master.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6.git drm-next Major highlights: Kernel Modesetting (KMS) core code (jbarnes you can go to drinking island now) Intel i915 support for kernel modesetting multi-master split out for allow multiple X servers use DRI if driver supports it. for anyone interested in kms: a) don't enable it by default unless you have a userspace to run on top of it, if you really want X to work, really kms is for developers at the moment, and later for distros to enable. b) there isn't a stable userspace to run on top of it yet. I might have to temporarily handoff drm maintainer job to jbarnes or anholt for the rest of this cycle, as today is the due date for my first kid, needless to say no sign yet, I actually thought the baby would arrive before kms got merged :) Dave. drivers/gpu/drm/Kconfig | 17 + drivers/gpu/drm/Makefile | 3 +- drivers/gpu/drm/drm_auth.c | 29 +- drivers/gpu/drm/drm_bufs.c | 27 +- drivers/gpu/drm/drm_context.c | 10 +- drivers/gpu/drm/drm_crtc.c | 2446 ++++++++++++++++++++++++++++++++ drivers/gpu/drm/drm_crtc_helper.c | 826 +++++++++++ drivers/gpu/drm/drm_drv.c | 95 +- drivers/gpu/drm/drm_edid.c | 732 ++++++++++ drivers/gpu/drm/drm_fops.c | 223 ++-- drivers/gpu/drm/drm_gem.c | 111 ++ drivers/gpu/drm/drm_hashtab.c | 2 + drivers/gpu/drm/drm_ioctl.c | 61 +- drivers/gpu/drm/drm_irq.c | 73 +- drivers/gpu/drm/drm_lock.c | 42 +- drivers/gpu/drm/drm_mm.c | 1 + drivers/gpu/drm/drm_modes.c | 576 ++++++++ drivers/gpu/drm/drm_proc.c | 71 +- drivers/gpu/drm/drm_stub.c | 142 ++- drivers/gpu/drm/drm_sysfs.c | 329 +++++- drivers/gpu/drm/drm_vm.c | 7 +- drivers/gpu/drm/i915/Makefile | 17 +- drivers/gpu/drm/i915/dvo.h | 157 ++ drivers/gpu/drm/i915/dvo_ch7017.c | 454 ++++++ drivers/gpu/drm/i915/dvo_ch7xxx.c | 368 +++++ drivers/gpu/drm/i915/dvo_ivch.c | 442 ++++++ drivers/gpu/drm/i915/dvo_sil164.c | 302 ++++ drivers/gpu/drm/i915/dvo_tfp410.c | 335 +++++ drivers/gpu/drm/i915/i915_dma.c | 338 ++++- drivers/gpu/drm/i915/i915_drv.c | 42 +- drivers/gpu/drm/i915/i915_drv.h | 93 ++- drivers/gpu/drm/i915/i915_gem.c | 628 ++++++++- drivers/gpu/drm/i915/i915_gem_proc.c | 34 + drivers/gpu/drm/i915/i915_gem_tiling.c | 1 + drivers/gpu/drm/i915/i915_irq.c | 51 +- drivers/gpu/drm/i915/i915_mem.c | 3 +- drivers/gpu/drm/i915/i915_opregion.c | 4 +- drivers/gpu/drm/i915/i915_reg.h | 20 +- drivers/gpu/drm/i915/intel_bios.c | 193 +++ drivers/gpu/drm/i915/intel_bios.h | 405 ++++++ drivers/gpu/drm/i915/intel_crt.c | 284 ++++ drivers/gpu/drm/i915/intel_display.c | 1618 +++++++++++++++++++++ drivers/gpu/drm/i915/intel_drv.h | 146 ++ drivers/gpu/drm/i915/intel_dvo.c | 495 +++++++ drivers/gpu/drm/i915/intel_fb.c | 925 ++++++++++++ drivers/gpu/drm/i915/intel_i2c.c | 184 +++ drivers/gpu/drm/i915/intel_lvds.c | 525 +++++++ drivers/gpu/drm/i915/intel_modes.c | 83 ++ drivers/gpu/drm/i915/intel_sdvo.c | 1128 +++++++++++++++ drivers/gpu/drm/i915/intel_sdvo_regs.h | 327 +++++ drivers/gpu/drm/i915/intel_tv.c | 1725 ++++++++++++++++++++++ drivers/gpu/drm/radeon/r300_cmdbuf.c | 11 +- drivers/gpu/drm/radeon/radeon_cp.c | 73 +- drivers/gpu/drm/radeon/radeon_drv.c | 2 + drivers/gpu/drm/radeon/radeon_drv.h | 14 +- drivers/gpu/drm/radeon/radeon_state.c | 166 ++- drivers/video/console/vgacon.c | 17 + include/drm/Kbuild | 2 +- include/drm/drm.h | 24 + include/drm/drmP.h | 108 ++- include/drm/drm_crtc.h | 733 ++++++++++ include/drm/drm_crtc_helper.h | 124 ++ include/drm/drm_edid.h | 202 +++ include/drm/drm_mode.h | 271 ++++ include/drm/drm_sarea.h | 6 +- include/drm/i915_drm.h | 41 +- include/linux/console.h | 4 + 67 files changed, 18476 insertions(+), 472 deletions(-) create mode 100644 drivers/gpu/drm/drm_crtc.c create mode 100644 drivers/gpu/drm/drm_crtc_helper.c create mode 100644 drivers/gpu/drm/drm_edid.c create mode 100644 drivers/gpu/drm/drm_modes.c create mode 100644 drivers/gpu/drm/i915/dvo.h create mode 100644 drivers/gpu/drm/i915/dvo_ch7017.c create mode 100644 drivers/gpu/drm/i915/dvo_ch7xxx.c create mode 100644 drivers/gpu/drm/i915/dvo_ivch.c create mode 100644 drivers/gpu/drm/i915/dvo_sil164.c create mode 100644 drivers/gpu/drm/i915/dvo_tfp410.c create mode 100644 drivers/gpu/drm/i915/intel_bios.c create mode 100644 drivers/gpu/drm/i915/intel_bios.h create mode 100644 drivers/gpu/drm/i915/intel_crt.c create mode 100644 drivers/gpu/drm/i915/intel_display.c create mode 100644 drivers/gpu/drm/i915/intel_drv.h create mode 100644 drivers/gpu/drm/i915/intel_dvo.c create mode 100644 drivers/gpu/drm/i915/intel_fb.c create mode 100644 drivers/gpu/drm/i915/intel_i2c.c create mode 100644 drivers/gpu/drm/i915/intel_lvds.c create mode 100644 drivers/gpu/drm/i915/intel_modes.c create mode 100644 drivers/gpu/drm/i915/intel_sdvo.c create mode 100644 drivers/gpu/drm/i915/intel_sdvo_regs.h create mode 100644 drivers/gpu/drm/i915/intel_tv.c create mode 100644 include/drm/drm_crtc.h create mode 100644 include/drm/drm_crtc_helper.h create mode 100644 include/drm/drm_edid.h create mode 100644 include/drm/drm_mode.h commit aa5966296675a5092505f68d72563d5939a92353 Author: Dave Airlie <ai...@li...> Date: Mon Dec 29 16:35:02 2008 +1000 drm/i915: fix modeset devname allocation + agp init return check. devname needs to be allocated before the irq is installed, so the irq routines get the correct name in /proc. Also check the return value from the AGP init function, and fixup the exit points. Signed-off-by: Dave Airlie <ai...@re...> commit aad87dff5acb232666932e750318ec1fdb716e79 Author: Julia Lawall <ju...@di...> Date: Sun Dec 21 16:28:47 2008 +0100 drm/i915: Remove redundant test in error path. The error path for object list being null is in the second goto target. Signed-off-by: Julia Lawall <ju...@di...> Signed-off-by: Eric Anholt <er...@an...> Signed-off-by: Dave Airlie <ai...@li...> commit fede5c91c4a8a7701d205b2b84b9835ddc7d6f02 Author: Eric Anholt <er...@an...> Date: Fri Dec 19 17:23:38 2008 -0800 drm: Add a debug node for vblank state. Signed-off-by: Eric Anholt <er...@an...> Signed-off-by: Dave Airlie <ai...@li...> commit f51c5b6e623cc737d47f513cbb893cec914f0bd2 Author: Eric Anholt <er...@an...> Date: Fri Dec 19 15:07:11 2008 -0800 drm: Avoid use-before-null-test on dev in drm_cleanup(). Signed-off-by: Eric Anholt <er...@an...> Signed-off-by: Dave Airlie <ai...@li...> commit f1acec933848219c402c165686677b1c307407f8 Author: Eric Anholt <er...@an...> Date: Fri Dec 19 14:47:48 2008 -0800 drm/i915: Don't print to dmesg when taking signal during object_pin. This showed up in logs where people had a hung chip, so pinning was blocked on the chip unpinning other buffers, and the X Server took its scheduler signal during that time. Signed-off-by: Eric Anholt <er...@an...> Signed-off-by: Dave Airlie <ai...@li...> commit 3c4fdcfb2941dc36b6a16bc509a2adb97c131716 Author: Kristian Høgsberg <kr...@re...> Date: Wed Dec 17 22:14:46 2008 -0500 drm: pin new and unpin old buffer when setting a mode. This removes the requirement for user space to pin a buffer before setting a mode that is backed by the pixels from that buffer. Signed-off-by: Kristian Høgsberg <kr...@re...> Signed-off-by: Eric Anholt <er...@an...> Signed-off-by: Dave Airlie <ai...@li...> commit d1e22c6ed05f3bfb3a7de0947498e7f3c868b296 Author: Hannes Eder <ha...@ha...> Date: Fri Dec 19 12:34:27 2008 +0100 drm/i915: un-EXPORT and make 'intelfb_panic' static Fix this sparse warning: drivers/gpu/drm/i915/intel_fb.c:417:5: warning: symbol 'intelfb_panic' was not declared. Should it be static? Signed-off-by: Hannes Eder <ha...@ha...> Signed-off-by: Eric Anholt <er...@an...> Signed-off-by: Dave Airlie <ai...@li...> commit bae7ec657305def791a946f5d791054c48a5f081 Author: Eric Anholt <er...@an...> Date: Fri Dec 19 14:30:31 2008 -0800 drm/i915: Delete unused, pointless i915_driver_firstopen. Thanks to Hannes Eder for pointing out that this code was dead according to sparse. Signed-off-by: Eric Anholt <er...@an...> Signed-off-by: Dave Airlie <ai...@li...> commit d4da3af667d251cc853d1873a1fad4db6daabf5f Author: Hannes Eder <ha...@ha...> Date: Thu Dec 18 21:24:18 2008 +0100 drm/i915: fix sparse warnings: returning void-valued expression Signed-off-by: Hannes Eder <ha...@ha...> Signed-off-by: Eric Anholt <er...@an...> Signed-off-by: Dave Airlie <ai...@li...> commit 606df4e024bc8e921dd516cdb7160250658d9b7a Author: Hannes Eder <ha...@ha...> Date: Thu Dec 18 21:22:24 2008 +0100 drm/i915: fix sparse warnings: move 'extern' decls to header file Move 'extern'-decls from "intel_dvo.c" to "dvo.h", as "dvo.h" is included by and only by files where the symbols are either defined or used. Signed-off-by: Hannes Eder <ha...@ha...> Signed-off-by: Eric Anholt <er...@an...> Signed-off-by: Dave Airlie <ai...@li...> commit b358d0a6252d8ed16afb20caaec35b24c76074bb Author: Hannes Eder <ha...@ha...> Date: Thu Dec 18 21:18:47 2008 +0100 drm/i915: fix sparse warnings: make symbols static Signed-off-by: Hannes Eder <ha...@ha...> Signed-off-by: Eric Anholt <er...@an...> Signed-off-by: Dave Airlie <ai...@li...> commit 95281e352e19b670458563a5ca746195c183a98f Author: Hannes Eder <ha...@ha...> Date: Thu Dec 18 15:09:00 2008 +0100 drm/i915: fix sparse warnings: declare one-bit bitfield as unsigned Signed-off-by: Hannes Eder <ha...@ha...> Signed-off-by: Eric Anholt <er...@an...> Acked-by: Jesse Barnes <jb...@vi...> Signed-off-by: Dave Airlie <ai...@li...> commit b117763627ef4d24086801dd5f74c9eb2f487790 Author: Eric Anholt <er...@an...> Date: Wed Dec 10 10:09:41 2008 -0800 drm/i915: Don't double-unpin buffers if we take a signal in evict_everything(). We haven't seen this in practice, but it was visible when looking at a bug report from when i915_gem_evict_everything() was broken and would always return error. Signed-off-by: Eric Anholt <er...@an...> Signed-off-by: Dave Airlie <ai...@li...> commit e7da40f0c89c10ad3cbb63b754abaf6c3e792f79 Author: Eric Anholt <er...@an...> Date: Wed Dec 10 17:23:00 2008 -0800 drm/i915: Fix fbcon setup to align display pitch to 64b. This is required by the display plane, and fixes 1400x1050 laptop displays. Signed-off-by: Eric Anholt <er...@an...> Signed-off-by: Dave Airlie <ai...@re...> commit 8d391aa410ecb230fc4c3147b94eec25b9f3c20f Author: Eric Anholt <er...@an...> Date: Wed Dec 17 22:32:14 2008 -0800 drm/i915: Add missing userland definitions for gem init/execbuffer. fdo bug #19132. Signed-off-by: Eric Anholt <er...@an...> Signed-off-by: Dave Airlie <ai...@re...> commit dfef24592257805af0bee42dced099459c68a307 Author: Dave Airlie <ai...@re...> Date: Fri Dec 19 15:07:46 2008 +1000 i915/drm: provide compat defines for userspace for certain struct members. Painfully userspace started using new names that were never actually to be used from the external repo. Also fill out the gaps in the structure for old/new userspace compat Add compat defines for these structs. Signed-off-by: Dave Airlie <ai...@re...> commit 0c7c26647579e9e647e8b969bb0e7b3f5f1a1492 Author: Kristian H?gsberg <kr...@re...> Date: Thu Dec 18 13:14:37 2008 +1000 drm: drop DRM_IOCTL_MODE_REPLACEFB, add+remove works just as well. The replace fb ioctl replaces the backing buffer object for a modesetting framebuffer object. This can be acheived by just creating a new framebuffer backed by the new buffer object, setting that for the crtcs in question and then removing the old framebuffer object. Signed-off-by: Kristian Hogsberg <kr...@re...> Acked-by: Jakob Bornecrantz <ja...@vm...> Signed-off-by: Dave Airlie <ai...@re...> commit e0c8463a8b00b467611607df0ff369d062528875 Author: Jakob Bornecrantz <ja...@tu...> Date: Fri Dec 19 14:50:50 2008 +1000 drm: sanitise drm modesetting API + remove unused hotplug The initially merged modesetting API has some uglies in it, this cleans up the struct members and ioctl ordering for initial submission. It also removes the unneeded hotplug infrastructure. airlied:- I've pulled this patch in from git modesetting-gem tree. Signed-off-by: Dave Airlie <ai...@re...> commit df989374a9f5356ee815baa1ba6916671a701da2 Author: Dave Airlie <ai...@re...> Date: Fri Dec 19 12:00:46 2008 +1100 drm: fix allowing master ioctls on non-master fds. The multi-master patches changed master to a pointer, and this fell out, change to use is_master. Signed-off-by: Dave Airlie <ai...@re...> commit 4e74f36d08e83390121d088f1f62e3337603df89 Author: Dave Airlie <ai...@re...> Date: Fri Dec 19 10:23:14 2008 +1100 drm/radeon: use locked rmmap to remove sarea mapping. this exports the locked version of the symbol as struct_mutex locks it all. Signed-off-by: Dave Airlie <ai...@re...> commit 60f2ee0b4a6b852299d8e30aeb2af517ef5ee19c Author: Dave Airlie <ai...@re...> Date: Fri Dec 19 10:22:02 2008 +1100 drm/radeon: fix missing hunk from the master changes. Thanks to Bartlomiej Zolnierkiewicz <bzo...@gm...> for reporting this. Signed-off-by: Dave Airlie <ai...@re...> commit f890607b1e93dc6fdc2a42b60656c917adf6257f Author: Dave Airlie <ai...@re...> Date: Thu Dec 18 16:59:02 2008 +1000 drm: fix useless gcc unused variable warning the calling function doesn't call this function unless one of the two states that sets the value is true. Signed-off-by: Dave Airlie <ai...@re...> commit bdf539ad61a8d4d0f0b0865c030a8ecb1ec2a398 Author: Dave Airlie <ai...@re...> Date: Thu Dec 18 16:56:11 2008 +1000 drm/radeon: fix warning due to PAGE_SIZE max Signed-off-by: Dave Airlie <ai...@re...> commit 57a6297e52b32ff402291a7d8fd802f83e746e52 Author: Dave Airlie <ai...@li...> Date: Sat Dec 13 18:21:08 2008 +1000 drm: kconfig have drm core select i2c for kms Signed-off-by: Dave Airlie <ai...@re...> commit ae14dc0505261978ca06075ac39cc5422c6c6b57 Author: Dave Airlie <ai...@li...> Date: Thu Dec 11 17:06:35 2008 +1000 drm: PAGE_CACHE_WC is x86 only so far The page protections need to be checked whether they need to be more flexible. Signed-off-by: Dave Airlie <ai...@re...> commit aa91c6665a5e387e488c4a0b5da2536cc9c9f16e Author: Dave Airlie <ai...@re...> Date: Mon Dec 8 14:55:27 2008 +1000 drm: pick an 800x600@60HZ mode by default for unknown CRT. This is what X picks now, so we should do the same. Signed-off-by: Dave Airlie <ai...@re...> commit 60fd99e3682c5acc74d58ed61dac93526d6976f7 Author: Eric Anholt <er...@an...> Date: Wed Dec 3 22:50:02 2008 -0800 drm/i915: Fix stolen memory detection on G45 and GM45. Signed-off-by: Eric Anholt <er...@an...> Signed-off-by: Dave Airlie <ai...@re...> commit 06d9f33ceb6be29c453915505a2fc88d80c36417 Author: Eric Anholt <er...@an...> Date: Wed Dec 3 22:43:14 2008 -0800 drm/i915: Register module dependencies for the modesetting code. Signed-off-by: Eric Anholt <er...@an...> Signed-off-by: Dave Airlie <ai...@re...> commit 79e539453b34e35f39299a899d263b0a1f1670bd Author: Jesse Barnes <jb...@vi...> Date: Fri Nov 7 14:24:08 2008 -0800 DRM: i915: add mode setting support This commit adds i915 driver support for the DRM mode setting APIs. Currently, VGA, LVDS, SDVO DVI & VGA, TV and DVO LVDS outputs are supported. HDMI, DisplayPort and additional SDVO output support will follow. Support for the mode setting code is controlled by the new 'modeset' module option. A new config option, CONFIG_DRM_I915_KMS controls the default behavior, and whether a PCI ID list is built into the module for use by user level module utilities. Note that if mode setting is enabled, user level drivers that access display registers directly or that don't use the kernel graphics memory manager will likely corrupt kernel graphics memory, disrupt output configuration (possibly leading to hangs and/or blank displays), and prevent panic/oops messages from appearing. So use caution when enabling this code; be sure your user level code supports the new interfaces. A new SysRq key, 'g', provides emergency support for switching back to the kernel's framebuffer console; which is useful for testing. Co-authors: Dave Airlie <ai...@li...>, Hong Liu <hon...@in...> Signed-off-by: Jesse Barnes <jb...@vi...> Signed-off-by: Eric Anholt <er...@an...> Signed-off-by: Dave Airlie <ai...@re...> commit f453ba0460742ad027ae0c4c7d61e62817b3e7ef Author: Dave Airlie <ai...@re...> Date: Fri Nov 7 14:05:41 2008 -0800 DRM: add mode setting support Add mode setting support to the DRM layer. This is a fairly big chunk of work that allows DRM drivers to provide full output control and configuration capabilities to userspace. It was motivated by several factors: - the fb layer's APIs aren't suited for anything but simple configurations - coordination between the fb layer, DRM layer, and various userspace drivers is poor to non-existent (radeonfb excepted) - user level mode setting drivers makes displaying panic & oops messages more difficult - suspend/resume of graphics state is possible in many more configurations with kernel level support This commit just adds the core DRM part of the mode setting APIs. Driver specific commits using these new structure and APIs will follow. Co-authors: Jesse Barnes <jb...@vi...>, Jakob Bornecrantz <ja...@tu...> Contributors: Alan Hourihane <al...@tu...>, Maarten Maathuis <mad...@gm...> Signed-off-by: Jesse Barnes <jb...@vi...> Signed-off-by: Eric Anholt <er...@an...> Signed-off-by: Dave Airlie <ai...@re...> commit de151cf67ce52ed2d88083daa5e60c7858947329 Author: Jesse Barnes <jb...@vi...> Date: Wed Nov 12 10:03:55 2008 -0800 drm/i915: add GEM GTT mapping support Use the new core GEM object mapping code to allow GTT mapping of GEM objects on i915. The fault handler will make sure a fence register is allocated too, if the object in question is tiled. Signed-off-by: Jesse Barnes <jb...@vi...> Signed-off-by: Eric Anholt <er...@an...> Signed-off-by: Dave Airlie <ai...@re...> commit a2c0a97b784f837300f7b0869c82ab712c600952 Author: Jesse Barnes <jb...@vi...> Date: Wed Nov 5 10:31:53 2008 -0800 drm: GEM mmap support Add core support for mapping of GEM objects. Drivers should provide a vm_operations_struct if they want to support page faulting of objects. The code for handling GEM object offsets was taken from TTM, which was written by Thomas Hellström. Signed-off-by: Jesse Barnes <jb...@vi...> Signed-off-by: Eric Anholt <er...@an...> Signed-off-by: Dave Airlie <ai...@re...> commit a9587470f753d670d910293ecbf1c7b66c99de50 Author: Eric Anholt <er...@an...> Date: Wed Nov 5 12:37:42 2008 -0800 drm/i915: Add /proc debugging entry for reading out the HWS. Signed-off-by: Eric Anholt <er...@an...> Signed-off-by: Dave Airlie <ai...@re...> commit a9d51a5ad1154b5b20add1e8d30a5564f8aabbe9 Author: Dave Airlie <ai...@li...> Date: Sun Dec 7 12:02:21 2008 +1000 drm: reorganise start and load. Make sure we have the primary node so the device can add maps. Signed-off-by: Dave Airlie <ai...@re...> commit 1147c9cdd0f60f09a98702a9f865176af18a989f Author: Vegard Nossum <veg...@gm...> Date: Tue Dec 2 13:38:47 2008 +1000 drm: fix leak of uninitialized data to userspace ...so drm_getunique() is trying to copy some uninitialized data to userspace. The ECX register contains the number of words that are left to copy -- so there are 5 * 4 = 20 bytes left. The offset of the first uninitialized byte (counting from the start of the string) is also 20 (i.e. 0xf65d2294&((1 << 5)-1) == 20). So somebody tried to copy 40 bytes when the string was only 19 long. In drm_set_busid() we have this code: dev->unique_len = 40; dev->unique = drm_alloc(dev->unique_len + 1, DRM_MEM_DRIVER); ... len = snprintf(dev->unique, dev->unique_len, pci:%04x:%02x:%02x.%d", ...so it seems that dev->unique is never updated to reflect the actual length of the string. The remaining bytes (20 in this case) are random uninitialized bytes that are copied into userspace. This patch fixes the problem by setting dev->unique_len after the snprintf(). airlied- I've had to fix this up to store the alloced size so we have it for drm_free later. Reported-by: Sitsofe Wheeler <si...@ya...> Signed-off-by: Vegard Nossum <veg...@th...> Signed-off-by: Dave Airlie <ai...@re...> commit 7c1c2871a6a3a114853ec6836e9035ac1c0c7f7a Author: Dave Airlie <ai...@re...> Date: Fri Nov 28 14:22:24 2008 +1000 drm: move to kref per-master structures. This is step one towards having multiple masters sharing a drm device in order to get fast-user-switching to work. It splits out the information associated with the drm master into a separate kref counted structure, and allocates this when a master opens the device node. It also allows the current master to abdicate (say while VT switched), and a new master to take over the hardware. It moves the Intel and radeon drivers to using the sarea from within the new master structures. Signed-off-by: Dave Airlie <ai...@re...> commit e7f7ab45ebcb54fd5f814ea15ea079e079662f67 Author: Dave Airlie <ai...@re...> Date: Fri Nov 28 13:43:47 2008 +1000 drm: cleanup exit path for module unload The current sub-module unload exit path is a mess, it tries to abuse the idr. Just keep a list of devices per driver struct and free them in-order on rmmod. Signed-off-by: Dave Airlie <ai...@re...> |
From: Dave A. <ai...@li...> - 2009-01-07 01:59:29
|
Hi Linus, Please pull the 'drm-next' branch from ssh://master.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6.git drm-next This is mostly KMS related fixes, with a GEM related fix that stable also needs. Dave. drivers/gpu/drm/drm_drv.c | 6 +- drivers/gpu/drm/i915/Makefile | 1 + drivers/gpu/drm/i915/i915_dma.c | 46 ++++-- drivers/gpu/drm/i915/i915_drv.h | 2 + drivers/gpu/drm/i915/i915_gem.c | 15 +- drivers/gpu/drm/i915/i915_reg.h | 25 +++- drivers/gpu/drm/i915/intel_display.c | 48 +++++-- drivers/gpu/drm/i915/intel_drv.h | 5 +- drivers/gpu/drm/i915/intel_hdmi.c | 280 ++++++++++++++++++++++++++++++++++ drivers/gpu/drm/i915/intel_sdvo.c | 8 +- 10 files changed, 397 insertions(+), 39 deletions(-) create mode 100644 drivers/gpu/drm/i915/intel_hdmi.c commit a75f28419a7efff611a81293d41d0e2137d7591e Author: Dave Airlie <ai...@li...> Date: Wed Jan 7 11:54:57 2009 +1000 drm: fix ordering of driver unload vs agp unload. For KMS drivers, we really need to cleanup the driver before disabling the AGP subsystem. Signed-off-by: Dave Airlie <ai...@re...> commit 241fa85b2bb655224357d713c251077dee3585ce Author: Eric Anholt <er...@an...> Date: Fri Jan 2 18:05:51 2009 -0800 drm/i915: Respect the other stolen memory sizes we know of. fd.o bug #19336. Signed-off-by: Eric Anholt <er...@an...> Signed-off-by: Dave Airlie <ai...@li...> commit 1fc45d84d616cec00566152c1080903c461eb537 Author: Eric Anholt <er...@an...> Date: Fri Jan 2 15:57:35 2009 -0800 drm/i915: Non-mobile parts don't have integrated TV-out. Signed-off-by: Eric Anholt <er...@an...> Signed-off-by: Dave Airlie <ai...@li...> commit 7d57382e65994ab7d01741373bd1c420370aed9f Author: Eric Anholt <er...@an...> Date: Fri Jan 2 13:33:00 2009 -0800 drm/i915: Add support for integrated HDMI on G4X hardware. This is ported directly from the userland 2D driver code. The HDMI audio bits aren't hooked up yet. Signed-off-by: Eric Anholt <er...@an...> Signed-off-by: Dave Airlie <ai...@li...> commit 3f8bc370ac679a5fe5c098f30d3cf8e80f62a9f8 Author: Kristian Høgsberg <kr...@re...> Date: Wed Dec 17 22:14:59 2008 -0500 drm/i915: Pin cursor bo and unpin old bo when setting cursor. We also didn't track the cursor bo before and would leak a reference when the cursor image was change. Signed-off-by: Kristian Høgsberg <kr...@re...> Signed-off-by: Eric Anholt <er...@an...> Signed-off-by: Dave Airlie <ai...@li...> commit 9bb2d6f94aeb9a185d69aedbd19421b6da4e3309 Author: Eric Anholt <er...@an...> Date: Tue Dec 23 18:42:32 2008 -0800 drm/i915: Don't allow objects to get bound while VT switched. This avoids a BUG_ON in the enter_vt path due to objects being in the GTT when we shouldn't have ever let them be (as we're not supposed to touch the device during that time). This was triggered by a change in the 2D driver to use the GTT mapping of objects after pinning them to improve software fallback performance. Signed-off-by: Eric Anholt <er...@an...> Signed-off-by: Dave Airlie <ai...@li...> |
From: Dave A. <ai...@li...> - 2009-02-09 08:31:04
|
Hi Linus, Please pull the 'drm-fixes' branch from ssh://master.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6.git drm-fixes This fixes some regressions and also a number of bugs in the Intel KMS and GEM code. Sorry its a bit bigger than I like sending, but I got backlogged with real life stuff and kept pushing this off. I've got at least two more things to get fixed, Intel has a lockdep issue and I'm waiting for Eric to get back from travelling to confirm the fix is correct, and we have a radeon regression on susp/resume which I think is vblank related. This should fix your vblank issue and the CONFIG_FB fix from Ingo. Dave. drivers/gpu/drm/Kconfig | 2 +- drivers/gpu/drm/drm_irq.c | 1 + drivers/gpu/drm/drm_memory.c | 7 +- drivers/gpu/drm/i915/i915_dma.c | 47 ++- drivers/gpu/drm/i915/i915_drv.c | 1 - drivers/gpu/drm/i915/i915_drv.h | 8 + drivers/gpu/drm/i915/i915_gem.c | 83 ++- drivers/gpu/drm/i915/i915_gem_tiling.c | 91 ++++- drivers/gpu/drm/i915/i915_irq.c | 13 + drivers/gpu/drm/i915/i915_reg.h | 10 +- drivers/gpu/drm/i915/intel_display.c | 20 +- drivers/gpu/drm/i915/intel_drv.h | 1 + drivers/gpu/drm/i915/intel_lvds.c | 49 +-- drivers/gpu/drm/i915/intel_sdvo.c | 870 ++++++++++++++++++++++++++++---- drivers/gpu/drm/i915/intel_sdvo_regs.h | 404 +++++++++++++++- drivers/gpu/drm/radeon/radeon_cp.c | 6 +- drivers/video/Kconfig | 6 +- include/drm/i915_drm.h | 2 + 18 files changed, 1428 insertions(+), 193 deletions(-) commit d2f59357700487a8b944f4f7777d1e97cf5ea2ed Author: Ingo Molnar <mi...@el...> Date: Thu Feb 5 16:03:34 2009 +0100 drm/i915: select framebuffer support automatically Migration helper. The i915 driver recently added a 'depends on FB' rule to its Kconfig entry - which silently turns off DRM_I915 if someone has a working config but no CONFIG_FB selected, and upgrades to the latest upstream kernel. Norbert Preining reported this problem: Bug-Entry : http://bugzilla.kernel.org/show_bug.cgi?id=12599 Subject : dri /dev node disappeared with 2.6.29-rc1 So change it to "select FB", which auto-selects framebuffer support. This way the driver keeps working, regardless of whether FB was enabled before or not. Kconfig select's of interactive options can be problematic to dependencies and can cause build breakages - but in this case it's safe because it's a leaf entry with no dependencies of its own. ( There is some minor circular dependency fallout as FB_I810 and FB_INTEL also used 'depends on FB' constructs - update those to "select FB" too. ) Reported-by: Norbert Preining <pre...@lo...> Signed-off-by: Ingo Molnar <mi...@el...> Signed-off-by: Dave Airlie <ai...@li...> commit 9880b7a527ffbb52f65c2de0a8d4eea86e24775e Author: Jesse Barnes <jb...@vi...> Date: Fri Feb 6 10:22:41 2009 -0800 drm/i915: add get_vblank_counter function for GM45 As discussed in the long thread about vblank related timeouts, it turns out GM45 has different frame count registers than previous chips. This patch adds support for them, which prevents us from waiting on really stale sequence values in drm_wait_vblank (which rather than returning immediately ends up timing out or getting interrupted). Signed-off-by: Jesse Barnes <jb...@vi...> Signed-off-by: Dave Airlie <ai...@li...> commit 14d200c5e5bd19219d930bbb9a5a22758c8f5bec Author: Jesse Barnes <jb...@vi...> Date: Fri Feb 6 13:04:49 2009 -0800 drm/i915: capture last_vblank count at IRQ uninstall time too In dc1336ff4fe08ae7cfe8301bfd7f0b2cfd31d20a (set vblank enable flag correctly across IRQ uninstall), we made sure drivers that uninstall their interrupt handler set the vblank enabled flag correctly, so that when interrupts are re-enabled, vblank interrupts & counts work as expected. However I missed the last_vblank field: it needs to be updated as well, otherwise, at the next drm_update_vblank_count we'll end up comparing a current count to a stale one (the last one captured by the disable function), which may trigger the wraparound handling, leading to a jumpy counter and hangs in drm_wait_vblank. The jumpy counter can prevent the DRM_WAIT_ON from returning success if the difference between the current count and the requested count is greater than 2^23, leading to timeouts or hangs, if the ioctl is restarted in a loop (as is the case in libdrm < 2.4.4). Signed-off-by: Jesse Barnes <jb...@vi...> Acked-by: Michel Dänzer <mi...@da...> Tested-by: Timo Aaltonen <tja...@cc...> Signed-off-by: Dave Airlie <ai...@re...> commit 7d8d58b23fd01e60ed44d8d8c10b2df86e638faa Author: Chris Wilson <ch...@ch...> 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 <ch...@ch...> Signed-off-by: Eric Anholt <er...@an...> Signed-off-by: Dave Airlie <ai...@li...> commit 122ee2a63bc49d21f402f6b6d2208306cdcc98c1 Author: Eric Anholt <er...@an...> 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 <er...@an...> Signed-off-by: Dave Airlie <ai...@li...> commit 565dcd4635f4f8c0ac4dee38a5625bc325799b1e Author: Paul Collins <pa...@bu...> 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 <pa...@on...> Signed-off-by: Eric Anholt <er...@an...> Signed-off-by: Dave Airlie <ai...@li...> commit e2f0ba97d60e59fe5c6237851933a9c38a8f9a24 Author: Jesse Barnes <jb...@vi...> 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 <jb...@vi...> Signed-off-by: Eric Anholt <er...@an...> Signed-off-by: Dave Airlie <ai...@li...> commit 72daad40dc0be179e0dc85c17d5dc1e850b5e8e4 Author: Chris Wilson <ch...@ch...> 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 <ch...@ch...> Signed-off-by: Eric Anholt <er...@an...> Signed-off-by: Dave Airlie <ai...@li...> commit 0f973f27888e4664b253ab2cf69c67c2eb80ab1b Author: Jesse Barnes <jb...@vi...> 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 <jb...@vi...> Signed-off-by: Eric Anholt <er...@an...> Signed-off-by: Dave Airlie <ai...@li...> commit d9ddcb96e05cfbadf3dbf66859bcaf5eae25af0b Author: Eric Anholt <er...@an...> 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 <er...@an...> Signed-off-by: Dave Airlie <ai...@li...> commit ab657db12d7020629f26f30d287558a8d0e32b41 Author: Eric Anholt <er...@an...> 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 <er...@an...> Signed-off-by: Dave Airlie <ai...@li...> commit 725e30ad6601d7fe443d9215d6331758a9d7e0c8 Author: Eric Anholt <er...@an...> 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. Signed-off-by: Dave Airlie <ai...@li...> commit e806b4957412bf472d826bd8cc571da041248799 Author: Eric Anholt <er...@an...> 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 <er...@an...> Signed-off-by: Dave Airlie <ai...@li...> commit 9b8d5a124f133fe9a75397d20b874844a2e3d7e9 Author: Dave Airlie <ai...@li...> Date: Sat Feb 7 11:15:41 2009 +1000 drm/radeon: fix ioremap conflict with AGP mappings this solves a regression from http://bugzilla.kernel.org/show_bug.cgi?id=12441 Reported-by: Daniel Vetter <da...@ff...> Signed-off-by: Dave Airlie <ai...@re...> commit ac048e1734699dd98f4bdf4daf2b9592d4a4d38e Author: Dave Airlie <ai...@re...> Date: Tue Feb 3 19:05:12 2009 +1000 i915: fix unneeded locking in i915 LVDS get modes code. This code is always called under the lock from the higher layers, so need to go locking it here. Signed-off-by: Dave Airlie <ai...@re...> |
From: Jesse B. <jb...@vi...> - 2009-02-13 19:04:11
|
On Friday, February 13, 2009 9:28 am Diego Calleja wrote: > On Lunes 09 Febrero 2009 09:30:57 Dave Airlie escribió: > > Hi Linus, > > > > Please pull the 'drm-fixes' branch from > > ssh://master.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6.git > > drm-fixes > > A commit from this merge is causing an error in my machine: > > commit ab657db12d7020629f26f30d287558a8d0e32b41 > Author: Eric Anholt <er...@an...> > Date: Fri Jan 23 12:57:47 2009 -0800 > > drm/i915: Set up an MTRR covering the GTT at driver load. > > > (found using bisection) > > The error: > [ 20.270956] [drm] Initialized i915 1.6.0 20080730 on minor 0 > [ 20.289492] [drm:i915_initialize] *ERROR* can not ioremap virtual > address for ring buffer > > And in Xorg.0.log: (II) intel(0): direct rendering: Failed > > > But...excluding that printk, everything works OK, including "direct > rendering: Yes"... > > There's a related thread here: http://lkml.org/lkml/2009/2/13/139 Does this prevent the message? We map it WC in GEM but not in i915_initialize... diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c index 81f1cff..2d797ff 100644 --- a/drivers/gpu/drm/i915/i915_dma.c +++ b/drivers/gpu/drm/i915/i915_dma.c @@ -202,7 +202,7 @@ static int i915_initialize(struct drm_device * dev, drm_i915 dev_priv->ring.map.flags = 0; dev_priv->ring.map.mtrr = 0; - drm_core_ioremap(&dev_priv->ring.map, dev); + drm_core_ioremap_wc(&dev_priv->ring.map, dev); if (dev_priv->ring.map.handle == NULL) { i915_dma_cleanup(dev); -- Jesse Barnes, Intel Open Source Technology Center |
From: Diego C. <di...@gm...> - 2009-02-13 19:37:10
|
On Viernes 13 Febrero 2009 20:04:03 Jesse Barnes escribió: > Does this prevent the message? We map it WC in GEM but not in > i915_initialize... Yes, the message has disappeared. |
From: Diego C. <di...@gm...> - 2009-02-13 17:27:17
|
On Lunes 09 Febrero 2009 09:30:57 Dave Airlie escribió: > Hi Linus, > > Please pull the 'drm-fixes' branch from > ssh://master.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6.git > drm-fixes A commit from this merge is causing an error in my machine: commit ab657db12d7020629f26f30d287558a8d0e32b41 Author: Eric Anholt <er...@an...> Date: Fri Jan 23 12:57:47 2009 -0800 drm/i915: Set up an MTRR covering the GTT at driver load. (found using bisection) The error: [ 20.270956] [drm] Initialized i915 1.6.0 20080730 on minor 0 [ 20.289492] [drm:i915_initialize] *ERROR* can not ioremap virtual address for ring buffer And in Xorg.0.log: (II) intel(0): direct rendering: Failed But...excluding that printk, everything works OK, including "direct rendering: Yes"... There's a related thread here: http://lkml.org/lkml/2009/2/13/139 |
From: Dave A. <ai...@li...> - 2009-11-19 01:10:50
|
Hi Linus, Please pull the 'drm-linus' branch from ssh://master.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6.git drm-linus Just let me know if you don't pull this and I can pick out the bits that definitely need to go in (probably just the first two non-radeon-kms fixes, and the s/r ones) Non-radeon-kms changes: EDID parser fix that we had in X but not in kernel Xen page protections fix. Fix for a race in the drm_mm (only affects radeon KMS so far) radeon-kms changes: suspend-resume fixes from F-12 for AGP and certain Thinkpads tv load detect disable for troublesome chips some connectior table quirks support for external TMDS (otherwise black screen on boot) support for dual-head RN50 server cards (otherwise black screen on boot) VGA bad EDID fix Dave. drivers/gpu/drm/drm_edid.c | 6 + drivers/gpu/drm/drm_gem.c | 2 +- drivers/gpu/drm/drm_mm.c | 9 + drivers/gpu/drm/radeon/atom.c | 1 + drivers/gpu/drm/radeon/atombios_crtc.c | 7 +- drivers/gpu/drm/radeon/r100.c | 13 +- drivers/gpu/drm/radeon/r300.c | 6 + drivers/gpu/drm/radeon/r420.c | 3 + drivers/gpu/drm/radeon/radeon.h | 2 + drivers/gpu/drm/radeon/radeon_agp.c | 12 + drivers/gpu/drm/radeon/radeon_atombios.c | 25 +- drivers/gpu/drm/radeon/radeon_combios.c | 390 ++++++++++++++++++++--- drivers/gpu/drm/radeon/radeon_connectors.c | 69 ++++- drivers/gpu/drm/radeon/radeon_device.c | 2 + drivers/gpu/drm/radeon/radeon_display.c | 29 ++- drivers/gpu/drm/radeon/radeon_encoders.c | 85 ++++-- drivers/gpu/drm/radeon/radeon_fb.c | 9 +- drivers/gpu/drm/radeon/radeon_gem.c | 10 +- drivers/gpu/drm/radeon/radeon_i2c.c | 109 +++++-- drivers/gpu/drm/radeon/radeon_legacy_crtc.c | 5 + drivers/gpu/drm/radeon/radeon_legacy_encoders.c | 113 ++++---- drivers/gpu/drm/radeon/radeon_mode.h | 75 ++++- drivers/gpu/drm/radeon/radeon_reg.h | 40 ++- drivers/gpu/drm/radeon/rs400.c | 1 + drivers/gpu/drm/radeon/rv515.c | 9 +- 25 files changed, 790 insertions(+), 242 deletions(-) commit 44c83571e8e164840e91f3cc9fdd928889ac169b Author: Michel Dänzer <da...@vm...> Date: Wed Aug 5 00:19:51 2009 +0200 drm/radeon: Give userspace more accurate information about available memory. This patch varies from the original and just removes memory for kernel pinned objects. Signed-off-by: Michel Dänzer <da...@vm...> Signed-off-by: Dave Airlie <ai...@re...> commit bc5096a4771453929537605e564b32c534c869bf Author: Dave Airlie <ai...@re...> Date: Wed Nov 18 13:39:34 2009 +1000 drm/radeon/kms: pick 8bpp console when 32MB or less VRAM making the pinned console smaller gives X a bit more room to play with. Signed-off-by: Dave Airlie <ai...@re...> commit d8c8292199eaccc4163229d6e8409e139adc45dc Author: Dave Airlie <ai...@re...> Date: Tue Oct 13 14:10:37 2009 +1000 drm/radeon/kms: add support for encoder cloning. The RN50 really needs this since its a single crtc card, however other gpus may benefit from it as well. Signed-off-by: Dave Airlie <ai...@re...> commit 85691e025889ceaa9a6f6cf5dbf706d7b0acfd05 Author: Jerome Glisse <jg...@re...> Date: Tue Nov 17 14:08:55 2009 -0800 drm/radeon/kms: fix oops when set_base is call with no FB Just do nothing if crct_set_base() is called with no FB. The oops happens when the user switches between X & vt or in some case when changing mode. Signed-off-by: Jerome Glisse <jg...@re...> Signed-off-by: Andrew Morton <ak...@li...> Signed-off-by: Dave Airlie <ai...@re...> commit c7e3bff327d8f5291046ff7ff0f4568dee1f0292 Author: Jeremy Fitzhardinge <je...@go...> Date: Tue Nov 17 14:08:54 2009 -0800 drm: make sure page protections are updated after changing vm_flags Some architectures compute ->vm_page_prot depending on ->vm_flags, so we need to update the protections after adjusting the flags. AFAIK this only affects running X under Xen; without this patch you get lots of coloured blobs on the screen, or maybe a complete lockup. Or anything really. But that still depends on lots of out-of-tree stuff, so I don't think there are any consequences for anyone else. But it is wrong in principle. Reported-by: Jan Beulich <JBe...@no...> Signed-off-by: Jeremy Fitzhardinge <jer...@ci...> Signed-off-by: Andrew Morton <ak...@li...> Signed-off-by: Dave Airlie <ai...@re...> commit 173f90fad0e5e86d978eb26c54aac424152ab386 Author: Jerome Glisse <jg...@re...> Date: Thu Nov 12 14:13:53 2009 +0100 drm/radeon/kms: Report vga connector is connected according to ddc_probe On broken EDID we were reporting vga connector to be disconnected even if ddc probe did found a monitor. This patch report that the connector is connected on such case. This allow drm to add a fail safe mode (800x600 at the time of this patch) thus user can boot and later add a mode which match its monitor capabilities. Signed-off-by: Jerome Glisse <jg...@re...> Signed-off-by: Dave Airlie <ai...@re...> commit 6bd98847e937a8cff40117d58ceb569972ebbe59 Author: Jerome Glisse <jg...@re...> Date: Fri Nov 13 20:56:58 2009 +0100 drm: mm always protect change to unused_nodes with unused_lock spinlock unused_nodes modification needs to be protected by unused_lock spinlock. Here is an example of an usage where there is no such protection without this patch. Process 1: 1-drm_mm_pre_get(this function modify unused_nodes list) 2-spin_lock(spinlock protecting mm struct) 3-drm_mm_put_block(this function might modify unused_nodes list but doesn't protect modification with unused_lock) 4-spin_unlock(spinlock protecting mm struct) Process2: 1-drm_mm_pre_get(this function modify unused_nodes list) At this point Process1 & Process2 might both be doing modification to unused_nodes list. This patch add unused_lock protection into drm_mm_put_block to avoid such issue. Signed-off-by: Jerome Glisse <jg...@re...> Signed-off-by: Dave Airlie <ai...@re...> commit bc157e049472dcf1ada607243b5eff8f1dceab86 Author: Alex Deucher <alex@hp.localdomain> Date: Mon Nov 16 18:33:51 2009 -0500 drm/radeon/kms: add quirk for MSI S270 doesn't have a tv-out port Signed-off-by: Alex Deucher <ale...@gm...> Signed-off-by: Dave Airlie <ai...@re...> commit d767b62cc37cbaa7f52812bea8731929807d1eb3 Author: Alex Deucher <ale...@gm...> Date: Tue Nov 17 15:44:01 2009 -0500 drm/radeon/kms: deal with connectors sourced to the same encoder Some systems have multiple connectors connected to the same encoder; e.g., DVI and HDMI connected to the same encoder with the same ddc line. Since we expose connectors as xrandr outputs, randr treats them separately which results in it trying to source the same encoder to different crtcs. If we have an HDMI and DVI-D port on the same encoder, pick the one to be considered connected based on the edid (HDMI if edid indicates HDMI, DVI otherwise). Should fix fdo bug 25150 Signed-off-by: Alex Deucher <ale...@gm...> Signed-off-by: Dave Airlie <ai...@re...> commit a8269ba0032372b1c069f9316cad7f47f7d23bf3 Author: Alex Deucher <ale...@gm...> Date: Tue Nov 17 17:12:10 2009 -0500 drm/radeon/kms: add quirk for Acer laptop DVI-I port is actually DVI-D Signed-off-by: Alex Deucher <ale...@gm...> Signed-off-by: Dave Airlie <ai...@re...> commit 984d1f3cd3308d176d6d14588836a87c94b340da Author: Jerome Glisse <jg...@re...> Date: Fri Nov 13 20:56:35 2009 +0100 drm/radeon/kms: Disable TV load detect on RS400,RC410,RS480 RS400,RC410,RS480 chipset seems to report a lot of false positive with load detect on TV output. We haven't yet found a way to make load detect reliable on those chipset, thus just disable it for TV output. Would avoid user to experience phantom screen because X believe there is a monitor connected to the TV output. Signed-off-by: Jerome Glisse <jg...@re...> Signed-off-by: Dave Airlie <ai...@re...> commit 3c55c4aa03f7469b5ec8601eab5aa98124cf1ec4 Author: Alex Deucher <ale...@gm...> Date: Thu Nov 12 14:55:14 2009 -0500 drm/radeon/kms: rework scaler handling Keep requested scaler type in radeon_encoder and the actual scaler type used in radeon_crtc. This prevents us from enabling the scaler when it's not required (i.e., the requested mode is the native mode). Also, always set the adjusted mode equal to the native mode for lvds. Should fix: https://bugzilla.redhat.com/show_bug.cgi?id=522271 Signed-off-by: Alex Deucher <ale...@gm...> Acked-by: Jerome Glisse <jg...@re...> Signed-off-by: Dave Airlie <ai...@re...> commit 5a9dbb7e627064ebd810630edada7ac2ade1c3b5 Author: Alex Deucher <ale...@gm...> Date: Thu Nov 12 14:01:36 2009 -0500 drm/radeon/kms: fix typo in legacy internal tmds mode fixup Call to set active device was missing. Signed-off-by: Alex Deucher <ale...@gm...> Signed-off-by: Dave Airlie <ai...@re...> commit fba0a16eb5c55ae3bb9cf1306a84b83451389612 Author: Dave Airlie <ai...@li...> Date: Thu Nov 12 15:53:44 2009 +1000 drm/radeon/kms: read back register before writing in IIO. This fixes RH bugzilla #527874. On resume the atom posting wasn't working, however vbe posting was going fine, after 2 weeks over irc, and 8 hrs with the hardware, I tracked it down to the memory device table and it access the MC registers via IIO, it appears the rv515 atom iio table might not be fully functional, so adding a readback before doing a write either provides enough delay to make things resume correctly. Thanks to Peng Huang at Red Hat for coming to Brisbane. Signed-off-by: Dave Airlie <ai...@re...> commit 8ccb5075a99434f88b4445723970f1402e13c26c Author: Dave Airlie <ai...@li...> Date: Thu Nov 12 09:37:39 2009 +1000 drm/radeon/kms: fix handling of d1/d2 vga An rv515 laptop I got wouldn't startup with a montior plugged in, found the proper bug hopefully with us not turning off D2VGA here when we should. Signed-off-by: Dave Airlie <ai...@re...> commit f56939739f01659f4e489eb8f9cf7c26e5c71d80 Author: Jesse Barnes <jb...@vi...> Date: Thu Nov 5 10:12:54 2009 -0800 drm: work around EDIDs with bad htotal/vtotal values We did this on the userspace side, but we need a similar fix for the kernel. Fixes LP #460664. Signed-off-by: Jesse Barnes <jb...@vi...> Cc: st...@ke... Signed-off-by: Dave Airlie <ai...@re...> commit 8dbfab707488893e17e4f5911c225ee4e6497348 Author: Dave Airlie <ai...@re...> Date: Thu Nov 5 15:39:10 2009 +1000 drm/radeon/kms: resume AGP by calling init. AGP resume was broken since we moved to the new init path, because we never re-enabled AGP on these systems at resume time. This patch just calls the AGP resume call which just does the reinit at resume time like the old path did. Since AGP is pretty much gpu independant I did it outside the gpu specific code. Signed-off-by: Dave Airlie <ai...@re...> commit d0140258ef0afa76c4ec1b4fb75ede6b9b836e5e Author: Dave Airlie <ai...@re...> Date: Thu Nov 5 15:36:53 2009 +1000 drm/radeon/kms: AGP systems need PCI bus mastering enabled We might not hit this yet, but when if we do any sort of writeback we really need to enable PCI bus mastering on these systems from what I can see. This enables PCI BM on all radeons that require it. Signed-off-by: Dave Airlie <ai...@re...> commit 27d920edca6b49a269aa3d3e2b059e8500285aef Author: Alex Deucher <ale...@gm...> Date: Tue Nov 10 21:25:07 2009 -0500 drm/radeon/kms: add support for external tmds on legacy boards This enables initialization of external tmds chips on pre-atom and mac systems. Macs are untested. Also, some macs have single link tmds chips while others have dual link tmds chips. We need to figure out which ones have which. This gets external TMDS working on my RS485 and RV380. Signed-off-by: Alex Deucher <ale...@gm...> Signed-off-by: Dave Airlie <ai...@re...> commit cc51b7e7f3c1f3244e6261cef1f08a2e19bfdced Author: Alex Deucher <ale...@gm...> Date: Tue Nov 10 15:59:44 2009 -0500 drm/radeon/kms: clean up i2c - Change reg/mask names to match what we use internally and in the bios - Clarify how i2c over gpio on radeon actually works Signed-off-by: Alex Deucher <ale...@gm...> Signed-off-by: Dave Airlie <ai...@re...> commit b4b4b6aa09fced89b29178d16d6e28868cb0ed1c Author: Alex Deucher <ale...@gm...> Date: Thu Nov 5 18:27:30 2009 -0500 drm/radeon/kms: dont't pass a radeon_connector to radeon_i2c_do_lock() We need this for supporting things other than ddc on i2c. Signed-off-by: Alex Deucher <ale...@gm...> Signed-off-by: Dave Airlie <ai...@re...> |
From: Dave A. <ai...@li...> - 2009-12-10 06:17:25
|
Hi Linus, Please pull the 'drm-linus' branch from ssh://master.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6.git drm-linus Highlights: core: pageflipping ioctl, lots of EDID fixes from Fedora, fbdev helper fixes, move DisplayPort i2c helper from Intel to core, kms dirty region ioctl added. AGP: fix to Intel AGP driver to clear GTT properly on startup Intel: Ironlake support, Pineview support, Overlay support, TTM: add support for vmwgfx driver which will go in staging, rework the validation APIs to allow better placement flexibility Radeon KMS: Major bulk of changes, add DisplayPort support to KMS driver, R600 IRQ support (requires out of tree firmware), IRQ mitigation support, encoder cloninng support, external TMDS chip support, lots of suspend/resume fixes, new PLL algo for r500+ from AMD, digital output hotplug detection support (required for DisplayPort), radeon object handling rework to avoid numerous locking issues. The biggest missing feature from the Radeon KMS driver before we can probably mark it not-staging is some sort of power management support, this is being worked on, but is a hairy problem, but lots of people have cards that run hot or with full fan and it would be nice to do something about it. However we will probably remove the staging bit before 2.6.33 goes live. Also VMware have submitted a driver to go into staging to drive their virtual GPU, that we should probably merge via Greg before the windows closes. Dave. drivers/char/agp/intel-agp.c | 103 +- drivers/gpu/drm/Makefile | 2 +- drivers/gpu/drm/drm_crtc.c | 176 +++- drivers/gpu/drm/drm_crtc_helper.c | 5 +- .../{i915/intel_dp_i2c.c => drm_dp_i2c_helper.c} | 76 +- drivers/gpu/drm/drm_drv.c | 42 +- drivers/gpu/drm/drm_edid.c | 328 +++-- drivers/gpu/drm/drm_fb_helper.c | 23 +- drivers/gpu/drm/drm_fops.c | 112 ++- drivers/gpu/drm/drm_irq.c | 130 ++- drivers/gpu/drm/drm_mm.c | 110 ++- drivers/gpu/drm/drm_modes.c | 28 +- drivers/gpu/drm/drm_stub.c | 15 + drivers/gpu/drm/i915/Makefile | 2 +- drivers/gpu/drm/i915/dvo_ch7017.c | 9 +- drivers/gpu/drm/i915/dvo_ch7xxx.c | 16 +- drivers/gpu/drm/i915/dvo_ivch.c | 37 +- drivers/gpu/drm/i915/dvo_sil164.c | 20 +- drivers/gpu/drm/i915/dvo_tfp410.c | 34 +- drivers/gpu/drm/i915/i915_debugfs.c | 120 ++- drivers/gpu/drm/i915/i915_dma.c | 40 +- drivers/gpu/drm/i915/i915_drv.c | 1 + drivers/gpu/drm/i915/i915_drv.h | 80 +- drivers/gpu/drm/i915/i915_gem.c | 114 ++- drivers/gpu/drm/i915/i915_gem_tiling.c | 6 +- drivers/gpu/drm/i915/i915_irq.c | 163 ++- drivers/gpu/drm/i915/i915_opregion.c | 92 ++- drivers/gpu/drm/i915/i915_reg.h | 71 +- drivers/gpu/drm/i915/i915_suspend.c | 86 +- drivers/gpu/drm/i915/intel_bios.c | 137 ++- drivers/gpu/drm/i915/intel_bios.h | 17 + drivers/gpu/drm/i915/intel_crt.c | 50 +- drivers/gpu/drm/i915/intel_display.c | 1036 ++++++++++----- drivers/gpu/drm/i915/intel_dp.c | 162 ++- drivers/gpu/drm/i915/intel_drv.h | 44 + drivers/gpu/drm/i915/intel_fb.c | 7 +- drivers/gpu/drm/i915/intel_hdmi.c | 55 +- drivers/gpu/drm/i915/intel_i2c.c | 21 +- drivers/gpu/drm/i915/intel_lvds.c | 140 ++- drivers/gpu/drm/i915/intel_overlay.c | 1416 ++++++++++++++++++++ drivers/gpu/drm/i915/intel_sdvo.c | 14 +- drivers/gpu/drm/i915/intel_tv.c | 58 +- drivers/gpu/drm/radeon/Makefile | 2 +- drivers/gpu/drm/radeon/atom.c | 33 +- drivers/gpu/drm/radeon/atom.h | 2 + drivers/gpu/drm/radeon/atombios.h | 2 +- drivers/gpu/drm/radeon/atombios_crtc.c | 59 +- drivers/gpu/drm/radeon/atombios_dp.c | 790 +++++++++++ drivers/gpu/drm/radeon/r100.c | 245 +++- drivers/gpu/drm/radeon/r100_track.h | 10 +- drivers/gpu/drm/radeon/r300.c | 33 +- drivers/gpu/drm/radeon/r420.c | 25 +- drivers/gpu/drm/radeon/r500_reg.h | 2 + drivers/gpu/drm/radeon/r520.c | 8 +- drivers/gpu/drm/radeon/r600.c | 1147 +++++++++++++++- drivers/gpu/drm/radeon/r600_blit_kms.c | 34 +- drivers/gpu/drm/radeon/r600d.h | 212 +++- drivers/gpu/drm/radeon/radeon.h | 165 ++- drivers/gpu/drm/radeon/radeon_asic.h | 70 + drivers/gpu/drm/radeon/radeon_atombios.c | 332 ++++-- drivers/gpu/drm/radeon/radeon_benchmark.c | 36 +- drivers/gpu/drm/radeon/radeon_clocks.c | 23 +- drivers/gpu/drm/radeon/radeon_combios.c | 688 ++++++++-- drivers/gpu/drm/radeon/radeon_connectors.c | 194 +++- drivers/gpu/drm/radeon/radeon_cp.c | 45 +- drivers/gpu/drm/radeon/radeon_cs.c | 13 +- drivers/gpu/drm/radeon/radeon_device.c | 62 +- drivers/gpu/drm/radeon/radeon_display.c | 145 ++- drivers/gpu/drm/radeon/radeon_drv.c | 4 + drivers/gpu/drm/radeon/radeon_drv.h | 1 - drivers/gpu/drm/radeon/radeon_encoders.c | 276 +++-- drivers/gpu/drm/radeon/radeon_fb.c | 72 +- drivers/gpu/drm/radeon/radeon_fence.c | 47 +- drivers/gpu/drm/radeon/radeon_fixed.h | 17 + drivers/gpu/drm/radeon/radeon_gart.c | 42 +- drivers/gpu/drm/radeon/radeon_gem.c | 104 +- drivers/gpu/drm/radeon/radeon_i2c.c | 182 ++- drivers/gpu/drm/radeon/radeon_irq_kms.c | 61 +- drivers/gpu/drm/radeon/radeon_kms.c | 42 +- drivers/gpu/drm/radeon/radeon_legacy_crtc.c | 104 ++- drivers/gpu/drm/radeon/radeon_legacy_encoders.c | 125 +- drivers/gpu/drm/radeon/radeon_mode.h | 149 ++- drivers/gpu/drm/radeon/radeon_object.c | 560 +++----- drivers/gpu/drm/radeon/radeon_object.h | 157 ++- drivers/gpu/drm/radeon/radeon_pm.c | 6 +- drivers/gpu/drm/radeon/radeon_reg.h | 60 +- drivers/gpu/drm/radeon/radeon_ring.c | 67 +- drivers/gpu/drm/radeon/radeon_test.c | 55 +- drivers/gpu/drm/radeon/radeon_ttm.c | 94 +- drivers/gpu/drm/radeon/rs400.c | 17 +- drivers/gpu/drm/radeon/rs600.c | 236 +++- drivers/gpu/drm/radeon/rs600d.h | 112 ++- drivers/gpu/drm/radeon/rs690.c | 57 +- drivers/gpu/drm/radeon/rv515.c | 24 +- drivers/gpu/drm/radeon/rv770.c | 79 +- drivers/gpu/drm/ttm/Makefile | 3 +- drivers/gpu/drm/ttm/ttm_bo.c | 545 ++++---- drivers/gpu/drm/ttm/ttm_bo_util.c | 1 + drivers/gpu/drm/ttm/ttm_bo_vm.c | 7 +- drivers/gpu/drm/ttm/ttm_execbuf_util.c | 117 ++ drivers/gpu/drm/ttm/ttm_lock.c | 311 +++++ drivers/gpu/drm/ttm/ttm_memory.c | 16 +- drivers/gpu/drm/ttm/ttm_object.c | 452 +++++++ drivers/gpu/drm/ttm/ttm_tt.c | 1 + include/drm/drm.h | 65 +- include/drm/drmP.h | 87 +- include/drm/drm_crtc.h | 47 +- .../i915/intel_dp.h => include/drm/drm_dp_helper.h | 74 +- include/drm/drm_edid.h | 8 + include/drm/drm_mm.h | 35 + include/drm/drm_mode.h | 80 ++- include/drm/drm_os_linux.h | 2 +- include/drm/i915_drm.h | 78 +- include/drm/mga_drm.h | 2 +- include/drm/radeon_drm.h | 2 +- include/drm/ttm/ttm_bo_api.h | 56 +- include/drm/ttm/ttm_bo_driver.h | 37 +- include/drm/ttm/ttm_execbuf_util.h | 107 ++ include/drm/ttm/ttm_lock.h | 247 ++++ include/drm/ttm/ttm_memory.h | 1 + include/drm/ttm/ttm_object.h | 267 ++++ include/drm/via_drm.h | 2 +- 122 files changed, 12028 insertions(+), 2947 deletions(-) rename drivers/gpu/drm/{i915/intel_dp_i2c.c => drm_dp_i2c_helper.c} (79%) create mode 100644 drivers/gpu/drm/i915/intel_overlay.c create mode 100644 drivers/gpu/drm/radeon/atombios_dp.c create mode 100644 drivers/gpu/drm/ttm/ttm_execbuf_util.c create mode 100644 drivers/gpu/drm/ttm/ttm_lock.c create mode 100644 drivers/gpu/drm/ttm/ttm_object.c rename drivers/gpu/drm/i915/intel_dp.h => include/drm/drm_dp_helper.h (70%) create mode 100644 include/drm/ttm/ttm_execbuf_util.h create mode 100644 include/drm/ttm/ttm_lock.h create mode 100644 include/drm/ttm/ttm_object.h commit 4361e52ad0372e6fd2240a2207b49a4de1f45ca9 Author: Dave Airlie <ai...@re...> Date: Thu Dec 10 15:59:32 2009 +1000 drm/radeon/kms: fix warning about cur_placement being uninitialised. Signed-off-by: Dave Airlie <ai...@re...> commit 115a5c2ba0aac55e1bac390f271c818c3cbfa1fb Merge: 0b5e8db fb53f86 Author: Dave Airlie <ai...@re...> Date: Thu Dec 10 15:47:57 2009 +1000 Merge remote branch 'korg/drm-radeon-next' of into drm-linus This merges some TTM overhauls to allow us to do better object placement for certain radeon GPUs that need scanout+cursor within range of each other, along with an API change to not return ERESTART to userspace, but to use ERESTARTSYS properly internally and have it convert to EINTR and catch that correctly. Also lots of radeon fixes across the board. commit 0b5e8db639de032bd4febbb0a5b1cd2c19bac26d Merge: 7b0a9e8 4f8d619 Author: Dave Airlie <ai...@re...> Date: Thu Dec 10 15:44:11 2009 +1000 Merge remote branch 'anholt/drm-intel-next' into drm-linus Pull more Intel changes in, especially one to init the GTT properly commit fb53f8621a3fab88776ae2450a1f3afc7920231b Author: Jerome Glisse <jg...@re...> Date: Wed Dec 9 21:55:10 2009 +0100 drm/ttm: Print debug information on memory manager when eviction fails This add helper function to print information on eviction placements and memory manager status when eviction fails to allocate memory space. Signed-off-by: Jerome Glisse <jg...@re...> Signed-off-by: Dave Airlie <ai...@re...> commit 99d7e48e8cb867f303439ad40e995e203841bd94 Author: Jerome Glisse <jg...@re...> Date: Wed Dec 9 21:55:09 2009 +0100 drm: Add memory manager debug function drm_mm_debug_table will print the memory manager state in table allowing to give a snapshot of the manager at given point in time. Usefull for debugging. Signed-off-by: Jerome Glisse <jg...@re...> Signed-off-by: Dave Airlie <ai...@re...> commit 550e2d9270e2f0a10c3b063899f70e4cca25fe72 Author: Dave Airlie <ai...@re...> Date: Wed Dec 9 14:15:38 2009 +1000 drm/radeon/kms: restore surface registers on resume. On resume on my rv530 laptop surface cntl was left disabled, so wierd stuff would happen with rendering to a tiled front buffer. This checks if the surface regs are assigned to bos and reprograms the surface registers on resume using the same path that clears them all on init. Signed-off-by: Dave Airlie <ai...@re...> commit 779720a3209849be202ac36a811e934865c50971 Author: Alex Deucher <ale...@gm...> Date: Wed Dec 9 19:31:44 2009 -0500 drm/radeon/kms/r600/r700: fallback gracefully on ucode failure Sent the wrong patch earlier. Signed-off-by: Alex Deucher <ale...@gm...> Signed-off-by: Dave Airlie <ai...@re...> commit 7cb7d1d7b650c9764c8a1b00e2b43d932acde779 Author: Jerome Glisse <jg...@re...> Date: Wed Dec 9 22:14:27 2009 +0100 drm/ttm: Initialize eviction placement in case the driver callback doesn't This would allow to catch driver callback error of not properly setting the eviction placement structure. Signed-off-by: Jerome Glisse <jg...@re...> Signed-off-by: Dave Airlie <ai...@li...> commit cf0fe4566dcc0c5bd9b7da8c9a53e712593db118 Author: Jerome Glisse <jg...@re...> Date: Wed Dec 9 18:21:55 2009 +0100 drm/radeon/kms: cleanup structure and module if initialization fails This would allow us to properly unload others module like TTM if initialization fails after we initiliazed TTM structure. Signed-off-by: Jerome Glisse <jg...@re...> Signed-off-by: Dave Airlie <ai...@li...> commit eaa5fd1a66fefd7cc918d80250d66fa48b10b81f Author: Jerome Glisse <jg...@re...> Date: Wed Dec 9 21:57:37 2009 +0100 drm/radeon/kms: actualy set the eviction placements we choose Stupid bug, somehow copying the eviction placements into the result structure was missing. Signed-off-by: Jerome Glisse <jg...@re...> Signed-off-by: Dave Airlie <ai...@li...> commit 4a04a844ba0c09b5641bf2ebd9f9517aa76e52fb Author: Jerome Glisse <jg...@re...> Date: Wed Dec 9 17:39:16 2009 +0100 drm/radeon/kms: Fix NULL ptr dereference radeon_atombios_fini might be call while there is not valid atombios structure allocated, thus test for a not null ptr before trying to access this structure. Signed-off-by: Jerome Glisse <jg...@re...> Signed-off-by: Dave Airlie <ai...@li...> commit b27b63750d912e80d61d2120c4a1664062d0f808 Author: Alex Deucher <ale...@gm...> Date: Wed Dec 9 17:44:25 2009 -0500 drm/radeon/kms/avivo: add support for new pll selection algo Supported on all AVIVO-based asics. Can be disabled via the new_pll module parameter: new_pll=0 - disable new_pll=1 - enable enabled by default [airlied: fixed to use do_div] Signed-off-by: Alex Deucher <ale...@gm...> Signed-off-by: Dave Airlie <ai...@li...> commit 69b3b5e59bc763c30d0098ae4bbe1225c0e82a04 Author: Alex Deucher <ale...@gm...> Date: Wed Dec 9 14:40:06 2009 -0500 drm/radeon/kms/avivo: fix some bugs in the display bandwidth setup Signed-off-by: Alex Deucher <ale...@gm...> Signed-off-by: Dave Airlie <ai...@li...> commit 2e7b6f7fa62d92d941c626f8ae45f5cd75a52d55 Author: Dave Airlie <ai...@re...> Date: Wed Dec 9 15:32:23 2009 +1000 drm/radeon/kms: fix return value from fence function. We only want to return here for errors, the wait functions return a positive timeout otherwise, which gets back to userspace and causes X to crash here. Signed-off-by: Dave Airlie <ai...@re...> commit 5cc6fbab9da5680e7e5d2507d0f0c2c52ff18031 Author: Thomas Hellstrom <the...@vm...> Date: Mon Dec 7 18:36:19 2009 +0100 drm/radeon: Remove tests for -ERESTART from the TTM code. Also sets affected TTM calls up to not wait interruptible, since that would cause an in-kernel spin until the TTM call succeeds, since the Radeon code does not return to user-space when a signal is received. Modifies interruptible fence waits to return -ERESTARTSYS rather than -EBUSY when interrupted by a signal, since that's the (yet undocumented) semantics required by the TTM sync object hooks. Signed-off-by: Thomas Hellstrom <the...@vm...> Signed-off-by: Jerome Glisse <jg...@re...> Signed-off-by: Dave Airlie <ai...@re...> commit 98ffc4158e12008102cb6ae242a7fc46f9243f0d Author: Thomas Hellstrom <the...@vm...> Date: Mon Dec 7 18:36:18 2009 +0100 drm/ttm: Have the TTM code return -ERESTARTSYS instead of -ERESTART. Return -ERESTARTSYS instead of -ERESTART when interrupted by a signal. The -ERESTARTSYS is converted to an -EINTR by the kernel signal layer before returned to user-space. Signed-off-by: Thomas Hellstrom <the...@vm...> Signed-off-by: Jerome Glisse <jg...@re...> Signed-off-by: Dave Airlie <ai...@re...> commit 312ea8da049a1830aa50c6e00002e50e30df476e Author: Jerome Glisse <jg...@re...> Date: Mon Dec 7 15:52:58 2009 +0100 drm/radeon/kms: Convert radeon to new TTM validation API (V2) This convert radeon to use new TTM validation API, it doesn't really take advantage of it beside in the eviction case. Signed-off-by: Jerome Glisse <jg...@re...> Signed-off-by: Dave Airlie <ai...@re...> commit ca262a9998d46196750bb19a9dc4bd465b170ff7 Author: Jerome Glisse <jg...@re...> Date: Tue Dec 8 15:33:32 2009 +0100 drm/ttm: Rework validation & memory space allocation (V3) This change allow driver to pass sorted memory placement, from most prefered placement to least prefered placement. In order to avoid long function prototype a structure is used to gather memory placement informations such as range restriction (if you need a buffer to be in given range). Range restriction is determined by fpfn & lpfn which are the first page and last page number btw which allocation can happen. If those fields are set to 0 ttm will assume buffer can be put anywhere in the address space (thus it avoids putting a burden on the driver to always properly set those fields). This patch also factor few functions like evicting first entry of lru list or getting a memory space. This avoid code duplication. V2: Change API to use placement flags and array instead of packing placement order into a quadword. V3: Make sure we set the appropriate mem.placement flag when validating or allocation memory space. [Pending Thomas Hellstrom further review but okay from preliminary review so far]. Signed-off-by: Jerome Glisse <jg...@re...> Signed-off-by: Dave Airlie <ai...@re...> commit a2e68e92d384d37c8cc6bb7206d43b1eb9bc3f08 Author: Jerome Glisse <jg...@re...> Date: Mon Dec 7 15:52:56 2009 +0100 drm: Add search/get functions to get a block in a specific range These are required for changes to TTM. Signed-off-by: Jerome Glisse <jg...@re...> Signed-off-by: Dave Airlie <ai...@re...> commit cf2f05d30dacab32e6866347be6cbfa4030b33b7 Author: Dave Airlie <ai...@re...> Date: Tue Dec 8 15:45:13 2009 +1000 drm/radeon/kms: fix avivo tiling regression since radeon object rework The object rework moved the tiling flag setup around wrongly, so tiling we getting setup then overwritten by fb format. Fixes regression with drm-radeon-next on rv530 laptop tiling test. Signed-off-by: Dave Airlie <ai...@re...> commit 4f8d619cc3ab805aa1726c1dfe196a0705b955bd Author: Chris Wilson <ch...@ch...> Date: Tue Dec 8 22:12:06 2009 +0000 drm/i915: Remove a debugging printk from hangcheck A residual bare printk survived the merger of the hang detector, remove this debugging left-over. Signed-off-by: Chris Wilson <ch...@ch...> Signed-off-by: Eric Anholt <er...@an...> commit d3f420d1089169fb48366e1aa750bdd92db0a04b Author: Alex Deucher <ale...@gm...> Date: Tue Dec 8 14:30:49 2009 -0500 drm/radeon/kms: make sure i2c id matches Entries in the i2c table aren't always ordered by id. This allows us to remove some quirks that are no longer needed. Signed-off-by: Alex Deucher <ale...@gm...> Signed-off-by: Dave Airlie <ai...@re...> commit 279b215ecb8acc735c01ac89b1aa28c4a27dcafa Author: Alex Deucher <ale...@gm...> Date: Tue Dec 8 14:07:03 2009 -0500 drm/radeon/kms: make sure ss id matches entries in the ss table aren't always ordered by id. Signed-off-by: Alex Deucher <ale...@gm...> Signed-off-by: Dave Airlie <ai...@re...> commit 390d0bbe88b3ef00c28086076d791533407f298e Author: Alex Deucher <ale...@gm...> Date: Tue Dec 8 12:48:20 2009 -0500 drm/radeon/kms: connector fixes - Don't add dac load detection property to DVI-D - Make sure i2c info is valid before adding DP aux chan bus - Don't create scaling_mode_property twice - fix typo that prevented coherent and load detection from working - add coherent prop to DP (for dp->dvi adapters) Signed-off-by: Alex Deucher <ale...@gm...> Signed-off-by: Dave Airlie <ai...@re...> commit ec42a6e7dcfc2e9a92fad1c132bc9e110fafeb3f Author: Dave Airlie <ai...@re...> Date: Tue Dec 8 15:58:08 2009 +1000 drm/ttm: fix memory leak noticed by kmemleak. If we don't need the zone we need to free it. Acked-By: Thomas Hellstrom <the...@vm...> Signed-off-by: Dave Airlie <ai...@re...> commit b16d9acbdb97452d1418420e069acf7381ef10bb Author: Zhao Yakui <yak...@in...> Date: Wed Dec 9 11:23:42 2009 +0800 drm: disable all the possible outputs/crtcs before entering KMS mode Sometimes we will use a crtc for integerated LVDS, which is different with that assigned by BIOS. If we want to get flicker-free transitions, then we could read out the current state for it and set our current state accordingly. But it is true that if we aren't reading current state out, we do need to turn everything off before modesetting. Otherwise the clocks can get very angry and we get things worse than a flicker at boot. In fact we also do the similar thing in UMS mode. We will disable all the possible outputs/crtcs for the first modesetting. So we disable all the possible outputs/crtcs before entering the KMS mode. Before we configure connector/encoder/crtc, the function of drm_helper_disable_unused_function can disable all the possible outputs/crtcs. Signed-off-by: Zhao Yakui <yak...@in...> Reviewed-by: Eric Anholt <er...@an...> Reviewed-by: Rafal Milecki <za...@gm...> Signed-off-by: Dave Airlie <ai...@re...> commit 7e8b60faea972604c315634cff62d44803731ea9 Author: Andrew Lutomirski <lu...@mi...> Date: Sun Nov 8 13:49:51 2009 -0500 drm/i915: restore render clock gating on resume Rather than restoring just a few clock gating registers on resume, just reinitialize the whole thing. Signed-off-by: Andy Lutomirski <lu...@mi...> [anholt: Fixed up for RC6 support landed since the patch was written] Signed-off-by: Eric Anholt <er...@an...> commit 7b0a9e8302522d5f7bb7fab6b8a3c8ce8181609c Merge: 3f838fc d4877cf Author: Dave Airlie <ai...@re...> Date: Tue Dec 8 14:29:15 2009 +1000 Merge remote branch 'korg/drm-radeon-dp' into drm-linus This merges the radeon KMS DisplayPort and hotplug detect support. Tested on RV635 DP card with a Dell 2408 monitor. Conflicts: drivers/gpu/drm/drm_fb_helper.c commit 3f838fc50c0dcdc993c24f6f5da0cda1228fc276 Merge: 3ff9916 22dd501 Author: Dave Airlie <ai...@re...> Date: Tue Dec 8 14:06:07 2009 +1000 Merge remote branch 'korg/drm-radeon-next' into drm-linus This merges all the radeon changes that weren't reliant on core-next. commit 3ff99164f67aae78a2bd2313f65ad55bddb1ffea Merge: 1bd049f f2b115e Author: Dave Airlie <ai...@re...> Date: Tue Dec 8 14:03:47 2009 +1000 Merge remote branch 'anholt/drm-intel-next' into drm-linus This merges the upstream Intel tree and fixes up numerous conflicts due to patches merged into Linus tree later in -rc cycle. Conflicts: drivers/char/agp/intel-agp.c drivers/gpu/drm/drm_dp_i2c_helper.c drivers/gpu/drm/i915/i915_irq.c drivers/gpu/drm/i915/i915_suspend.c commit 1bd049fa895f9c6743f38b52ce14775f5a31ea63 Merge: 22763c5 b0a007d Author: Dave Airlie <ai...@re...> Date: Tue Dec 8 13:52:41 2009 +1000 Merge branch 'drm-core-next' into drm-linus Bring all core drm changes into 2.6.32 tree and resolve the conflict that occurs. Conflicts: drivers/gpu/drm/drm_fb_helper.c commit b0a007dc27d8d3ff3db07b3ea997323d9330f770 Author: Ben Skeggs <bs...@re...> Date: Tue Dec 8 11:15:10 2009 +1000 drm/kms: fix fb cmap allocation to use modeset->crtc not crtc crtc may be undefined at this point. Signed-off-by: Dave Airlie <ai...@re...> commit d4877cf2293f5463f531769fd12300cb3417c778 Author: Alex Deucher <ale...@gm...> Date: Fri Dec 4 16:56:37 2009 -0500 drm/radeon/kms: enable hpd support This enabled interrupt driven hpd support for all radeon chips. Assuming the hpd pin is wired up correctly, the driver will generate uevents on digital monitor connect and disconnect and retrain DP monitors automatically. Signed-off-by: Alex Deucher <ale...@gm...> Signed-off-by: Dave Airlie <ai...@re...> commit 429770b3e39999c4d025fbcb9959502adc3989d8 Author: Alex Deucher <ale...@gm...> Date: Fri Dec 4 15:26:55 2009 -0500 drm/radeon/kms: add asic callbacks for hpd Signed-off-by: Alex Deucher <ale...@gm...> Signed-off-by: Dave Airlie <ai...@re...> commit e0df1ac5c2cf346f4cc335025734978a4d747aa0 Author: Alex Deucher <ale...@gm...> Date: Fri Dec 4 15:12:21 2009 -0500 drm/radeon/kms: add hpd support for r6xx/r7xx/rs780/rs880 asics This just adds the functionality, it's not hooked up yet. Signed-off-by: Alex Deucher <ale...@gm...> Signed-off-by: Dave Airlie <ai...@re...> commit dcfdd4083509f9c46b1e92c58c062d50da50580e Author: Alex Deucher <ale...@gm...> Date: Fri Dec 4 15:04:19 2009 -0500 drm/radeon/kms: add hpd support for r5xx/rs600/rs690/rs740 asics This just adds the functionality, it's not hooked up yet. Signed-off-by: Alex Deucher <ale...@gm...> Signed-off-by: Dave Airlie <ai...@re...> commit 05a05c506f52041daa511f4899b63d21c9457474 Author: Alex Deucher <ale...@gm...> Date: Fri Dec 4 14:53:41 2009 -0500 drm/radeon/kms: add hpd support for r1xx-r4xx asics This just adds the functionality, it's not hooked up yet. Signed-off-by: Alex Deucher <ale...@gm...> Signed-off-by: Dave Airlie <ai...@re...> commit b500f68045058454549f5f8553110ef086d8d06b Author: Alex Deucher <ale...@gm...> Date: Thu Dec 3 13:08:53 2009 -0500 drm/radeon/kms: add regs and irq tracking bits for hpd Signed-off-by: Alex Deucher <ale...@gm...> Signed-off-by: Dave Airlie <ai...@re...> commit eed45b30cd1423f8dc10b4312700773cac13c1c8 Author: Alex Deucher <ale...@gm...> Date: Fri Dec 4 14:45:27 2009 -0500 drm/radeon/kms: get HPD info for connectors This populates the connectors with HPD (Hot Plug Detect) information. This will be used in subsequent patches for automatic digital monitor connect/disconnect handling. Signed-off-by: Alex Deucher <ale...@gm...> Signed-off-by: Dave Airlie <ai...@re...> commit 53c1e09fea4cf3fc0ec1f735a5fcab78c43cb55d Author: Alex Deucher <ale...@gm...> Date: Fri Nov 27 13:14:37 2009 -0500 drm/radeon/kms: clean up DP debugging Signed-off-by: Alex Deucher <ale...@gm...> Signed-off-by: Dave Airlie <ai...@re...> commit 9fa05c98d69eb77c82e59b5e434ca63bba230ba0 Author: Alex Deucher <ale...@gm...> Date: Fri Nov 27 13:01:46 2009 -0500 drm/radeon/kms: fix DP detect only return connected if there is actually a monitor connected. Signed-off-by: Alex Deucher <ale...@gm...> Signed-off-by: Dave Airlie <ai...@re...> commit e8696330e2a95e1b5872550dcf3ed04aecaf96b3 Author: Dave Airlie <ai...@re...> Date: Thu Nov 26 08:57:23 2009 +1000 drm/radeon/kms: drop unused array to fix warning. Signed-off-by: Dave Airlie <ai...@re...> commit 58682f107ad5178e47a45af3af1851442d05d7fc Author: Dave Airlie <ai...@re...> Date: Thu Nov 26 08:56:35 2009 +1000 drm/radeon/kms: do dp link training at dpms on time not mode set. This moves the radeon DP link training call to happen when we dpms on the encoder not when we set the mode. Signed-off-by: Dave Airlie <ai...@re...> commit 5fbfce7fc906c4a9e3d5e0872e5d6affaca54761 Author: Dave Airlie <ai...@re...> Date: Thu Nov 26 08:55:18 2009 +1000 drm/radeon/kms: make displayport work by reorganising vsemph setup. This fix reorganises the initial DP link training slightly, and actually makes DP work under kms here. Signed-off-by: Dave Airlie <ai...@re...> commit 54d9cb47dd6a754e434e5adeccb3a1e2835594fd Author: Dave Airlie <ai...@re...> Date: Thu Nov 26 08:49:17 2009 +1000 drm/radeon/kms/dp: fix return in dpcd retrival. Not returning here caused us to get a display port version of 0 for everything this caused power up to not get sent which ends up in a black screen. Signed-off-by: Dave Airlie <ai...@re...> commit ffd09c648a76a1cf96872c033e98d4730f9b10a4 Author: Alex Deucher <ale...@gm...> Date: Tue Nov 24 16:13:23 2009 -0500 drm/radeon/kms: free aux channel i2c adapter on destroy Signed-off-by: Alex Deucher <ale...@gm...> Signed-off-by: Dave Airlie <ai...@re...> commit 5801ead6bd6bddf5505d6eab55f84d8ee8106cd8 Author: Alex Deucher <ale...@gm...> Date: Tue Nov 24 13:32:59 2009 -0500 drm/radeon/kms: add support for DP modesetting Signed-off-by: Alex Deucher <ale...@gm...> Signed-off-by: Dave Airlie <ai...@re...> commit f92a8b6758bdc0f277c4f42aa7d736a205ac9ded Author: Alex Deucher <ale...@gm...> Date: Mon Nov 23 18:40:40 2009 -0500 drm/radeon/kms: handle dp sinks in atom encoder/transmitter tables Signed-off-by: Alex Deucher <ale...@gm...> Signed-off-by: Dave Airlie <ai...@re...> commit 4143e919ea999c9356ae4f71b5a3a80e075290d5 Author: Alex Deucher <ale...@gm...> Date: Mon Nov 23 18:02:35 2009 -0500 drm/radeon/kms: store sink type in atom dig connector This will be used laster when the encoder and transmitters are set up. Signed-off-by: Alex Deucher <ale...@gm...> Signed-off-by: Dave Airlie <ai...@re...> commit 6a93cb250a60af1bb7b4070949f8546a2fdc52ef Author: Alex Deucher <ale...@gm...> Date: Mon Nov 23 17:39:28 2009 -0500 drm/radeon/kms: i2c reorg - keep the atom i2c id in the i2c rec - fix gpio regs for GPIO and MDGPIO on pre-avivo chips - track whether the i2c line is hw capable - track whether the i2c line uses the multimedia i2c block Signed-off-by: Alex Deucher <ale...@gm...> Signed-off-by: Dave Airlie <ai...@re...> commit 1a66c95a64c9ae0bc8382254f544b24b23f498ec Author: Alex Deucher <ale...@gm...> Date: Fri Nov 20 19:40:13 2009 -0500 drm/radeon/kms: DP fixes and cleanup from the ddx - dpcp -> dpcd - fix up dig encoder routing - aux transaction table takes delay in 10 usec units Signed-off-by: Alex Deucher <ale...@gm...> Signed-off-by: Dave Airlie <ai...@re...> commit 746c1aa4d100f7441423050f34be79f401fbf7d4 Author: Dave Airlie <ai...@re...> Date: Tue Dec 8 07:07:28 2009 +1000 drm/radeon/kms: initial radeon displayport porting This is enough to retrieve EDID and DPCP. Signed-off-by: Dave Airlie <ai...@re...> commit 5618ca6abc2d6f475b258badc017a5254cf43d1b Author: Chris Wilson <ch...@ch...> Date: Wed Dec 2 15:15:30 2009 +0000 drm/i915: Set the error code after failing to insert new offset into mm ht. Signed-off-by: Chris Wilson <ch...@ch...> Cc: st...@ke... Signed-off-by: Eric Anholt <er...@an...> commit fcffb947668073fd9c47da33f8e72add7f62163d Author: Chris Wilson <ch...@ch...> Date: Wed Dec 2 16:48:57 2009 +0000 drm/i915: Report purgeable status in buffer lists. Signed-off-by: Chris Wilson <ch...@ch...> Signed-off-by: Eric Anholt <er...@an...> commit fc61901373987ad61851ed001fe971f3ee8d96a3 Author: David Woodhouse <dw...@in...> Date: Wed Dec 2 11:00:05 2009 +0000 agp/intel-agp: Clear entire GTT on startup Some BIOSes fail to initialise the GTT, which will cause DMA faults when the IOMMU is enabled. We need to clear the whole thing to point at the scratch page, not just the part that Linux is going to use. Signed-off-by: David Woodhouse <Dav...@in...> [anholt: Note that this may also help with stability in the presence of driver bugs, by not drawing to memory we don't own] Signed-off-by: Eric Anholt <er...@an...> commit 447aeb907e417e0e837b4a4026d5081c88b6e8ca Author: Dave Airlie <ai...@re...> Date: Tue Dec 8 09:25:45 2009 +1000 drm/ttm: fix unreachable code. None of the in-tree drivers use user objects yet so this wasn't hitting us. Stanse found unreachable code in ttm_bo_add_ttm: http://decibel.fi.muni.cz/~xslaby/stanse/error.cgi?db=32&id=714#l238 Reported-by: Jiri Slaby <jir...@gm...> Signed-off-by: Dave Airlie <ai...@re...> commit ab2c0672984f7f7ebec6d5f615fd5a6ebad26f3d Author: Dave Airlie <ai...@re...> Date: Fri Dec 4 10:55:24 2009 +1000 drm/intel: refactor DP i2c support and DP common header to drm helper Both radeon and nouveau can re-use this code so move it up a level so they can. However the hw interfaces for aux ch are different enough that the code to translate from mode, address, bytes to actual hw interfaces isn't generic, so move that code into the Intel driver. Signed-off-by: Dave Airlie <ai...@re...> commit 22dd50133ab7548adb23e86c302d6e8b75817e8c Author: Alex Deucher <ale...@gm...> Date: Sun Dec 6 19:45:17 2009 -0500 drm/radeon/kms: fix vram setup on rs600/rs690/rs740 Don't remap vram to 0 on IGP chips. Signed-off-by: Alex Deucher <ale...@gm...> Signed-off-by: Dave Airlie <ai...@re...> commit f2b115e69d46344ae7afcaad5823496d2a0d8650 Author: Adam Jackson <aj...@re...> Date: Thu Dec 3 17:14:42 2009 -0500 drm/i915: Fix product names and #defines IGD* isn't a useful name. Replace with the codenames, as sourced from pci.ids. Signed-off-by: Adam Jackson <aj...@re...> [anholt: Fixed up for merge with pineview/ironlake changes] Signed-off-by: Eric Anholt <er...@an...> commit 2a008d0ccde4ce59a2714e132d5f86a0771e6422 Author: Alex Deucher <ale...@gm...> Date: Fri Dec 4 16:35:57 2009 -0500 drm/radeon/kms: more r4xx lvds fixes Grab pll ref div from regs at driver init. r4xx seems very picky about the dividers for the pll driving lvds. Signed-off-by: Alex Deucher <ale...@gm...> Signed-off-by: Dave Airlie <ai...@re...> commit 92cde00cbaf3236ef7ea9bd4f0b43c8c4a3f507f Author: Alex Deucher <ale...@gm...> Date: Fri Dec 4 10:55:12 2009 -0500 drm/radeon/kms/legacy: set common regs to sane value The DDX and radeonfb always set these regs to a sane value. Signed-off-by: Alex Deucher <ale...@gm...> Signed-off-by: Dave Airlie <ai...@re...> commit 6b02af1c1f35550ce1a9873841fe9c50b1613591 Author: Alex Deucher <ale...@gm...> Date: Fri Dec 4 10:40:41 2009 -0500 drm/radeon/kms/legacy: set overscan regs on modeset These can end up with garbage otherwise. fixes rh bug 537140 Signed-off-by: Alex Deucher <ale...@gm...> Signed-off-by: Dave Airlie <ai...@re...> commit d904ef9b00a4473af16766e99f17bdbb5f0fde65 Author: Dave Airlie <ai...@re...> Date: Tue Nov 17 06:29:46 2009 +1000 drm/radeon/kms: add support to atom parser for FB read/write FB read/write really doesn't need to access the actual VRAM, we can just use a scratch area. This is required for using atom displayport calls later. Signed-off-by: Dave Airlie <ai...@re...> commit 107f517b8f2a9d5858e640bc046606b1cff14bb5 Author: Adam Jackson <aj...@re...> Date: Thu Dec 3 17:14:41 2009 -0500 agp/intel: Fix product names and #defines IGD* isn't a useful name. Replace with the codenames, as sourced from pci.ids. Signed-off-by: Adam Jackson <aj...@re...> Signed-off-by: Eric Anholt <er...@an...> commit f84676185368e36c6bc0eeab87ab73ed39042648 Merge: 22dd501 447aeb9 Author: Dave Airlie <ai...@re...> Date: Tue Dec 8 07:03:55 2009 +1000 Merge remote branch 'origin/drm-core-next' into test Conflicts: drivers/gpu/drm/drm_fb_helper.c commit ffb4728095b030f0885ea8e0907ee4ac57b130ee Author: Chris Wilson <ch...@ch...> Date: Mon Dec 7 11:34:08 2009 +0000 drm/i915: Drop a some common DRM_ERROR() These are handled by the error return being propagated to user-space and do not any add any information to the original error, so are useless. Signed-off-by: Chris Wilson <ch...@ch...> Signed-off-by: Eric Anholt <er...@an...> commit 85364905f9ae12d19cb34099257d493e5d9a0c4e Author: Jesse Barnes <jb...@vi...> Date: Thu Dec 3 09:52:43 2009 -0800 drm/i915: warn if Pineview CxSR can't be enabled If we don't detect a supported memory configuration, we can't enable CxSR. Warn the user in this case so they can file a bug. commit 22fd0fab3b512b5fcb4fd0b0668deeaa701511f9 Author: Jesse Barnes <jb...@vi...> Date: Wed Dec 2 13:42:53 2009 -0800 drm/i915: pageflip fixes This patch brings the tree up to date with some fixes that were in a more recent version of the page flipping patch you applied. It fixes pre-965 flip support, removes a leftover hack that forced alignment, and initializes the pipe & plane CRTC mappings. Signed-off-by: Jesse Barnes <jb...@vi...> Signed-off-by: Eric Anholt <er...@an...> commit 85bb0c377f259100d049937e30c85f7a8dea0fa0 Author: Thomas Hellstrom <the...@vm...> Date: Sun Dec 6 21:46:28 2009 +0100 drm: Export symbols needed for the vmwgfx driver. Signed-off-by: Thomas Hellstrom <the...@vm...> Signed-off-by: Dave Airlie <ai...@re...> commit 4bfd75cb08a362cb1df35dc6a5032d12843c6d87 Author: Thomas Hellstrom <the...@vm...> Date: Sun Dec 6 21:46:27 2009 +0100 drm/ttm: Export symbols needed for the vmwgfx driver. Signed-off-by: Thomas Hellstrom <the...@vm...> Signed-off-by: Dave Airlie <ai...@re...> commit c078aa2fc4d8e022c3b611e07b25ff77afdf9b73 Author: Thomas Hellstrom <the...@vm...> Date: Sun Dec 6 21:46:26 2009 +0100 drm/ttm: Add TTM execbuf utilities. Utilities to reserve, unreserve and fence a list of TTM buffer objects in a deadlock-safe manner. Used by the vmwgfx driver. Signed-off-by: Thomas Hellstrom <the...@vm...> Signed-off-by: Dave Airlie <ai...@re...> commit 4aff1013f5e4ae08a24155c029a2c5e1a7929de6 Author: Thomas Hellstrom <the...@vm...> Date: Sun Dec 6 21:46:25 2009 +0100 drm/ttm: Add ttm lock functionality. This is intended to be used by ttm-aware drivers to 1) Block clients to inactive masters when they try to validate buffers for GPU use. 2) Optionally block clients to the current master when there is thrashing due to GPU memory shortage. Used by the vmwgfx driver. Signed-off-by: Thomas Hellstrom <the...@vm...> Signed-off-by: Dave Airlie <ai...@re...> commit 88071539a3f5195f9e9dae38a3e35b3ce4b9f9fc Author: Thomas Hellstrom <the...@vm...> Date: Sun Dec 6 21:46:24 2009 +0100 drm/ttm: Add user-space objects. Add objects needed for user-space to maintain reference counts on ttm objects. This is used by the vmwgfx driver which allows user-space to maintain map-counts on dma buffers, lock-counts on the ttm lock and ref-counts on gpu surfaces, gpu contexts and dma buffer. Signed-off-by: Thomas Hellstrom <the...@vm...> Signed-off-by: Dave Airlie <ai...@re...> commit 64bffd03756249e11b8651ccf33ac3a50a93ed4c Author: Dave Airlie <ai...@re...> Date: Mon Dec 7 13:29:51 2009 +1000 drm/radeon/kms: fix RS600 MC setup. Again we try to put VRAM at 0, and it didn't work on this chipset, reports of corrupt RAM appeared on irc and bugzilla. Fix the vram location according to what the BIOS setup, I'm not 100% sure we don't need the same thing on rs690/rs780/rs880, we probably should do it there just in case as its what the DDX does. Signed-off-by: Dave Airlie <ai...@re...> commit 4f15d24adb39803ba7b9363d0bb5dd714a6706f6 Author: Alex Deucher <ale...@gm...> Date: Sat Dec 5 17:55:37 2009 -0500 drm/radeon/kms: fix up gart setup on rs600 Set up rs600 gart like r600: - set gart system aperture to vram - inside gart system aperture is unmapped* - outside gart system aperture is mapped* *mapped refers to memory handled by page tables Signed-off-by: Alex Deucher <ale...@gm...> Signed-off-by: Dave Airlie <ai...@re...> commit aa1a750ecb3412f69fe34081b249aa978154f360 Author: Dave Airlie <ai...@re...> Date: Fri Dec 4 11:51:34 2009 +1000 drm/radeon/kms: quirk for Gigabyte RV515 card, DVI+VGA not 2xDVI. Similiar to other quirks for RV515, this card has no second DVI port. Signed-off-by: Dave Airlie <ai...@re...> commit 0088dbdb809e8799cb8f26da5ac64b15201fa99d Author: Alex Deucher <ale...@gm...> Date: Thu Dec 3 16:28:02 2009 -0500 drm/radeon/kms: rs6xx/rs740: clamp vram to aperture size Signed-off-by: Alex Deucher <ale...@gm...> Cc: st...@ke... Signed-off-by: Dave Airlie <ai...@re...> commit 722f29434e72188b2d20f9b41f4b5952073ed568 Author: Alex Deucher <ale...@gm...> Date: Thu Dec 3 16:18:19 2009 -0500 drm/radeon/kms: fix vram setup on rs600 also fix up rs690 mem width. should fix fdo bug 25408 Signed-off-by: Alex Deucher <ale...@gm...> Cc: st...@ke... Signed-off-by: Dave Airlie <ai...@re...> commit 8de21525439e6b5bb8d8c81e49094d867bf82f6d Author: Alex Deucher <ale...@gm...> Date: Thu Dec 3 12:15:54 2009 -0500 drm/radeon/kms: fix legacy crtc2 dpms noticed by Matthijs Kooijman on fdo bug 22140 Signed-off-by: Alex Deucher <ale...@gm...> Cc: st...@ke... Signed-off-by: Dave Airlie <ai...@re...> commit 500b758725314ab1b5316eb0caa5b0fa26740e6b Author: Alex Deucher <ale...@gm...> Date: Wed Dec 2 11:46:52 2009 -0500 drm/radeon/kms: handle vblanks properly with dpms on avivo chips Copied from pre-avivo code. Signed-off-by: Alex Deucher <ale...@gm...> Cc: st...@ke... Signed-off-by: Dave Airlie <ai...@re...> commit 4e3f9b78ff917cc5c833858fdb5d96bc262e0bf3 Author: Alex Deucher <ale...@gm...> Date: Tue Dec 1 14:49:50 2009 -0500 drm/radeon/kms: Add quirk for HIS X1300 board Board is DVI+VGA, not DVI+DVI Signed-off-by: Alex Deucher <ale...@gm...> Cc: st...@ke... Signed-off-by: Dave Airlie <ai...@re...> commit 4c4f5413c3208da7621cd29baac1fbdca89181b2 Author: Alex Deucher <ale...@gm...> Date: Wed Dec 2 00:59:37 2009 -0500 drm/radeon/kms: don't use bios dividers for lvds on r4xx R4xx cards don't have lvds pll dividers since they use atom. should fix rh bug 541562 Signed-off-by: Alex Deucher <ale...@gm...> Signed-off-by: Dave Airlie <ai...@re...> commit d684076627a4561ea698bf7652a1a1baabdcdbdc Author: Rafał Miłecki <za...@gm...> Date: Tue Nov 10 22:26:21 2009 +0100 drm/radeon/kms: fix ring info in debugfs on r600+ Signed-off-by: Rafał Miłecki <za...@gm...> Acked-by: Jerome Glisse <jg...@re...> Signed-off-by: Dave Airlie <ai...@re...> commit 93e7de7b37cb6c75032007e5b84e1305f1705485 Author: Rafał Miłecki <za...@gm...> Date: Wed Nov 4 23:34:10 2009 +0100 drm/radeon/kms: fix typo in define: engine -> memory Signed-off-by: Rafał Miłecki <za...@gm...> Signed-off-by: Dave Airlie <ai...@re...> commit c142c3e5e3e826bdeca77062ec44be558ff2f6b9 Author: Rafał Miłecki <za...@gm...> Date: Fri Nov 6 11:38:34 2009 +0100 drm/radeon/kms/pm: fix typos Unit typo noticed by taiu on IRC Signed-off-by: Rafał Miłecki <za...@gm...> Signed-off-by: Dave Airlie <ai...@re...> commit 01d01ba947670cf58f22119fc126fdf39078f6ba Author: Dave Airlie <ai...@re...> Date: Fri Dec 4 10:18:02 2009 +1000 drm/mm: fixup typo in debug functions. Free and used were reversed. Signed-off-by: Dave Airlie <ai...@re...> commit 884840aa3ce3214259e69557be5b4ce0d781ffa4 Author: Jakob Bornecrantz <ja...@vm...> Date: Thu Dec 3 23:25:47 2009 +0000 drm: Add dirty ioctl and property This commit adds a ioctl and property to allow userspace to notify the kernel that a framebuffer has changed. Instead of snooping the command stream this allows finer grained tracking of which areas have changed. The primary user for this functionality is virtual hardware like the vmware svga device, but also Xen hardware likes to be notify. There is also real hardware like DisplayLink and DisplayPort that might take advantage of this ioctl. Signed-off-by: Jakob Bornecrantz <ja...@vm...> Signed-off-by: Dave Airlie <ai...@re...> commit c3a73ba13bac7fd96030f39202b2d37fb19c46a6 Author: Martin Michlmayr <tb...@cy...> Date: Thu Nov 19 16:29:45 2009 +0000 drm/ttm: Fix build failure due to missing struct page drm/ttm fails to build on MIPS because "struct page" is not known: | In file included from drivers/gpu/drm/ttm/ttm_memory.c:28: | include/drm/ttm/ttm_memory.h:154: warning: 'struct page' declared inside parameter list | include/drm/ttm/ttm_memory.h:154: warning: its scope is only this definition or declaration, which is probably not what you want | include/drm/ttm/ttm_memory.h:156: warning: 'struct page' declared inside parameter list | drivers/gpu/drm/ttm/ttm_memory.c:540: error: conflicting types for 'ttm_mem_global_alloc_page' | include/drm/ttm/ttm_memory.h:154: error: previous declaration of 'ttm_mem_global_alloc_page' was here | drivers/gpu/drm/ttm/ttm_memory.c:561: error: conflicting types for 'ttm_mem_global_free_page' | include/drm/ttm/ttm_memory.h:156: error: previous declaration of 'ttm_mem_global_free_page' was here Signed-off-by: Martin Michlmayr <tb...@cy...> Cc: st...@ke... Acked-by: Thomas Hellstrom <the...@vm...> Signed-off-by: Dave Airlie <ai...@re...> commit 46a79fa08a9a890a12cf9ec3ce51800911a907bf Author: Dan Carpenter <er...@gm...> Date: Sat Nov 28 12:30:32 2009 +0200 drm/ttm: fix small memory leak in ttm_memory.c I moved the allocation until after the check for (si->totalhigh == 0). Signed-off-by: Dan Carpenter <er...@gm...> Acked-By: Thomas Hellstrom <the...@vm...> Signed-off-by: Dave Airlie <ai...@re...> commit 1a95916f5465ad6c91398f17924949db7e0b5c36 Author: Kristian Høgsberg <kr...@bi...> Date: Wed Dec 2 12:13:48 2009 -0500 drm: Add compatibility #ifdefs for *BSD This let's use use the linux drm headers as the canonical source for libdrm on all platforms. Signed-off-by: Kristian Høgsberg <kr...@bi...> Signed-off-by: Dave Airlie <ai...@re...> commit 862302ffe422378a5213f558fc5cdf62c37050a9 Author: Thomas Hellstrom <the...@vm...> Date: Wed Dec 2 18:15:25 2009 +0000 drm: Add support for drm master_[set|drop] callbacks. The vmwgfx driver has a per master rw lock around TTM, to guarantee mutual exclusion when needed. This is typically when all evictable buffers are evicted due to 1) vt switch 2) master switch 3) suspend / resume. In the multi-master case, on master switch the new master takes the previously active master lock in write mode, and then evicts all buffers. Any clients to previous masters will then block on that lock when trying to validate a buffer. fbdev also acts as a virtual master wrt this. Signed-off-by: Thomas Hellstrom <the...@vm...> Signed-off-by: Jakob Bornecrantz <ja...@vm...> Signed-off-by: Dave Airlie <ai...@re...> commit 9340d8cfeacd16cef1cbe94527f7baaed7640669 Author: Adam Jackson <aj...@re...> Date: Thu Dec 3 17:44:40 2009 -0500 drm/edid: Decode 3-byte CVT codes from EDID 1.4 Signed-off-by: Adam Jackson <aj...@re...> Signed-off-by: Dave Airlie <ai...@re...> commit 2dbdc52c8162291aa7541b8ba6e1c1587f50c1dd Author: Adam Jackson <aj...@re...> Date: Thu Dec 3 17:44:39 2009 -0500 drm/edid: Add new detailed block types from EDID 1.4 Signed-off-by: Adam Jackson <aj...@re...> Signed-off-by: Dave Airlie <ai...@re...> commit 07a5e6324abacad56a8e7bcb44dd404e84f75f57 Author: Adam Jackson <aj...@re...> Date: Thu Dec 3 17:44:38 2009 -0500 drm/edid: Add DMT modes to the pool if the monitor is GTF-capable See also: http://bugzilla.redhat.com/539785 Signed-off-by: Adam Jackson <aj...@re...> Signed-off-by: Dave Airlie <ai...@re...> commit 7ac96a9cb4982140e206bf3b58236efb2498ab3f Author: Adam Jackson <aj...@re...> Date: Thu Dec 3 17:44:37 2009 -0500 drm/modes: Add drm_mode_hsync() Signed-off-by: Adam Jackson <aj...@re...> Signed-off-by: Dave Airlie <ai...@re...> commit 9cf00977da092096c7a983276dad8b3002d23a99 Author: Adam Jackson <aj...@re...> Date: Thu Dec 3 17:44:36 2009 -0500 drm/edid: Unify detailed block parsing between base and extension blocks Also fix an embarassing bug in standard timing subblock parsing that would result in an infinite loop. Signed-off-by: Adam Jackson <aj...@re...> Signed-off-by: Dave Airlie <ai...@re...> commit 6e36595a2131e7ed5ee2674be54b2713ba7f0490 Author: Zhao Yakui <yak...@in...> Date: Wed Dec 2 10:03:34 2009 +0800 drm/i915: Declare the new VBT parsing functions as static Signed-off-by: Zhao Yakui <yak...@in...> Signed-off-by: Eric Anholt <er...@an...> commit 652af9d74e1a3a10bb10f0d8e8f42ddac26bbc1a Author: Zhao Yakui <yak...@in...> Date: Wed Dec 2 10:03:33 2009 +0800 drm/i915: Add the missing clonemask for display port on Ironlake Add the missing clonemask for display port on Ironlake. Signed-off-by: Zhao Yakui <yak...@in...> Reviewed-by: Zhenyu Wang <zh...@li...> cc: st...@ke... Signed-off-by: Eric Anholt <er...@an...> commit f24bc39facc1e74eb989908106fe9f6d375ae16e Author: Zhao Yakui <yak...@in...> Date: Wed Dec 2 10:03:32 2009 +0800 drm/i915: fix the incorrect condition judgement in dp_is_present_in_vbt We were always looking for the PORT_IDPB entry. Signed-off-by: Zhao Yakui <yak...@in...> Reviewed-by: Zhenyu Wang <zh...@li...> Signed-off-by: Eric Anholt <er...@an...> commit 4c7886791264f03428d5424befb1b96f08fc90f4 Author: Jerome Glisse <jg...@re...> Date: Fri Nov 20 14:29:23 2009 +0100 drm/radeon/kms: Rework radeon object handling The locking & protection of radeon object was somewhat messy. This patch completely rework it to now use ttm reserve as a protection for the radeon object structure member. It also shrink down the various radeon object structure by removing field which were redondant with the ttm information. Last it converts few simple functions to inline which should with performances. airlied: rebase on top of r600 and other changes. Signed-off-by: Jerome Glisse <jg...@re...> Signed-off-by: Dave Airlie <ai...@re...> commit 1614f8b17b8cc3ad143541d41569623d30dbc9ec Author: Dave Airlie <ai...@re...> Date: Tue Dec 1 16:04:56 2009 +1000 drm/radeon/kms: add irq mitigation code for sw interrupt. We really don't need to process every irq that comes in, we only really want to do SW irq processing when we are actually waiting for a fence to pass. I'm not 100% sure this is race free esp on non-MSI systems so it needs some testing. Signed-off-by: Dave Airlie <ai...@re...> commit d8f60cfc93452d0554f6a701aa8e3236cbee4636 Author: Alex Deucher <ale...@gm...> Date: Tue Dec 1 13:43:46 2009 -0500 drm/radeon/kms: Add support for interrupts on r6xx/r7xx chips (v3) This enables the use of interrupts on r6xx/r7xx hardware. Interrupts are implemented via a ring buffer. The GPU adds interrupts vectors to the ring and the host reads them off in the interrupt handler. The interrupt controller requires firmware like the CP. This firmware must be installed and accessble to the firmware loader for interrupts to function. MSIs don't seem to work on my RS780. They work fine on all my discrete cards. I'm not sure about other RS780s or RS880s. I've disabled MSIs on RS780 and RS880, but it would probably be worth checking on some other systems. v2 - fix some checkpatch.pl problems; re-read the disp int status reg if we restart the ih; v3 - remove the irq handler if r600_irq_init() fails; remove spinlock in r600_ih_ring_fini(); move ih rb overflow check to r600_get_ih_wptr(); move irq ack to separate function; Signed-off-by: Alex Deucher <ale...@gm...> Signed-off-by: Dave Airlie <ai...@re...> commit 50dafba685c0f12c23d315820370b32d9ba64db7 Author: Dave Airlie <ai...@re...> Date: Tue Dec 1 15:02:17 2009 +1000 drm/radeon/kms: call correct atom table for digital output dpms. found while working on displayport. Signed-off-by: Dave Airlie <ai...@re...> commit ee2215f0b269f4c460807e3f827665eb7049aa34 Author: Jerome Glisse <jg...@re...> Date: Thu Nov 26 15:58:36 2009 +0100 drm/radeon/kms: Don't overwrite crtc_gen_cntl or crtc_gen_cntl2 Don't overwritte crtc_gen_cntl or crtc_gen_cntl2 or we may loose the cursor. This especialy happen when changing video mode. Fix bugs: https://bugzilla.redhat.com/show_bug.cgi?id=529146 Signed-off-by: Jerome Glisse <jg...@re...> Signed-off-by: Dave Airlie <ai...@re...> commit ed160143c6967e89aee05b0685e73c4103bb3e38 Author: Alex Deucher <ale...@gm...> Date: Tue Dec 1 14:12:14 2009 -0500 drm/radeon/kms: add tv standard property to tv connectors Lets user select tv-standard. The property was there, just not hooked up. Signed-off-by: Alex Deucher <ale...@gm...> Signed-off-by: Dave Airlie <ai...@re...> commit 72542d77058bd45ccafd1e15ed3c70349fe3277b Author: Dave Airlie <ai...@re...> Date: Tue Dec 1 14:06:31 2009 +1000 drm/radeon/kms: ignore unposted GPUs with no BIOS. If we find a GPU but we can't find its BIOS and it isn't posted, then ignore it. Signed-off-by: Dave Airlie <ai...@re...> commit 4b30b87042aa71ed8682e4df622a10456796fccd Author: Dave Airlie <ai...@re...> Date: Tue Dec 1 09:13:40 2009 +1000 drm/radeon/kms: fix divide by 0 in clocks code If the chip isn't initialised properly this can happen. also fix return value in combios clocks function. Signed-off-by: Dave Airlie <ai...@re...> commit 7dde8a19656ddec769b609e8b5662aa7243b8b6a Author: Alex Deucher <ale...@gm...> Date: Mon Nov 30 01:40:24 2009 -0500 drm/radeon/kms/atom: pull misc mode info for lvds from bios tables sync polarity, etc. This will likely fix LVDS problems on some laptops. Signed-off-by: Alex Deucher <ale...@gm...> Signed-off-by: Dave Airlie <ai...@re...> commit 30256a3f6b646f6c6ab7276a97b40792faac5f1d Author: Jerome Glisse <jg...@re...> Date: Mon Nov 30 17:47:59 2009 +0100 drm/radeon/kms: Disable agp only if we are dealing with an AGP GPU On IGP if you pass option agpmode=-1 you would overwrite the set_page function callback with improper function which endup in non functioning hw. This patch will disable agp when giving agpmode=-1 parameter only if we are dealing with an AGP GPU. Signed-off-by: Jerome Glisse <jg...@re...> Signed-off-by: Dave Airlie <ai...@re...> commit ec51efa9b2b8ff10b535a853c293e85bada886e4 Author: Pierre Ossman <pi...@os...> Date: Mon Nov 30 21:15:44 2009 +0100 drm/radeon/kms: Disable both CRTCs during mode switch Reconfiguring one CRTC whilst another is running can cause a hang under some circumstances. Unfortunately we haven't pinpointed exactly what those circumstances are, so disable all CRTCs for every mode switch. Signed-off-by: Pierre Ossman <pi...@os...> Acked-by: Alex Deucher <ale...@gm...> Signed-off-by: Dave Airlie <ai...@re...> commit 32f48ffea91008a27b99aab7a68a3443559d83fb Author: Alex Deucher <ale...@gm...> Date: Mon Nov 30 01:54:16 2009 -0500 drm/radeon/kms: fix LVDS setup on r4xx R4xx mobility chips use atombios, which does not store the LVDS_GEN_CNTL parameter setup like combios. Rather, it's configured in LVDSEncoderControl. As such, LVDS_GEN_CNTL is set wrong when on resume. Call LVDSEncoderControl to set it properly. Should fix fdo bug 25336 Signed-off-by: Alex Deucher <ale...@gm...> Signed-off-by: Dave Airlie <ai...@re...> commit 23956dfa82eab95931aab5fa9886c1e96c41e4dc Author: Dave Airlie <ai...@re...> Date: Mon Nov 23 12:01:09 2009 +1000 drm/radeon/kms: add HDP flushing for all GPUs. rendercheck under kms on r600s was failing due to HDP flushing not happening. This adds HDP flushing to the object wait function for r100->r700 families. rendercheck passes basic tests on r600 with this change. Acked-by: Alex Deucher <ale...@gm...> Signed-off-by: Dave Airlie <ai...@re...> commit 38e1492130c42ac806ffd8b21ccf64eb1c997d10 Author: Michel Dänzer <da...@vm...> Date: Wed Aug 5 00:19:51 2009 +0200 drm/radeon: Give userspace more accurate information about available memory. This patch varies from the original and just removes memory for kernel pinned objects. Sign... [truncated message content] |
From: Linus T. <tor...@li...> - 2009-12-10 15:32:00
|
On Thu, 10 Dec 2009, Dave Airlie wrote: > > The biggest missing feature [ ... ] No, the biggest missing feature is that Fedora is _still_ shipping Nouveau, and I'm _still_ not seeing Red Hat people actively trying to get it merged into mainline. What the _hell_ is going on? Linus |
From: Xavier B. <xav...@fr...> - 2009-12-10 16:18:35
|
On Thu, 2009-12-10 at 07:17 -0800, Linus Torvalds wrote: > > On Thu, 10 Dec 2009, Dave Airlie wrote: > > > > The biggest missing feature [ ... ] > > No, the biggest missing feature is that Fedora is _still_ shipping > Nouveau, and I'm _still_ not seeing Red Hat people actively trying to get > it merged into mainline. > > What the _hell_ is going on? Last time they were asked that, they wanted to be free of changing their kernel/userspace interface before upstreaming. Xav |
From: Linus T. <tor...@li...> - 2009-12-10 16:24:23
|
On Thu, 10 Dec 2009, Xavier Bestel wrote: > > Last time they were asked that, they wanted to be free of changing their > kernel/userspace interface before upstreaming. I've heard all the excuses. If it isn't ready, they shouldn't ship it to millions of people. And if it's ready, they should work on merging it. No excuses. Linus |
From: Maarten M. <mad...@gm...> - 2009-12-10 17:41:13
|
On Thu, Dec 10, 2009 at 5:24 PM, Linus Torvalds <tor...@li...> wrote: > > > On Thu, 10 Dec 2009, Xavier Bestel wrote: >> >> Last time they were asked that, they wanted to be free of changing their >> kernel/userspace interface before upstreaming. > > I've heard all the excuses. If it isn't ready, they shouldn't ship it to > millions of people. And if it's ready, they should work on merging it. You assume that Red Hat has full control over the project, which i don't think is the case. The reason it isn't in staging yet (as far as i know) is because of some questions over the copyright of some (essential) microcode. Either the question needs to be answered, or it has to be reverse engineered to the point that it's possible to generate it. > > No excuses. > > Linus > > ------------------------------------------------------------------------------ > Return on Information: > Google Enterprise Search pays you back > Get the facts. > http://p.sf.net/sfu/google-dev2dev > -- > _______________________________________________ > Dri-devel mailing list > Dri...@li... > https://lists.sourceforge.net/lists/listinfo/dri-devel > |
From: Linus T. <tor...@li...> - 2009-12-10 18:43:33
|
On Thu, 10 Dec 2009, Maarten Maathuis wrote: > > You assume that Red Hat has full control over the project, which i > don't think is the case. The reason it isn't in staging yet (as far as > i know) is because of some questions over the copyright of some > (essential) microcode. Either the question needs to be answered, or it > has to be reverse engineered to the point that it's possible to > generate it. I think people are just making up excuses, as evidenced by the fact that you're quoting a different excuse than I've heard before. The fact is, if there are license questions, then Fedora had better not be distributing the code either. And they clearly are. And don't tell me about "full control". There's absolutely full control over it being included or not. When I brought this up at the kernel summit, there were various other random excuses. I think one of them was that it wasn't part of an official Fedora release (which is sure as hell not true at least as of Fedora 12). I've heard the "but it's hard to merge" excuse too - which I also know is bullshit, because I can look at the git tree Fedora apparently uses, and it merges without any conflicts what-so-ever. The most common excuse is the "oh, but it might change" crap. But that's not even a very good excuse to start with, and it's what staging is for anyway. Somebody even made the crazy comment that "but Fedora isn't a real distribution, so it doesn't need to follow the rules everybody agreed to several _years_ ago wrt merging stuff to mainline". I _think_ that last one was meant as a joke. But it's damn hard to tell, because the ones that are apparently sincere are equally crazy. People just seem to make up total crap to make excuses for something that everybody knows is wrong. Linus |
From: Pekka E. <pe...@cs...> - 2009-12-10 19:13:55
|
Hi Linus, On Thu, 10 Dec 2009, Maarten Maathuis wrote: >> You assume that Red Hat has full control over the project, which i >> don't think is the case. The reason it isn't in staging yet (as far as >> i know) is because of some questions over the copyright of some >> (essential) microcode. Either the question needs to be answered, or it >> has to be reverse engineered to the point that it's possible to >> generate it. On Thu, Dec 10, 2009 at 8:42 PM, Linus Torvalds <tor...@li...> wrote: > I think people are just making up excuses, as evidenced by the fact that > you're quoting a different excuse than I've heard before. AFAICT, the "problem" here is that the guys running the nouveau project are simply not interested in merging the damn thing. I guess at some point one of us just needs to grab the code and send it to Greg for inclusion in -staging? Pekka |
From: Robert N. <rn...@2h...> - 2009-12-10 19:14:27
|
On Thu, 2009-12-10 at 10:42 -0800, Linus Torvalds wrote: > The fact is, if there are license questions, then Fedora had better > not be > distributing the code either. And they clearly are. This was the issue that prevented me from merging/shipping it with FreeBSD 8.0. Without getting foundation lawyers involved, it appears rather questionable. robert. -- Robert Noland <rn...@2h...> 2Hip Networks |
From: Alan C. <al...@lx...> - 2009-12-10 19:26:55
|
> The fact is, if there are license questions, then Fedora had better not be > distributing the code either. And they clearly are. Their choice, but it's not their project - they are just chosing to import it. > I've heard the "but it's hard to merge" excuse too - which I also know is > bullshit, because I can look at the git tree Fedora apparently uses, and > it merges without any conflicts what-so-ever. So merge it - it's your call as the maintainer of the master tree - or put it in staging and dike out the microcode - which is firmware tree stuff *anyway* Alan |
From: Jesse B. <jb...@vi...> - 2009-12-10 19:36:59
|
On Thu, 10 Dec 2009 10:42:46 -0800 (PST) Linus Torvalds <tor...@li...> wrote: > I _think_ that last one was meant as a joke. But it's damn hard to > tell, because the ones that are apparently sincere are equally crazy. > People just seem to make up total crap to make excuses for something > that everybody knows is wrong. Heh. I was only half-kidding. My point was that Fedora (for the purposes of graphics at least) is more like an individual developer's (or small group's) work tree that just happens to be available publicly. If you think of it that way, it kind of makes sense that some changes it includes aren't pushed upstream right away. But I fully admit it's a bogus excuse and a fairly cheap shot at Fedora. :) -- Jesse Barnes, Intel Open Source Technology Center |
From: Stephane M. <ste...@gm...> - 2009-12-10 19:53:52
|
On Thu, Dec 10, 2009 at 19:42, Linus Torvalds <tor...@li...> wrote: > > > On Thu, 10 Dec 2009, Maarten Maathuis wrote: >> >> You assume that Red Hat has full control over the project, which i >> don't think is the case. The reason it isn't in staging yet (as far as >> i know) is because of some questions over the copyright of some >> (essential) microcode. Either the question needs to be answered, or it >> has to be reverse engineered to the point that it's possible to >> generate it. > > I think people are just making up excuses, as evidenced by the fact that > you're quoting a different excuse than I've heard before. > > The fact is, if there are license questions, then Fedora had better not be > distributing the code either. And they clearly are. > > And don't tell me about "full control". There's absolutely full control > over it being included or not. > > When I brought this up at the kernel summit, there were various other > random excuses. I think one of them was that it wasn't part of an official > Fedora release (which is sure as hell not true at least as of Fedora 12). > > I've heard the "but it's hard to merge" excuse too - which I also know is > bullshit, because I can look at the git tree Fedora apparently uses, and > it merges without any conflicts what-so-ever. > > The most common excuse is the "oh, but it might change" crap. But that's > not even a very good excuse to start with, and it's what staging is for > anyway. > > Somebody even made the crazy comment that "but Fedora isn't a real > distribution, so it doesn't need to follow the rules everybody agreed to > several _years_ ago wrt merging stuff to mainline". > > I _think_ that last one was meant as a joke. But it's damn hard to tell, > because the ones that are apparently sincere are equally crazy. People > just seem to make up total crap to make excuses for something that > everybody knows is wrong. > I'm not sure why people are arguing so much over this, given that no nouveau devs were at the kernel summit, and we only heard rumours afterwards that there were complaints about us not being ready for merging. If you have issues to raise about nouveau, please raise them on the nouveau, mesa or dri lists, at least some time before starting to complain. I must say I didn't think such a big issue was going on here, that's the problem with rumours. Stephane (nouveau founder). |
From: Linus T. <tor...@li...> - 2009-12-10 23:37:55
|
On Thu, 10 Dec 2009, Stephane Marchesin wrote: > > I'm not sure why people are arguing so much over this, given that no > nouveau devs were at the kernel summit, and we only heard rumours > afterwards that there were complaints about us not being ready for > merging. The thing is, my complaint is not about whatever external driver project. We have those all the time. I'm not complaining about Nouveau people. I'm pissed off at distribution people. For years now, distributions have talked about "upstream first", because of the disaster and fragmentation that was Linux-2.4. And most of them do it, and have been fairly good about it. But not only is Fedora not following the rules, I know that Fedora people are actively making excuses about not following the rules. I know Red Hat actually employs (full-time or part-time I have no idea) some Nouveau dveloper, and by that point Red Hat should also man up and admit that they need to make "merge upstream" be a priority for them. See? I'm not complaining about _you_. I'm complaining about Fedora and Red Hat. > If you have issues to raise about nouveau, please raise them on the > nouveau, mesa or dri lists, at least some time before starting to > complain. I must say I didn't think such a big issue was going on > here, that's the problem with rumours. See above. It's not you. It's Fedora. If Fedora hadn't merged Nouveau and shipped it, I wouldn't care. Or rather, I probably still -would- care, but I would care because nVidia hardware is common, and I like open source drivers. But I wouldn't be disappointed and pissed off. And this has been going on for a _loong_ time now. Fedora has been shipping Nouveau for about a year now, I think. Linus |
From: Dave A. <ai...@gm...> - 2009-12-10 23:50:33
|
On Fri, Dec 11, 2009 at 9:37 AM, Linus Torvalds <tor...@li...> wrote: > > > On Thu, 10 Dec 2009, Stephane Marchesin wrote: >> >> I'm not sure why people are arguing so much over this, given that no >> nouveau devs were at the kernel summit, and we only heard rumours >> afterwards that there were complaints about us not being ready for >> merging. > > The thing is, my complaint is not about whatever external driver project. > > We have those all the time. I'm not complaining about Nouveau people. > > I'm pissed off at distribution people. For years now, distributions have > talked about "upstream first", because of the disaster and fragmentation > that was Linux-2.4. And most of them do it, and have been fairly good > about it. > > But not only is Fedora not following the rules, I know that Fedora people > are actively making excuses about not following the rules. I know Red Hat > actually employs (full-time or part-time I have no idea) some Nouveau > dveloper, and by that point Red Hat should also man up and admit that they > need to make "merge upstream" be a priority for them. > > See? I'm not complaining about _you_. I'm complaining about Fedora and Red > Hat. > >> If you have issues to raise about nouveau, please raise them on the >> nouveau, mesa or dri lists, at least some time before starting to >> complain. I must say I didn't think such a big issue was going on >> here, that's the problem with rumours. > > See above. It's not you. It's Fedora. If Fedora hadn't merged Nouveau and > shipped it, I wouldn't care. > > Or rather, I probably still -would- care, but I would care because nVidia > hardware is common, and I like open source drivers. But I wouldn't be > disappointed and pissed off. > > And this has been going on for a _loong_ time now. Fedora has been > shipping Nouveau for about a year now, I think. Its been shipping it for 2-3 years now, nouveau was a userspace X.org driver with a normal drm, we never wanted to upstream that but we need to get some exposure on it before the KMS effort took place. In my opinion barring the legal issue, nouveau has only been in an upstreamable state for about 2-3 months now, since it relied on a lot of core infrastructure we upstreamed with radeon KMS. So the delay isn't as major as you seem to think. The core TTM infrastructure we based radeon and nouveau on in F10, and F11 wasn't in any state suitable for upstream, however we felt it would help to expose the modesetting pieces to users before then to get them tested independent of the core DRM status. So Red Hat have been putting a lot of time and effort into upstreaming this driver, however until the ctxprog issues is resolved to our satisfaction, no Red Hat employee can add a Signed-off-by to this code. Why this doesn't affect Fedora so far is because its an open question with our lawyers, if they decide that we need to pull this from Fedora we will, until they do we are living with the status quo. Dave. |
From: Alan C. <al...@lx...> - 2009-12-10 23:56:56
|
> But not only is Fedora not following the rules, You changed the rules. You require a Signed-off-by:. Fedora can no more add a signed off by than you can. It's not their code nor Red Hat's code any more than they "own" the kernel because they pay someone to work on it. > See above. It's not you. It's Fedora. If Fedora hadn't merged Nouveau and > shipped it, I wouldn't care. And zillions of Nvidia users would have been worse off. It's really simple: if you want to merge it *you* pull it and sign it off. If you aren't prepared to do that then ask why Fedora should, its not their code either. Alan |
From: Linus T. <tor...@li...> - 2009-12-11 00:10:17
|
On Thu, 10 Dec 2009, Alan Cox wrote: > > > But not only is Fedora not following the rules, > > You changed the rules. You require a Signed-off-by:. Fedora can no more > add a signed off by than you can. It's not their code nor Red Hat's code > any more than they "own" the kernel because they pay someone to work on > it. You're avoiding the point: they are shipping it, they are paying for (at least some) development, and they seem to not even want to face the issue. Sign-offs aren't some new feature that took Red Hat people by surprise. The "get it merged upstream first" didn't change in any way from it: it just codified existing practice - of _course_ everybody expects copyrights to be honored and clear. > It's really simple: if you want to merge it *you* pull it and sign it off. > If you aren't prepared to do that then ask why Fedora should, its not > their code either. I'm not shipping it. They are. That's the difference. I realize that you have some emotional attachments to Red Hat, but ask yourself (and answer honestly): what would you think if some random other distro was packaging tens of thousands of lines of kernel code and not apparently working at trying to get them upstream? Dave claims it's only been going on for a few months, but quite frankly, we all know better. The nouveau kernel modules have been shipped for a lot longer than just F12. And it's possible that other distros are doing the same thing. I happen to know that Fedora does it (and has been doing it for at least a year), because I happen to have an Intel development machine that runs Fedora and was shipped by Intel with an nVidia card (and has a power supply that craps out if you don't use several hundred watts of power, so I can't change it to something more power-efficient - seriously). Linus |
From: C. B. <cbe...@pa...> - 2009-12-11 01:13:00
|
Linus Torvalds wrote: > On Thu, 10 Dec 2009, Alan Cox wrote: > >>> But not only is Fedora not following the rules, >>> >> You changed the rules. You require a Signed-off-by:. Fedora can no more >> add a signed off by than you can. It's not their code nor Red Hat's code >> any more than they "own" the kernel because they pay someone to work on >> it. >> > > You're avoiding the point: they are shipping it, they are paying for (at > least some) development, and they seem to not even want to face the issue. > > Sign-offs aren't some new feature that took Red Hat people by surprise. > The "get it merged upstream first" didn't change in any way from it: it > just codified existing practice - of _course_ everybody expects copyrights > to be honored and clear. > > >> It's really simple: if you want to merge it *you* pull it and sign it off. >> If you aren't prepared to do that then ask why Fedora should, its not >> their code either. >> > > I'm not shipping it. They are. That's the difference. > > I realize that you have some emotional attachments to Red Hat, but ask > yourself (and answer honestly): what would you think if some random other > distro was packaging tens of thousands of lines of kernel code and not > apparently working at trying to get them upstream? > > Dave claims it's only been going on for a few months, but quite frankly, > we all know better. The nouveau kernel modules have been shipped for a lot > longer than just F12. > > And it's possible that other distros are doing the same thing. I happen to > know that Fedora does it (and has been doing it for at least a year), > because I happen to have an Intel development machine that runs Fedora and > was shipped by Intel with an nVidia card (and has a power supply that > craps out if you don't use several hundred watts of power, so I can't > change it to something more power-efficient - seriously). > Thanks for the rather lengthly explanation, but in case you missed what people are trying to say here.. With all due respect Linus.. "patches welcome" |
From: Alan C. <al...@lx...> - 2009-12-11 09:17:01
|
> I realize that you have some emotional attachments to Red Hat, but ask > yourself (and answer honestly): what would you think if some random other > distro was packaging tens of thousands of lines of kernel code and not > apparently working at trying to get them upstream? Like Ubuntu does for a load of stuff and did for years ? I'd like to see stuff get upstream yes. The point you seem to be missing is you are ranting at the wrong people. I want to see it upstream too, but if you must shout at people do it productively at the right target. I would be cross if they were controlling and hiding it, but its sitting in a public repository, its maintained by a collection of people one of whom happens to work for Red Hat and anyone can grab it. It's vastly easier to get hold of than the userspace for some of the stuff in kernel. However the fundamental point stands. The only people who can sign it off are the people who wrote it. Those are the rules. Red Hat didn't write the code, Red Hat cannot sign it off however much you rant at them. You also previously said you don't want to merge stuff when the authors don't want it merged. If you like I can also dig out some Torvalds quotes about not wanting to dictate to distros. If you want to progress this then - Starting talking to the project *authors* - Help them decide what to do about the firmware stuff - If need be get the Linux Foundation, Red Hat and other relevant lawyers and people on a phone call with you so that legal issues can get discussed and you can shout at them as necessary too. I am not privy to what the lawyers think on this one. But I'd bet that the only way you'll get a full answer is in conjunction with lawyers speaking to lawyers, and the only way you'll get a sign off is when the lawyers say "yes". Anything else would be rather irresponsible. > And it's possible that other distros are doing the same thing. I happen to > know that Fedora does it (and has been doing it for at least a year), > because I happen to have an Intel development machine that runs Fedora and F11 certainly shipped some bits of it for 2D support. I am not sure if F10 shipped a purely userspace set up. Neither had it enabled as the default driver - they used "nv" or "vesa" depending upon the card. > was shipped by Intel with an nVidia card (and has a power supply that > craps out if you don't use several hundred watts of power, so I can't > change it to something more power-efficient - seriously). Alan |
From: David M. <da...@da...> - 2009-12-11 09:50:23
|
From: Alan Cox <al...@lx...> Date: Fri, 11 Dec 2009 09:18:43 +0000 > However the fundamental point stands. The only people who can sign it off > are the people who wrote it. Those are the rules. Red Hat didn't write the > code, Red Hat cannot sign it off however much you rant at them. You also > previously said you don't want to merge stuff when the authors don't want > it merged. I agree with a lot of what you say. However, one point remains is that we were told, by Dave Airlie, that they didn't want this code merged because the one person being paid to work on it "would be overwhelmed" if the code went upstream. I distinctly remember this being mentioned at the kernel summit. And you know what? That kind of excuse pisses me off too :-) |