Thomas Hellstrom [Wed, 20 Dec 2006 12:04:21 +0000 (13:04 +0100)]
Some via PCI posting flushes.
Dave Airlie [Tue, 19 Dec 2006 23:30:16 +0000 (10:30 +1100)]
Merge branch 'nouveau-1'
Dave Airlie [Tue, 19 Dec 2006 23:29:43 +0000 (10:29 +1100)]
fixup symlinks via Makefile
Dave Airlie [Tue, 19 Dec 2006 23:28:55 +0000 (10:28 +1100)]
add nouveau symlinks via git
Dave Airlie [Tue, 19 Dec 2006 23:22:43 +0000 (10:22 +1100)]
remove unused via/sis files from lk build
Thomas Hellstrom [Tue, 19 Dec 2006 22:45:59 +0000 (23:45 +0100)]
Security fix. Zero pages before they are handed to user space.
TTM pages were not cleared when allocated and handed to user space.
Sensitive information may leak.
Thomas Hellstrom [Tue, 19 Dec 2006 22:23:17 +0000 (23:23 +0100)]
Security fix. Zero pages before they are handed to user space.
Shared memory areas were not cleared when they are allocated and
handed to user space. Sensitive information may leak.
Thomas Hellstrom [Tue, 19 Dec 2006 22:14:11 +0000 (23:14 +0100)]
Reclaim buffers locked fixup.
Avoid calling reclaim_buffers_locked if we don't have a
hardware lock.
Improve reclaim_buffers_locked deadlock error formatting.
Dave Airlie [Tue, 19 Dec 2006 11:10:34 +0000 (22:10 +1100)]
add kcalloc compat for before 2.6.10
Dave Airlie [Tue, 19 Dec 2006 10:51:30 +0000 (21:51 +1100)]
remove do munmap 4 args
Dave Airlie [Tue, 19 Dec 2006 10:48:18 +0000 (21:48 +1100)]
fixup i915 return values from kernel
Dave Airlie [Tue, 19 Dec 2006 10:48:06 +0000 (21:48 +1100)]
fixup i915 defines in create script
Dave Airlie [Tue, 19 Dec 2006 10:37:50 +0000 (21:37 +1100)]
fixup inclusion of agp.h
Dave Airlie [Tue, 19 Dec 2006 10:33:47 +0000 (21:33 +1100)]
remove drm pci from 2.5 days
Dave Airlie [Tue, 19 Dec 2006 10:30:27 +0000 (21:30 +1100)]
remove legacy taskqueue code
Dave Airlie [Tue, 19 Dec 2006 09:29:03 +0000 (20:29 +1100)]
drm: remove all 2.4 support for drm development tree.
Bye bye 2.4 you served us well..
Dave Airlie [Tue, 19 Dec 2006 07:27:20 +0000 (18:27 +1100)]
[SPARC]: Respect vm_page_prot in io_remap_page_range().
Make sure the callers do a pgprot_noncached() on
vma->vm_page_prot.
Pointed out by Hugh Dickens.
Signed-off-by: David S. Miller <davem@davemloft.net>
Dave Airlie [Tue, 19 Dec 2006 07:24:44 +0000 (18:24 +1100)]
[PATCH] mm: incorrect VM_FAULT_OOM returns from drivers
Some drivers are returning OOM when it is not in response to a memory
shortage.
Signed-off-by: Nick Piggin <npiggin@suse.de>
Dave Airlie [Tue, 19 Dec 2006 07:03:20 +0000 (18:03 +1100)]
fix irq args compatiblity with pre 2.6.19
Dave Airlie [Tue, 19 Dec 2006 06:57:16 +0000 (17:57 +1100)]
use unifdef to clean up some code
Dave Airlie [Tue, 19 Dec 2006 06:57:01 +0000 (17:57 +1100)]
fix comment in r128
Dave Airlie [Tue, 19 Dec 2006 06:46:10 +0000 (17:46 +1100)]
fix some sizes in sis_drv.h
Dave Airlie [Tue, 19 Dec 2006 06:42:45 +0000 (17:42 +1100)]
make sizeof match the copy struct
Dave Airlie [Tue, 19 Dec 2006 06:22:04 +0000 (17:22 +1100)]
remove inline from large function
Dave Airlie [Tue, 19 Dec 2006 06:03:42 +0000 (17:03 +1100)]
make a savage function static from kernel
Dave Airlie [Tue, 19 Dec 2006 05:58:48 +0000 (16:58 +1100)]
use spin_lock_init in via dmablit
Dave Airlie [Tue, 19 Dec 2006 05:58:27 +0000 (16:58 +1100)]
fix missing DRM_ERR from kernel
Dave Airlie [Tue, 19 Dec 2006 05:44:57 +0000 (16:44 +1100)]
Revert "drm: ioremap balanced with iounmap for drivers/char/drm"
This reverts
cc22cd8bde39f3e4be8ca9f726a773b0270ebdbc commit.
I put this patch incorrectly in .. will fix now
Dave Airlie [Tue, 19 Dec 2006 05:39:13 +0000 (16:39 +1100)]
drm: ioremap balanced with iounmap for drivers/char/drm
ioremap must be balanced by an iounmap and failing to do so can result
in a memory leak.
Tested (compilation only) to make sure the files are compiling without
any warning/error due to new changes
Signed-off-by: Amol Lad <amol@verismonetworks.com>
Signed-off-by: Dave Airlie <airlied@linux.ie>
Michael Buesch [Fri, 15 Dec 2006 13:24:24 +0000 (14:24 +0100)]
drm/linux-core: drmP.h compilation fix
I need the following patch to fix compilation of
latest drm/linux-core on my ppc64 machine.
/home/mb/develop/git/drm/linux-core/savage_bci.c: In function ‘savage_driver_firstopen’:
/home/mb/develop/git/drm/linux-core/savage_bci.c:587: error: ‘DRM_MTRR_WC’ undeclared (first use in this function)
/home/mb/develop/git/drm/linux-core/savage_bci.c:587: error: (Each undeclared identifier is reported only once
/home/mb/develop/git/drm/linux-core/savage_bci.c:587: error: for each function it appears in.)
/home/mb/develop/git/drm/linux-core/savage_bci.c: In function ‘savage_driver_lastclose’:
/home/mb/develop/git/drm/linux-core/savage_bci.c:664: error: ‘DRM_MTRR_WC’ undeclared (first use in this function)
I looked at in-kernel drmP.h and it actually
has the same fix in it.
Signed-off-by: Michael Buesch <mb@bu3sch.de>
Thomas Hellstrom [Fri, 15 Dec 2006 11:37:24 +0000 (12:37 +0100)]
Remove the memory caches for fence objects and memory manager nodes,
since the support for memory caches has gone from 2.6.20.
Michel Dänzer [Thu, 14 Dec 2006 18:31:56 +0000 (19:31 +0100)]
Unify radeon offset checking.
Replace r300_check_offset() with generic radeon_check_offset(), which doesn't
reject valid offsets when the framebuffer area is at the very end of the card's
32 bit address space. Make radeon_check_and_fixup_offset() use
radeon_check_offset() as well.
This fixes https://bugs.freedesktop.org/show_bug.cgi?id=7697 .
Ben Skeggs [Mon, 11 Dec 2006 13:11:42 +0000 (00:11 +1100)]
Port remaining NV4 RAMIN access from the ddx into the drm.
Should fix lockups seen on NV4 cards.
Stephane Marchesin [Sun, 3 Dec 2006 09:02:54 +0000 (10:02 +0100)]
Merge the pciid work.
Add getparams for AGP and FB physical adresses.
Fix the MEM_ALLOC issue properly.
Fix context switches for nv44.
Change the DRM version to 0.0.1.
Michel Dänzer [Fri, 1 Dec 2006 10:00:32 +0000 (11:00 +0100)]
Core build fix for BSD.
Michel Dänzer [Fri, 1 Dec 2006 09:46:21 +0000 (10:46 +0100)]
Unshare drm_drawable.c again for now.
The current version didn't build on BSD, where the new functionality isn't used
yet anyway. Whoever changes that will hopefully be able to make the OSes share
this file as well.
Michel Dänzer [Sat, 21 Oct 2006 14:14:20 +0000 (16:14 +0200)]
Track linux-core symlinks in git.
Ben Skeggs [Wed, 29 Nov 2006 23:31:42 +0000 (10:31 +1100)]
Use nouveau_mem.c to allocate RAMIN.
Ben Skeggs [Wed, 29 Nov 2006 21:35:42 +0000 (08:35 +1100)]
Wrap access to objects in RAMIN.
This will make it easier to support extra RAMIN in vram at a later point.
Matthieu Castet [Tue, 28 Nov 2006 20:32:03 +0000 (21:32 +0100)]
For nv10, bit 16 of RAMFC need to be set for 64 bytes fifo context.
When cleaning a fifo, we shouldn't assume everybody use nv40 ;)
Fill DMA_SUBROUTINE fill correct value.
Michel Dänzer [Thu, 26 Oct 2006 11:15:30 +0000 (13:15 +0200)]
i915_vblank_tasklet: Try harder to avoid tearing.
Previously, if there were several buffer swaps scheduled for the same vertical
blank, all but the first blit emitted stood a chance of exhibiting tearing. In
order to avoid this, split the blits along slices of each output top to bottom.
Stephane Marchesin [Tue, 21 Nov 2006 22:32:58 +0000 (23:32 +0100)]
Merge branch 'nouveau-1' of git+ssh://marcheu@git.freedesktop.org/git/mesa/drm into nouveau-1
Ben Skeggs [Tue, 21 Nov 2006 00:41:46 +0000 (11:41 +1100)]
Don't spam dmesg if PMC_INTSTAT is 0
Ben Skeggs [Fri, 17 Nov 2006 23:09:29 +0000 (10:09 +1100)]
Only return FIFO number if the FIFO is marked as in use..
Ben Skeggs [Fri, 17 Nov 2006 23:03:45 +0000 (10:03 +1100)]
Check some return vals, fixes a couple of oopses.
Ben Skeggs [Thu, 16 Nov 2006 21:05:23 +0000 (08:05 +1100)]
Dump some useful info when a PGRAPH error occurs.
The "channel" detect doesn't work on my nv40, but the rest
seems to produce sane info.
Stephane Marchesin [Thu, 16 Nov 2006 13:47:52 +0000 (14:47 +0100)]
Merge branch 'nouveau-1' of git+ssh://marcheu@git.freedesktop.org/git/mesa/drm into nouveau-1
Ben Skeggs [Mon, 13 Nov 2006 22:00:31 +0000 (09:00 +1100)]
Completely untested NV10/20/30 FIFO context switching changes.
Ben Skeggs [Mon, 13 Nov 2006 21:11:49 +0000 (08:11 +1100)]
Restructure initialisation a bit.
- Do important card init in firstopen
- Give each channel it's own cmdbuf dma object
- Move RAMHT config state to the same place as RAMRO/RAMFC
- Make sure instance mem for objects is *after* RAM{FC,HT,RO}
Ben Skeggs [Mon, 13 Nov 2006 17:52:08 +0000 (04:52 +1100)]
Merge branch 'nouveau-1' of git+ssh://git.freedesktop.org/git/mesa/drm into nouveau-1
Ben Skeggs [Mon, 13 Nov 2006 17:51:13 +0000 (04:51 +1100)]
Hack around yet another "X restart borkage without nouveau.ko reload" problem.
On X init, PFIFO and PGRAPH are reset to defaults. This causes the GPU to
loose the configuration done by the drm. Perhaps a CARD_INIT ioctl a proper
solution to having this problem again in the future..
Stephane Marchesin [Sat, 11 Nov 2006 00:57:05 +0000 (01:57 +0100)]
Merge branch 'master' of git+ssh://marcheu@git.freedesktop.org/git/mesa/drm into nouveau-1
Stephane Marchesin [Fri, 10 Nov 2006 01:18:38 +0000 (02:18 +0100)]
Fix memory detection on TNT2 M64/TNT2 vanta.
Dave Airlie [Wed, 8 Nov 2006 21:55:58 +0000 (08:55 +1100)]
libdrm: add drmOpenOnce + drmCloseOnce to libdrm
Dave Airlie [Wed, 8 Nov 2006 04:08:09 +0000 (15:08 +1100)]
libdrm: add support for server side functionality in libdrm
This adds APIs to allow the X server to use libdrm from the system
rather than its own in-built copy.
Eric Anholt [Tue, 7 Nov 2006 17:36:40 +0000 (09:36 -0800)]
Add drm_u64_t typedef on non-linux to fix libdrm build.
Dave Airlie [Mon, 6 Nov 2006 00:44:36 +0000 (11:44 +1100)]
drm: fixup page alignment on SAREA map on ppc64
Dave Airlie [Mon, 6 Nov 2006 00:42:15 +0000 (11:42 +1100)]
fixup fifo size so it is page aligned
Dave Airlie [Mon, 6 Nov 2006 00:41:51 +0000 (11:41 +1100)]
use a uint64_t for this not a pointer
Dave Airlie [Sun, 5 Nov 2006 21:03:18 +0000 (08:03 +1100)]
Merge branch 'master' into nouveau-1
Conflicts:
linux-core/Makefile.kernel
Ben Skeggs [Sun, 5 Nov 2006 18:46:03 +0000 (05:46 +1100)]
Leave the bottom 64kb of RAMIN untouched.
The binary driver will screw up either it's init or shutdown, leaving the
screen(s) in an unusable state without this. Something important in there?
Dave Airlie [Sun, 5 Nov 2006 09:38:44 +0000 (20:38 +1100)]
nouveau: add compat ioc32 support
Dave Airlie [Sun, 5 Nov 2006 08:46:53 +0000 (19:46 +1100)]
add powerpc mmio swapper to NV_READ/WRITE macros
Dave Airlie [Sun, 5 Nov 2006 08:46:30 +0000 (19:46 +1100)]
remove config.h
Stephane Marchesin [Sat, 4 Nov 2006 19:39:59 +0000 (20:39 +0100)]
Add some getparams.
Stephane Marchesin [Sat, 4 Nov 2006 15:56:10 +0000 (16:56 +0100)]
Move the context object creation flag handling to the drm.
Alan Hourihane [Tue, 31 Oct 2006 10:01:53 +0000 (10:01 +0000)]
Fix bug #8839 - a comment
Thomas Hellstrom [Mon, 30 Oct 2006 10:18:44 +0000 (11:18 +0100)]
Bugzilla Bug #8819
Build fixes for powerpc.
Reported by Katerina Barone-Adesi
Thomas Hellstrom [Sun, 29 Oct 2006 14:39:11 +0000 (15:39 +0100)]
Minor bugfix, indentation and removal of unnused variables.
Thomas Hellstrom [Fri, 27 Oct 2006 11:08:31 +0000 (13:08 +0200)]
Reserve the new IOCTLs also for *bsd.
Bump libdrm version number to 2.2.0
Thomas Hellstrom [Fri, 27 Oct 2006 09:28:37 +0000 (11:28 +0200)]
Last minute changes to support multi-page size buffer offset alignments.
This will come in very handy for tiled buffers on intel hardware.
Also add some padding to interface structures to allow future binary backwards
compatible changes.
Thomas Hellstrom [Thu, 26 Oct 2006 19:20:34 +0000 (21:20 +0200)]
New mm function names. Update header.
Thomas Hellstrom [Thu, 26 Oct 2006 19:17:43 +0000 (21:17 +0200)]
Add improved alignment functionality to the core memory manager.
This makes an allocated block actually align itself and returns any
wasted space to the manager.
Also add some functions to grow and shrink the managed area.
This will be used in the future to manage the buffer object swap cache.
Thomas Hellstrom [Thu, 26 Oct 2006 19:14:23 +0000 (21:14 +0200)]
Add a one-page hole in the file offset space between buffers.
Thomas Hellstrom [Sat, 21 Oct 2006 12:20:28 +0000 (14:20 +0200)]
Merge branch 'master' of git+ssh://git.freedesktop.org/git/mesa/drm
Thomas Hellstrom [Sat, 21 Oct 2006 12:17:51 +0000 (14:17 +0200)]
The CPU cache must be flushed _before_ we start modifying the kernel map ptes,
otherwise data will be missing, which becomes apparent when the kernel evicts
batch buffers which are likely to be written into in the evicted state,
and then rebound to the AGP aperture.
This means we cannot rely on the AGP module to flush the
cache for us.
Tilman Sauerbeck [Fri, 20 Oct 2006 15:05:07 +0000 (17:05 +0200)]
Bug #1746: Set dev_priv_size for the MGA driver.
Thomas Hellstrom [Fri, 20 Oct 2006 13:07:21 +0000 (15:07 +0200)]
We apparently need this global cache flush anyway.
Thomas Hellstrom [Fri, 20 Oct 2006 13:06:31 +0000 (15:06 +0200)]
Bug #8707, 2.6.19-rc compatibility for memory manager code.
Thomas Hellstrom [Thu, 19 Oct 2006 15:07:26 +0000 (17:07 +0200)]
Merge branch 'master' of git+ssh://git.freedesktop.org/git/mesa/drm
Thomas Hellstrom [Thu, 19 Oct 2006 15:00:03 +0000 (17:00 +0200)]
Importing fixes from drm-ttm-0-2-branch
Thomas Hellstrom [Thu, 19 Oct 2006 14:58:00 +0000 (16:58 +0200)]
Make sure delayed delete list is empty on lastclose.
Fix some refcounting errors.
Fix some error messages.
Thomas Hellstrom [Wed, 18 Oct 2006 15:33:19 +0000 (17:33 +0200)]
Merging drm-ttm-0-2-branch
Conflicts:
linux-core/drmP.h
linux-core/drm_drv.c
linux-core/drm_irq.c
linux-core/drm_stub.c
shared-core/drm.h
shared-core/i915_drv.h
shared-core/i915_irq.c
Thomas Hellstrom [Wed, 18 Oct 2006 15:18:23 +0000 (17:18 +0200)]
Remove stray softlink.
Thomas Hellstrom [Wed, 18 Oct 2006 14:54:17 +0000 (16:54 +0200)]
Avoid driver-specific AGP user-populated types, since we don't know what AGP
driver we're on.
Avoid global cache flushes before inserting pages.
In general, they are never mapped, and not accessed through the kernel map, so
a cache flush should not be necessary. The exception is pages that are bound
cached. We might need a cache flush for those.
Thomas Hellstrom [Tue, 17 Oct 2006 18:04:41 +0000 (20:04 +0200)]
Remove some debugging messages.
Thomas Hellstrom [Tue, 17 Oct 2006 18:03:26 +0000 (20:03 +0200)]
Remove max number of locked pages check and call, since
that is now handled by the memory accounting.
Thomas Hellstrom [Tue, 17 Oct 2006 17:57:06 +0000 (19:57 +0200)]
Lindent.
Thomas Hellstrom [Tue, 17 Oct 2006 17:52:34 +0000 (19:52 +0200)]
Add vma list memory usage to memory accounting.
Use byte unit for /proc printout of memory usage for small sizes to be
able to detect memory allocation bugs more easily.
Thomas Hellstrom [Tue, 17 Oct 2006 17:40:57 +0000 (19:40 +0200)]
Add memory usage accounting to avoid DOS problems.
Ben Skeggs [Tue, 17 Oct 2006 15:37:19 +0000 (02:37 +1100)]
Remove hack which delays activation of a additional channel. The previously active channel's state is saved to RAMFC before PFIFO gets clobbered.
Ben Skeggs [Tue, 17 Oct 2006 14:07:48 +0000 (01:07 +1100)]
Oops, we have more than 4 subchannels..
Thomas Hellstrom [Tue, 17 Oct 2006 14:00:25 +0000 (16:00 +0200)]
Implement mm_lock and mm_unlock functions.
The mm_lock function is used when leaving vt. It evicts _all_ buffers.
Buffers with the DRM_BO_NO_MOVE attribute set will be guaranteed to
get the same offset when / if they are rebound.
Ben Skeggs [Tue, 17 Oct 2006 12:44:05 +0000 (23:44 +1100)]
Useful output on a FIFO error interrupt.
Ben Skeggs [Tue, 17 Oct 2006 12:08:03 +0000 (23:08 +1100)]
typo
Thomas Hellstrom [Tue, 17 Oct 2006 09:28:48 +0000 (11:28 +0200)]
Remove the memory manager parameter from the put_block function, as this
makes the client code a lot cleaner. Prepare buffer manager for lock and
unlock calls.
Thomas Hellstrom [Tue, 17 Oct 2006 09:05:37 +0000 (11:05 +0200)]
Extend generality for more memory types.
Fix up init and destruction code.
Michael Karcher [Tue, 17 Oct 2006 02:06:58 +0000 (22:06 -0400)]
dev->agp_buffer_map is not initialized for AGP DMA on savages
bug 8662
Ben Skeggs [Tue, 17 Oct 2006 01:33:49 +0000 (12:33 +1100)]
NV40: *Now* fifo ctx switching works for me..
Ok, I lied before.. it was a fluke it worked and required magic to repeat it..
It actually helps to fill in RAMFC entries in the correct place.
The code also clears RAMIN entirely instead of just the hash-table.
Ben Skeggs [Mon, 16 Oct 2006 20:29:31 +0000 (07:29 +1100)]
NV40: FIFO context switching now WorksForMe(tm)