GitHub/LineageOS/G12/android_kernel_amlogic_linux-4.9.git
9 years agodrm/exynos: remove exynos_drm_fb_set_buf_cnt()
Joonyoung Shim [Tue, 1 Sep 2015 07:22:47 +0000 (16:22 +0900)]
drm/exynos: remove exynos_drm_fb_set_buf_cnt()

The exynos_drm_fb_set_buf_cnt() is used to set buffer count only in
exynos_drm_fbdev_update(). This patch sets directly buffer count in
exynos_drm_framebuffer_init() without using exynos_drm_fb_set_buf_cnt(),
so there is no any reason to keep exynos_drm_fb_set_buf_cnt().

Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
Reviewed-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
9 years agodrm/exynos: remove superfluous checks in g2d_check_reg_offset()
Tobias Jakobi [Mon, 17 Aug 2015 22:51:23 +0000 (00:51 +0200)]
drm/exynos: remove superfluous checks in g2d_check_reg_offset()

The cases of the switch statement ensure that reg_type
can never be REG_TYPE_NONE here.

Signed-off-by: Tobias Jakobi <tjakobi@math.uni-bielefeld.de>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
9 years agodrm/exynos: fix size check in g2d_check_buf_desc_is_valid()
Tobias Jakobi [Mon, 17 Aug 2015 22:51:24 +0000 (00:51 +0200)]
drm/exynos: fix size check in g2d_check_buf_desc_is_valid()

The size check was incomplete. It only computed the
size of area of the drawing rectangle and checked if
the size still fit inside the buffer.

The correct check is to compute the position of the
last byte that the G2D engine is going to access and
then check if that position is still contained in the
buffer. In particular we need the stride information
to determine this.

Signed-off-by: Tobias Jakobi <tjakobi@math.uni-bielefeld.de>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
9 years agoMerge branch 'exynos-drm-next' of git://git.kernel.org/pub/scm/linux/kernel/git/daein...
Dave Airlie [Mon, 31 Aug 2015 00:25:45 +0000 (10:25 +1000)]
Merge branch 'exynos-drm-next' of git://git./linux/kernel/git/daeinki/drm-exynos into drm-next

This is a second pull-request which adds last part of
atomic modeset/pageflip support, render node support,
clean-up, and fix-up.

* 'exynos-drm-next' of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos:
  drm/exynos: fix build warning to exynos_drm_gem.c
  drm/exynos: Properly report supported formats for each device
  drm/exynos: add render node support
  drm/exynos: implement atomic_{begin/flush} of DECON
  drm/exynos: remove legacy ->suspend()/resume()
  drm/exynos: Enable atomic modesetting feature
  drm/exynos: remove wait queue for pending page flip
  drm/exynos: wait all planes updates to finish
  drm/exynos: add atomic asynchronous commit
  drm/exynos: fimd: only finish update if START == START_S
  drm/exynos: add macro to get the address of START_S reg
  drm/exynos: check for pending fb before finish update
  drm/exynos: fimd: move window protect code to prepare/cleanup_plane
  drm/exynos: add prepare and cleanup phases for planes
  drm/exynos: fimd: unify call to exynos_drm_crtc_finish_pageflip()
  drm/exynos: don't track enabled state at exynos_crtc

9 years agoMerge tag 'drm-intel-next-fixes-2015-08-28' of git://anongit.freedesktop.org/drm...
Dave Airlie [Mon, 31 Aug 2015 00:06:22 +0000 (10:06 +1000)]
Merge tag 'drm-intel-next-fixes-2015-08-28' of git://anongit.freedesktop.org/drm-intel into drm-next

Some i915 fixes headed for v4.3. SKL DDI-E is a wip, but here's the
first in a series.

* tag 'drm-intel-next-fixes-2015-08-28' of git://anongit.freedesktop.org/drm-intel:
  drm/i915/skl: enable DDI-E hotplug
  drm/i915: Fix build warning on 32-bit
  drm/i915/skl: Update DDI buffer translation programming.
  drm/i915: Allow parsing of variable size child device entries from VBT
  drm/i915: fix link rates reported for SKL
  drm/i915: fix VBT parsing for SDVO child device mapping

