Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751643AbZFSEyS (ORCPT ); Fri, 19 Jun 2009 00:54:18 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1751199AbZFSEyH (ORCPT ); Fri, 19 Jun 2009 00:54:07 -0400 Received: from gir.skynet.ie ([193.1.99.77]:40804 "EHLO gir.skynet.ie" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751170AbZFSEyF (ORCPT ); Fri, 19 Jun 2009 00:54:05 -0400 Date: Fri, 19 Jun 2009 05:54:04 +0100 (IST) From: Dave Airlie X-X-Sender: airlied@skynet.skynet.ie To: torvalds@linux-foundation.org cc: linux-kernel@vger.kernel.org, dri-devel@lists.sf.net Subject: [git pull] final drm pull for merge + AGP changes. Message-ID: User-Agent: Alpine 2.00 (DEB 1167 2008-08-23) MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="29444707-2130049323-1245387244=:20307" Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 16210 Lines: 406 This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. --29444707-2130049323-1245387244=:20307 Content-Type: TEXT/PLAIN; charset=ISO-8859-15 Content-Transfer-Encoding: 8BIT 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 This is a combined AGP and DRM tree: Major: AGP: Change AGP to use pages instead of arrays of unsigned long - since pageattr grew page array interfaces this is possible and should solve GEM on PAE issues. Run tested on my i945 and misc AGP boxes, cross compiled on IA64. Add support to two more AGP bridges for user memory (TTM) DRM: 1. Big cleanup patch that removes all the drm memory handling \o/, this is the bulk of this tree and thanks to Eric for doing it, its late because it relied on me having everying in the tree at a settled point. Future work is adding more kzalloc. It basically makes drm just use kmalloc and friends instead of insane wrappers. 2. misc i915 fixes 3. radeon KMS on powerpc - initial work 4. misc radeon KMS fixes + better security on buffer objects. Dave. drivers/char/agp/agp.h | 12 +- drivers/char/agp/ali-agp.c | 28 +- drivers/char/agp/amd-k7-agp.c | 2 +- drivers/char/agp/amd64-agp.c | 2 +- drivers/char/agp/ati-agp.c | 23 +- drivers/char/agp/backend.c | 8 +- drivers/char/agp/efficeon-agp.c | 5 +- drivers/char/agp/generic.c | 69 ++--- drivers/char/agp/hp-agp.c | 9 +- drivers/char/agp/i460-agp.c | 47 ++-- drivers/char/agp/intel-agp.c | 49 ++-- drivers/char/agp/nvidia-agp.c | 2 +- drivers/char/agp/parisc-agp.c | 20 +- drivers/char/agp/sgi-agp.c | 9 +- drivers/char/agp/sworks-agp.c | 2 +- drivers/char/agp/uninorth-agp.c | 30 ++- drivers/gpu/drm/drm_agpsupport.c | 14 +- drivers/gpu/drm/drm_auth.c | 4 +- drivers/gpu/drm/drm_bufs.c | 140 ++++------ drivers/gpu/drm/drm_context.c | 4 +- drivers/gpu/drm/drm_debugfs.c | 9 +- drivers/gpu/drm/drm_dma.c | 31 +-- drivers/gpu/drm/drm_drawable.c | 25 +- drivers/gpu/drm/drm_drv.c | 18 +- drivers/gpu/drm/drm_edid.c | 100 ++++--- drivers/gpu/drm/drm_fops.c | 8 +- drivers/gpu/drm/drm_gem.c | 8 +- drivers/gpu/drm/drm_hashtab.c | 6 +- drivers/gpu/drm/drm_ioctl.c | 14 +- drivers/gpu/drm/drm_irq.c | 44 +-- drivers/gpu/drm/drm_memory.c | 33 +-- drivers/gpu/drm/drm_mm.c | 48 +--- drivers/gpu/drm/drm_pci.c | 53 +---- drivers/gpu/drm/drm_proc.c | 8 +- drivers/gpu/drm/drm_scatter.c | 33 +-- drivers/gpu/drm/drm_sman.c | 29 +- drivers/gpu/drm/drm_stub.c | 19 +- drivers/gpu/drm/drm_vm.c | 12 +- drivers/gpu/drm/i810/i810_dma.c | 6 +- drivers/gpu/drm/i830/i830_dma.c | 6 +- drivers/gpu/drm/i915/i915_dma.c | 45 +-- drivers/gpu/drm/i915/i915_drv.h | 2 + drivers/gpu/drm/i915/i915_gem.c | 86 ++++-- drivers/gpu/drm/i915/i915_gem_debugfs.c | 4 +- drivers/gpu/drm/i915/i915_gem_tiling.c | 67 ++++- drivers/gpu/drm/i915/i915_mem.c | 24 +- drivers/gpu/drm/i915/intel_bios.c | 6 +- drivers/gpu/drm/i915/intel_display.c | 20 +- drivers/gpu/drm/i915/intel_fb.c | 6 +- drivers/gpu/drm/i915/intel_tv.c | 11 +- drivers/gpu/drm/mga/mga_dma.c | 14 +- drivers/gpu/drm/r128/r128_cce.c | 12 +- drivers/gpu/drm/r128/r128_state.c | 84 +++--- drivers/gpu/drm/radeon/r100.c | 85 +++--- drivers/gpu/drm/radeon/r300.c | 478 ++++++++++++++++++++++++++++-- drivers/gpu/drm/radeon/r300.h | 36 +++ drivers/gpu/drm/radeon/radeon.h | 9 +- drivers/gpu/drm/radeon/radeon_asic.h | 15 +- drivers/gpu/drm/radeon/radeon_atombios.c | 2 - drivers/gpu/drm/radeon/radeon_combios.c | 9 + drivers/gpu/drm/radeon/radeon_cp.c | 9 +- drivers/gpu/drm/radeon/radeon_device.c | 4 + drivers/gpu/drm/radeon/radeon_display.c | 2 +- drivers/gpu/drm/radeon/radeon_drv.c | 2 +- drivers/gpu/drm/radeon/radeon_i2c.c | 6 +- drivers/gpu/drm/radeon/radeon_kms.c | 4 +- drivers/gpu/drm/radeon/radeon_mem.c | 24 +- drivers/gpu/drm/radeon/radeon_reg.h | 1 + drivers/gpu/drm/radeon/radeon_state.c | 16 +- drivers/gpu/drm/radeon/radeon_ttm.c | 8 +- drivers/gpu/drm/radeon/rv515.c | 58 ++++ drivers/gpu/drm/savage/savage_bci.c | 21 +- drivers/gpu/drm/savage/savage_state.c | 17 +- drivers/gpu/drm/sis/sis_drv.c | 6 +- drivers/gpu/drm/ttm/ttm_agp_backend.c | 3 +- drivers/gpu/drm/ttm/ttm_bo.c | 11 +- drivers/gpu/drm/ttm/ttm_tt.c | 11 +- drivers/gpu/drm/via/via_map.c | 8 +- include/drm/drmP.h | 52 ---- include/drm/drm_edid.h | 92 +++--- include/drm/drm_memory_debug.h | 309 ------------------- include/drm/drm_mm.h | 21 +- include/linux/agp_backend.h | 2 +- 83 files changed, 1391 insertions(+), 1300 deletions(-) create mode 100644 drivers/gpu/drm/radeon/r300.h delete mode 100644 include/drm/drm_memory_debug.h commit a95fe463e73b8c7b2d97606ac86ce261f1270726 Author: Dave Airlie Date: Fri Jun 19 10:52:57 2009 +1000 agp: add user mapping support to ATI AGP bridge. This should fix TTM/KMS on some of the original ATI IGP chipsets. (rs100/rs200) Signed-off-by: Dave Airlie commit 95934f939c46ea2b37f3c91a4f8c82e003727761 Author: Dave Airlie Date: Fri Jun 19 10:29:20 2009 +1000 drm/i915: enable GEM on PAE. In theory now that the AGP subsystem is using struct page, we should have on problems enabling GEM on PAE systems. Signed-off-by: Dave Airlie commit fc436d9d3720b382566e03bef2d7391a58714999 Author: Dave Airlie Date: Fri Jun 19 10:22:21 2009 +1000 drm/radeon: fix unused variables warning just remove i variable left over from previous code. Signed-off-by: Dave Airlie commit 07613ba2f464f59949266f4337b75b91eb610795 Author: Dave Airlie Date: Fri Jun 12 14:11:41 2009 +1000 agp: switch AGP to use page array instead of unsigned long array This switches AGP to use an array of pages for tracking the pages allocated to the GART. This should enable GEM on PAE to work a lot better as we can pass highmem pages to the PAT code and it will do the right thing with them. Signed-off-by: Dave Airlie commit 2908826d045a89805714e0a3055a99dc40565d41 Author: Ondrej Zary Date: Wed Jun 10 12:41:11 2009 -0700 agpgart: detected ALi M???? chipset with M1621 Add M1621 chipset name to ali-agp, preventing "Detected ALi M???? chipset" message. Signed-off-by: Ondrej Zary Signed-off-by: Andrew Morton Signed-off-by: Dave Airlie commit 068a117ca38f27c9641db7642f24fe9270d9424e Author: Jerome Glisse Date: Wed Jun 17 13:28:30 2009 +0200 drm/radeon: command stream checker for r3xx-r5xx hardware For security purpose we want to make sure the userspace process doesn't access memory beyond buffer it owns. To achieve this we need to check states the userspace program. For color buffer and zbuffer we check that the clipping register will discard access beyond buffers set as color or zbuffer. For vertex buffer we check that no vertex fetch will happen beyond buffer end. For texture we check various texture states (number of mipmap level, texture size, texture depth, ...) to compute the amount of memory the texture fetcher might access. The command stream checking impact the performances so far quick benchmark shows an average of 3% decrease in fps of various applications. It can be optimized a bit more by caching result of checking and thus avoid a full recheck if no states changed since last check. Note that this patch is still incomplete on checking side as it doesn't check 2d rendering states. Signed-off-by: Jerome Glisse Signed-off-by: Dave Airlie commit 8b5c744485b75d940ccb1c83c9a358b20eb91346 Author: Michel D?nzer Date: Wed Jun 17 18:28:38 2009 +0200 drm/radeon: Fully initialize LVDS info also when we can't get it from the ROM. This makes the panel on my PowerBook light up. Signed-off-by: Dave Airlie commit 4e484e7dc5856ff5086b6329d82e36d4adaf1f02 Author: Michel D?nzer Date: Tue Jun 16 17:29:06 2009 +0200 radeon: Fix CP byte order on big endian architectures with KMS. Signed-off-by: Dave Airlie commit 62369028c7e2039b821799b3db52f0d622f0e8b5 Author: Michel D?nzer Date: Mon Jun 15 16:56:15 2009 +0200 agp/uninorth: Handle user memory types. This adds support for TTM to the uninorth AGP bridge. Signed-off-by: Dave Airlie commit 46f4b3eab73e621bc239bfa62ebdc44dcc0a877a Author: Michel D?nzer Date: Mon Jun 15 16:56:13 2009 +0200 drm/ttm: Add some powerpc cache flush code. Optimise the powerpc flushing path for TTM. Signed-off-by: Dave Airlie commit 919f32f1df228723f66bf5c5aed23e0ab076b1a1 Author: Michel D?nzer Date: Mon Jun 15 16:56:09 2009 +0200 radeon: Enable modesetting on non-x86. Signed-off-by: Dave Airlie commit 55c93278ec03c349af7b01933655b31c7f740df4 Author: Michel D?nzer Date: Mon Jun 15 16:56:11 2009 +0200 drm/radeon: Respect AGP cant_use_aperture flag. Some AGP devices can't map the aperture, radeon needs to tell TTM this. Signed-off-by: Dave Airlie commit 0454beab0f6bc6d350860abd549b86959d2f6f40 Author: Michel D?nzer Date: Mon Jun 15 16:56:07 2009 +0200 drm: EDID endianness fixes. Mostly replacing bitfields with explicit masks and shifts. Signed-off-by: Dave Airlie commit 00fa28ae29f70c9f26023f9922c4d2e1ca1297e3 Author: Dave Airlie Date: Thu Jun 18 18:08:33 2009 +1000 drm/radeon: this VRAM vs aperture test is wrong, just remove it. Its quite valid to have VRAM < aperture size. Signed-off-by: Dave Airlie commit 87ef92092fd092936535ba057ee19b97bb6a709a Author: Thomas Hellstrom Date: Wed Jun 17 12:29:57 2009 +0200 drm/ttm: fix an error path to exit function correctly Just a goto instead of a direct exit. Signed-off-by: Thomas Hellstrom Signed-off-by: Dave Airlie commit 89579f778266d5a4d08d0c64c46b1565218de9f9 Author: Thomas Hellstrom Date: Wed Jun 17 12:29:56 2009 +0200 drm: Apply "Memory fragmentation from lost alignment blocks" also for the atomic path by using a common code-path. Signed-off-by: Thomas Hellstrom Signed-off-by: Dave Airlie commit 78ecf091aa592a9e160ebbbfa5873c2bb2e2d0f8 Author: Thomas Hellstrom Date: Wed Jun 17 12:29:55 2009 +0200 ttm: Return -ERESTART when a signal interrupts bo eviction. A bug caused the ttm code to just terminate the wait when a signal was received while waiting for the GPU to release a buffer object that was to be evicted. Signed-off-by: Thomas Hellstrom Signed-off-by: Dave Airlie commit 9a298b2acd771d8a5c0004d8f8e4156c65b11f6b Author: Eric Anholt Date: Tue Mar 24 12:23:04 2009 -0700 drm: Remove memory debugging infrastructure. It hasn't been used in ages, and having the user tell your how much memory is being freed at free time is a recipe for disaster even if it was ever used. Signed-off-by: Eric Anholt commit 52dc7d32b88156248167864f77a9026abe27b432 Author: Chris Wilson Date: Sat Jun 6 09:46:01 2009 +0100 drm/i915: Clear fence register on tiling stride change. The fence register value also depends upon the stride of the object, so we need to clear the fence if that is changed as well. Signed-off-by: Chris Wilson [anholt: Added 8xx and 965 paths, and renamed the confusing i915_gem_object_tiling_ok function to i915_gem_object_fence_offset_ok] Signed-off-by: Eric Anholt commit 8c4b8c3f34de4e2da20df042bba173fe557f8b45 Author: Chris Wilson Date: Wed Jun 17 22:08:52 2009 +0100 drm/i915: Install fence register for tiled scanout on i915 With the work by Jesse Barnes to eliminate allocation of fences during execbuffer, it becomes possible to write to the scan-out buffer with it never acquiring a fence (simply by only ever writing to the object using tiled GPU commands and never writing to it via the GTT). So for pre-i965 chipsets which require fenced access for tiled scan-out buffers, we need to obtain a fence register. Signed-off-by: Chris Wilson Signed-off-by: Eric Anholt commit d78b47b9a527bf46cb6081555847facd6efd5f81 Author: Chris Wilson Date: Wed Jun 17 21:52:49 2009 +0100 drm/i915: detach/attach get/put pages symmetry After performing an operation over the page list for a buffer retrieved by i915_gem_object_get_pages() the pages need to be returned with i915_gem_object_put_pages(). This was not being observed for the phys objects which were thus leaking references to their backing pages. Signed-off-by: Chris Wilson CC: Dave Airlie Signed-off-by: Eric Anholt commit 76cff81ad1cfa3bd8b52b5e4510702ce2ed28335 Author: Ben Gamari Date: Wed Jun 10 18:26:20 2009 -0400 drm/i915: A few debugfs formatting fixes Signed-Off-By: Ben Gamari Signed-off-by: Eric Anholt commit 049b77cb2ad8bd36308a4a424ca4f2eb4d65d2af Author: Ben Gamari Date: Thu Jun 11 00:44:26 2009 -0400 drm/i915: Warn when inteldrmfb fails to restore its framebuffer config While sifting through the inteldrmfb code trying to solve #22040 I found that the fb restore path doesn't check the return value of drm_crtc_helper_set_config(), which seems to have all sorts of potential failure modes. We should warn someone if one of these is triggered. Signed-Off-By: Ben Gamari Acked-by: Jesse Barnes [anholt: hand-applied, failures are mine] Signed-off-by: Eric Anholt --29444707-2130049323-1245387244=:20307-- -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/