Dave Airlie [Thu, 29 Nov 2012 10:23:56 +0000 (20:23 +1000)]
Merge branch 'for-airlied' of git://people.freedesktop.org/~danvet/drm-intel into drm-next
Daniel writes:
Besides the big item of lifting the "preliminary hw support" tag from the
Haswell code, just small bits&pieces all over:
- Leftover Haswell patches and some fixes from Paulo
- LyncPoint PCH support (for hsw)
- OOM handling improvements from Chris Wilson
- connector property and send_vblank_event refactorings from Rob Clark
- random pile of small fixes
Note that the send_vblank refactorings will cause some locking WARNs to
show up. Imre has fixed that up, but since all the driver changes outside
of the drm core have been for exonys, those four patches are merged
through the exonys-next tree.
Meh, I've forgotten to cherry-pick an important fix from Ben for a
regression in the 3.8 gen6+ gtt code. New pull request below. While I'm at
it, the hdmi VIC patch for the drm edid code is still in my queue, I'll
send you that in the next 3.8-fixes pull.
* 'for-airlied' of git://people.freedesktop.org/~danvet/drm-intel: (33 commits)
drm/i915: Fix pte updates in ggtt clear range
drm/i915: promote Haswell to full support
drm/i915: Report the origin of the LVDS fixed panel mode
drm/i915: LVDS fallback to fixed-mode if EDID not present
drm/i915/sdvo: kfree the intel_sdvo_connector, not drm_connector, on destroy
drm/i915: drm_connector_property -> drm_object_property
drm/i915: use drm_send_vblank_event() helper
drm/i915: Use pci_resource functions for BARs.
drm/i915: Borrow our struct_mutex for the direct reclaim
drm/i915: Defer assignment of obj->gtt_space until after all possible mallocs
drm/i915: Apply the IBX transcoder A w/a for HDMI to SDVO as well
drm/i915: implement WaMbcDriverBootEnable on Haswell
drm/i915: fix intel_ddi_get_cdclk_freq for ULT machines
drm/i915: make the panel fitter work on pipes B and C on Haswell
drm/i915: make the panel fitter work on pipes B and C on IVB
drm/i915: don't intel_crt_init if DDI A has 4 lanes
drm/i915: make DP work on LPT-LP machines
drm/i915: fix false positive "Unclaimed write" messages
drm/i915: use cpu/pch transcoder on intel_enable_pipe
drm/i915: don't limit Haswell CRT encoder to pipe A
...
Ben Widawsky [Tue, 27 Nov 2012 05:52:54 +0000 (21:52 -0800)]
drm/i915: Fix pte updates in ggtt clear range
This bug was introduced by me:
commit
e76e9aebcdbfebae8f4cd147e3c0f800d36e97f3
Author: Ben Widawsky <ben@bwidawsk.net>
Date: Sun Nov 4 09:21:27 2012 -0800
drm/i915: Stop using AGP layer for GEN6+
The existing code uses memset_io which follows memset semantics in only
guaranteeing a write of individual bytes. Since a PTE entry is 4 bytes,
this can only be correct if the scratch page address is 0.
This caused unsightly errors when we clear the range at load time,
though I'm not really sure what the heck is referencing that memory
anyway. I caught this is because I believe we have some other bug where
the display is doing reads of memory we feel should be cleared (or we
are relying on scratch pages to be a specific value).
Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Thierry Reding [Wed, 28 Nov 2012 19:45:28 +0000 (20:45 +0100)]
drm: tegra: Add maintainers entry
Add myself as the maintainer of the NVIDIA Tegra DRM driver.
Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de>
Acked-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Jingoo Han [Thu, 29 Nov 2012 04:26:05 +0000 (13:26 +0900)]
drm/pci: add missing variable initialization
Fixed build warning as below:
drivers/gpu/drm/drm_pci.c: In function 'drm_pcie_get_speed_cap_mask':
drivers/gpu/drm/drm_pci.c:496:9: warning: 'lnkcap' may be used uninitialized in this function [-Wuninitialized]
drivers/gpu/drm/drm_pci.c:497:10: warning: 'lnkcap2' may be used uninitialized in this function [-Wuninitialized]
Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Sachin Kamat [Tue, 20 Nov 2012 06:05:32 +0000 (11:35 +0530)]
drm/nouveau/device: Remove duplicate inclusion of core/device.h
core/device.h was included twice.
Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Sachin Kamat [Tue, 20 Nov 2012 05:53:50 +0000 (11:23 +0530)]
drm/nouveau: remove duplicate inclusion of nouveau_ttm.h
nouveau_ttm.h was included twice.
Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Ben Skeggs [Tue, 27 Nov 2012 01:05:36 +0000 (11:05 +1000)]
drm/nouveau/fifo: trigger engine context unload before zeroing context pointer
Fixes a PCE0 page fault noticed on NVD9 during module unload.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Daniel J Blueman [Sat, 24 Nov 2012 02:11:46 +0000 (10:11 +0800)]
drm/nouveau: prevent log mangling
On 3.7-rc6, add missing newline to to prevent the following kernel log
line getting appended to the current one after switching the integrated
GPU and suspending the discrete GPU.
Signed-off-by: Daniel J Blueman <daniel@quora.org>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Marcin Slusarz [Sun, 25 Nov 2012 22:04:23 +0000 (23:04 +0100)]
drm/nouveau: unpin various bo's before destroying
These objects leak VRAM - but only on module unload.
Signed-off-by: Marcin Slusarz <marcin.slusarz@gmail.com>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Marcin Slusarz [Sun, 25 Nov 2012 22:02:28 +0000 (23:02 +0100)]
drm/nouveau: unpin pushbuffer bo before destroying it
Fixes GART leak (as accounted by nouveau_drm.gem.gart_available).
Signed-off-by: Marcin Slusarz <marcin.slusarz@gmail.com>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Marcin Slusarz [Sun, 25 Nov 2012 22:01:28 +0000 (23:01 +0100)]
drm/nouveau: remove misleading comment from nouveau_prime_new
Copy/pasted from nouveau_gem_new.
Signed-off-by: Marcin Slusarz <marcin.slusarz@gmail.com>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Marcin Slusarz [Sun, 25 Nov 2012 22:00:57 +0000 (23:00 +0100)]
drm/nouveau: raise reporting levels of some messages
Signed-off-by: Marcin Slusarz <marcin.slusarz@gmail.com>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Martin Peres [Mon, 26 Nov 2012 23:30:32 +0000 (00:30 +0100)]
drm/nouveau/core: fix the assumption that NVDEV_XXXX is always under 32
It fixes a bug that would have been introduced when adding more
sudevs/engines.
Signed-off-by: Martin Peres <martin.peres@labri.fr>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Ben Skeggs [Fri, 23 Nov 2012 01:20:11 +0000 (11:20 +1000)]
drm/nouveau/ppp: remove nouveau_ppp base class
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Ben Skeggs [Fri, 23 Nov 2012 01:14:49 +0000 (11:14 +1000)]
nve0/ppp: enable support via nvc0's implementation
NVIDIA also appear to use the same class on Fermi/Kepler for PPP.
Will allow use of the engine if firmware (nvXX_fuc086) provided.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Maarten Lankhorst [Fri, 23 Nov 2012 01:13:36 +0000 (11:13 +1000)]
nvc0/ppp: initial implementation of engine
Will allow use of the engine if firmware (nvXX_fuc086) provided.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Maarten Lankhorst [Fri, 23 Nov 2012 01:10:45 +0000 (11:10 +1000)]
nvc0/vp: initial implementation of engine
Will allow use of the engine if firmware (nvXX_fuc085) provided.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Maarten Lankhorst [Fri, 23 Nov 2012 01:08:23 +0000 (11:08 +1000)]
nvc0/bsp: initial implementation of engine
Will allow use of the engine if firmware (nvXX_fuc084) provided.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Ben Skeggs [Thu, 22 Nov 2012 06:01:06 +0000 (16:01 +1000)]
drm/nouveau/vdec: remove nouveau_{bsp,vp} base classes, use nouveau_engine directly
Later chipsets use falcon anyway, and I can't currently see a good need
for a shared base class.
PPP will get the same treatment once Maarten's patches are merged.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Ben Skeggs [Thu, 22 Nov 2012 05:54:46 +0000 (15:54 +1000)]
drm/nve0/fifo: allow for future binding of ppp contexts
No support for the class yet, but will be pulled in with Maarten's Fermi
vdec patches. The Kepler PPP class is identical.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Ben Skeggs [Thu, 22 Nov 2012 05:48:41 +0000 (15:48 +1000)]
drm/nve0/vp: implement initial support for engine
Will allow use of the engine if firmware (nvXX_fuc085) provided.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Ben Skeggs [Thu, 22 Nov 2012 05:42:23 +0000 (15:42 +1000)]
drm/nve0/bsp: implement initial support for engine
Will allow use of the engine if firmware (nvXX_fuc084) provided.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Ben Skeggs [Thu, 22 Nov 2012 03:43:55 +0000 (13:43 +1000)]
drm/nve0: allow specification of channel engine type in abi16 call
Previously, if either vram/gart handles were specified as ~0, the ioctl
call would fail. In order to hack engine selection into the ioctl for
kepler, we now define (fb_ctxdma_handle == ~0) to mean "engine mask is
in tt_ctxdma_handle".
This approach also allows new userspace to detect lack of support for
non-PGRAPH channels on older kernels.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Ben Skeggs [Thu, 22 Nov 2012 03:27:37 +0000 (13:27 +1000)]
drm/nouveau/core: implement shortcut for simple engctx construction
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Ben Skeggs [Thu, 22 Nov 2012 03:02:06 +0000 (13:02 +1000)]
drm/nvc0/copy: share interrupt handler with nva3
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Ben Skeggs [Thu, 22 Nov 2012 02:57:32 +0000 (12:57 +1000)]
drm/nv50/fb: implement trap handler as subdev interrupt handler
nv50_fb_trap() will now be called automagically by the mc intr handler,
rather than each engine's handler having to check for traps manually.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Ben Skeggs [Thu, 22 Nov 2012 02:49:42 +0000 (12:49 +1000)]
drm/nouveau/mc: allow calling of multiple handlers for a give intr bit
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Ben Skeggs [Thu, 22 Nov 2012 02:37:30 +0000 (12:37 +1000)]
drm/nouveau/copy: remove nouveau_copy base class
nva3/nvc0 are using falcon, nve0 is now using engine directly.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Ben Skeggs [Thu, 22 Nov 2012 02:33:25 +0000 (12:33 +1000)]
drm/nvc0/copy: use nouveau_falcon base class
Reviewed-by: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Ben Skeggs [Thu, 22 Nov 2012 02:27:05 +0000 (12:27 +1000)]
drm/nva3/copy: use nouveau_falcon base class
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Ben Skeggs [Thu, 22 Nov 2012 02:18:57 +0000 (12:18 +1000)]
drm/nv98/crypt: use nouveau_falcon base class
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Ben Skeggs [Wed, 21 Nov 2012 11:02:32 +0000 (21:02 +1000)]
drm/nouveau: initial falcon (fuc) engine base class implementation
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Dave Airlie [Fri, 2 Nov 2012 01:04:28 +0000 (11:04 +1000)]
drm/nouveau: convert to dev_pm_ops
This is a precursor to dynamic power management support for nouveau,
we need to use pm ops for that, so first convert the driver to using pm ops
interfaces.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Dave Airlie [Fri, 2 Nov 2012 01:04:27 +0000 (11:04 +1000)]
drm/nouveau: Add interface to detect optimus and v1 support
This is required to decide if we can auto-powerdown and how to implement it.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Ben Skeggs [Wed, 21 Nov 2012 04:49:54 +0000 (14:49 +1000)]
drm/nouveau/disp: add support for 10bpc over DisplayPort
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Ben Skeggs [Wed, 21 Nov 2012 04:40:21 +0000 (14:40 +1000)]
drm/nouveau: rename nvd0_display to nv50_display to reflect reality since merge
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Ben Skeggs [Fri, 16 Nov 2012 01:54:31 +0000 (11:54 +1000)]
drm/nv50-nvc0: switch to common disp impl, removing previous version
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Ben Skeggs [Wed, 21 Nov 2012 03:03:42 +0000 (13:03 +1000)]
drm/nvd0/disp: implement support for colour vibrance control
Ported from original nv50 commit by Christoph, with added support for the
setting on later chipsets.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Ben Skeggs [Mon, 19 Nov 2012 00:18:25 +0000 (10:18 +1000)]
drm/nvd0/disp: remove fetching of capabilities report
Unused, and caused a race with evo_sync(). Will revisit using it properly
later on.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Ben Skeggs [Fri, 16 Nov 2012 01:44:14 +0000 (11:44 +1000)]
drm/nvd0/disp: enable support for older display classes
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Ben Skeggs [Fri, 16 Nov 2012 03:58:48 +0000 (13:58 +1000)]
drm/nvd0/disp: support creation of fb dma objects on older chipsets
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Ben Skeggs [Fri, 16 Nov 2012 03:16:51 +0000 (13:16 +1000)]
drm/nvd0/disp: implement support for older DISP_SYNC classes
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Ben Skeggs [Fri, 16 Nov 2012 01:40:34 +0000 (11:40 +1000)]
drm/nvd0/disp: implement sor support for older display classes
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Ben Skeggs [Fri, 16 Nov 2012 01:21:37 +0000 (11:21 +1000)]
drm/nvd0/disp: implement dac support for older display classes
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Ben Skeggs [Fri, 16 Nov 2012 00:24:31 +0000 (10:24 +1000)]
drm/nvd0/disp: start implementing support for older display classes
Currently unused, but checkpointing the merged head handling routines.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Ben Skeggs [Thu, 15 Nov 2012 08:58:01 +0000 (18:58 +1000)]
drm/nouveau/dp: remove last bits of VBIOS parsing from DRM code
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Ben Skeggs [Thu, 15 Nov 2012 08:56:02 +0000 (18:56 +1000)]
drm/nouveau/dp: move core link training calls to common code
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Ben Skeggs [Sun, 11 Nov 2012 23:55:16 +0000 (09:55 +1000)]
drm/nouveau: remove (now obsolete) BIT U table parsing from DRM code
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Ben Skeggs [Fri, 9 Nov 2012 02:09:48 +0000 (12:09 +1000)]
drm/nv50/disp: move remaining interrupt handling into core
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Ben Skeggs [Fri, 9 Nov 2012 01:25:37 +0000 (11:25 +1000)]
drm/nvd0/disp: calculate U script id in supervisor interrupt
This is like we do on nv50:nvd9 already. There's been no problems seen
yet with using this *seemingly* scratch register to store the value, but
we won't be able to do this anymore once nv50's code is merged.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Ben Skeggs [Fri, 9 Nov 2012 00:54:38 +0000 (10:54 +1000)]
drm/nv84/disp: move hdmi control into core
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Ben Skeggs [Fri, 9 Nov 2012 00:38:10 +0000 (10:38 +1000)]
drm/nva3/disp: move hda codec handling to core
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Ben Skeggs [Thu, 8 Nov 2012 23:53:28 +0000 (09:53 +1000)]
drm/nv50/disp: move dp link training helpers into core
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Ben Skeggs [Thu, 8 Nov 2012 23:38:06 +0000 (09:38 +1000)]
drm/nv50/disp: call into core for dac load detection
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Ben Skeggs [Thu, 8 Nov 2012 23:32:56 +0000 (09:32 +1000)]
drm/nv50/disp: call into core to handle dac/sor power state changes
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Ben Skeggs [Thu, 8 Nov 2012 23:22:31 +0000 (09:22 +1000)]
drm/nv50/disp: allocate display from driver core
EVO channels still handled "manually", this won't be ported here, and
will instead be held off until nv50_display/nvd0_display are merged.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Ben Skeggs [Thu, 8 Nov 2012 07:41:06 +0000 (17:41 +1000)]
drm/nouveau/bios: implement some dcb output entry parsing/matching functions
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Ben Skeggs [Thu, 8 Nov 2012 04:59:26 +0000 (14:59 +1000)]
drm/nvd0/disp: handle DP transfer unit setup from second supervisor interrupt
This is what we've done forever in nv50_display.c, and also allows the
last direct MMIO accesses to be removed from nvd0_display.c.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Ben Skeggs [Thu, 8 Nov 2012 04:22:28 +0000 (14:22 +1000)]
drm/nvd0/disp: move HDMI control to core
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Ben Skeggs [Thu, 8 Nov 2012 04:03:56 +0000 (14:03 +1000)]
drm/nvd0/disp: move HDA codec setup to core
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Ben Skeggs [Thu, 8 Nov 2012 02:08:55 +0000 (12:08 +1000)]
drm/nvd0/disp: call into core to handle dac power state changes
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Ben Skeggs [Thu, 8 Nov 2012 02:01:39 +0000 (12:01 +1000)]
drm/nvd0/disp: call into core to handle sor power state changes
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Ben Skeggs [Wed, 7 Nov 2012 06:43:00 +0000 (16:43 +1000)]
drm/nvd0/disp: move link training helpers into core as display methods
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Ben Skeggs [Wed, 7 Nov 2012 06:28:35 +0000 (16:28 +1000)]
drm/nouveau/core: allow representing method ranges in nouveau_omthds
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Ben Skeggs [Wed, 7 Nov 2012 06:16:41 +0000 (16:16 +1000)]
drm/nouveau/core: expose full method calling capabilities with nv_exec
nv_call() just allows mthd+u32 submission, nv_exec() exposes the
mthd+data+size interface which will be used in future commits.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Ben Skeggs [Tue, 6 Nov 2012 06:03:51 +0000 (16:03 +1000)]
drm/nouveau/bios: implement "full" BIT 'd' table (and subtable) parsing in core
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Ben Skeggs [Fri, 2 Nov 2012 01:33:27 +0000 (11:33 +1000)]
drm/nvd0/disp: move remaining interrupt handling to core
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Ben Skeggs [Thu, 1 Nov 2012 01:09:53 +0000 (11:09 +1000)]
drm/nouveau/core: add some missing subdev/engine disable flags
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Ben Skeggs [Fri, 2 Nov 2012 01:02:47 +0000 (11:02 +1000)]
drm/nouveau/bios: implement BIT 'U' table (and subtable) parsing in core
This will, in the near future, replace what's currently in the DRM
nouveau_bios.c code.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Ben Skeggs [Tue, 16 Oct 2012 04:18:32 +0000 (14:18 +1000)]
drm/nvd0/disp: allocate display and evo channels from driver core
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Ben Skeggs [Tue, 30 Oct 2012 00:59:12 +0000 (10:59 +1000)]
drm/nouveau: run mode_config destructor before destroying internal display state
Later changes will depend on being able to pull down CRTCs etc with the
master display state still intact.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Ben Skeggs [Mon, 29 Oct 2012 03:36:45 +0000 (13:36 +1000)]
drm/nouveau/drm/nvd0/disp: display->disp
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Ben Skeggs [Tue, 16 Oct 2012 04:00:31 +0000 (14:00 +1000)]
drm/nvd0/disp: introduce a nvd0_head as a subclass of nouveau_crtc
This will be used instead of storing a heap of per-head data (such as evo
channels) in nvd0_display in some other way.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Ben Skeggs [Tue, 28 Aug 2012 04:10:39 +0000 (14:10 +1000)]
drm/nvd0-nve0/disp: initial implementation of evo channel classes
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Ben Skeggs [Tue, 30 Oct 2012 00:03:38 +0000 (10:03 +1000)]
drm/nv50/disp: allow PCI_US pushbuf binding
Ben Skeggs [Tue, 14 Aug 2012 04:11:49 +0000 (14:11 +1000)]
drm/nv50/disp: initial implementation of the various channel object classes
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Ben Skeggs [Tue, 14 Aug 2012 02:50:14 +0000 (12:50 +1000)]
drm/nv50/disp: enable interrupts and setup memory area
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Ben Skeggs [Tue, 14 Aug 2012 01:29:57 +0000 (11:29 +1000)]
drm/nv50/disp: copy caps to evo
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Ben Skeggs [Tue, 14 Aug 2012 00:04:04 +0000 (10:04 +1000)]
drm/nv50/disp: create skeleton display/channel object classes
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Ben Skeggs [Mon, 8 Oct 2012 04:44:00 +0000 (14:44 +1000)]
drm/nvd0/dmaobj: initial bind() method implementation
Currently unused, and rudimentary. Lots to figure out here still, but
this is sufficient for what disp will need.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Ben Skeggs [Mon, 8 Oct 2012 04:34:35 +0000 (14:34 +1000)]
drm/nvc0/dmaobj: implement initial bind() method
Currently unused.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Ben Skeggs [Mon, 8 Oct 2012 04:29:16 +0000 (14:29 +1000)]
drm/nv50/dmaobj: extend class to allow gpu-specific attributes to be defined
disp is going to need to be able to create more specific dma objects
than was previously possible.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Ben Skeggs [Mon, 8 Oct 2012 04:11:35 +0000 (14:11 +1000)]
drm/nvd0/dmaobj: duplicate fermi class, will diverge real soon now
The hardware dmaobj format completely changed in GF119, so these will
need a separate implementation.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Ben Skeggs [Mon, 8 Oct 2012 03:39:13 +0000 (13:39 +1000)]
drm/nvc0/dmaobj: stub bind function for now so we can call unconditionally
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Ben Skeggs [Mon, 8 Oct 2012 02:58:23 +0000 (12:58 +1000)]
drm/nouveau/dmaobj: move parent class check to bind() method
Otherwise when nvc0- gains a bind() method (disp needs it), the fifo
engine will attempt to create a dma object for the push buffer, which
is unnecessary on fermi.
The only sane place to put these checks is in the bind method itself,
and have it unconditionally called from wherever it might be needed.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Ben Skeggs [Wed, 29 Aug 2012 00:54:49 +0000 (10:54 +1000)]
drm/nouveau/dmaobj: merge everything except ctor and bind together
Simplifies things a little, and currently no reason to need
chipset-specific dmaobj constructors.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Ben Skeggs [Sat, 17 Nov 2012 11:51:30 +0000 (21:51 +1000)]
drm/nouveau: pass address to object accessor functions as u64
Will be required by future work. Make the API change now to catch any
(but hopefully none) unexpected fallout.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Ben Skeggs [Wed, 21 Nov 2012 05:04:51 +0000 (15:04 +1000)]
drm/nouveau/gpio: place upper limit on using old-school tvdac bios data
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Ben Skeggs [Wed, 21 Nov 2012 05:02:47 +0000 (15:02 +1000)]
drm/nouveau: remove newline-only NV_DEBUG calls
This used to output the function name, now doesn't, so just looks
stupid.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Marcin Slusarz [Sun, 11 Nov 2012 18:52:59 +0000 (19:52 +0100)]
drm/nv50: decode PGRAPH status registers on TLB flush fail
SIgned-off-by: Marcin Slusarz <marcin.slusarz@gmail.com>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Viktor Novotný [Sat, 10 Nov 2012 18:24:06 +0000 (19:24 +0100)]
drm/nouveau/clk: fix crystal frequency retrieval on nv25
Signed-off-by: Viktor Novotný <noviktor@seznam.cz>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Marcin Slusarz [Sun, 11 Nov 2012 18:57:35 +0000 (19:57 +0100)]
drm/nouveau: remove unused variable from nouveau_bios_shadow_of
drivers/gpu/drm/nouveau/core/subdev/bios/base.c: warning: unused variable 'i'
Reported-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Marcin Slusarz <marcin.slusarz@gmail.com>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Ben Skeggs [Tue, 30 Oct 2012 03:55:13 +0000 (13:55 +1000)]
drm/nv40/fb: use an actual compressed zeta format
SPLIT is apparently just that, and only splits Z and S components.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Ben Skeggs [Thu, 11 Oct 2012 05:46:30 +0000 (15:46 +1000)]
drm/nv30/fb: enable z compression
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Ben Skeggs [Thu, 11 Oct 2012 05:13:10 +0000 (15:13 +1000)]
drm/nv40/fb: enable z compression
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Ben Skeggs [Fri, 12 Oct 2012 01:24:39 +0000 (11:24 +1000)]
drm/nv20/fb: fixup compression tag allocation size
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Ben Skeggs [Thu, 11 Oct 2012 04:08:16 +0000 (14:08 +1000)]
drm/nv30-nv40/graph: poke zcomp regs from tile_prog hook
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Ben Skeggs [Wed, 10 Oct 2012 02:52:00 +0000 (12:52 +1000)]
drm/nv30-nv40/fb: call zcomp setup hook from tiling setup
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Ben Skeggs [Wed, 10 Oct 2012 01:31:11 +0000 (11:31 +1000)]
drm/nouveau/fb: create tag heap from common code for all relevant chipsets
A nv2x bug wrt hardcoded tag counts is now also fixed as a side-effect.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Ben Skeggs [Wed, 10 Oct 2012 01:18:00 +0000 (11:18 +1000)]
drm/nv30/fb: start bashing zcomp registers with 'disabled' (for now)
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>