9 years agoMerge tag 'drm-amdkfd-next-fixes-2015-08-30' of git://people.freedesktop.org/~gabbayo...
Dave Airlie [Mon, 31 Aug 2015 00:05:37 +0000 (10:05 +1000)]
Merge tag 'drm-amdkfd-next-fixes-2015-08-30' of git://people.freedesktop.org/~gabbayo/linux into drm-next

Just one small fix before 4.3 merge window:

- Use linux/mman.h instead of uapi's mman-common.h inside the driver.

* tag 'drm-amdkfd-next-fixes-2015-08-30' of git://people.freedesktop.org/~gabbayo/linux:
  amdkfd: use <linux/mman.h> instead of <uapi/asm-generic/mman-common.h>

9 years agodrm/exynos: fix build warning to exynos_drm_gem.c
Inki Dae [Sun, 30 Aug 2015 16:11:53 +0000 (01:11 +0900)]
drm/exynos: fix build warning to exynos_drm_gem.c

Signed-off-by: Inki Dae <daeinki@gmail.com>
9 years agodrm/exynos: Properly report supported formats for each device
Marek Szyprowski [Sun, 30 Aug 2015 15:53:57 +0000 (00:53 +0900)]
drm/exynos: Properly report supported formats for each device

Exynos DRM reported that all planes for all supported sub-devices supports
only three pixel formats: XRGB24, ARGB24 and NV12. This patch lets each
Exynos DRM sub-drivers to provide the list of supported pixel formats
and registers this list to DRM core.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
9 years agodrm/exynos: add render node support
Joonyoung Shim [Sun, 30 Aug 2015 15:45:56 +0000 (00:45 +0900)]
drm/exynos: add render node support

This patch allows clients who want to use render node to access
rendering relevant ioctls - g2d, post processor and gem allocation.

Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
9 years agodrm/exynos: implement atomic_{begin/flush} of DECON
Hyungwon Hwang [Thu, 27 Aug 2015 09:21:14 +0000 (18:21 +0900)]
drm/exynos: implement atomic_{begin/flush} of DECON

Each CRTC's atomic_{begin/flush} must stop/start the update of shadow
registers to active register in the functions. This patch achieves these
purpose by moving the setting of protection bits to those functions from
decon_update_plane.

v2: rebased to the branch exynos-drm-next

Signed-off-by: Hyungwon Hwang <human.hwang@samsung.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
9 years agodrm/exynos: remove legacy ->suspend()/resume()
Gustavo Padovan [Sun, 30 Aug 2015 15:33:57 +0000 (00:33 +0900)]
drm/exynos: remove legacy ->suspend()/resume()

These legacy helpers should only be used by shadow-attaching drivers.
KMS drivers has its own way to handle suspend/resume and don't need to
use these two helpers.

Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
Signed-off-by: Inki Dae <daeinki@gmail.com>
9 years agodrm/exynos: Enable atomic modesetting feature
Gustavo Padovan [Mon, 24 Aug 2015 11:52:19 +0000 (20:52 +0900)]
drm/exynos: Enable atomic modesetting feature

From: Gustavo Padovan <gustavo.padovan@collabora.co.uk>

Now that atomic modesetting is implemented for exynos enable the
DRIVER_ATOMIC flag on the driver's features.

Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
9 years agodrm/exynos: remove wait queue for pending page flip
Gustavo Padovan [Sat, 15 Aug 2015 16:26:19 +0000 (13:26 -0300)]
drm/exynos: remove wait queue for pending page flip

Exynos atomic commit procedures already does this job of waiting for
pending updates to finish, that means using pending_flip_queue is
pointless now because the disable CRTC procedure will never happen
during a page_flip.

Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
9 years agodrm/exynos: wait all planes updates to finish
Gustavo Padovan [Sat, 15 Aug 2015 16:26:18 +0000 (13:26 -0300)]
drm/exynos: wait all planes updates to finish

Add infrastructure to wait for all planes updates to finish by using
an atomic_t variable to track how many pending updates we are waiting
plus a wait_queue for the wait part.

