[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