profile/ivi/libdrm.git
15 years agoi915: more version checks
Dave Airlie [Wed, 30 Jul 2008 06:52:13 +0000 (16:52 +1000)]
i915: more version checks

15 years agoi915: add version checks for opregion on old kernels
Dave Airlie [Wed, 30 Jul 2008 06:26:51 +0000 (16:26 +1000)]
i915: add version checks for opregion on old kernels

15 years agor300: Fix cliprect emit
Nicolai Haehnle [Tue, 29 Jul 2008 17:56:51 +0000 (19:56 +0200)]
r300: Fix cliprect emit

This makes our handling of cliprects sane. drm_clip_rect always has exclusive
bottom-right corners, but the hardware expects inclusive bottom-right corners,
so we adjust this here.

This complements Michel Daenzer's commit 57aea290e1e0a26d1e74df6cff777eb9f038f1f8
to Mesa. See also http://bugs.freedesktop.org/show_bug.cgi?id=16123 .

15 years agonouveau: fix nv04 fifo context save to save reg contents, not reg offset
Stuart Bennett [Tue, 29 Jul 2008 01:32:13 +0000 (02:32 +0100)]
nouveau: fix nv04 fifo context save to save reg contents, not reg offset

clearly the function had never been used :)

15 years agonouveau: fix bad rename from 5a072f32c8f941d1ef301811881e8c89c8d8a5f1
Stuart Bennett [Tue, 29 Jul 2008 01:26:34 +0000 (02:26 +0100)]
nouveau: fix bad rename from 5a072f32c8f941d1ef301811881e8c89c8d8a5f1

15 years agoradeon: Add suspend/resume hooks for saving/clearing/restoring interrupts.
Stefan Becker [Sat, 26 Jul 2008 14:49:14 +0000 (16:49 +0200)]
radeon: Add suspend/resume hooks for saving/clearing/restoring interrupts.

Fixes http://bugs.freedesktop.org/show_bug.cgi?id=16799 .

15 years agor300_cmdbuf: Always emit INDX_BUFFER immediately after DRAW_INDEX
Nicolai Haehnle [Sat, 26 Jul 2008 09:39:10 +0000 (11:39 +0200)]
r300_cmdbuf: Always emit INDX_BUFFER immediately after DRAW_INDEX

DRAW_INDEX writes a vertex count to VAP_VF_CNTL. Docs say that behaviour
is undefined (i.e. lockups happen) when this write is not followed by the
right number of vertex indices.

Thus we used to do the wrong thing when drawing across many cliprects was
necessary, because we emitted a sequence
 DRAW_INDEX, DRAW_INDEX, INDX_BUFFER, INDX_BUFFER
instead of
 DRAW_INDEX, INDX_BUFFER, DRAW_INDEX, INDX_BUFFER
The latter is what we're doing now and which ought to be correct.

15 years ago[FreeBSD] Duh, we need to actually define the drm_modeset_ctl...
Robert Noland [Fri, 25 Jul 2008 17:46:28 +0000 (13:46 -0400)]
[FreeBSD] Duh, we need to actually define the drm_modeset_ctl...

16 years agodrm: don't set the signal blocker on the master process.
Dave Airlie [Fri, 25 Jul 2008 03:30:08 +0000 (13:30 +1000)]
drm: don't set the signal blocker on the master process.

this lets us debug the X server through xkb startup.

Not sure what the correct answer is, probably X needs to drop
the lock when execing stuff, with input hotplug it can get
xkb stuff at any time I believe.

16 years ago[FreeBSD] Catch up to linux on vblank-rework
Robert Noland [Thu, 24 Jul 2008 04:21:00 +0000 (00:21 -0400)]
[FreeBSD] Catch up to linux on vblank-rework

16 years agoi915: Move all of the irq install/uninstall to load time.
Robert Noland [Wed, 23 Jul 2008 23:55:06 +0000 (19:55 -0400)]
i915: Move all of the irq install/uninstall to load time.

