summaryrefslogtreecommitdiffstats
path: root/drivers (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'proc-linus' of ↵Linus Torvalds2009-03-3126-107/+12
|\ | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/adobriyan/proc * 'proc-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/adobriyan/proc: Revert "proc: revert /proc/uptime to ->read_proc hook" proc 2/2: remove struct proc_dir_entry::owner proc 1/2: do PDE usecounting even for ->read_proc, ->write_proc proc: fix sparse warnings in pagemap_read() proc: move fs/proc/inode-alloc.txt comment into a source file
| * proc 2/2: remove struct proc_dir_entry::ownerAlexey Dobriyan2009-03-3026-107/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Setting ->owner as done currently (pde->owner = THIS_MODULE) is racy as correctly noted at bug #12454. Someone can lookup entry with NULL ->owner, thus not pinning enything, and release it later resulting in module refcount underflow. We can keep ->owner and supply it at registration time like ->proc_fops and ->data. But this leaves ->owner as easy-manipulative field (just one C assignment) and somebody will forget to unpin previous/pin current module when switching ->owner. ->proc_fops is declared as "const" which should give some thoughts. ->read_proc/->write_proc were just fixed to not require ->owner for protection. rmmod'ed directories will be empty and return "." and ".." -- no harm. And directories with tricky enough readdir and lookup shouldn't be modular. We definitely don't want such modular code. Removing ->owner will also make PDE smaller. So, let's nuke it. Kudos to Jeff Layton for reminding about this, let's say, oversight. http://bugzilla.kernel.org/show_bug.cgi?id=12454 Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
* | Merge branch 'for-linus' of ↵Linus Torvalds2009-03-317-160/+206
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6: PCI PM: Make pci_prepare_to_sleep() disable wake-up if needed radeonfb: Use __pci_complete_power_transition() PCI PM: Introduce __pci_[start|complete]_power_transition() (rev. 2) PCI PM: Restore config spaces of all devices during early resume PCI PM: Make pci_set_power_state() handle devices with no PM support PCI PM: Put devices into low power states during late suspend (rev. 2) PCI PM: Move pci_restore_standard_config to pci-driver.c PCI PM: Use pci_set_power_state during early resume PCI PM: Consistently use variable name "error" for pm call return values kexec: Change kexec jump code ordering PM: Change hibernation code ordering PM: Change suspend code ordering PM: Rework handling of interrupts during suspend-resume PM: Introduce functions for suspending and resuming device interrupts
| * | PCI PM: Make pci_prepare_to_sleep() disable wake-up if neededRafael J. Wysocki2009-03-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the device is not supposed to wake up the system, ie. when device_may_wakeup(&dev->dev) returns 'false', pci_prepare_to_sleep() should pass 'false' to pci_enable_wake() so that it calls the platform to disable the wake-up capability of the device. Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl> Acked-by: Jesse Barnes <jbarnes@virtuousgeek.org>
| * | radeonfb: Use __pci_complete_power_transition()Rafael J. Wysocki2009-03-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Use __pci_complete_power_transition() to finalize the transition into D2 after programming the PMCSR of the device directly. Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl> Acked-by: Jesse Barnes <jbarnes@virtuousgeek.org>
| * | PCI PM: Introduce __pci_[start|complete]_power_transition() (rev. 2)Rafael J. Wysocki2009-03-301-18/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The radeonfb driver needs to program the device's PMCSR directly due to some quirky hardware it has to handle (see http://bugzilla.kernel.org/show_bug.cgi?id=12846 for details) and after doing that it needs to call the platform (usually ACPI) to finish the power transition of the device. Currently it uses pci_set_power_state() for this purpose, however making a specific assumption about the internal behavior of this function, which has changed recently so that this assumption is no longer satisfied. For this reason, introduce __pci_complete_power_transition() that may be called by the radeonfb driver to complete the power transition of the device. For symmetry, introduce __pci_start_power_transition(). Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl> Acked-by: Jesse Barnes <jbarnes@virtuousgeek.org>
| * | PCI PM: Restore config spaces of all devices during early resumeRafael J. Wysocki2009-03-301-7/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | At present the configuration spaces of PCI devices that have no drivers or no PM support in the drivers (either legacy or through a pm object) are not saved during suspend and, consequently, they are not restored during resume. This generally may lead to the state of the system being slightly inconsistent after the resume, so it's better to save and restore the configuration spaces of these devices as well. Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl> Acked-by: Ingo Molnar <mingo@elte.hu> Acked-by: Jesse Barnes <jbarnes@virtuousgeek.org>
| * | PCI PM: Make pci_set_power_state() handle devices with no PM supportRafael J. Wysocki2009-03-301-6/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There is a problem with PCI devices without any PM support (either native or through the platform) that pci_set_power_state() always returns error code for them, even if they are being put into D0. However, such devices are always in D0, so pci_set_power_state() should return success when attempting to put such a device into D0. It also should update the current_state field for these devices as appropriate. This modification is necessary so that the standard configuration registers of these devices are successfully restored by pci_restore_standard_config() during the "early" phase of resume. In addition, pci_set_power_state() should check the value of current_state before calling the platform to change the power state of the device to avoid doing that unnecessarily. Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl> Acked-by: Ingo Molnar <mingo@elte.hu> Acked-by: Jesse Barnes <jbarnes@virtuousgeek.org>
| * | PCI PM: Put devices into low power states during late suspend (rev. 2)Rafael J. Wysocki2009-03-301-53/+81
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Once we have allowed timer interrupts to be enabled during the late phase of suspending devices, we are now able to use the generic pci_set_power_state() to put PCI devices into low power states at that time. We can also use some related platform callbacks, like the ones preparing devices for wake-up, during the late suspend. Doing this will allow us to avoid the race condition where a device using shared interrupts is put into a low power state with interrupts enabled and then an interrupt (for another device) comes in and confuses its driver. At the same time, devices that don't support the native PCI PM or that require some additional, platform-specific operations to be carried out to put them into low power states will be handled as appropriate. Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl> Acked-by: Ingo Molnar <mingo@elte.hu> Acked-by: Jesse Barnes <jbarnes@virtuousgeek.org>
| * | PCI PM: Move pci_restore_standard_config to pci-driver.cRafael J. Wysocki2009-03-303-22/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | Move pci_restore_standard_config() from pci.c to pci-driver.c and make it static. Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl> Acked-by: Ingo Molnar <mingo@elte.hu> Acked-by: Jesse Barnes <jbarnes@virtuousgeek.org>
| * | PCI PM: Use pci_set_power_state during early resumeRafael J. Wysocki2009-03-301-39/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Once we have allowed timer interrupts to be enabled during the early phase of resuming devices, we are now able to use the generic pci_set_power_state() to put PCI devices into D0 at that time. Then, the platform-specific PM code will have a chance to handle devices that don't implement the native PCI PM or that require some additional, platform-specific operations to be carried out to power them up. Also, by doing this we can simplify the code quite a bit. Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl> Acked-by: Ingo Molnar <mingo@elte.hu> Acked-by: Jesse Barnes <jbarnes@virtuousgeek.org>
| * | PCI PM: Consistently use variable name "error" for pm call return valuesFrans Pop2009-03-301-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I noticed two functions use a variable "i" to store the return value of PM function calls while the rest of the file uses "error". As "i" normally indicates a counter of some sort it seems better to keep this consistent. Signed-off-by: Frans Pop <elendil@planet.nl> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org> Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
| * | PM: Rework handling of interrupts during suspend-resumeRafael J. Wysocki2009-03-303-16/+28
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use the functions introduced in by the previous patch, suspend_device_irqs(), resume_device_irqs() and check_wakeup_irqs(), to rework the handling of interrupts during suspend (hibernation) and resume. Namely, interrupts will only be disabled on the CPU right before suspending sysdevs, while device drivers will be prevented from receiving interrupts, with the help of the new helper function, before their "late" suspend callbacks run (and analogously during resume). In addition, since the device interrups are now disabled before the CPU has turned all interrupts off and the CPU will ACK the interrupts setting the IRQ_PENDING bit for them, check in sysdev_suspend() if any wake-up interrupts are pending and abort suspend if that's the case. Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl> Acked-by: Ingo Molnar <mingo@elte.hu>
* | Merge branch 'drm-next' of ↵Linus Torvalds2009-03-3034-403/+27129
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-next' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: (53 commits) drm: detect hdmi monitor by hdmi identifier (v3) drm: drm_fops.c unlock missing on error path drm: reorder struct drm_ioctl_desc to save space on 64 bit builds radeon: add some new pci ids drm: read EDID extensions from monitor drm: Use a little stash on the stack to avoid kmalloc in most DRM ioctls. drm/radeon: add regs required for occlusion queries support drm/i915: check the return value from the copy from user drm/radeon: fix logic in r600_page_table_init() to match ati_gart drm/radeon: r600 ptes are 64-bit, cleanup cleanup function. drm/radeon: don't call irq changes on r600 suspend/resume drm/radeon: fix r600 writeback across suspend/resume drm/radeon: fix r600 writeback setup. drm: fix warnings about new mappings in info code. drm/radeon: NULL noise: drivers/gpu/drm/radeon/radeon_*.c drm/radeon: fix r600 pci mapping calls. drm/radeon: r6xx/r7xx: fix possible oops in r600_page_table_cleanup() radeon: call the correct idle function, logic got inverted. drm/radeon: RS600: fix interrupt handling drm/r600: fix rptr address along lines of previous fixes to radeon. ...
| * | drm: detect hdmi monitor by hdmi identifier (v3)Ma Ling2009-03-291-0/+62
| | | | | | | | | | | | | | | | | | | | | | | | Sometime we need to communicate with HDMI monitor by sending audio or video info frame, so we have to know monitor type. However if user utilize HDMI-DVI adapter to connect DVI monitor, hardware detection will incorrectly show the monitor is HDMI. HDMI spec tell us that any device containing IEEE registration Identifier will be treated as HDMI device. The patch intends to detect HDMI monitor by this rule. Signed-off-by: Ma Ling <ling.ma@intel.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
| * | drm: drm_fops.c unlock missing on error pathDan Carpenter2009-03-291-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | drm_open_helper() from drm_fops.c had a missing mutex_unlock in a error path. This was caught by smatch (http://repo.or.cz/w/smatch.git/). Compile tested. Signed-off-by: Dan Carpenter <error27@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
| * | drm: read EDID extensions from monitorMa Ling2009-03-291-28/+93
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Usually drm read basic EDID, that is enough for us, but since igital display were introduced i.e. HDMI monitor, sometime we need to interact with monitor by EDID extension information, EDID extensions include audio/video data block, speaker allocation and vendor specific data blocks. This patch intends to read EDID extensions from digital monitor for users. Signed-off-by: Ma Ling <ling.ma@intel.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
| * | drm: Use a little stash on the stack to avoid kmalloc in most DRM ioctls.Eric Anholt2009-03-291-5/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The kmalloc was taking up about 1.5% of the CPU on an ioctl-heavy workload (x11perf -aa10text on 965). Initial results look like they have a corresponding improvement in performance for aa10text, but more numbers might not hurt. Thanks to ajax for pointing out this performance regression I'd introduced back in 2007. [airlied: well I introduced it sneakily inside Eric's patch] Signed-off-by: Eric Anholt <eric@anholt.net> Signed-off-by: Dave Airlie <airlied@redhat.com>
| * | drm/radeon: add regs required for occlusion queries supportMaciej Cencora2009-03-294-2/+11
| | | | | | | | | | | | | | | | | | | | | [airlied: cleaned up slightly for drm-next] Signed-off-by: Maciej Cencora <m.cencora@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
| * | drm/i915: check the return value from the copy from userDave Airlie2009-03-291-1/+4
| | | | | | | | | | | | | | | | | | | | | This produced a warning on my build, not sure why super-warning-man didn't notice this one, its much worse than the %z one. Signed-off-by: Dave Airlie <airlied@redhat.com>
| * | drm: merge Linux master into HEADDave Airlie2009-03-291635-114806/+165141
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: drivers/gpu/drm/drm_info.c drivers/gpu/drm/drm_proc.c drivers/gpu/drm/i915/i915_gem_debugfs.c
| * | | drm/radeon: fix logic in r600_page_table_init() to match ati_gartAlex Deucher2009-03-181-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes page table init on rs600. Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
| * | | drm/radeon: r600 ptes are 64-bit, cleanup cleanup function.Dave Airlie2009-03-131-1/+1
| | | | | | | | | | | | | | | | Signed-off-by: Dave Airlie <airlied@redhat.com>
| * | | drm/radeon: don't call irq changes on r600 suspend/resumeDave Airlie2009-03-131-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | Until we sort out r600 IRQs don't do this. Signed-off-by: Dave Airlie <airlied@redhat.com>
| * | | drm/radeon: fix r600 writeback across suspend/resumeDave Airlie2009-03-131-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | This update was done in mainline radeon, but not in the r600. Signed-off-by: Dave Airlie <airlied@redhat.com>
| * | | drm/radeon: fix r600 writeback setup.Dave Airlie2009-03-131-13/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes 2 bugs: 1. the AGP calculation wasn't consistent with the PCI(E) calc for the RPTR_ADDR registers. This consolidates the writes and fixes it up. 2. The scratch address was being incorrectly calculated, this breaks it out into a lot more linear steps. Signed-off-by: Dave Airlie <airlied@redhat.com>
| * | | drm: fix warnings about new mappings in info code.Dave Airlie2009-03-131-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes up the warnings in the debugfs code that conflicted with the mapping fixups. Signed-off-by: Dave Airlie <airlied@redhat.com>
| * | | drm/radeon: NULL noise: drivers/gpu/drm/radeon/radeon_*.cHannes Eder2009-03-133-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix this sparse warning: drivers/gpu/drm/radeon/r600_cp.c:1811:52: warning: Using plain integer as NULL pointer drivers/gpu/drm/radeon/radeon_cp.c:1363:52: warning: Using plain integer as NULL pointer drivers/gpu/drm/radeon/radeon_state.c:1983:61: warning: Using plain integer as NULL pointer Signed-off-by: Hannes Eder <hannes@hanneseder.net> Signed-off-by: Dave Airlie <airlied@redhat.com>
| * | | drm/radeon: fix r600 pci mapping calls.Dave Airlie2009-03-131-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This realigns the r600 pci mapping calls with the ati pcigart ones, fixing the direction and using the correct interface. Suggested by Jerome Glisse. Signed-off-by: Dave Airlie <airlied@redhat.com>
| * | | drm/radeon: r6xx/r7xx: fix possible oops in r600_page_table_cleanup()Alex Deucher2009-03-131-0/+3
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
| * | | radeon: call the correct idle function, logic got inverted.Dave Airlie2009-03-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | This calls the correct idle function for the R600 and previous chips. Signed-off-by: Dave Airlie <airlied@redhat.com>
| * | | drm/radeon: RS600: fix interrupt handlingAlex Deucher2009-03-132-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | the checks weren't updated when RS600 support was added. Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@linux.ie>
| * | | drm/r600: fix rptr address along lines of previous fixes to radeon.Dave Airlie2009-03-131-10/+4
| | | | | | | | | | | | | | | | Signed-off-by: Dave Airlie <airlied@redhat.com>
| * | | drm/r600: fixup r600 gart table accessor like ati_pcigart.cDave Airlie2009-03-131-10/+13
| | | | | | | | | | | | | | | | | | | | | | | | This attempts to fixup the r600 GART accessors so they work on other arches. Signed-off-by: Dave Airlie <airlied@redhat.com>
| * | | drm/ati_pcigart: use memset_io to reset the memoryDave Airlie2009-03-131-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | Also don't setup pci_gart if we aren't going to need it. Signed-off-by: Dave Airlie <airlied@redhat.com>
| * | | radeon: add support for rs600 GPUsAlex Deucher2009-03-133-5/+185
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | RS600s are an AMD IGP for Intel CPUs, that look like RS690s from a lot of perspectives but look like r600s from a memory controller point of view. Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
| * | | radeon: fix r600 AGP supportAlex Deucher2009-03-131-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes the ioremap issues with r600 AGP. Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
| * | | drm/radeon: add initial support for R6xx/R7xx GPUsAlex Deucher2009-03-135-65/+2439
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds support for 2D/Xv acceleration in the X.org 2D driver, to the drm. It doesn't yet provide any 3D support hooks. Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
| * | | drm/radeon: add r6xx/r7xx microcodeAlex Deucher2009-03-131-0/+23297
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This uses the same microcode system as the current radeon code. It should be converted to the new microcode loader I suppose, though really I need a lot more proof of the worth of me maintaining firmware blobs externally. Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
| * | | drm/radeon: prep for r6xx/r7xx supportAlex Deucher2009-03-132-1/+517
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - add r6xx/r7xx regs and macros - add r6xx/r7xx chip families - fix register access for regs with offsets >= 0x10000 Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
| * | | i915/drm: Remove two redundant agp_chipset_flushesOwain G. Ainsworth2009-03-131-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | agp_chipset_flush() is for flushing the intel GMCH write cache via the IFP, these two uses are for when we're getting the object into the cpu READ domain, and thus should not be needed. This confused me when I was getting my head around the code. With thanks to airlied for helping me check my mental picture of how the flushes and clflushes are supposed to be used. Signed-off-by: Owain G. Ainsworth <oga@openbsd.org> Signed-off-by: Eric Anholt <eric@anholt.net> Signed-off-by: Dave Airlie <airlied@redhat.com>
| * | | drm/i915: Display fence register state in debugfs i915_gem_fence_regs node.Chris Wilson2009-03-131-9/+57
| | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Eric Anholt <eric@anholt.net> Signed-off-by: Dave Airlie <airlied@redhat.com>
| * | | drm/i915: Add information on pinning and fencing to the i915 list debug.Eric Anholt2009-03-131-11/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was inspired by a patch by Chris Wilson, though none of it applied in any way due to the debugfs work and I decided to change the formatting of the new information anyway. Signed-off-by: Eric Anholt <eric@anholt.net> Signed-off-by: Dave Airlie <airlied@redhat.com>
| * | | drm/i915: Consolidate gem object list dumpingBen Gamari2009-03-131-58/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Here we eliminate a few functions in favor of using a single function to dump from all of the object lists. Signed-Off-By: Ben Gamari <bgamari@gmail.com> Signed-off-by: Eric Anholt <eric@anholt.net> Signed-off-by: Dave Airlie <airlied@redhat.com>
| * | | drm: Convert proc files to seq_file and introduce debugfsBen Gamari2009-03-1311-953/+938
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The old mechanism to formatting proc files is extremely ugly. The seq_file API was designed specifically for cases like this and greatly simplifies the process. Also, most of the files in /proc really don't belong there. This patch introduces the infrastructure for putting these into debugfs and exposes all of the proc files in debugfs as well. This contains the i915 hooks rewrite as well, to make bisectability better. Signed-off-by: Ben Gamari <bgamari@gmail.com> Signed-off-by: Eric Anholt <eric@anholt.net> Signed-off-by: Dave Airlie <airlied@redhat.com>
| * | | drm/radeon: split busmaster enable out to a separate functionDave Airlie2009-03-131-15/+20
| | | | | | | | | | | | | | | | | | | | | | | | this is just a code cleanup from the kms tree. Signed-off-by: Dave Airlie <airlied@redhat.com>
| * | | drm/radeon: align ring writes to 16 dwords boundaries.Dave Airlie2009-03-132-11/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On some radeon GPUs this appears to introduce another level of stability around interacting with the ring. Its pretty much what fglrx appears to do. Signed-off-by: Dave Airlie <airlied@redhat.com>
| * | | drm/radeon: Print PCI ID of cards when probingBenjamin Herrenschmidt2009-03-131-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is usedul when you have multiple cards to figure out which one is which minor. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Dave Airlie <airlied@redhat.com>
| * | | drm: Only use DRM_IOCTL_UPDATE_DRAW compat wrapper for compat X86.David Miller2009-03-131-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Only X86 32-bit uses a different alignment for "unsigned long long" than it's 64-bit counterpart. Therefore this compat translation is only correct, and only needed, when either CONFIG_X86 or CONFIG_IA64. Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Dave Airlie <airlied@redhat.com>
| * | | drm: radeon: Fix unaligned access in r300_scratch().David Miller2009-03-131-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In compat mode, the cmdbuf->buf 64-bit address cookie can potentially be only 32-bit aligned. Dereferencing this as 64-bit causes expensive unaligned traps on platforms like sparc64. Use get_unaligned() to fix. Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Dave Airlie <airlied@redhat.com>