summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm
Commit message (Collapse)AuthorAgeFilesLines
* drm/radeon/kms: cayman/evergreen cs checker updatesAlex Deucher2011-03-034-2/+30
| | | | | Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms/cayman: always set certain VGT regs at CP initAlex Deucher2011-03-031-1/+6
| | | | | | | | These should be handled by the clear_state setup, but set them directly as well just to be sure. Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: additional default context regs for caymanAlex Deucher2011-03-031-0/+5
| | | | | Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: add cayman CS check supportAlex Deucher2011-03-033-4/+62
| | | | | | | Added to existing evergreen CS checker. Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: add radeon_asic entry for caymanAlex Deucher2011-03-032-0/+59
| | | | | Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: add cayman safe regsAlex Deucher2011-03-032-0/+620
| | | | | | | For the CS checker. Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms/cayman: add asic init/startup/fini/suspend/resume functionsAlex Deucher2011-03-033-7/+246
| | | | | | | Cayman is different enough from evergreen to warrant it's own functions. Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: add cayman asic reset supportAlex Deucher2011-03-033-3/+101
| | | | | Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: add support for cayman irqsAlex Deucher2011-03-031-3/+11
| | | | | Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: add support for CP setup on cayman asicsAlex Deucher2011-03-036-1/+482
| | | | | | | | | | | Cayman asics have 3 ring buffers: ring 0 supports both gfx and compute rings 1 and 2 are compute only At the moment we only support ring 0. Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: add support for cayman gart setupAlex Deucher2011-03-032-0/+149
| | | | | | | | This patch sets up the gart in legacy mode. We probably want to switch to full VM mode at some point. Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: add gpu_init function for caymanAlex Deucher2011-03-034-2/+866
| | | | | | | This may some work to get accel going. Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: add ucode loader for caymanAlex Deucher2011-03-031-8/+75
| | | | | | | | | The MC ucode is no longer loaded by the vbios tables as on previous asics. It now must be loaded by the driver. Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: add cayman chip familyAlex Deucher2011-03-032-0/+2
| | | | | | | | Cayman is DCE5 display plus a new 4-way shader block. 3D state programming is similar to evergreen. Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon: add new getparam for number of backends.Dave Airlie2011-03-012-1/+12
| | | | | | | This allows userspace to work out how many DBs there are for conditional rendering to work. Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon: fix up dereferencing of busy objects.Dave Airlie2011-03-011-1/+1
| | | | | | | This could free things twice, just deref the GEM object and hope its enough. Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon: bump version to 2.9Dave Airlie2011-03-011-1/+2
| | | | | | This lets r600g enable texture formats and some more extensions. Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/r600: parse the set predication command. (v2)Dave Airlie2011-03-012-0/+63
| | | | | | | | This is required for NV_conditional_render and EXT_transform_feedback. v2: add evergreen support. Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon: make sure ib reads are in-order.Dave Airlie2011-02-281-7/+9
| | | | | | | have to read values from the IB in order as we could cross a page boundary at any time and won't be able to go backwards. Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/r600_cs: off by one errorsDan Carpenter2011-02-281-6/+9
| | | | | | | There are a bunch of off by one errors in the sanity checks here. Signed-off-by: Dan Carpenter <error27@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/nv50: flesh out ZCULL init and match nvidia on later chipsetsBen Skeggs2011-02-251-5/+34
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nv50: support for compressionBen Skeggs2011-02-259-27/+78
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nv50-nvc0: delay GART binding until move_notify timeBen Skeggs2011-02-259-87/+184
| | | | | | | | The immediate benefit of doing this is that on NV50 and up, the GPU virtual address of any buffer is now constant, regardless of what memtype they're placed in. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau: rename nouveau_vram to nouveau_memBen Skeggs2011-02-2511-70/+70
| | | | | | This structure will also be used for GART in the near future. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nvc0: allow creation of buffers with any non-compressed memtypeBen Skeggs2011-02-251-11/+25
| | | | | | | | This adds a table of known nvc0 memtypes, and modifies the validity check to allow any non-compressed type. Support for Z compression will come at a later point. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nv50-nvc0: unmap buffers from the vm when they're evictedBen Skeggs2011-02-253-7/+36
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nv50-nvc0: move vm bind/unbind to move_notify hookBen Skeggs2011-02-251-22/+37
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nv50-nvc0: restrict memtype to those specified at creation timeBen Skeggs2011-02-253-5/+16
| | | | | | | | | | | | | | | | Upcoming patches are going to enable full support for buffers that keep a constant GPU virtual address whenever they're validated for use by the GPU. In order for this to work properly while keeping support for large pages, we need to know if it's ever going to be possible for a buffer to end up in GART, and if so, disable large pages for the buffer's VMA. This is a new restriction that's not present in earlier kernel's, but should not break userspace as the current code never attempts to validate buffers into a memtype other than it was created with. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau: pass domain rather than ttm flags to gem_new()Ben Skeggs2011-02-254-16/+17
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nv50: simplify bo moves now that they're all through the vmBen Skeggs2011-02-252-21/+15
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau: remove no_vm/mappable flags from nouveau_boBen Skeggs2011-02-2514-109/+56
| | | | | | | | | | 'mappable' isn't really used at all, nor is it necessary anymore as the bo code is capable of moving buffers to mappable vram as required. 'no_vm' isn't necessary anymore either, any places that don't want to be mapped into a GPU address space should allocate the VRAM directly instead. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau: Fix pageflip eventBenjamin Franzke2011-02-251-1/+1
| | | | | | Assign correct event when initializing nouveau_page_flip_state. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/vbios: parse more gpio tag bits from connector tableBen Skeggs2011-02-251-17/+8
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau: decode PFIFO DMA_PUSHER error codesMarcin Slusarz2011-02-251-3/+14
| | | | | Signed-off-by: Marcin Slusarz <marcin.slusarz@gmail.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nv50: fix typos in CCACHE error reportingMarcin Slusarz2011-02-251-4/+4
| | | | | | | | The code was supposed to print registers around 0x405018 (which is read earlier), not 0x405818. Signed-off-by: Marcin Slusarz <marcin.slusarz@gmail.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nvc0: support for sw methods + enable page flippingBen Skeggs2011-02-253-7/+23
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nv50: enable page flippingBen Skeggs2011-02-253-8/+12
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nv50-nvc0: activate/update ds channel's framebuffer on modesetsBen Skeggs2011-02-251-1/+9
| | | | | | | | The hw doesn't really appear to be designed to be used the way we have to use it due to DRI2's design. This leads us to having to keep the flipped fb support active at all times. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nv50-nvc0: initialise display sync channelsBen Skeggs2011-02-256-6/+246
| | | | | | | Also imports a couple of helper functions that'll be used to implement page flipping in the following commits.. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nv50-nvc0: precalculate some fb state when creating themBen Skeggs2011-02-253-55/+61
| | | | | | | Just a cleanup, to avoid duplicating parts of nv50_crtc.c's code in the page flipping routines. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nv50-nvc0: tidy evo object creation some moreBen Skeggs2011-02-253-59/+62
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nv50-nvc0: request and wait on notification of modeset completionBen Skeggs2011-02-255-26/+77
| | | | | | | | | This should prevent a number of races from occuring, the most obvious of which will be exposed when we start making use of the "display sync" evo channel for page flipping. The DS channel will reject any command stream that doesn't completely agree with the current "master" state. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nv50-nvc0: switch to tasklet for display isr bhBen Skeggs2011-02-253-13/+8
| | | | | | | | We need to be able to have the bh run while possibly spinning waiting for the EVO notifier to signal. This apparently happens in some circumstances with preempt disabled, so our workqueue was never being run. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau: make vbios parser runnable from an atomic contextBen Skeggs2011-02-252-9/+9
| | | | | | | | | The nv50 display isr bh needs to be converted to a tasklet, which means we can't sleep anymore. The places we execute vbios init tables are rare, and not in any way performance critical, so this isn't a huge problem. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nv50-nvc0: include nv50_display in evo debuggingBen Skeggs2011-02-251-0/+1
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nv50-nvc0: tidy evo init failure pathsBen Skeggs2011-02-251-42/+33
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nv50-nvc0: fix ramht entries for multiple evo channelsBen Skeggs2011-02-251-1/+3
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nv50-nvc0: disp channels have fixed purposes, don't "allocate" themBen Skeggs2011-02-252-20/+4
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nv50-nvc0: rename disp->evo to disp->masterBen Skeggs2011-02-257-36/+36
| | | | | | | More appropriate, and we're about to be using more than just the master EVO channel. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nv50-nvc0: move non-sharable display state into private structureBen Skeggs2011-02-259-79/+96
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
OpenPOWER on IntegriCloud