This resolves a panic on FreeBSD which was caused by trying
to re-initialize the swap lock.  It's just much easier to
initialize all of the locks at load time.  It should also
ensure that the vblank structures are available earlier.

16 years agoradeon: fix typo with a better typo
Dave Airlie [Tue, 22 Jul 2008 08:47:27 +0000 (18:47 +1000)]
radeon: fix typo with a better typo

16 years agoradeon: fix type DST vs Z cache flush
Dave Airlie [Tue, 22 Jul 2008 08:10:03 +0000 (18:10 +1000)]
radeon: fix type DST vs Z cache flush

16 years ago[FreeBSD] Improve upper_32_bits define.
Robert Noland [Mon, 21 Jul 2008 22:04:02 +0000 (18:04 -0400)]
[FreeBSD] Improve upper_32_bits define.

Thanks to airlied.

16 years agoRemove accidental leftover tests.
Michel Dänzer [Mon, 21 Jul 2008 11:43:12 +0000 (13:43 +0200)]
Remove accidental leftover tests.

Thanks to Nicolai Haehnle for pointing this out on IRC.

16 years agoReinstate dev->vblank_enabled[].
Michel Dänzer [Mon, 21 Jul 2008 09:48:04 +0000 (11:48 +0200)]
Reinstate dev->vblank_enabled[].

I incorrectly thought it was obsolete.

16 years agoDrop workaround for driver vblank counter going backwards.
Michel Dänzer [Mon, 21 Jul 2008 06:16:59 +0000 (08:16 +0200)]
Drop workaround for driver vblank counter going backwards.

The driver code that caused this is no longer necessary and has been dropped.

16 years agoradeon: Post-vblank-rework-rework cleanups.
Michel Dänzer [Mon, 21 Jul 2008 06:16:59 +0000 (08:16 +0200)]
radeon: Post-vblank-rework-rework cleanups.

Thanks to the reworked vblank-rework, we can just use the hardware frame
counter directly, and make the RADEON_PARAM_VBLANK_CRTC getparam just return
what was set by the corresponding setparam.

16 years agovblank-rework rework cleanups.
Michel Dänzer [Mon, 21 Jul 2008 06:16:55 +0000 (08:16 +0200)]
vblank-rework rework cleanups.

Remove some dead/obsolete code and make drm_update_vblank_count() static.

16 years agoRemove obsolete dev->vblank_suspend[crtc] tests.
Michel Dänzer [Mon, 21 Jul 2008 06:13:45 +0000 (08:13 +0200)]
Remove obsolete dev->vblank_suspend[crtc] tests.

Caused drm_update_vblank_count() not to do its thing when called from
drm_modeset_ctl() -> drm_vblank_get().

The vblank functionality no longer needs to be suspended during a modeset, so
rename the field to vblank_inmodeset.

16 years agoi915: convert to using drm_vblank_get/put around vblank counter usage
Jesse Barnes [Sat, 19 Jul 2008 17:18:02 +0000 (13:18 -0400)]
i915: convert to using drm_vblank_get/put around vblank counter usage

All interrupt off vblank count updates are done in drm_vblank_get/put
now, so convert users of the vblank counter over to that interface.

16 years agoUpdate vblank code to new API
Jesse Barnes [Sat, 19 Jul 2008 17:15:23 +0000 (13:15 -0400)]
Update vblank code to new API

In my last push I forgot to convert users of drm_update_vblank_count
over to drm_vblank_get/put, since that's where any interrupt off->on
update accounting is done now.  Since the modeset ioctl did something
similar (an open coded update of the counter) convert it over to using
get/put too, which saves us from having to deal with every combination
of interrupt off & on between calls.

16 years agoradeon: remove microcode version
Dave Airlie [Fri, 18 Jul 2008 04:30:57 +0000 (14:30 +1000)]
radeon: remove microcode version

