summaryrefslogtreecommitdiffstats
path: root/sys/dev/drm
Commit message (Collapse)AuthorAgeFilesLines
* Add a couple of radeon pci ids.rnoland2009-03-201-0/+2
| | | | MFC after: 3 days
* Adjust the flags to bus_dmamem around here too.rnoland2009-03-201-7/+8
| | | | MFC after: 3 days
* Add some debugging so I can see when syscalls are being restartedrnoland2009-03-193-1/+12
| | | | | | | consistantly. After a lengthy irc discussion it seems like we shouldn't need to worry about them, but it's nice to know about. MFC after: 3 days
* Rework vblank handling to try to resolve some reports of "slow" windowsrnoland2009-03-191-19/+36
| | | | | | | | after vt switch or suspend. I can't really test this on Intel right now but I think I've heard reports of it on radeon as well. I can't break it on the radeon here. MFC after: 3 days
* Sync up the rest of the code that we use with what Intel is shippingrnoland2009-03-192-83/+111
| | | | | | | -Some irq/vblank related changes that hopefully will help. -A little more cleanup while I'm here. MFC after: 3 days
* Pull in some suspend / resume changes from Intel's codernoland2009-03-193-15/+69
| | | | | Tested by: mav@ MFC after: 3 days
* Cast to (unsigned long) to make printf happy on i386rnoland2009-03-171-2/+3
| | | | MFC after: 3 days
* Add support for matching solely on vendor id.rnoland2009-03-171-2/+6
| | | | | | We will use this method with nouveau MFC after: 3 days
* Improve the debugging output of drm_mmaprnoland2009-03-171-1/+6
| | | | MFC after: 3 days
* Add list_for_each_prev to our linux compatibility.rnoland2009-03-171-0/+4
| | | | | | We need this for nouveau MFC after: 3 days
* Minor code cleanuprnoland2009-03-171-1/+1
| | | | MFC after: 3 days
* We can have more than 3 pci resourcesrnoland2009-03-171-1/+1
| | | | MFC after: 3 days
* Cast register maps and offsets to vm_offset_trnoland2009-03-171-6/+12
| | | | MFC after: 3 days
* Change the logic around to match ati_pcigart.rnoland2009-03-171-2/+2
| | | | MFC after: 3 days
* Use flsl() here rather than ffsl()rnoland2009-03-171-1/+1
| | | | | | I discovered that we were computing page_order differently than linux. MFC after: 3 days
* Use the right MSI_REARM for RS600.rnoland2009-03-161-0/+1
| | | | MFC after: 3 days
* Get rid of any remaining PZERO flags in mtx_sleep()rnoland2009-03-163-14/+2
| | | | | | Also, clean up some ifdef mess while I'm here. MFC after: 3 days
* Fix R600 writeback across suspend/resume.rnoland2009-03-161-3/+0
| | | | | | | This is likely a NOOP for us, since I haven't ported the suspend/resume code yet. MFC after: 3 days
* Consistently use kdev for the kernel device.rnoland2009-03-0910-91/+91
| | | | | Submitted by: vehemens <vehemens@verizon.net> MFC after: 3 days
* Clean up the printing on amd64. Should also be consistent on i386.rnoland2009-03-091-3/+3
| | | | MFC after: 3 days
* There is no need to sync these buffers to swap.rnoland2009-03-091-3/+4
| | | | MFC after: 3 days
* Change the flags to bus_dmamem around to allow it to sleep waiting forrnoland2009-03-091-4/+4
| | | | | | | resources during allocation, but not during map load. Also, zero the buffers here. MFC after: 3 days
* Fix the flags to bus_dmamem_* to allow the allocation to sleep whilernoland2009-03-091-2/+3
| | | | | | | waiting for resources. It is really the load that we can't defer. BUS_DMA_NOCACHE belongs on bus_dmamap_load() as well. MFC after: 3 days
* -Make the PCI(E)/AGP calculations consistentrnoland2009-03-091-19/+22
| | | | | | -Calculate the scratch address correctly MFC after: 10 days
* Call the right function for the right chipset.rnoland2009-03-091-1/+1
| | | | MFC after: 10 days
* Import support for ATI Radeon R600 and R700 series chips.rnoland2009-03-078-384/+26950
| | | | | | | | | | | | | | Tested on an HD3850 (RV670) on loan from Warren Block. Currently, you need one of the following for this to be useful: x11-drivers/xf86-video-radeonhd-devel (not tested) xf86-video-ati from git (EXA works, xv is too fast) xf86-video-radeonhd from git (EXA works, xv works) There is no 3d support available from dri just yet. MFC after: 2 weeks
* Initialize the vblank structures at load time. Previously we did thisrnoland2009-02-2816-20/+44
| | | | | | | | | | | | at irq install/uninstall time, but when we vt switch, we uninstall the irq handler. When the irq handler is reinstalled, the modeset ioctl happens first. The modeset ioctl is supposed to tell us that we can disable vblank interrupts if there are no active consumers. This will fail after a vt switch until another modeset ioctl is called via dpms or xrandr. Leading to cases where either interrupts are on and can't be disabled, or worse, no interrupts at all. MFC after: 2 weeks
* Add a tuneable to allow disabling msi on drm at runtime.rnoland2009-02-271-1/+5
| | | | | | Suggested by: jhb@ MFC after: 2 weeks
* Fix up some ioctl permissions issues long overlooked.rnoland2009-02-273-8/+7
| | | | | Submitted by: jkim@ MFC after: 2 weeks
* The GM45 handles vblank differently. Pull the changes from Intel in.rnoland2009-02-255-1/+25
| | | | MFC after: 2 Weeks
* Remove D_NEEDGIANT.rnoland2009-02-251-1/+1
| | | | MFC after: 2 weeks
* Turn on MSI if the card supports it. There is a blacklist for chipsrnoland2009-02-253-35/+78
| | | | | | which report that they are capable of MSI, but don't work correctly. MFC after: 2 weeks
* Prepare the radeon driver for MSI support.rnoland2009-02-251-0/+28
| | | | MFC after: 2 weeks
* Add some vblank related debugging and replace the DRM_WAIT_ON macrornoland2009-02-251-9/+23
| | | | | | with a localized version. MFC after: 2 weeks
* This was part of a sync to the code that Intel is shipping in linux.rnoland2009-02-256-2272/+1909
| | | | | | | | - Remove the old TTM interface - Move register definitions to i915_reg.h - Overhaul the irq handler MFC after: 2 weeks
* The i915 driver was the only consumer of locked task support.rnoland2009-02-254-64/+0
| | | | | | | Now that it doesn't use it anymore, get right of the taskqueue and locked task support. MFC after: 2 weeks
* The vblank_swap ioctl was fundamentally race prone. Get rid of it.rnoland2009-02-253-433/+14
| | | | MFC after: 2 weeks
* There is no reason to hold the lock here.rnoland2009-02-251-2/+0
| | | | | | | When I was LOCK_PROFILING this was pretty high up and there is no reason for it. MFC after: 2 weeks
* Remove the PZERO priority from mtx_sleep.rnoland2009-02-251-2/+2
| | | | MFC after: 2 weeks
* Only set registers if irqs are enabledrnoland2008-12-231-2/+4
| | | | | Approved by: kib Obtained from: drm git
* Convert DRM_[DEBUG,ERROR,INFO] macros to c99 __VA_ARGS__.rnoland2008-12-211-5/+5
| | | | Approved by: kib
* Garbage collect entries from pcireg.h since we now include it.rnoland2008-12-181-9/+0
| | | | | Approved by: kib@ MFC after: 2 weeks
* We only want drm to ever attach to the primary pci device.rnoland2008-12-182-0/+5
| | | | | | | | | | Intel 855 chips present the same pci id for both heads. This prevents us from attaching to the dummy second head. All other chips that I am aware of either only present a single pci id, or different ids for each head so that we only match on the correct head. Approved by: kib@ MFC after: 2 weeks
* rework drm_scatter.c which allocates scatter / gather pages for use byrnoland2008-12-182-31/+91
| | | | | | | | | | | ati pci gart to use bus_dma to handle the allocations. This fixes a garbled screen issue on at least some radeons (X1400 tested). It is also likely that this is the correct fix for PR# 119324, though that is not confirmed yet. Reviewed by: jhb@ (mentor, prior version) Approved by: kib@ MFC after: 2 weeks
* Fix error in busmaster enable logicrnoland2008-10-271-2/+4
| | | | | | | | rs400/rs480 should clear the RADEON_BUS_MASTER_DIS bit. This should get the rs485 IGP chips going again. Approved by: jhb (mentor) Obtained from: drm git master
* Fix some fallout from the busmaster disable cleanuprnoland2008-10-272-10/+9
| | | | | | | rs400 is just like rs480 Approved by: jhb (mentor) Obtained from: drm git
* Don't report GEM capability until we actually have GEM support.rnoland2008-10-271-1/+2
| | | | | | This was causing the newer Intel video drivers to fail and abort X. Approved by: jhb (mentor)
* drm/i915: fix ioremap of a user address for non-root (CVE-2008-3831)rnoland2008-10-251-1/+1
| | | | | | | | | | | | | | | Olaf Kirch noticed that the i915_set_status_page() function of the i915 kernel driver calls ioremap with an address offset that is supplied by userspace via ioctl. The function zeroes the mapped memory via memset and tells the hardware about the address. Turns out that access to that ioctl is not restricted to root so users could probably exploit that to do nasty things. We haven't tried to write actual exploit code though. It only affects the Intel G33 series and newer. Approved by: bz (secteam) Obtained from: Intel drm repo Security: CVE-2008-3831
* Replace calls to minor() with dev2unit(). Ed already fixed this once,rnoland2008-10-232-2/+2
| | | | | | | | but I inadvertently overwrote the change when I synced to git. Commit the fix in both places, so this doesn't happen again. Approved by: jhb (mentor) MFC after: 2 weeks
* This check is invalid and I disabled it once already. I accidentallyrnoland2008-10-231-6/+4
| | | | | | | | reintroduced it with the sync to git master. Commit the fix in both places this time. Approved by: jhb (mentor) MFC after: 2 weeks
OpenPOWER on IntegriCloud