It also changes vblank behaviour and keeps it enabled for all types
of updates

Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
9 years agodrm/exynos: add atomic asynchronous commit
Gustavo Padovan [Sat, 15 Aug 2015 16:26:17 +0000 (13:26 -0300)]
drm/exynos: add atomic asynchronous commit

The atomic modesetting interfaces supports async commits that should be
implemented by the drivers. If drm core requests an async commit
exynos_atomic_commit() will now schedule a work task to run the update later.

It also serializes commits that needs to run on the same crtc, putting the
following commit to wait until the current one is finished.

Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
9 years agodrm/exynos: fimd: only finish update if START == START_S
Gustavo Padovan [Sat, 15 Aug 2015 16:26:16 +0000 (13:26 -0300)]
drm/exynos: fimd: only finish update if START == START_S

fimd_update_plane() programs BUF_START[win] and during the update
BUF_START[win] is copied to BUF_START_S[win] (its shadow register)
and starts scanning out, then it raises a irq.

The fimd_irq_handler, in the case we have a pending_fb, will check
the fb value was copied to START_S register and finish the update
in case of success.

Based on patch from Daniel Kurtz <djkurtz@chromium.org>

Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
9 years agodrm/exynos: add macro to get the address of START_S reg
Gustavo Padovan [Sat, 15 Aug 2015 16:26:15 +0000 (13:26 -0300)]
drm/exynos: add macro to get the address of START_S reg

This macro is need to get the value of the START shadow register, that
will tell if an framebuffer is currently displayed on the screen or not.

Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
9 years agodrm/exynos: check for pending fb before finish update
Gustavo Padovan [Sat, 15 Aug 2015 16:26:14 +0000 (13:26 -0300)]
drm/exynos: check for pending fb before finish update

The current code was ignoring the end of update for all overlay planes,
caring only for the primary plane update in case of pageflip.

This change adds a change to start to check for pending updates for all
planes through exynos_plane->pending_fb. At the start of plane update the
pending_fb is set with the fb to be shown on the screen. Then only when to
fb is already presented in the screen we set pending_fb to NULL to
signal that the update was finished.

Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
fixup! drm/exynos: check for pending fb before finish update

9 years agodrm/exynos: fimd: move window protect code to prepare/cleanup_plane
Gustavo Padovan [Sat, 15 Aug 2015 16:26:13 +0000 (13:26 -0300)]
drm/exynos: fimd: move window protect code to prepare/cleanup_plane

Only set/clear the update bit in the CRTC's .atomic_begin()/flush()
so all planes are really committed at the same time.

Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
9 years agodrm/exynos: add prepare and cleanup phases for planes
Gustavo Padovan [Mon, 24 Aug 2015 11:36:59 +0000 (20:36 +0900)]
drm/exynos: add prepare and cleanup phases for planes

From: Gustavo Padovan <gustavo.padovan@collabora.co.uk>

.prepare_plane() and .cleanup_plane() allows to perform extra operations
before and after the update of planes. For FIMD for example this will
be used to enable disable the shadow protection bit.

Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
9 years agodrm/exynos: fimd: unify call to exynos_drm_crtc_finish_pageflip()
Gustavo Padovan [Sat, 15 Aug 2015 16:26:11 +0000 (13:26 -0300)]
drm/exynos: fimd: unify call to exynos_drm_crtc_finish_pageflip()

Unify handling of finished plane update to prepare for a following patch
that will check for the START and START_S regs to really make sure that
the plane was updated.

Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
9 years agodrm/exynos: don't track enabled state at exynos_crtc
Gustavo Padovan [Sat, 15 Aug 2015 16:26:10 +0000 (13:26 -0300)]
drm/exynos: don't track enabled state at exynos_crtc

struct drm_crtc already stores the enabled state of the crtc
thus we don't need to replicate enabled in exynos_drm_crtc.

Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
9 years agoamdkfd: use <linux/mman.h> instead of <uapi/asm-generic/mman-common.h>
Christoph Hellwig [Fri, 28 Aug 2015 07:27:16 +0000 (09:27 +0200)]
amdkfd: use <linux/mman.h> instead of <uapi/asm-generic/mman-common.h>