16 years agodrm/radeon: fixup 0 vs NULL
Dave Airlie [Thu, 19 Jun 2008 01:38:43 +0000 (11:38 +1000)]
drm/radeon: fixup 0 vs NULL

16 years ago[FreeBSD] drm_irq.c updates for vblank fixes.
Robert Noland [Thu, 17 Jul 2008 18:01:04 +0000 (14:01 -0400)]
[FreeBSD] drm_irq.c updates for vblank fixes.

16 years agoi915: remove old broken vblank code
Jesse Barnes [Thu, 17 Jul 2008 17:51:24 +0000 (13:51 -0400)]
i915: remove old broken vblank code

Remove the unused (and broken) "in vblank" code now that the core has
been fixed to use a counter while interrupts are enabled.  Also make the
vblank pipe get/set ioctls into dumb stub functions, since with the new
code we can no longer let userspace control whether vblank interrupts
are enabled, or the core code will misbehave.

16 years agoAvoid incorrect vblank wakeups
Jesse Barnes [Thu, 17 Jul 2008 17:48:14 +0000 (13:48 -0400)]
Avoid incorrect vblank wakeups

The current code uses the hw vblank counter exclusively, which can lead
to wakeups during the active period rather than during the vblank period
if the hw counter counts displayed frames rather than vblank periods.

This change coverts the code over to using the counter while interrupts
are enabled, fixing that issue.  It also includes a couple of related
changes:  one to not enable the new enable/disable behavior until the
modeset ioctl is called (to preserve old client behavior) and another to
account for lost events due to mode setting with the new counter scheme.

BSD will require similar changes to its drm_irq.c code, but they should
be straightforward.

16 years agoFreeBSD: Fix radeon build
Robert Noland [Thu, 17 Jul 2008 03:39:25 +0000 (23:39 -0400)]
FreeBSD: Fix radeon build

16 years agoBSD: change drm_locked_task*() to use the same scheme as linux.
Owain Gordon Ainsworth [Mon, 7 Jul 2008 16:23:48 +0000 (17:23 +0100)]
BSD: change drm_locked_task*() to use the same scheme as linux.

The current code can sleep in an interrupt handler, that is bad. So
instead if we can't grab the lock, flag it and run the tasklet on
unlock.

Signed-off-by: Robert Noland <rnoland@2hip.net>
16 years ago[FreeBSD] We aren't allowed to hold locks over bus_dma_tag_create or bus_dmamem_alloc.
Robert Noland [Mon, 9 Jun 2008 12:54:53 +0000 (08:54 -0400)]
[FreeBSD] We aren't allowed to hold locks over bus_dma_tag_create or bus_dmamem_alloc.

16 years agoThis is a modified version of Hong's patch from last month, with a few
Hong Liu [Tue, 15 Jul 2008 17:14:17 +0000 (10:14 -0700)]
This is a modified version of Hong's patch from last month, with a few
modifications to make it work correctly on my test hardware (altered the
backlight write function, made it enable the legacy backlight controller
interrupts on mobile hardware, sorted the interrupt function so we don't
get an excessive number of vblank interrupts). This lets the backlight
keys on my T61 work properly, though there's a 750msec or so delay
between the request and the brightness actually changing - this sounds
awfully like the hardware spinning waiting for a status flag to become
ready, but as far as I can tell they're all set correctly. If anyone can
figure out what's wrong here, it'd be nice to know.

Some of the functions are still stubs and just tell the hardware that
the request was successful. These can be filled in as kernel modesetting
gets integrated. I think it's worth getting this in anyway, since it's
required for backlight control to work properly on some new platforms.

Signed-off-by: Matthew Garrett <mjg@redhat.com>
16 years agodrm: fix missing symbol export
Dave Airlie [Tue, 15 Jul 2008 10:27:14 +0000 (20:27 +1000)]
drm: fix missing symbol export

16 years agodrm: add fix for PAT on radeon with 2.6.26
Dave Airlie [Tue, 15 Jul 2008 06:18:22 +0000 (16:18 +1000)]
drm: add fix for PAT on radeon with 2.6.26

