Commit Graph

14254 Commits

Author SHA1 Message Date
Ben Skeggs
c68c29c04c drm/gm107/disp: initial implementation
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26 14:00:59 +10:00
Ben Skeggs
f6bad8abc6 drm/gm107/ltcg: initial implementation
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26 14:00:58 +10:00
Ben Skeggs
6bd9293ea8 drm/nouveau/bios: add HDMI-C (mini) connector type
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26 14:00:58 +10:00
Ben Skeggs
267dcb6643 drm/gm107/fb: initial implementation
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26 14:00:57 +10:00
Ben Skeggs
57f7422016 drm/gk20a/timer: initial implementation
A bit different from NVIDIA's RFC patch, but I want this now for GM107.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26 14:00:56 +10:00
Ben Skeggs
13a49a10a0 drm/gm100/bios: hw disable register has moved
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26 14:00:56 +10:00
Ben Skeggs
4bf23ead3a drm/gm107/devinit: initial implementation
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26 14:00:55 +10:00
Ben Skeggs
56b2f68c17 drm/nve0/fifo: bind intr
Error code names from Android GK20A driver.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26 14:00:54 +10:00
Ben Skeggs
129dcca79c drm/nve0/fifo: attempt to recover from engine ctxsw timeouts
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26 14:00:54 +10:00
Ben Skeggs
98d1e317e5 drm/nve0/fifo: attempt to recover engines from mmu faults
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26 14:00:53 +10:00
Ben Skeggs
448a4532a0 drm/nve0/fifo: allow copy engine channel to be looked up by instance
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26 14:00:53 +10:00
Ben Skeggs
5c0633e6ee drm/nve0/fifo: use runlist event instead of polling
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26 14:00:52 +10:00
Ben Skeggs
87032e11d9 drm/nve0/fifo: allow channels to be marked as unrunnable
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26 14:00:51 +10:00
Ben Skeggs
0a7760e0b3 drm/nve0/fifo: single printk for sched error data
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26 14:00:51 +10:00
Ben Skeggs
885f3ced1a drm/nve0/fifo: single printk for mmu fault data
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26 14:00:50 +10:00
Ben Skeggs
3d61b967d2 drm/nve0/fifo: ack pb intr individually after handling each unit
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26 14:00:49 +10:00
Ben Skeggs
138b873fdf drm/nve0/fifo: runlist intr
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26 14:00:49 +10:00
Ben Skeggs
c074bdbc92 drm/nve0/fifo: engine intr
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26 14:00:48 +10:00
Ben Skeggs
7a42f492a3 drm/nve0/fifo: mask unhandled intr bits when seen, rather than all intrs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26 14:00:48 +10:00
Ben Skeggs
61fdf62093 drm/nvc0/fifo: attempt to recover from engine ctxsw timeouts
My test cases don't seem to trigger this on all Fermi boards, not sure
if they're broken tests or it didn't work until later versions.

GF119 definitely works.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26 14:00:47 +10:00
Ben Skeggs
24e8341e4c drm/nvc0/fifo: attempt to recover engines from mmu faults
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26 14:00:46 +10:00
Ben Skeggs
33f8c6d03e drm/nvc0/fifo: use subdev identifiers for bar/ifb fault recovery cases
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26 14:00:46 +10:00
Ben Skeggs
3cf6290a1d drm/nvc0/fifo: use runlist event instead of polling
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26 14:00:45 +10:00
Ben Skeggs
e2822b7aea drm/nvc0/fifo: allow channels to be marked as unrunnable
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26 14:00:44 +10:00
Ben Skeggs
4047653925 drm/nvc0/fifo: sched intr
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26 14:00:44 +10:00
Ben Skeggs
d439a5acbc drm/nvc0/fifo: single printk for mmu fault data
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26 14:00:43 +10:00
Ben Skeggs
083c214241 drm/nvc0/fifo: ack pb intr individually after handling each unit
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26 14:00:43 +10:00
Ben Skeggs
a07d0e768c drm/nvc0/fifo: runlist intr
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26 14:00:42 +10:00
Ben Skeggs
e99bf010da drm/nvc0/fifo: engine intr
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26 14:00:41 +10:00
Ben Skeggs
22a7a27b18 drm/nvc0/fifo: mask unhandled intr bits when seen, rather than all intrs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26 14:00:41 +10:00
Ben Skeggs
0357466d7e drm/nvc0/fifo: rename a couple of units
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26 14:00:40 +10:00
Ben Skeggs
4b6c6fb5b9 drm/nvd0/disp: add debugging to show which supervisor actions are taken
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26 14:00:39 +10:00
Ben Skeggs
9cf6ba20b4 drm/nv50-/disp: dump channel state when update method fails
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26 14:00:39 +10:00
Ben Skeggs
b62b9ec2eb drm/nv50-/disp: allow dumping core channel state at first supervisor intr
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26 14:00:38 +10:00
Ben Skeggs
d67d92c066 drm/nv50-/disp: add method descriptions for debugging
Lists of known methods for the DMA channel classes, and mappings to
their priv register addresses (where known).

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26 14:00:37 +10:00
Ben Skeggs
117e16335b drm/nv50/disp: decode the known error codes to human readable form
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26 13:59:33 +10:00
Ben Skeggs
a8f8b4891d drm/nv50/disp: preparation for storing static class data
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26 13:59:33 +10:00
Ben Skeggs
70a3e64795 drm/nouveau/core: extend width of engine mask for namedb
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26 13:59:33 +10:00
Ilia Mirkin
8db3a740b0 drm/nouveau/bios: fix INDEX_ADDRESS_LATCHED trace printout
Having a \n in the middle of a format string means that the next line
doesn't get the prefixes unlike every other line printed by the trace.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26 13:59:33 +10:00
Ilia Mirkin
46a7b62596 drm/nv50/gr: decode texture trap status code
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26 13:59:33 +10:00
Ilia Mirkin
c33e05a136 drm/nouveau: use nv_debug for NV_DEBUG, make DRM a separate subflag
It's really confusing for NV_DEBUG's printing to be controlled via
drm.debug while everything else is controlled via nouveau.debug. These
messages can be turned on with nouveau.debug=DRM=debug.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26 13:59:32 +10:00
Ilia Mirkin
46941b0fb6 drm/nouveau: make hdmi device finding failure prints debug level
The hdmi device is required for runtime pm. However it is not available
on many esp older devices, which were all seeing these error messages.
Take this opportunity to also convert to nv_debug instead of the DRM_*
messages, like the rest of nouveau does.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26 13:59:32 +10:00
Alexandre Courbot
02f0b8c895 drm/nve0/fifo: allocate usermem as needed
Memory was always allocated for 4096 channels. Change this to allocate
what we actually need according to the number of channels we use.