The latter is a default version of <asm/mman.h> and not for driver use.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Oded Gabbay <oded.gabbay@gmail.com>
9 years agodrm/nouveau/dispnv04: fix build on powerpc
Dave Airlie [Fri, 28 Aug 2015 10:33:58 +0000 (20:33 +1000)]
drm/nouveau/dispnv04: fix build on powerpc

align with mask code in overlay.c, Ben can clean the naming
up later if necessary.

Signed-off-by: Dave Airlie <airlied@redhat.com>
9 years agonouveau: fix powerpc build
Dave Airlie [Fri, 28 Aug 2015 08:18:10 +0000 (18:18 +1000)]
nouveau: fix powerpc build

Reported-by: Ilia Mirkin on irc.
Signed-off-by: Dave Airlie <airlied@redhat.com>
9 years agoMerge branch 'linux-4.3' of git://anongit.freedesktop.org/git/nouveau/linux-2.6 into...
Dave Airlie [Fri, 28 Aug 2015 03:20:09 +0000 (13:20 +1000)]
Merge branch 'linux-4.3' of git://anongit.freedesktop.org/git/nouveau/linux-2.6 into drm-next

Rather large pull request this time around, due to the long-pending
cleanup of the kernel driver being here.  There's a stupidly large
number of commits for that, as I wanted to have the series be
bisectable at a fairly fine-grained level.  That said, a very large
portion of the churn in the rework was automated, and a very large
number of boards from right across the whole range we support have
been tested.  I'm fairly confident there shouldn't be (too many)
issues from this.

Beyond correcting some not-so-great design decisions and making the
code a lot easier to work with, there's not much exciting (lower
memory usage, GPU VM should be a lot faster, etc) to be gained by the
end-user as a result of the cleanup, it mostly lays the groundwork for
future improvements.

A big thanks goes to Alexandre Courbot for testing/debugging the GK20A
codepaths for me :)

Highlights:
- A heap of perfmon work, providing a more useful userspace interface
and specifying counters for a bunch of boards
- Support for GT200 reclocking + other misc pm improvements
- Initial patches towards supporting GM20B (Tegra X1)
- Maxwell DisplayPort fixes
- Cleanup of the kernel driver
- The usual collection of random fixes

* 'linux-4.3' of git://anongit.freedesktop.org/git/nouveau/linux-2.6: (312 commits)
  drm/nouveau: bump driver version for release
  drm/nouveau/tegra: merge platform setup from nouveau drm
  drm/nouveau/pci: merge agp handling from nouveau drm
  drm/nouveau/device: remove pci/platform_device from common struct
  drm/nouveau/device: import pciid list and integrate quirks with it
  drm/nouveau/device: cleaner abstraction for device resource functions
  drm/nouveau/mc: move device irq handling to platform-specific code
  drm/nouveau/mc/gf100-: handle second interrupt tree
  drm/nouveau/mc: abstract interface to master intr registers
  drm/nouveau/pci: new subdev
  drm/nouveau/object: merge with handle
  drm/nouveau/core: remove the remainder of the previous style
  drm/nouveau/mpeg: convert to new-style nvkm_engine
  drm/nouveau/sw: convert to new-style nvkm_engine
  drm/nouveau/pm: convert to new-style nvkm_engine
  drm/nouveau/gr: convert to new-style nvkm_engine
  drm/nouveau/fifo: convert to new-style nvkm_engine
  drm/nouveau/disp: convert to new-style nvkm_engine
  drm/nouveau/dma: convert to new-style nvkm_engine
  drm/nouveau/cipher: convert to new-style nvkm_engine
  ...

9 years agodrm/nouveau: bump driver version for release
Ben Skeggs [Thu, 20 Aug 2015 04:54:23 +0000 (14:54 +1000)]
drm/nouveau: bump driver version for release

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/tegra: merge platform setup from nouveau drm
Ben Skeggs [Thu, 20 Aug 2015 04:54:23 +0000 (14:54 +1000)]
drm/nouveau/tegra: merge platform setup from nouveau drm

The copyright header in nvkm/engine/device/platform.c has been replaced
with the NVIDIA one from drm/nouveau_platform.c, as most of the actual
code is now theirs.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/pci: merge agp handling from nouveau drm
Ben Skeggs [Thu, 20 Aug 2015 04:54:23 +0000 (14:54 +1000)]
drm/nouveau/pci: merge agp handling from nouveau drm