16 years agodrm/pcigart: fix warning
Dave Airlie [Tue, 15 Jul 2008 06:18:04 +0000 (16:18 +1000)]
drm/pcigart: fix warning

16 years agoxgi: use true/false instead of TRUE/FALSE
martin capitanio [Tue, 8 Jul 2008 07:58:10 +0000 (17:58 +1000)]
xgi: use true/false instead of TRUE/FALSE

16 years agonouveau: interface changes for nv5x 3d
Ben Skeggs [Tue, 24 Jun 2008 18:39:32 +0000 (04:39 +1000)]
nouveau: interface changes for nv5x 3d

16 years agoi915: official name for GM45 chipset
Zhenyu Wang [Wed, 2 Jul 2008 16:49:19 +0000 (00:49 +0800)]
i915: official name for GM45 chipset

Signed-off-by: Zhenyu Wang <zhenyu.z.wang@intel.com>
16 years agoi915: only use tiled blits on 965+
Jesse Barnes [Tue, 1 Jul 2008 23:10:01 +0000 (16:10 -0700)]
i915: only use tiled blits on 965+

When scheduled swaps occur, we need to blit between front & back buffers.  I
the buffers are tiled, we need to set the appropriate XY_SRC_COPY tile bit,
only on 965 chips, since it will cause corruption on pre-965 (e.g. 945).

Bug reported by and fix tested by Tomas Janousek <tomi@nomi.cz>.

Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
16 years agoRevert "i915: only use tiled blits on 965+"
Jesse Barnes [Tue, 1 Jul 2008 23:09:02 +0000 (16:09 -0700)]
Revert "i915: only use tiled blits on 965+"

This reverts commit 727d4f1d1667e43b3558bd5f6ed6dc2cd9c29401, somehow git
deleted the symlink and replaced it with the file.

16 years agoi915: only use tiled blits on 965+
Jesse Barnes [Tue, 1 Jul 2008 19:25:16 +0000 (12:25 -0700)]
i915: only use tiled blits on 965+

When scheduled swaps occur, we need to blit between front & back buffers.  If
the buffers are tiled, we need to set the appropriate XY_SRC_COPY tile bit, but
only on 965 chips, since it will cause corruption on pre-965 (e.g. 945).

Bug reported by and fix tested by Tomas Janousek <tomi@nomi.cz>.

Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
16 years agoi915: enable bus mastering on i915 at resume time
Jie Luo [Tue, 24 Jun 2008 17:38:31 +0000 (10:38 -0700)]
i915: enable bus mastering on i915 at resume time

On 9xx chips, bus mastering needs to be enabled at resume time for much of the
chip to function.  With this patch, vblank interrupts will work as expected
on resume, along with other chip functions.   Fixes kernel bugzilla #10844.

Signed-off-by: Jie Luo <clotho67@gmail.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
16 years agonv50: when destroying a channel make sure it's not still current on PFIFO
Ben Skeggs [Wed, 25 Jun 2008 06:45:41 +0000 (16:45 +1000)]
nv50: when destroying a channel make sure it's not still current on PFIFO

We won't get a PFIFO context switch when the same channel ID is recreated if
the hw still thinks the channel is already active, which causes fun issues.

Should allow X to be stopped and started without tearing down the entire
card state in lastclose().

16 years agoi915: remove unused variable
Jesse Barnes [Tue, 24 Jun 2008 19:57:21 +0000 (12:57 -0700)]
i915: remove unused variable

Leftover dev_priv from the move of the suspend/resume code into shared-core.

16 years agoi915: register definition & header file cleanup
Jesse Barnes [Tue, 24 Jun 2008 19:50:29 +0000 (12:50 -0700)]
i915: register definition & header file cleanup

It would be nice if one day the DRM driver was the canonical source for
register definitions and core macros.  To that end, this patch cleans things up
quite a bit, removing redundant definitions (some with different names
referring to the same register) and generally tidying up the header file.

