[ANNOUNCE] libdrm 2.2.0

Daniel Stone daniel at fooishbar.org
Thu Nov 2 09:17:14 PST 2006


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

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.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: <http://lists.x.org/archives/xorg/attachments/20061102/a17ddc0a/attachment.pgp>


More information about the xorg mailing list