This commit reinstates the pre-DEVINIT AGP fiddling that was broken in
an earlier commit.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/device: remove pci/platform_device from common struct
Ben Skeggs [Thu, 20 Aug 2015 04:54:23 +0000 (14:54 +1000)]
drm/nouveau/device: remove pci/platform_device from common struct

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/device: import pciid list and integrate quirks with it
Ben Skeggs [Thu, 20 Aug 2015 04:54:23 +0000 (14:54 +1000)]
drm/nouveau/device: import pciid list and integrate quirks with it

PCI IDs taken from the NVIDIA binary driver, with permission.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/device: cleaner abstraction for device resource functions
Ben Skeggs [Thu, 20 Aug 2015 04:54:23 +0000 (14:54 +1000)]
drm/nouveau/device: cleaner abstraction for device resource functions

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/mc: move device irq handling to platform-specific code
Ben Skeggs [Thu, 20 Aug 2015 04:54:22 +0000 (14:54 +1000)]
drm/nouveau/mc: move device irq handling to platform-specific code

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/mc/gf100-: handle second interrupt tree
Ben Skeggs [Thu, 20 Aug 2015 04:54:22 +0000 (14:54 +1000)]
drm/nouveau/mc/gf100-: handle second interrupt tree

Doesn't fix any known issue, but best be safe in case control is handed
to us from firmware with these left enabled.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/mc: abstract interface to master intr registers
Ben Skeggs [Thu, 20 Aug 2015 04:54:22 +0000 (14:54 +1000)]
drm/nouveau/mc: abstract interface to master intr registers

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/pci: new subdev
Ben Skeggs [Thu, 20 Aug 2015 04:54:22 +0000 (14:54 +1000)]
drm/nouveau/pci: new subdev

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/object: merge with handle
Ben Skeggs [Thu, 20 Aug 2015 04:54:22 +0000 (14:54 +1000)]
drm/nouveau/object: merge with handle

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/core: remove the remainder of the previous style
Ben Skeggs [Thu, 20 Aug 2015 04:54:22 +0000 (14:54 +1000)]
drm/nouveau/core: remove the remainder of the previous style

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/mpeg: convert to new-style nvkm_engine
Ben Skeggs [Thu, 20 Aug 2015 04:54:22 +0000 (14:54 +1000)]
drm/nouveau/mpeg: convert to new-style nvkm_engine

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/sw: convert to new-style nvkm_engine
Ben Skeggs [Thu, 20 Aug 2015 04:54:22 +0000 (14:54 +1000)]
drm/nouveau/sw: convert to new-style nvkm_engine

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/pm: convert to new-style nvkm_engine
Ben Skeggs [Thu, 20 Aug 2015 04:54:22 +0000 (14:54 +1000)]
drm/nouveau/pm: convert to new-style nvkm_engine

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/gr: convert to new-style nvkm_engine
Ben Skeggs [Thu, 20 Aug 2015 04:54:22 +0000 (14:54 +1000)]
drm/nouveau/gr: convert to new-style nvkm_engine

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/fifo: convert to new-style nvkm_engine
Ben Skeggs [Thu, 20 Aug 2015 04:54:22 +0000 (14:54 +1000)]
drm/nouveau/fifo: convert to new-style nvkm_engine

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/disp: convert to new-style nvkm_engine
Ben Skeggs [Thu, 20 Aug 2015 04:54:22 +0000 (14:54 +1000)]
drm/nouveau/disp: convert to new-style nvkm_engine

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/dma: convert to new-style nvkm_engine
Ben Skeggs [Thu, 20 Aug 2015 04:54:21 +0000 (14:54 +1000)]
drm/nouveau/dma: convert to new-style nvkm_engine

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/cipher: convert to new-style nvkm_engine
Ben Skeggs [Thu, 20 Aug 2015 04:54:21 +0000 (14:54 +1000)]
drm/nouveau/cipher: convert to new-style nvkm_engine

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/ce: convert to new-style nvkm_engine
Ben Skeggs [Thu, 20 Aug 2015 04:54:21 +0000 (14:54 +1000)]
drm/nouveau/ce: convert to new-style nvkm_engine

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/xtensa: convert to new-style nvkm_engine
Ben Skeggs [Thu, 20 Aug 2015 04:54:21 +0000 (14:54 +1000)]
drm/nouveau/xtensa: convert to new-style nvkm_engine

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/falcon: convert to new-style nvkm_engine
Ben Skeggs [Thu, 20 Aug 2015 04:54:21 +0000 (14:54 +1000)]
drm/nouveau/falcon: convert to new-style nvkm_engine

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/volt: convert to new-style nvkm_subdev
Ben Skeggs [Thu, 20 Aug 2015 04:54:21 +0000 (14:54 +1000)]
drm/nouveau/volt: convert to new-style nvkm_subdev

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/tmr: convert to new-style nvkm_subdev
Ben Skeggs [Thu, 20 Aug 2015 04:54:21 +0000 (14:54 +1000)]
drm/nouveau/tmr: convert to new-style nvkm_subdev

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/therm: convert to new-style nvkm_subdev
Ben Skeggs [Thu, 20 Aug 2015 04:54:21 +0000 (14:54 +1000)]
drm/nouveau/therm: convert to new-style nvkm_subdev

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/pmu: convert to new-style nvkm_subdev
Ben Skeggs [Thu, 20 Aug 2015 04:54:21 +0000 (14:54 +1000)]
drm/nouveau/pmu: convert to new-style nvkm_subdev

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/mxm: convert to new-style nvkm_subdev
Ben Skeggs [Thu, 20 Aug 2015 04:54:21 +0000 (14:54 +1000)]
drm/nouveau/mxm: convert to new-style nvkm_subdev

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/mmu: convert to new-style nvkm_subdev
Ben Skeggs [Thu, 20 Aug 2015 04:54:21 +0000 (14:54 +1000)]
drm/nouveau/mmu: convert to new-style nvkm_subdev

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/mc: convert to new-style nvkm_subdev
Ben Skeggs [Thu, 20 Aug 2015 04:54:21 +0000 (14:54 +1000)]
drm/nouveau/mc: convert to new-style nvkm_subdev

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/ltc: convert to new-style nvkm_subdev
Ben Skeggs [Thu, 20 Aug 2015 04:54:21 +0000 (14:54 +1000)]
drm/nouveau/ltc: convert to new-style nvkm_subdev

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/imem: convert to new-style nvkm_subdev
Ben Skeggs [Thu, 20 Aug 2015 04:54:20 +0000 (14:54 +1000)]
drm/nouveau/imem: convert to new-style nvkm_subdev

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/devinit: run devinit scripts right after preinit
Ben Skeggs [Thu, 20 Aug 2015 04:54:20 +0000 (14:54 +1000)]
drm/nouveau/devinit: run devinit scripts right after preinit