16 years agonv50: oops, keep VRAM allocations aligned at 64KiB - that's our page size..
Ben Skeggs [Sun, 22 Jun 2008 16:42:15 +0000 (02:42 +1000)]
nv50: oops, keep VRAM allocations aligned at 64KiB - that's our page size..

16 years agonv50: use same dma object for fb/tt access
Ben Skeggs [Sun, 22 Jun 2008 15:24:11 +0000 (01:24 +1000)]
nv50: use same dma object for fb/tt access

We depend on the VM fully now for memory protection, separate DMA objects
for VRAM and GART are unneccesary.  However, until the next interface break
(soon) a client can't depend on the objects being the same and must still
call NV_OBJ_SET_DMA_* methods appropriately.

16 years agonouveau: allocate drm-use vram buffers from end of vram.
Ben Skeggs [Sun, 22 Jun 2008 15:00:42 +0000 (01:00 +1000)]
nouveau: allocate drm-use vram buffers from end of vram.

This avoids seeing garbage from engine setup etc before X gets around
to pointing the CRTCs at a new scanout buffer.  Not actually a noticable
problem before G80 as PRAMIN is forced to the end of VRAM by the hardware
already.

16 years agoagp: use true/false instead of TRUE/FALSE
Dave Airlie [Sun, 22 Jun 2008 08:25:22 +0000 (18:25 +1000)]
agp: use true/false instead of TRUE/FALSE

16 years agoRADEON: 0x1002 0x5657 is actually an RV410
Alex Deucher [Sat, 21 Jun 2008 14:46:55 +0000 (10:46 -0400)]
RADEON: 0x1002 0x5657 is actually an RV410

See bug 14289

16 years agodrm: only use kernel ioctl cmd when doing a core ioctl.
Dave Airlie [Fri, 20 Jun 2008 05:35:47 +0000 (15:35 +1000)]
drm: only use kernel ioctl cmd when doing a core ioctl.

Need to overhaul the mess that is driver ioctls

16 years agor300: fix warning
Dave Airlie [Fri, 20 Jun 2008 05:35:16 +0000 (15:35 +1000)]
r300: fix warning

16 years agodrm: fix the ioctl to not believe userspace.
Dave Airlie [Fri, 20 Jun 2008 02:03:41 +0000 (12:03 +1000)]
drm: fix the ioctl to not believe userspace.

believing userspace causes oopses

16 years agoi915: Add support for Intel 4 series chipsets
Zhenyu Wang [Wed, 18 Jun 2008 06:19:38 +0000 (14:19 +0800)]
i915: Add support for Intel 4 series chipsets

Signed-off-by: Zhenyu Wang <zhenyu.z.wang@intel.com>
16 years agoradeon: *really* fix screen corruption thanks to Lukasz Krotowski
Jerome Glisse [Sun, 15 Jun 2008 18:18:29 +0000 (20:18 +0200)]
radeon: *really* fix screen corruption thanks to Lukasz Krotowski

16 years agoradeon: actualy try to fix the corruption
Jerome Glisse [Sun, 15 Jun 2008 17:31:02 +0000 (19:31 +0200)]
radeon: actualy try to fix the corruption

16 years agoradeon: fix screen corruption introduced by last patch
Jerome Glisse [Sun, 15 Jun 2008 16:49:47 +0000 (18:49 +0200)]
radeon: fix screen corruption introduced by last patch

16 years ago[FreeBSD] Fix another lock leak
Robert Noland [Fri, 13 Jun 2008 21:41:20 +0000 (17:41 -0400)]
[FreeBSD] Fix another lock leak

Reported by vehemens

16 years agoradeon: bump driver date to know if lockup fix is in
Jerome Glisse [Fri, 13 Jun 2008 08:02:41 +0000 (10:02 +0200)]
radeon: bump driver date to know if lockup fix is in

