[ANNOUNCE] libdrm 2.2.0

Stefan Dirsch sndirsch at suse.de
Thu Nov 2 09:21:39 PST 2006


On Thu, Nov 02, 2006 at 07:17:14PM +0200, Daniel Stone wrote:
> This one adds support for the new memory manager, as well as numerous
> bugfixes, and some pretty extensive Mach64 DRM work.  Most of the
> commits have been to the kernel modules, not to the library, though.
> 
> git tag: drm-2.2.0

I wonder if this update will be required for X.Org 7.2 (RCx). Maybe it
even hurts ?!?

Best regards,
Stefan

> http://dri.freedesktop.org/libdrm/libdrm-2.2.0.tar.bz2:
> MD5: ec392c328b1ecdda8d0b33a6301930f2  libdrm-2.2.0.tar.bz2
> SHA1: e97c721b5a3e95c89d332eb96b01a99f066eccaf  libdrm-2.2.0.tar.bz2
> http://dri.freedesktop.org/libdrm/libdrm-2.2.0.tar.gz:
> MD5: 5a628975052e58782127a01ed49967e6  libdrm-2.2.0.tar.gz
> SHA1: 09447cb4b1ced6de29dc0b8e7d98edd012d13328  libdrm-2.2.0.tar.gz
> 
> Cheers,
> Daniel
> 
> Adam Jackson:
>       Make sure busmastering gets disabled on module unload.
>       Delete the pre-core DRM code with extreme prejudice.
> 
> Alan Hourihane:
>       Add support for Intel i965G chipsets.
>       Fix bug #8839 - a comment
> 
> Anish Mistry:
>       bug 7092 : add pci ids for mach64 in Dell poweredge 4200
> 
> Dave Airlie:
>       switch drm to use Linux mutexes instead of semaphore.
>       remove incorrect exit marking on cleanup pci as this is called from other paths
>       drm: fixup whitespace and style for Linux kernel import
>       drm: remove extra whitespace from drm_mm.c
>       drm: whitespace cleanup in new files
>       drm: ati_pcigart cleanup
>       clean up script to create an lk drm directory
>       cleanup some whitespace issue and move compat code to compat header
>       i965 code and Linux coding style < 0
>       remove all TRUE/FALSE no need for this in the drm, use 0 or 1
>       remove all TRUE instances as well
>       drm: i810_dma.c: fix pointer arithmetic for 64-bit target
>       fixup some of the comments in drm_context.c
>       remove some DRM_ARRAY_SIZE from linux core code
>       remove local copies of pci domain/bus/slot/num
>       fix const pointer warnings with file_operations
>       add static function, and remove bad attributions
>       drm: lots of small cleanups and whitespace issues fixed up
>       drm: use radeon specific names for radeon flags
>       drm: put domain number back to 0, domain support is seriously fubar..
>       remove config.h from build no longer exists kbuild does it
> 
> Eric Anholt:
>       Add a typedef for u64.
>       Put the PCI device/vendor id in the drm_device_t.
>       Use the DRM_INIT_WAITQUEUE argument (needed on Linux) to avoid a warning.
> 
> Felix Kuhling:
>       bug 5942: add stubs for drm_mtrr_add/del for non-MTRR configured linux
> 
> Felix Kühling:
>       drm_rmdraw: Declare id and idx as signed so testing for < 0 works as intended.
>       drm_rmdraw: Declare id and idx as signed so testing for < 0 works as intended.
> 
> George Sapountzis:
>       Bug 6209: [mach64] AGP DMA buffers not mapped correctly.
>       Bug 6242: [mach64] Use private DMA buffers, part #1.
>       Bug 6242: [mach64] Use private DMA buffers, part #2.
>       Bug 6242: [mach64] Use private DMA buffers, part #3.
>       Bug 6242: [mach64] Use private DMA buffers, part #4.
> 
> Michael Karcher:
>       dev->agp_buffer_map is not initialized for AGP DMA on savages
> 
> Michel Dänzer:
>       .cvsignore -> .gitignore
>       Some debug output when the getparam ioctl is called with an unknown parameter.
>       Implement RADEON_PARAM_SCRATCH_OFFSET getparam.
>       When writeback isn't used, actually disable it in the hardware.
>       Make sure CHIP_IS_AGP flag is set when not overriding to PCI mode.
>       Use RADEON_RB3D_DSTCACHE_CTLSTAT instead of RADEON_RB2D_DSTCACHE_CTLSTAT.
>       Bug #7629: Fix for CHIP_IS_AGP getting 'restored' with non-AGP cards
>       Revert "Make sure busmastering gets disabled on module unload."
>       Bug #7595: Avoid u32 overflows in radeon_check_and_fixup_offset().
>       Use register writes instead of BITBLT_MULTI packets for buffer swap blits.
>       Add support for secondary vertical blank interrupt to DRM core.
>       Add support for secondary vertical blank interrupt to i915 driver.
>       Add support for interrupt triggered driver callback with lock held to DRM core.
>       Add support for tracking drawable information to core
>       Only reallocate cliprect memory if the number of cliprects changes.
>       Hook up DRM_IOCTL_UPDATE_DRAW ioctl.
>       Export drm_get_drawable_info symbol from core.
>       Drop tasklet locked driver callback when uninstalling IRQ.
>       Locking and memory management fixes.
>       i915: Add ioctl for scheduling buffer swaps at vertical blanks.
>       Add copyright notice.
>       Change first valid DRM drawable ID to be 1 instead of 0.
>       DRM_I915_VBLANK_SWAP ioctl: Take drm_vblank_seq_type_t instead of pipe number.
>       Make handling of dev_priv->vblank_pipe more robust.
>       Add definition of DRM_VBLANK_SECONDARY.
>       Add SAREA fileds for determining which pipe to sync window buffer swaps to.
>       Fix 'sequence has passed' condition in i915_vblank_swap().
>       Core vsync: Add flag DRM_VBLANK_NEXTONMISS.
>       Core vsync: Don't clobber target sequence number when scheduling signal.
>       Only return EBUSY after we've established we need to schedule a new swap.
>       i915_vblank_swap: Add support for DRM_VBLANK_NEXTONMISS.
>       i915: Bump minor for swap scheduling ioctl and secondary vblank support.
>       i915: Avoid mis-counting vblank interrupts when they're only enabled for pipe A.
>       i915: Only schedule vblank tasklet if there are scheduled swaps pending.
>       Add support for secondary vertical blank interrupt to DRM core.
>       Add support for secondary vertical blank interrupt to i915 driver.
>       Add support for interrupt triggered driver callback with lock held to DRM core.
>       Add support for tracking drawable information to core
>       Only reallocate cliprect memory if the number of cliprects changes.
>       Hook up DRM_IOCTL_UPDATE_DRAW ioctl.
>       Export drm_get_drawable_info symbol from core.
>       Drop tasklet locked driver callback when uninstalling IRQ.
>       Locking and memory management fixes.
>       i915: Add ioctl for scheduling buffer swaps at vertical blanks.
>       Add copyright notice.
>       Change first valid DRM drawable ID to be 1 instead of 0.
>       DRM_I915_VBLANK_SWAP ioctl: Take drm_vblank_seq_type_t instead of pipe number.
>       Make handling of dev_priv->vblank_pipe more robust.
>       Add definition of DRM_VBLANK_SECONDARY.
>       Add SAREA fileds for determining which pipe to sync window buffer swaps to.
>       Fix 'sequence has passed' condition in i915_vblank_swap().
>       Core vsync: Add flag DRM_VBLANK_NEXTONMISS.
>       Core vsync: Don't clobber target sequence number when scheduling signal.
>       Only return EBUSY after we've established we need to schedule a new swap.
>       i915_vblank_swap: Add support for DRM_VBLANK_NEXTONMISS.
>       i915: Bump minor for swap scheduling ioctl and secondary vblank support.
>       i915: Avoid mis-counting vblank interrupts when they're only enabled for pipe A.
>       i915: Bump minor again to differentiate from vsync changes.
>       i915: Only initialize IRQ fields in postinstall, not the PIPE_SET ioctl.
>       i915: Only schedule vblank tasklet if there are scheduled swaps pending.
>       Make locked tasklet handling more robust.
>       Fix type of second argument to spin_lock_irqsave().
>       Fix type of second argument to spin_lock_irqsave().
> 
> Roland Scheidegger:
>       do a TCL state flush before accessing VAP_CNTL to prevent lockups on r200 when enabling/disabling vertex programs
>       only allow specific type-3 packets to pass the verifier instead of all for r100/r200 as others might be unsafe (r300 already does this), and add checking for these we need but aren't safe. Check the RADEON_CP_INDX_BUFFER packet on both r200 and r300 as it isn't safe neither.
> 
> Thomas Hellstrom:
>       Add missing semaphore release.
>       SiS 315 Awareness.
>       Change drm Map handles to be arbitrary 32-bit hash tokens in the range
>       Keep hashed user tokens, with the following changes:
>       Avoid kernel oops in some error paths calling drm_lastclose().
>       Remove hash tables on DRM exit.
>       Avoid using vmalloc for small hash tables.
>       Generic DRM support base-class support for user-space objects, like
>       Backwards compatibility code for ttms.
>       User / Kernel space fence objects (device-independent part).
>       Add missing fence type define.
>       Remove some accidently included TTM code.
>       i915 fence object driver implementing 2 fence object types:
>       Allow longer sequence lifetimes.
>       Bring in stripped TTM functionality.
>       AGP backends for TTM.
>       Initial i915 buffer object driver
>       Add a fence object class field for future use (For example VSYNC fence objects)
>       ttm code cleanup.
>       More ttm cleanups.
>       Fix hashtab implementation leaking illegal error codes to user space.
>       Allow multiple addMaps with the same 32-bit map offset.
>       Fix previous commit: Only fall back to hashed handles
>       Checkpoint commit
>       Module protection map access is moving into mainline kernels.
>       ttm and buffer objects ioctl stubs.
>       More ioctl stubs.
>       ttm create / destroy / ref / unref ioctl.
>       Add TTM map handle on reference.
>       Have TTM create and reference ioctl call return the actual TTM size.
>       Remove the ioctl multiplexing, and instead allow for generic
>       Initialize i915 saved flush flags.
>       Bugfixes.
>       Add a 64-bit drm unsigned type for 64-bit clean IOCTLS.
>       Checkpoint buffer object IOCTL stub.
>       Buffer object idle and mapping synchronization.
>       Proper TTM dereferencing
>       Buffer object creation.
>       64-bit IOCTL integer (Michel D�nzer & Brian Paul)
>       Checkpoint ttm addition to buffer objects.
>       Checkpoint commit. Buffer object flags and IOCTL argument list.
>       Part of buffer object libdrm interface.
>       Buffer object reply fill in.
>       Memory manager init and takedown.
>       Buffer object mapping and mapping synchronization for multiple clients.
>       Add missing map flags.
>       Remove the buffer object hint field and use it only
>       Buffer eviction.
>       Buffer object binding.
>       Lindenting drm_bo.c and drm_ttm.c
>       More mapping synchronization.
>       Remove the buffer manager mutex. Use dev->struct_mutex instead.
>       Validation and fencing.
>       Various bugfixes.
>       Bugfixes,
>       Export buffer info on map and validate ioctls.
>       Flag bit pattern bugfixes. Remove some error messages.
>       Lindent drm_bo.c
>       Make memory caches global so that they can be used with
>       Buffer object wait IOCTL operation.
>       Libdrm function headers. Some renaming.
>       Fix memory cache initialization.
>       i915: Only turn on user IRQs when they are needed.
>       Fence all unfenced buffers function.
>       Multithreaded application note.
>       Various bugfixes.
>       More bugfixes.
>       Use lazy fence wait when possible even for RW fences. Saves some CPU.
>       Fix some debug messages.
>       Remove the use of reserved pages, and use locked pages instead.
>       Simplify ttm alloc and free.
>       Some bugfixes.
>       Allow a "native type" to be associated with a fence sequence.
>       More verbose error reporting in some cases.
>       Alternative implementation of page table zeroing using zap page_range.
>       Fence handler fix
>       Allow for 64-bit map handles of ttms and buffer objects.
>       Fix proc formatting broken by last commit.
>       Add /proc filesystem buffer / fence object accounting.
>       Allow for a driver to overload the ttm backend object methods.
>       Remove the call to drm_lock_transfer, since it is not used anymore.
>       Silence valgrind.
>       Adapt to architecture-specific hooks for gatt pages.
>       Fix tt fixed size that slipped through in previous commit.
>       Fix racy buffer object destruction.
>       Activate error message that was never hit since it was masked
>       Don't enable fence / buffer objects on non-linux systems.
>       Libdrm version bump and naming.
>       Fix buffer manager takedown error.
>       Add a new buffer flag.
>       Bump driver date.
>       Trap and be verbose about a deadlock that occurs with AIGLX and drivers that
>       Add a comment to previos commit.
>       Allow for 44 bit user-tokens (or drm_file offsets)
>       Add a buffer object manager for TTM maps.
>       Make the user_token 44-bit for TTMs, and have them occupy a unique file space
>       Get rid of all ugly PTE hacks.
>       Use a nopage-based approach to fault in pfns.
>       Big update:
>       Compatibility code for 2.6.15-2.6.18. It is ugly but a little comfort is that
>       Simplify the AGP backend interface somewhat.
>       Bugfixes.
>       Change Intel AGP memory type numbers.
>       Extend generality for more memory types.
>       Remove the memory manager parameter from the put_block function, as this
>       Implement mm_lock and mm_unlock functions.
>       Add memory usage accounting to avoid DOS problems.
>       Add vma list memory usage to memory accounting.
>       Lindent.
>       Remove max number of locked pages check and call, since
>       Remove some debugging messages.
>       Avoid driver-specific AGP user-populated types, since we don't know what AGP
>       Remove stray softlink.
>       Make sure delayed delete list is empty on lastclose.
>       Bug #8707, 2.6.19-rc compatibility for memory manager code.
>       We apparently need this global cache flush anyway.
>       The CPU cache must be flushed _before_ we start modifying the kernel map ptes,
>       Add a one-page hole in the file offset space between buffers.
>       Add improved alignment functionality to the core memory manager.
>       New mm function names. Update header.
>       Last minute changes to support multi-page size buffer offset alignments.
>       Reserve the new IOCTLs also for *bsd.
>       Minor bugfix, indentation and removal of unnused variables.
>       Bugzilla Bug #8819
> 
> Tilman Sauerbeck:
>       Bug #1746: Set dev_priv_size for the MGA driver.

Public Key available
------------------------------------------------------
Stefan Dirsch (Res. & Dev.)   SUSE LINUX Products GmbH
Tel: 0911-740 53 0            Maxfeldstraße 5
FAX: 0911-740 53 479          D-90409 Nürnberg
http://www.suse.de            Germany 
------------------------------------------------------



More information about the xorg mailing list