This ensures we have a valid mask of disabled engines before we start
trying to execute fini()/init() on the subdevs, potentially touching
devices that don't exist.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/ibus: convert to new-style nvkm_subdev
Ben Skeggs [Thu, 20 Aug 2015 04:54:20 +0000 (14:54 +1000)]
drm/nouveau/ibus: convert to new-style nvkm_subdev

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/i2c: convert to new-style nvkm_subdev
Ben Skeggs [Thu, 20 Aug 2015 04:54:20 +0000 (14:54 +1000)]
drm/nouveau/i2c: convert to new-style nvkm_subdev

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/gpio: convert to new-style nvkm_subdev
Ben Skeggs [Thu, 20 Aug 2015 04:54:20 +0000 (14:54 +1000)]
drm/nouveau/gpio: convert to new-style nvkm_subdev

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/fuse: convert to new-style nvkm_subdev
Ben Skeggs [Thu, 20 Aug 2015 04:54:20 +0000 (14:54 +1000)]
drm/nouveau/fuse: convert to new-style nvkm_subdev

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/fb: convert to new-style nvkm_subdev
Ben Skeggs [Thu, 20 Aug 2015 04:54:20 +0000 (14:54 +1000)]
drm/nouveau/fb: convert to new-style nvkm_subdev

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/devinit: convert to new-style nvkm_subdev
Ben Skeggs [Thu, 20 Aug 2015 04:54:20 +0000 (14:54 +1000)]
drm/nouveau/devinit: convert to new-style nvkm_subdev

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/clk: convert to new-style nvkm_subdev
Ben Skeggs [Thu, 20 Aug 2015 04:54:20 +0000 (14:54 +1000)]
drm/nouveau/clk: convert to new-style nvkm_subdev

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/bus: convert to new-style nvkm_subdev
Ben Skeggs [Thu, 20 Aug 2015 04:54:20 +0000 (14:54 +1000)]
drm/nouveau/bus: convert to new-style nvkm_subdev

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/bios: convert to new-style nvkm_subdev
Ben Skeggs [Thu, 20 Aug 2015 04:54:20 +0000 (14:54 +1000)]
drm/nouveau/bios: convert to new-style nvkm_subdev

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/bar: convert to new-style nvkm_subdev
Ben Skeggs [Thu, 20 Aug 2015 04:54:20 +0000 (14:54 +1000)]
drm/nouveau/bar: convert to new-style nvkm_subdev

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/core: kill some (now) dead code
Ben Skeggs [Thu, 20 Aug 2015 04:54:19 +0000 (14:54 +1000)]
drm/nouveau/core: kill some (now) dead code

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/sw: convert user classes to new-style nvkm_object
Ben Skeggs [Thu, 20 Aug 2015 04:54:19 +0000 (14:54 +1000)]
drm/nouveau/sw: convert user classes to new-style nvkm_object

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/pm: convert user classes to new-style nvkm_object
Ben Skeggs [Thu, 20 Aug 2015 04:54:19 +0000 (14:54 +1000)]
drm/nouveau/pm: convert user classes to new-style nvkm_object

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/mpeg: convert user classes to new-style nvkm_object
Ben Skeggs [Thu, 20 Aug 2015 04:54:19 +0000 (14:54 +1000)]
drm/nouveau/mpeg: convert user classes to new-style nvkm_object

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/gr: convert user classes to new-style nvkm_object
Ben Skeggs [Thu, 20 Aug 2015 04:54:19 +0000 (14:54 +1000)]
drm/nouveau/gr: convert user classes to new-style nvkm_object

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/cipher: convert user classes to new-style nvkm_object
Ben Skeggs [Thu, 20 Aug 2015 04:54:19 +0000 (14:54 +1000)]
drm/nouveau/cipher: convert user classes to new-style nvkm_object

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/ce: convert user classes to new-style nvkm_object
Ben Skeggs [Thu, 20 Aug 2015 04:54:19 +0000 (14:54 +1000)]
drm/nouveau/ce: convert user classes to new-style nvkm_object

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/xtensa: convert user classes to new-style nvkm_object
Ben Skeggs [Thu, 20 Aug 2015 04:54:19 +0000 (14:54 +1000)]
drm/nouveau/xtensa: convert user classes to new-style nvkm_object

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/falcon: convert user classes to new-style nvkm_object
Ben Skeggs [Thu, 20 Aug 2015 04:54:19 +0000 (14:54 +1000)]
drm/nouveau/falcon: convert user classes to new-style nvkm_object

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/fifo: convert user classes to new-style nvkm_object
Ben Skeggs [Thu, 20 Aug 2015 04:54:19 +0000 (14:54 +1000)]
drm/nouveau/fifo: convert user classes to new-style nvkm_object

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/fifo: split user classes out from engine implementations
Ben Skeggs [Thu, 20 Aug 2015 04:54:19 +0000 (14:54 +1000)]
drm/nouveau/fifo: split user classes out from engine implementations

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/disp: convert user classes to new-style nvkm_object
Ben Skeggs [Thu, 20 Aug 2015 04:54:19 +0000 (14:54 +1000)]
drm/nouveau/disp: convert user classes to new-style nvkm_object

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/disp: split user classes out from engine implementations
Ben Skeggs [Thu, 20 Aug 2015 04:54:19 +0000 (14:54 +1000)]
drm/nouveau/disp: split user classes out from engine implementations

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/dma: convert user classes to new-style nvkm_object
Ben Skeggs [Thu, 20 Aug 2015 04:54:18 +0000 (14:54 +1000)]
drm/nouveau/dma: convert user classes to new-style nvkm_object

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/dma: split user classes out from engine implementations
Ben Skeggs [Thu, 20 Aug 2015 04:54:18 +0000 (14:54 +1000)]
drm/nouveau/dma: split user classes out from engine implementations

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/device: convert ctrl class to new-style nvkm_object
Ben Skeggs [Thu, 20 Aug 2015 04:54:18 +0000 (14:54 +1000)]
drm/nouveau/device: convert ctrl class to new-style nvkm_object

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/device: convert user class to new-style nvkm_object
Ben Skeggs [Thu, 20 Aug 2015 04:54:18 +0000 (14:54 +1000)]
drm/nouveau/device: convert user class to new-style nvkm_object

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/client: convert to new-style nvkm_object
Ben Skeggs [Thu, 20 Aug 2015 04:54:18 +0000 (14:54 +1000)]
drm/nouveau/client: convert to new-style nvkm_object

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/sw: remove dependence on namedb/engctx lookup
Ben Skeggs [Thu, 20 Aug 2015 04:54:18 +0000 (14:54 +1000)]
drm/nouveau/sw: remove dependence on namedb/engctx lookup

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/mpeg: remove dependence on namedb/engctx lookup
Ben Skeggs [Thu, 20 Aug 2015 04:54:18 +0000 (14:54 +1000)]
drm/nouveau/mpeg: remove dependence on namedb/engctx lookup

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/gr: remove dependence on namedb/engctx lookup
Ben Skeggs [Thu, 20 Aug 2015 04:54:18 +0000 (14:54 +1000)]
drm/nouveau/gr: remove dependence on namedb/engctx lookup

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/fifo: remove dependence on namedb/engctx lookup
Ben Skeggs [Thu, 20 Aug 2015 04:54:18 +0000 (14:54 +1000)]
drm/nouveau/fifo: remove dependence on namedb/engctx lookup

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/cipher: remove dependence on namedb/engctx lookup
Ben Skeggs [Thu, 20 Aug 2015 04:54:18 +0000 (14:54 +1000)]
drm/nouveau/cipher: remove dependence on namedb/engctx lookup

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/falcon: remove dependence on namedb/engctx lookup
Ben Skeggs [Thu, 20 Aug 2015 04:54:18 +0000 (14:54 +1000)]
drm/nouveau/falcon: remove dependence on namedb/engctx lookup

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/fb: remove dependence on namedb/engctx lookup
Ben Skeggs [Thu, 20 Aug 2015 04:54:18 +0000 (14:54 +1000)]
drm/nouveau/fb: remove dependence on namedb/engctx lookup

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/sw: turn flip completion into an event
Ben Skeggs [Thu, 20 Aug 2015 04:54:18 +0000 (14:54 +1000)]
drm/nouveau/sw: turn flip completion into an event

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/sw/nv04: replace direct context access with GetRef method
Ben Skeggs [Thu, 20 Aug 2015 04:54:18 +0000 (14:54 +1000)]
drm/nouveau/sw/nv04: replace direct context access with GetRef method

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/ramht: remove dependence on namedb
Ben Skeggs [Thu, 20 Aug 2015 04:54:17 +0000 (14:54 +1000)]
drm/nouveau/ramht: remove dependence on namedb

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/gpuobj: separate allocation from nvkm_object
Ben Skeggs [Thu, 20 Aug 2015 04:54:17 +0000 (14:54 +1000)]
drm/nouveau/gpuobj: separate allocation from nvkm_object

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/gr: directly use instmem where currently possible
Ben Skeggs [Thu, 20 Aug 2015 04:54:17 +0000 (14:54 +1000)]
drm/nouveau/gr: directly use instmem where currently possible

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agodrm/nouveau/fifo: directly use instmem for runlists and polling areas
Ben Skeggs [Thu, 20 Aug 2015 04:54:17 +0000 (14:54 +1000)]
drm/nouveau/fifo: directly use instmem for runlists and polling areas

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>