Signed-off-by: Alexandre Courbot <acourbot@nvidia.com>
Reviewed-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26 13:59:32 +10:00
Alexandre Courbot
b6c4285afa drm/nouveau: handle -EACCES runtime PM return code
pm_runtime_get*() may return -EACCES to indicate a device does not have
runtime PM enabled. This is currently the case with platform devices
on Nouveau, and is not an error in that context. Handle this case
without failure.

Signed-off-by: Alexandre Courbot <acourbot@nvidia.com>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26 13:59:32 +10:00
Ilia Mirkin
ef98c1f7b3 drm/nouveau/abi16: fix handles past the 32nd one
abi16->handles is a u64, so make sure to use 1ULL << val when modifying.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26 13:59:32 +10:00
Ilia Mirkin
73970c47be drm/nouveau: replace ffsll with __ffs64
The ffsll function is a lot slower than the __ffs64 built-in which
compiles to a single instruction on 64-bit. It's also nice to avoid
custom versions of standard functions. Note that __ffs == ffs - 1.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26 13:59:31 +10:00
Jingoo Han
0ac4e3a58d drm/nouveau/hwmon: replace strict_strtol() with kstrtol()
The usage of strict_strtol() is not preferred, because
strict_strtol() is obsolete. Thus, kstrtol() should be
used.

Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26 13:59:31 +10:00
Dan Carpenter
aa34efeddb drm/nouveau/hwmon: remove some redundant checks
No need to check "ret" twice in a row.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26 13:59:31 +10:00
Ilia Mirkin
4ac1b1a29f drm/nv50/graph: update status enum names
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26 13:59:31 +10:00
Dave Airlie
a5a2391e27 Merge branch 'exynos-drm-next' of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos into drm-next
Highlights
----------

Re-factoring works over the exynos drm framework.
  - drm_crtc, drm_encoder/drm_connector are implemented by sub drivers
    directly.
  - Removing pm interfaces from each sub driver, and implementing them
    at top level of exynos drm.
Add DisplayPort Transmitter driver.
  - Just moving existing driver from drivers/vides/exynos into
    drivers/gpu/drm/exynos.
Add new LVDS bridge driver, PTN3460.
  - Placed in drivers/gpu/drm/bridge, and this device is used to transfer
    image signal from DP(DisplayPort) to LVDS Panel.
    So this driver will be used with DP driver moved into exynos drm.
Add parallel panel support
  - With the re-factoring patch series, existing parallel panel support was
    broken by moving exynos_drm_display ops into each real connector driver,
    DP. So this patch series adds a new parallel panel module,
    exynos_drm_dpi, for supporting parallel panel, and also adds relevant
    bindings.
Some fixups and cleanups.

* 'exynos-drm-next' of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos: (45 commits)
  drm/exynos: fimd: remove unused variable
  ARM: dts: exynos4210-universal: add exynos/fimd node
  drm/exynos: restore parallel output interface support
  exynos/fimd: add parallel output related bindings
  drm/exynos: correct timing porch conversion
  drm/exynos: init kms poll after creation of connectors
  drm/exynos: delay fbdev initialization until an output is connected
  drm/exynos: fix unnecessary resource cleanup
  drm/exynos: hdmi: use i2c_adapter instead of i2c_client
  drm/exynos: hdmi: consider APB PHY
  drm/exynos: Remove the exynos_drm_connector shim
  drm/exynos: Implement lvds bridge discovery to DP driver
  drm/bridge: Add PTN3460 bridge driver
  drm/exynos: Implement drm_connector directly in vidi driver
  drm/exynos: Implement drm_connector directly in dp driver
  drm/exynos: Implement drm_connector in hdmi directly
  drm/exynos: Add create_connector callback
  drm/exynos: Consolidate suspend/resume in drm_drv
  drm/exynos: Clean up FIMD power on/off routines
  drm/exynos: Implement dpms display callback in DP
  ...
2014-03-24 08:58:20 +10:00