16 years agoradeon: r345xx fixe hard lockup
Jerome Glisse [Fri, 13 Jun 2008 07:54:05 +0000 (09:54 +0200)]
radeon: r345xx fixe hard lockup

This patch should fixe hard lockup and convert them in
softlockup (ie you can ssh the box but the gpu is busted
and we are waiting in loop for it to come back to reason).

16 years agoxgi: Bump kernel version
Ian Romanick [Thu, 12 Jun 2008 22:36:48 +0000 (15:36 -0700)]
xgi: Bump kernel version

This should have been bumped when the fence interface was changed the
other day.  Better late than never, I suppose.

16 years agoRADEON: use DSTCACHE_CTLSTAT rather than RB2D_DSTCACHE_CTLSTAT
Alex Deucher [Wed, 11 Jun 2008 22:25:47 +0000 (18:25 -0400)]
RADEON: use DSTCACHE_CTLSTAT rather than RB2D_DSTCACHE_CTLSTAT

According to the hw guys, you should use DSTCACHE_CTLSTAT to flush
the 2D dst cache rather than RB2D_DSTCACHE_CTLSTAT.

16 years agoxgixp: Remove dependency on TTM fences
Ian Romanick [Wed, 11 Jun 2008 05:18:14 +0000 (22:18 -0700)]
xgixp: Remove dependency on TTM fences

16 years agoxgi: Fix 64-bit kernel / 32-bit user issue.
Ian Romanick [Mon, 12 May 2008 22:58:55 +0000 (15:58 -0700)]
xgi: Fix 64-bit kernel / 32-bit user issue.

16 years agoati_pcigart: split out the page insert function
Dave Airlie [Tue, 10 Jun 2008 06:27:50 +0000 (16:27 +1000)]
ati_pcigart: split out the page insert function

16 years agoRADEON: Add untested support for RS400 chips
Alex Deucher [Mon, 9 Jun 2008 20:58:06 +0000 (16:58 -0400)]
RADEON: Add untested support for RS400 chips

GART setup appears to work the same as RS480 chips.
Also RC4xx chips are actually RS400 based, not RS480 based.

16 years agoRADEON: switch IGP gart to use radeon_write_agp_base()
Alex Deucher [Mon, 9 Jun 2008 20:28:35 +0000 (16:28 -0400)]
RADEON: switch IGP gart to use radeon_write_agp_base()

16 years agoFix typo in i915_suspend
Robert Noland [Mon, 9 Jun 2008 03:46:14 +0000 (23:46 -0400)]
Fix typo in i915_suspend

Reported by vehemens

16 years agoI915 suspend/resume for FreeBSD
Robert Noland [Wed, 4 Jun 2008 01:15:54 +0000 (21:15 -0400)]
I915 suspend/resume for FreeBSD

16 years agor300/r500: add hier-z regs
Dave Airlie [Sun, 8 Jun 2008 19:32:41 +0000 (05:32 +1000)]
r300/r500: add hier-z regs

16 years ago[FreeBSD] Rework ati_pcigart.c
Robert Noland [Wed, 4 Jun 2008 19:04:41 +0000 (15:04 -0400)]
[FreeBSD] Rework ati_pcigart.c

This is mostly just a diff reduction with the linux version.
I'm not convinced that it will make anything better.

16 years ago[FreeBSD] We need to request busmastering support.
Robert Noland [Thu, 5 Jun 2008 16:46:39 +0000 (12:46 -0400)]
[FreeBSD] We need to request busmastering support.

This seems to be the key to getting at least some radeon
cards working.  Most, if not all drivers need it enabled,
so just request it once the driver has attached.

16 years ago[FreeBSD] Incorporate vblank fixes for bsd.
Robert Noland [Tue, 3 Jun 2008 20:21:13 +0000 (16:21 -0400)]
[FreeBSD] Incorporate vblank fixes for bsd.

16 years ago[FreeBSD] Forgot to call mtx_destroy on all the locks at unload.
Robert Noland [Tue, 3 Jun 2008 17:02:38 +0000 (13:02 -0400)]
[FreeBSD] Forgot to call mtx_destroy on all the locks at unload.

16 years ago[FreeBSD] Remove the locks in the vblank_disable_fn
Robert Noland [Mon, 2 Jun 2008 23:35:00 +0000 (19:35 -0400)]
[FreeBSD] Remove the locks in the vblank_disable_fn

They are recursive and causing panics with witness enabled.

16 years ago[FreeBSD] Go back to using vbl_lock and move init/destroy to load/unload.
Robert Noland [Mon, 2 Jun 2008 17:12:59 +0000 (13:12 -0400)]
[FreeBSD] Go back to using vbl_lock and move init/destroy to load/unload.

16 years agoradeon: Restore software interrupt on resume.
Dennis Kasprzyk [Thu, 5 Jun 2008 15:08:44 +0000 (17:08 +0200)]
radeon: Restore software interrupt on resume.

Fixes performance drop after suspend/resume on some systems.

16 years agovblank: Don't wait or update the counter while the CRTC is supposedly disabled.
Michel Dänzer [Tue, 3 Jun 2008 09:28:10 +0000 (11:28 +0200)]
vblank: Don't wait or update the counter while the CRTC is supposedly disabled.

Without kernel modesetting, this requires cooperation of the userspace
modesetting driver. We may have to leave the vblank interrupt enabled otherwise
to avoid problems.

16 years agovblank: Clean up compensation for spurious wraparounds of driver counter.
Michel Dänzer [Tue, 3 Jun 2008 09:28:10 +0000 (11:28 +0200)]
vblank: Clean up compensation for spurious wraparounds of driver counter.

Only compensate when the driver counter actually appears to have moved
backwards.

The compensation deltas need to be incremental instead of absolute; drop the
vblank_offset field and just use atomic_sub().

16 years agovblank: Special-case driver vblank counter going back by 1.
Michel Dänzer [Tue, 3 Jun 2008 09:28:09 +0000 (11:28 +0200)]
vblank: Special-case driver vblank counter going back by 1.

Turns out the radeon driver is affected by the same problem that prompted i915
to revert to less useful counter flipping at the end of the vblank interval. In
the long term, we can hopefully implement more reliable methods to achieve
counter flipping at the beginning of vblank, but otherwise this should be an
acceptable workaround.

16 years agovblank: Don't return current sequence number and time if interrupted by signal.
Michel Dänzer [Tue, 3 Jun 2008 09:28:09 +0000 (11:28 +0200)]
vblank: Don't return current sequence number and time if interrupted by signal.

16 years agoRevert "don't copy back if an error was returned."
Michel Dänzer [Tue, 3 Jun 2008 09:27:39 +0000 (11:27 +0200)]
Revert "don't copy back if an error was returned."

This reverts commit 6671ad1917698b6174a1af314b63b3800d75248c.

The vblank ioctl needs to update the userspace parameters when interrupted by
a signal, which was prevented by this. Let's see if this breaks other ioctls...

16 years agodrm: sg alloc should write back the handle to userspace
Dave Airlie [Tue, 3 Jun 2008 02:42:49 +0000 (12:42 +1000)]
drm: sg alloc should write back the handle to userspace

16 years agodrm/ati_pcigart: use proper page mapping function
Dave Airlie [Tue, 3 Jun 2008 02:40:54 +0000 (12:40 +1000)]
drm/ati_pcigart: use proper page mapping function

This should be pci_map_page not pci_map_single

16 years ago[FreeBSD] Declare vblank_disable_fn callout MPSAFE.
Robert Noland [Sun, 1 Jun 2008 23:34:29 +0000 (19:34 -0400)]
[FreeBSD] Declare vblank_disable_fn callout MPSAFE.

16 years ago[FreeBSD] Get rid of vbl_lock and re-use irq_lock.
Robert Noland [Sun, 1 Jun 2008 20:17:31 +0000 (16:17 -0400)]
[FreeBSD] Get rid of vbl_lock and re-use irq_lock.

16 years ago[FreeBSD] Add symlink for radeon_microcode.h
Robert Noland [Sun, 1 Jun 2008 16:56:34 +0000 (12:56 -0400)]
[FreeBSD] Add symlink for radeon_microcode.h

16 years ago[FreeBSD] Call drm_vblank_cleanup during irq uninstall
Robert Noland [Sun, 1 Jun 2008 16:49:20 +0000 (12:49 -0400)]
[FreeBSD] Call drm_vblank_cleanup during irq uninstall

I needed to re-arrange some functions for this.
Also needed to call DRM_SPINUNINIT on the vbl_lock during cleanup.

16 years agoRADEON: fix typo in last commit
Alex Deucher [Fri, 30 May 2008 22:20:01 +0000 (18:20 -0400)]
RADEON: fix typo in last commit

16 years agor500: attempt to make AGP work by programming agp base in the MC correctly
Dave Airlie [Fri, 30 May 2008 10:27:31 +0000 (20:27 +1000)]
r500: attempt to make AGP work by programming agp base in the MC correctly

16 years agoradeon: split microcode out into a separate header file.
Dave Airlie [Wed, 28 May 2008 01:12:57 +0000 (11:12 +1000)]
radeon: split microcode out into a separate header file.

16 years agoi915: fix BSD bh, DRI2 not uses anywhere else
Dave Airlie [Wed, 28 May 2008 00:28:13 +0000 (10:28 +1000)]
i915: fix BSD bh, DRI2 not uses anywhere else

16 years agoradeon: bump release date/version for r500 3D support
Dave Airlie [Wed, 28 May 2008 00:02:20 +0000 (10:02 +1000)]
radeon: bump release date/version for r500 3D support

16 years agoRADEON: add get_param for number of GB pipes
Alex Deucher [Tue, 27 May 2008 22:33:33 +0000 (18:33 -0400)]
RADEON: add get_param for number of GB pipes

16 years ago[BSD] Move unlock in drm_vm.c from accidental platform #ifdeffing.
Owain Ainsworth [Tue, 27 May 2008 22:12:35 +0000 (15:12 -0700)]
[BSD] Move unlock in drm_vm.c from accidental platform #ifdeffing.

Also remove an unreachable unlock.

16 years ago[BSD] Fix lock leak in drm_update_draw malloc failure path.
Owain Ainsworth [Tue, 27 May 2008 22:11:25 +0000 (15:11 -0700)]
[BSD] Fix lock leak in drm_update_draw malloc failure path.

16 years ago[BSD] Fix lock leaks in error paths in drm_bufs.c.
Owain Ainsworth [Tue, 27 May 2008 22:07:04 +0000 (15:07 -0700)]
[BSD] Fix lock leaks in error paths in drm_bufs.c.

16 years ago[BSD] Remove superfluous recursive locking in drm_add_magic.
Owain Ainsworth [Tue, 27 May 2008 21:59:38 +0000 (14:59 -0700)]
[BSD] Remove superfluous recursive locking in drm_add_magic.

16 years ago[i915] Fix typo in (unused) START_ADDR definition.
Jie Luo [Tue, 27 May 2008 21:55:01 +0000 (14:55 -0700)]
[i915] Fix typo in (unused) START_ADDR definition.

16 years ago[FreeBSD] Add vblank-rework support and get drivers building.
Robert Noland [Fri, 23 May 2008 18:36:05 +0000 (14:36 -0400)]
[FreeBSD] Add vblank-rework support and get drivers building.

The i915 driver now works again.

16 years ago[FreeBSD] Convert from drm_device_t to struct drm_device for consistency.
Eric Anholt [Tue, 27 May 2008 21:12:51 +0000 (14:12 -0700)]
[FreeBSD] Convert from drm_device_t to struct drm_device for consistency.