GitHub/LineageOS/android_kernel_motorola_exynos9610.git
8 years agodrm/nouveau/gr/gf100-: fix race condition in fecs/gpccs ucode
Ben Skeggs [Thu, 19 May 2016 23:04:41 +0000 (09:04 +1000)]
drm/nouveau/gr/gf100-: fix race condition in fecs/gpccs ucode

This is a simplied version of the fix by Roy in fdo#93629.  While this
doesn't appear to fix the issues for the users in that report, it's a
real issue that deserves to be resolved.

Reported-by: Roy Spliet <rspliet@eclipso.eu>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
8 years agodrm/nouveau/core: recognise GM108 chipsets
Ben Skeggs [Thu, 21 Apr 2016 00:35:38 +0000 (10:35 +1000)]
drm/nouveau/core: recognise GM108 chipsets

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
8 years agodrm/nouveau/gr/gm107-: fix touching non-existent ppcs in attrib cb setup
Ben Skeggs [Thu, 21 Apr 2016 00:28:55 +0000 (10:28 +1000)]
drm/nouveau/gr/gm107-: fix touching non-existent ppcs in attrib cb setup

Also removes an XXX; according to nvgpu headers the field is called
NV_PGRAPH_GPCS_SWDX_TC_BETA_CB_SIZE_DIV3, so, apparently not some
magic we need to figure out :)

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
8 years agodrm/nouveau/gr/gk104-: share implementation of ppc exception init
Ben Skeggs [Thu, 21 Apr 2016 00:23:10 +0000 (10:23 +1000)]
drm/nouveau/gr/gk104-: share implementation of ppc exception init

This was really inconsistent, some implementations could touch PPCs
that didn't exist, others neglected to touch ones that did.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
8 years agodrm/nouveau/gr/gk104-: move rop_active_fbps init to nonctx
Ben Skeggs [Tue, 19 Apr 2016 01:10:38 +0000 (11:10 +1000)]
drm/nouveau/gr/gk104-: move rop_active_fbps init to nonctx

Matches newer RM.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
8 years agodrm/nouveau/bios/pll: check BIT table version before trying to parse it
Ben Skeggs [Tue, 19 Apr 2016 00:28:44 +0000 (10:28 +1000)]
drm/nouveau/bios/pll: check BIT table version before trying to parse it

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
8 years agodrm/nouveau/bios/pll: prevent oops when limits table can't be parsed
Ben Skeggs [Tue, 19 Apr 2016 00:07:04 +0000 (10:07 +1000)]
drm/nouveau/bios/pll: prevent oops when limits table can't be parsed

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
8 years agodrm/nouveau/volt/gk104: round up in gk104_volt_set
Karol Herbst [Sat, 16 Apr 2016 18:01:59 +0000 (20:01 +0200)]
drm/nouveau/volt/gk104: round up in gk104_volt_set

We always want a equal or higher voltage than the requested ones, otherwise
nouveau undervolts.

Signed-off-by: Karol Herbst <nouveau@karolherbst.de>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
8 years agodrm/nouveau/fb/gm200: setup mmu debug buffer registers at init()
Ben Skeggs [Thu, 14 Apr 2016 01:14:33 +0000 (11:14 +1000)]
drm/nouveau/fb/gm200: setup mmu debug buffer registers at init()

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
8 years agodrm/nouveau/fb/gk20a,gm20b: setup mmu debug buffer registers at init()
Ben Skeggs [Thu, 14 Apr 2016 00:50:55 +0000 (10:50 +1000)]
drm/nouveau/fb/gk20a,gm20b: setup mmu debug buffer registers at init()

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
8 years agodrm/nouveau/fb/gf100-: allocate mmu debug buffers
Ben Skeggs [Thu, 14 Apr 2016 00:39:18 +0000 (10:39 +1000)]
drm/nouveau/fb/gf100-: allocate mmu debug buffers

Later chipsets require setting this up both in FB and GR, so let's just
move the allocation to FB.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
8 years agodrm/nouveau/fb: allow chipset-specific actions for oneinit()
Ben Skeggs [Thu, 14 Apr 2016 00:38:55 +0000 (10:38 +1000)]
drm/nouveau/fb: allow chipset-specific actions for oneinit()

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
8 years agodrm/nouveau/gr/gm200-: fix bad hardcoding of a max-tpcs-per-gpc value
Ben Skeggs [Thu, 14 Apr 2016 05:36:16 +0000 (15:36 +1000)]
drm/nouveau/gr/gm200-: fix bad hardcoding of a max-tpcs-per-gpc value

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
8 years agodrm/nouveau/gr/gm200-: rop count == ltc count
Ben Skeggs [Thu, 14 Apr 2016 04:28:03 +0000 (14:28 +1000)]
drm/nouveau/gr/gm200-: rop count == ltc count

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
8 years agodrm/nouveau/gr/gm200: modify the mask when copying mmu settings from fb
Ben Skeggs [Thu, 14 Apr 2016 04:41:52 +0000 (14:41 +1000)]
drm/nouveau/gr/gm200: modify the mask when copying mmu settings from fb

Appears to more closely match what RM does.

For GM20B, now also copying bit 12 from NV_PFB_MMU_CTRL as upcoming
changes will require it.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
8 years agodrm/nouveau/gr/gm200: move some code into init_gpc_mmu() hook
Ben Skeggs [Thu, 14 Apr 2016 01:19:54 +0000 (11:19 +1000)]
drm/nouveau/gr/gm200: move some code into init_gpc_mmu() hook

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
8 years agodrm/nouveau/gr/gm200: make generate_main() static
Ben Skeggs [Thu, 14 Apr 2016 02:58:29 +0000 (12:58 +1000)]
drm/nouveau/gr/gm200: make generate_main() static

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
8 years agodrm/nouveau/gr/gf100-: abstract fetching rop count
Ben Skeggs [Thu, 14 Apr 2016 04:26:18 +0000 (14:26 +1000)]
drm/nouveau/gr/gf100-: abstract fetching rop count

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
8 years agodrm/nouveau/gr/gf100-: rename magic_not_rop_nr to screen_tile_row_offset
Ben Skeggs [Thu, 14 Apr 2016 04:08:25 +0000 (14:08 +1000)]
drm/nouveau/gr/gf100-: rename magic_not_rop_nr to screen_tile_row_offset

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
8 years agodrm/nouveau/gr/gf100-: remove hardcoded idle_timeout values
Ben Skeggs [Thu, 14 Apr 2016 02:57:01 +0000 (12:57 +1000)]
drm/nouveau/gr/gf100-: remove hardcoded idle_timeout values

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
8 years agodrm/nouveau/fifo/gm107-: remove engines from mmu engine mapping array
Ben Skeggs [Fri, 8 Apr 2016 07:24:40 +0000 (17:24 +1000)]
drm/nouveau/fifo/gm107-: remove engines from mmu engine mapping array

These are specified by PTOP on Maxwell GPUs.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
8 years agodrm/nouveau/fifo/gk104-: identify mmu engine ids for host faults
Ben Skeggs [Fri, 8 Apr 2016 07:24:40 +0000 (17:24 +1000)]
drm/nouveau/fifo/gk104-: identify mmu engine ids for host faults

It appears these don't map to PBDMAs (at least on Kepler, it may or may
be valid for Fermi - this hasn't been checked), but to runlists.

This drops the NVKM_ENGINE_FIFO data from the entries too, as resetting
all of PFIFO is *not* the way to handle such faults.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
8 years agodrm/nouveau/fifo/gk104-: implement support for PTOP fault info
Ben Skeggs [Fri, 8 Apr 2016 07:24:40 +0000 (17:24 +1000)]
drm/nouveau/fifo/gk104-: implement support for PTOP fault info

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
8 years agodrm/nouveau/fifo/gk104-: abstract mmu fault data structures
Ben Skeggs [Fri, 8 Apr 2016 07:24:40 +0000 (17:24 +1000)]
drm/nouveau/fifo/gk104-: abstract mmu fault data structures

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
8 years agodrm/nouveau/fifo/gk104-: subclass func
Ben Skeggs [Fri, 8 Apr 2016 07:24:40 +0000 (17:24 +1000)]
drm/nouveau/fifo/gk104-: subclass func

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
8 years agodrm/nouveau/fifo/gk104-: use device info from top subdev
Ben Skeggs [Fri, 8 Apr 2016 07:24:40 +0000 (17:24 +1000)]
drm/nouveau/fifo/gk104-: use device info from top subdev

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
8 years agodrm/nouveau/core: remove pmc_enable argument from subdev ctor
Ben Skeggs [Fri, 8 Apr 2016 07:24:40 +0000 (17:24 +1000)]
drm/nouveau/core: remove pmc_enable argument from subdev ctor

These are now specified directly in the MC subdev.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
8 years agodrm/nouveau/mc/nv04: define reset masks + intr cleanup
Ben Skeggs [Fri, 8 Apr 2016 07:24:40 +0000 (17:24 +1000)]
drm/nouveau/mc/nv04: define reset masks + intr cleanup

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
8 years agodrm/nouveau/mc/nv11: define reset masks + intr cleanup
Ben Skeggs [Fri, 8 Apr 2016 07:24:40 +0000 (17:24 +1000)]
drm/nouveau/mc/nv11: define reset masks + intr cleanup

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
8 years agodrm/nouveau/mc/nv17: define reset masks + intr cleanup
Ben Skeggs [Fri, 8 Apr 2016 07:24:40 +0000 (17:24 +1000)]
drm/nouveau/mc/nv17: define reset masks + intr cleanup

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
8 years agodrm/nouveau/mc/nv50: define reset masks + intr cleanup
Ben Skeggs [Fri, 8 Apr 2016 07:24:40 +0000 (17:24 +1000)]
drm/nouveau/mc/nv50: define reset masks + intr cleanup

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
8 years agodrm/nouveau/mc/g84: define reset masks + intr cleanup
Ben Skeggs [Fri, 8 Apr 2016 07:24:40 +0000 (17:24 +1000)]
drm/nouveau/mc/g84: define reset masks + intr cleanup

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
8 years agodrm/nouveau/mc/g98: define reset masks + intr cleanup
Ben Skeggs [Fri, 8 Apr 2016 07:24:40 +0000 (17:24 +1000)]
drm/nouveau/mc/g98: define reset masks + intr cleanup

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
8 years agodrm/nouveau/mc/gt215: define reset masks + intr cleanup
Ben Skeggs [Fri, 8 Apr 2016 07:24:40 +0000 (17:24 +1000)]
drm/nouveau/mc/gt215: define reset masks + intr cleanup

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
8 years agodrm/nouveau/mc/gf100: define reset masks + intr cleanup
Ben Skeggs [Fri, 8 Apr 2016 07:24:40 +0000 (17:24 +1000)]
drm/nouveau/mc/gf100: define reset masks + intr cleanup

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
8 years agodrm/nouveau/mc/gk104: define reset masks + intr cleanup
Ben Skeggs [Fri, 8 Apr 2016 07:24:40 +0000 (17:24 +1000)]
drm/nouveau/mc/gk104: define reset masks + intr cleanup

Engine fields have been removed, as they're specified by PTOP.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
8 years agodrm/nouveau/mc: implement support for PTOP interrupt routing
Ben Skeggs [Fri, 8 Apr 2016 07:24:40 +0000 (17:24 +1000)]
drm/nouveau/mc: implement support for PTOP interrupt routing

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
8 years agodrm/nouveau/mc: implement support for PTOP reset info
Ben Skeggs [Fri, 8 Apr 2016 07:24:40 +0000 (17:24 +1000)]
drm/nouveau/mc: implement support for PTOP reset info

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
8 years agodrm/nouveau/mc: allow for local definition of reset bits
Ben Skeggs [Fri, 8 Apr 2016 07:24:40 +0000 (17:24 +1000)]
drm/nouveau/mc: allow for local definition of reset bits

With the addition of PTOP-specified reset bits, it makes more sense to
move the definitions here rather than in individual subdev
implementations.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
8 years agodrm/nouveau/mc: add helper function to handle device reset
Ben Skeggs [Fri, 8 Apr 2016 07:24:40 +0000 (17:24 +1000)]
drm/nouveau/mc: add helper function to handle device reset

This will be later extended to handle PTOP-specified reset masks as well
as the hardcoded ones.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
8 years agodrm/nouveau/mc: rename struct nvkm_mc_intr to nvkm_mc_map
Ben Skeggs [Fri, 8 Apr 2016 07:24:40 +0000 (17:24 +1000)]
drm/nouveau/mc: rename struct nvkm_mc_intr to nvkm_mc_map

This will also be used to define NV_PMC_ENABLE <-> subdev mappings in an
upcoming commit.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
8 years agodrm/nouveau/top/gk104: initial implementation
Ben Skeggs [Fri, 8 Apr 2016 07:24:40 +0000 (17:24 +1000)]
drm/nouveau/top/gk104: initial implementation

Ported from the code currently in engine/fifo/gk104.c.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
8 years agodrm/nouveau/top: initial implementation
Ben Skeggs [Fri, 8 Apr 2016 07:24:40 +0000 (17:24 +1000)]
drm/nouveau/top: initial implementation

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
8 years agodrm/nouveau/core: add top plumbing
Ben Skeggs [Fri, 8 Apr 2016 07:24:40 +0000 (17:24 +1000)]
drm/nouveau/core: add top plumbing

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
8 years agodrm/nouveau/iccsense: configure sensors like nvidia does
Karol Herbst [Mon, 28 Mar 2016 12:24:32 +0000 (14:24 +0200)]
drm/nouveau/iccsense: configure sensors like nvidia does

v2: rename ina209/ina219 read function

Signed-off-by: Karol Herbst <nouveau@karolherbst.de>
Reviewed-by: Martin Peres <martin.peres@free.fr>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
8 years agodrm/nouveau/iccsense: split sensor into own struct
Karol Herbst [Mon, 28 Mar 2016 12:24:31 +0000 (14:24 +0200)]
drm/nouveau/iccsense: split sensor into own struct

v2: add list_del call, reword error message

Signed-off-by: Karol Herbst <nouveau@karolherbst.de>
Reviewed-by: Martin Peres <martin.peres@free.fr>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
8 years agodrm/nouveau/iccsense: convert to linked list
Karol Herbst [Mon, 28 Mar 2016 12:24:30 +0000 (14:24 +0200)]
drm/nouveau/iccsense: convert to linked list

v2: add list_del calls

Signed-off-by: Karol Herbst <nouveau@karolherbst.de>
Reviewed-by: Martin Peres <martin.peres@free.fr>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
8 years agodrm/nouveau/iccsense: remove read function
Karol Herbst [Mon, 28 Mar 2016 12:24:29 +0000 (14:24 +0200)]
drm/nouveau/iccsense: remove read function

Signed-off-by: Karol Herbst <nouveau@karolherbst.de>
Reviewed-by: Martin Peres <martin.peres@free.fr>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
8 years agodrm/nouveau/pmu: be more strict about locking
Karol Herbst [Mon, 11 Jan 2016 01:58:03 +0000 (02:58 +0100)]
drm/nouveau/pmu: be more strict about locking

When we start communicating with the pmu a bit more, the current code is
a real issue. I encountered a dead lock here, while testing my dynamic
reclocking code

Signed-off-by: Karol Herbst <nouveau@karolherbst.de>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
8 years agodrm/nouveau/devinit/gf100: make devinit on resume safer
Alexandre Courbot [Fri, 1 Apr 2016 06:40:59 +0000 (15:40 +0900)]
drm/nouveau/devinit/gf100: make devinit on resume safer

In case of successful suspend, devinit will have to be run and this is
the behavior currently hardcoded. However, as FD bug 94725 suggests,
there might be cases where runtime suspend leaves the GPU powered, and
in such cases devinit should not be run on resume.

On GF100+ we have a reliable way to know whether we need to run devinit.
Use it instead of blindly trusting the flag set by nvkm_devinit_fini().

The code around the NvForcePost also needs to be slightly reworked in
order to keep working.

Signed-off-by: Alexandre Courbot <acourbot@nvidia.com>
Suggested-by: Dave Airlie <airlied@redhat.com>
Suggested-by: Karol Herbst <nouveau@karolherbst.de>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
8 years agodrm/nouveau: rename nouveau_drm.h to nouveau_drv.h
Ben Skeggs [Thu, 19 May 2016 23:22:55 +0000 (09:22 +1000)]
drm/nouveau: rename nouveau_drm.h to nouveau_drv.h

Fixes out-of-tree build issue where uapi/drm/nouveau_drm.h gets picked
up instead.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
8 years agoMerge branch 'drm-uapi-extern-c-fixes' of https://github.com/evelikov/linux into...
Dave Airlie [Tue, 17 May 2016 06:34:43 +0000 (16:34 +1000)]
Merge branch 'drm-uapi-extern-c-fixes' of https://github.com/evelikov/linux into drm-next

Not the biggest fan of doing it this way, but what the hell.

* 'drm-uapi-extern-c-fixes' of https://github.com/evelikov/linux: (22 commits)
  drm/vmwgfx: add extern C guard for the UAPI header
  drm/virgl: add extern C guard for the UAPI header
  drm/via: add extern C guard for the UAPI header
  drm/vc4: add extern C guard for the UAPI header
  drm/tegra: add extern C guard for the UAPI header
  drm/sis: add extern C guard for the UAPI header
  drm/savage: add extern C guard for the UAPI header
  drm/radeon: add extern C guard for the UAPI header
  drm/r128: add extern C guard for the UAPI header
  drm/qxl: add extern C guard for the UAPI header
  drm/omap: add extern C guard for the UAPI header
  drm/nouveau: drop drm/ prefix from include
  drm/nouveau: add extern C guard for the UAPI header
  drm/msm: add extern C guard for the UAPI header
  drm/mga: add extern C guard for the UAPI header
  drm/i915: add extern C guard for the UAPI header
  drm/i810: add extern C guard for the UAPI header
  drm/exynos: add extern C guard for the UAPI header
  drm/etnaviv: add extern C guard for the UAPI header
  drm: add extern C guard for the UAPI headers
  ...

8 years agoMerge tag 'topic/drm-misc-2016-05-13' of git://anongit.freedesktop.org/drm-intel...
Dave Airlie [Mon, 16 May 2016 21:06:14 +0000 (07:06 +1000)]
Merge tag 'topic/drm-misc-2016-05-13' of git://anongit.freedesktop.org/drm-intel into drm-next

I kinda hoped that I could still sneak in Noralf's
drm_simple_display_pipe, since there's intereset by others now (for tilcdc
at least). But it wasn't ready by a hair. Oh well.

Otherwise random stuff plus prep patches from Noralf.

* tag 'topic/drm-misc-2016-05-13' of git://anongit.freedesktop.org/drm-intel:
  drm/atomic: Add drm_atomic_helper_best_encoder()
  drm/atomic: Don't skip drm_bridge_*() calls if !drm_encoder_helper_funcs
  drm/fb-cma-helper: Hook up to DocBook and fix some docs
  drm/fb-helper: Remove mention of CONFIG_FB_DEFERRED_IO in docs
  drm/sti: include linux/seq_file.h where needed
  drm/tegra: Use lockless gem BO free callback
  drm/exynos: Use lockless gem BO free callback
  drm: Make drm_encoder_helper_funcs optional

8 years agoMerge branch 'topic-arcpgu-updates' of https://github.com/foss-for-synopsys-dwc-arc...
Dave Airlie [Mon, 16 May 2016 20:36:08 +0000 (06:36 +1000)]
Merge branch 'topic-arcpgu-updates' of https://github.com/foss-for-synopsys-dwc-arc-processors/linux into drm-next

Please pull this mini-series that allows ARC PGU to use
dedicated memory location as framebuffer backing storage.

* 'topic-arcpgu-updates' of https://github.com/foss-for-synopsys-dwc-arc-processors/linux:
  ARC: [axs10x] Specify reserved memory for frame buffer
  drm/arcpgu: use dedicated memory area for frame buffer

8 years agodrm/vmwgfx: add extern C guard for the UAPI header
Emil Velikov [Thu, 7 Apr 2016 18:40:10 +0000 (19:40 +0100)]
drm/vmwgfx: add extern C guard for the UAPI header

Cc: Thomas Hellstrom <thellstrom@vmware.com>
Cc: Brian Paul <brianp@vmware.com>
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Acked-by: Sinclair Yeh <syeh@vmware.com>
8 years agodrm/virgl: add extern C guard for the UAPI header
Emil Velikov [Thu, 7 Apr 2016 18:38:49 +0000 (19:38 +0100)]
drm/virgl: add extern C guard for the UAPI header

Cc: Dave Airlie <airlied@redhat.com>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
8 years agodrm/via: add extern C guard for the UAPI header
Emil Velikov [Thu, 7 Apr 2016 18:37:48 +0000 (19:37 +0100)]
drm/via: add extern C guard for the UAPI header

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
8 years agodrm/vc4: add extern C guard for the UAPI header
Emil Velikov [Thu, 7 Apr 2016 18:36:57 +0000 (19:36 +0100)]
drm/vc4: add extern C guard for the UAPI header

Cc: Eric Anholt <eric@anholt.net>
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
8 years agodrm/tegra: add extern C guard for the UAPI header
Emil Velikov [Thu, 7 Apr 2016 18:35:50 +0000 (19:35 +0100)]
drm/tegra: add extern C guard for the UAPI header

Cc: Erik Faye-Lund <kusmabite@gmail.com>
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Acked-by: Thierry Reding <treding@nvidia.com>
8 years agodrm/sis: add extern C guard for the UAPI header
Emil Velikov [Fri, 13 May 2016 12:59:03 +0000 (13:59 +0100)]
drm/sis: add extern C guard for the UAPI header

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
8 years agodrm/savage: add extern C guard for the UAPI header
Emil Velikov [Thu, 7 Apr 2016 18:14:34 +0000 (19:14 +0100)]
drm/savage: add extern C guard for the UAPI header

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
8 years agodrm/radeon: add extern C guard for the UAPI header
Emil Velikov [Thu, 7 Apr 2016 18:13:24 +0000 (19:13 +0100)]
drm/radeon: add extern C guard for the UAPI header

Cc: Alex Deucher <alexander.deucher@amd.com>
Cc: Christian König <christian.koenig@amd.com>
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
8 years agodrm/r128: add extern C guard for the UAPI header
Emil Velikov [Thu, 7 Apr 2016 18:12:25 +0000 (19:12 +0100)]
drm/r128: add extern C guard for the UAPI header

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
8 years agodrm/qxl: add extern C guard for the UAPI header
Emil Velikov [Thu, 7 Apr 2016 18:09:39 +0000 (19:09 +0100)]
drm/qxl: add extern C guard for the UAPI header

Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: Dave Airlie <airlied@redhat.com>
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
8 years agodrm/omap: add extern C guard for the UAPI header
Emil Velikov [Thu, 7 Apr 2016 18:06:40 +0000 (19:06 +0100)]
drm/omap: add extern C guard for the UAPI header

Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Acked-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
8 years agodrm/nouveau: drop drm/ prefix from include
Emil Velikov [Thu, 7 Apr 2016 18:05:47 +0000 (19:05 +0100)]
drm/nouveau: drop drm/ prefix from include

Similar to the rest of the DRM UAPI - these are to be imported
unmodified into libdrm. In current form that's impossible.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Acked-by: Ben Skeggs <bskeggs@redhat.com>
8 years agodrm/nouveau: add extern C guard for the UAPI header
Emil Velikov [Thu, 7 Apr 2016 18:05:06 +0000 (19:05 +0100)]
drm/nouveau: add extern C guard for the UAPI header

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Acked-by: Ben Skeggs <bskeggs@redhat.com>
8 years agodrm/msm: add extern C guard for the UAPI header
Emil Velikov [Thu, 7 Apr 2016 18:03:46 +0000 (19:03 +0100)]
drm/msm: add extern C guard for the UAPI header

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Acked-by: Rob Clark <robdclark@gmail.com> (over irc)
8 years agodrm/mga: add extern C guard for the UAPI header
Emil Velikov [Thu, 7 Apr 2016 18:01:39 +0000 (19:01 +0100)]
drm/mga: add extern C guard for the UAPI header

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
8 years agodrm/i915: add extern C guard for the UAPI header
Emil Velikov [Thu, 7 Apr 2016 18:00:35 +0000 (19:00 +0100)]
drm/i915: add extern C guard for the UAPI header

Cc: Jani Nikula <jani.nikula@linux.intel.com>
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Acked-by: Daniel Vetter <daniel.vetter@intel.com>
8 years agodrm/i810: add extern C guard for the UAPI header
Emil Velikov [Thu, 7 Apr 2016 17:59:30 +0000 (18:59 +0100)]
drm/i810: add extern C guard for the UAPI header

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
8 years agodrm/exynos: add extern C guard for the UAPI header
Emil Velikov [Thu, 7 Apr 2016 17:58:35 +0000 (18:58 +0100)]
drm/exynos: add extern C guard for the UAPI header

Cc: Andrzej Hajda <a.hajda@samsung.com>
Cc: Inki Dae <inki.dae@samsung.com>
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
8 years agodrm/etnaviv: add extern C guard for the UAPI header
Emil Velikov [Thu, 7 Apr 2016 17:54:33 +0000 (18:54 +0100)]
drm/etnaviv: add extern C guard for the UAPI header

Cc: Lucas Stach <l.stach@pengutronix.de>
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Acked-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Acked-by: Russell King <rmk+kernel@arm.linux.org.uk>
8 years agodrm: add extern C guard for the UAPI headers
Emil Velikov [Thu, 7 Apr 2016 17:49:00 +0000 (18:49 +0100)]
drm: add extern C guard for the UAPI headers

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
8 years agodrm/armada: add extern C guard for the UAPI header
Emil Velikov [Thu, 7 Apr 2016 17:47:05 +0000 (18:47 +0100)]
drm/armada: add extern C guard for the UAPI header

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Acked-by: Russell King <rmk+kernel@arm.linux.org.uk>
8 years agodrm/amdgpu: add extern C guard for the UAPI header
Emil Velikov [Thu, 7 Apr 2016 17:45:18 +0000 (18:45 +0100)]
drm/amdgpu: add extern C guard for the UAPI header

Cc: Alex Deucher <alexander.deucher@amd.com>
Cc: Christian König <christian.koenig@amd.com>
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
8 years agoMerge tag 'drm/panel/for-4.7-rc1' of git://anongit.freedesktop.org/tegra/linux into...
Dave Airlie [Fri, 13 May 2016 01:48:01 +0000 (11:48 +1000)]
Merge tag 'drm/panel/for-4.7-rc1' of git://anongit.freedesktop.org/tegra/linux into drm-next

drm/panel: Changes for v4.7-rc1

This contains support for a bunch of new panels in the simple panel
driver along with some cleanup and support for a new Analogix HDMI to DP
bridge.

* tag 'drm/panel/for-4.7-rc1' of git://anongit.freedesktop.org/tegra/linux:
  drm/panel: simple: Add support for TPK U.S.A. LLC Fusion 7" and 10.1" panels
  drm/bridge: Add Analogix anx78xx support
  devicetree: Add ANX7814 SlimPort transmitter binding
  of: Add vendor prefix for Analogix Semiconductor
  drm/dp: Add define to set 0.5% down-spread in MAX_DOWNSPREAD register
  drm/panel: simple: Add support for Innolux AT070TN92
  drm/panel: simple: Remove useless drm_mode_set_name()
  drm/panel: simple: Set appropriate mode type
  drm/panel: simple: Add timings for the Olimex LCD-OLinuXino-4.3TS
  drm/panel: simple: Add the 7" DPI panel from Adafruit
  of: Add vendor prefix for On Tat Industrial Company.

8 years agodrm/panel: simple: Add support for TPK U.S.A. LLC Fusion 7" and 10.1" panels
Bhuvanchandra DV [Thu, 5 May 2016 06:17:07 +0000 (11:47 +0530)]
drm/panel: simple: Add support for TPK U.S.A. LLC Fusion 7" and 10.1" panels

Add support for TPK U.S.A. LLC Fusion 7", 10.1" panels to the DRM simple
panel driver.

Signed-off-by: Bhuvanchandra DV <bhuvanchandra.dv@toradex.com>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Thierry Reding <treding@nvidia.com>
8 years agodrm/bridge: Add Analogix anx78xx support
Enric Balletbo i Serra [Mon, 2 May 2016 07:54:26 +0000 (09:54 +0200)]
drm/bridge: Add Analogix anx78xx support

Although there are other chips from the same family that can reuse this
driver, at the moment we only tested ANX7814 chip.

The ANX7814 is an ultra-low power Full-HD (1080p60) SlimPort transmitter
designed for portable devices. This driver adds initial support for HDMI
to DP pass-through mode.

Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
Tested-by: Nicolas Boichat <drinkcat@chromium.org>
Reviewed-by: Nicolas Boichat <drinkcat@chromium.org>
Cc: Emil Velikov <emil.l.velikov@gmail.com>
Cc: Rob Herring <robh@kernel.org>
Cc: Dan Carpenter <dan.carpenter@oracle.com>
Cc: Daniel Kurtz <djkurtz@chromium.org>
Cc: Nicolas Boichat <drinkcat@chromium.org>
Cc: Thierry Reding <treding@nvidia.com>
[treding@nvidia.com: coding style, propagate regulator_get() errors]
Signed-off-by: Thierry Reding <treding@nvidia.com>
8 years agodevicetree: Add ANX7814 SlimPort transmitter binding
Enric Balletbo i Serra [Mon, 2 May 2016 07:54:25 +0000 (09:54 +0200)]
devicetree: Add ANX7814 SlimPort transmitter binding

The ANX7814 is an ultra-low power Full-HD (1080p60) SlimPort transmitter
designed for portable devices.

Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Thierry Reding <treding@nvidia.com>
8 years agoof: Add vendor prefix for Analogix Semiconductor
Enric Balletbo i Serra [Mon, 2 May 2016 07:54:24 +0000 (09:54 +0200)]
of: Add vendor prefix for Analogix Semiconductor

Analogix Semiconductor Inc. develops analog and mixed-signal devices for
digital media and communications interconnect applications.

Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Thierry Reding <treding@nvidia.com>
8 years agodrm/dp: Add define to set 0.5% down-spread in MAX_DOWNSPREAD register
Enric Balletbo i Serra [Mon, 2 May 2016 07:54:23 +0000 (09:54 +0200)]
drm/dp: Add define to set 0.5% down-spread in MAX_DOWNSPREAD register

Support of 0.5% down-spread is required for DisplayPort Specification
Version 1.1 Sink.

Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
[treding@nvidia.com: rename to DP_MAX_DOWNSPREAD_0_5]
Signed-off-by: Thierry Reding <treding@nvidia.com>
8 years agodrm/panel: simple: Add support for Innolux AT070TN92
Riccardo Bortolato [Wed, 20 Apr 2016 13:37:15 +0000 (15:37 +0200)]
drm/panel: simple: Add support for Innolux AT070TN92

Add support for the Innolux AT070TN92 panel.

Signed-off-by: Riccardo Bortolato <bortolato@navaltechitalia.it>
Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
8 years agodrm/panel: simple: Remove useless drm_mode_set_name()
Boris Brezillon [Thu, 30 Apr 2015 14:38:36 +0000 (16:38 +0200)]
drm/panel: simple: Remove useless drm_mode_set_name()

drm_display_mode_from_videomode() already calls drm_mode_set_name() on
the provided mode.

Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
[treding@nvidia.com: slightly reword commit message]
Signed-off-by: Thierry Reding <treding@nvidia.com>
8 years agodrm/panel: simple: Set appropriate mode type
Boris Brezillon [Fri, 15 Apr 2016 16:23:33 +0000 (18:23 +0200)]
drm/panel: simple: Set appropriate mode type

All modes exposed by simple panels should be tagged as driver defined
modes. Moreover, if a panel supports only one mode, this mode is
obviously the preferred one.

Doing this also fix a problem occurring when a 'video=' parameter is
passed on the kernel command line. In some cases the user provided mode
will be preferred over the simple panel ones, which might result in
unpredictable behavior.

Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
Reviewed-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Tested-by: Nicolas Ferre <nicolas.ferre@atmel.com>
[treding@nvidia.com: reshuffle some code for consistency]
Signed-off-by: Thierry Reding <treding@nvidia.com>
8 years agodrm/panel: simple: Add timings for the Olimex LCD-OLinuXino-4.3TS
Maxime Ripard [Wed, 23 Mar 2016 16:38:34 +0000 (17:38 +0100)]
drm/panel: simple: Add timings for the Olimex LCD-OLinuXino-4.3TS

Add support for the Olimex LCD-OLinuXino-4.3TS panel to the DRM simple
panel driver.

It is a 480x272 panel connected through a 24-bits RGB interface.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Thierry Reding <treding@nvidia.com>
8 years agodrm/panel: simple: Add the 7" DPI panel from Adafruit
Eric Anholt [Fri, 25 Mar 2016 00:23:48 +0000 (17:23 -0700)]
drm/panel: simple: Add the 7" DPI panel from Adafruit

This is a basic TFT panel with a 40-pin FPC connector on it.  The
specification doesn't define timings, but the Adafruit instructions
were setting up 800x480 CVT.

v2: Add .bus_format and vsync/hsync flags.

Signed-off-by: Eric Anholt <eric@anholt.net>
Acked-by: Rob Herring <robh@kernel.org>
[treding@nvidia.com: keep entries properly sorted]
Signed-off-by: Thierry Reding <treding@nvidia.com>
8 years agoof: Add vendor prefix for On Tat Industrial Company.
Eric Anholt [Fri, 25 Mar 2016 00:23:47 +0000 (17:23 -0700)]
of: Add vendor prefix for On Tat Industrial Company.

This is the vendor for a 7" DPI panel sold by Adafruit which I'd like
to describe in DT.

Signed-off-by: Eric Anholt <eric@anholt.net>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Thierry Reding <treding@nvidia.com>
8 years agoMerge branch 'drm-next-4.7' of git://people.freedesktop.org/~agd5f/linux into drm...
Dave Airlie [Thu, 12 May 2016 01:16:55 +0000 (11:16 +1000)]
Merge branch 'drm-next-4.7' of git://people.freedesktop.org/~agd5f/linux into drm-next

More amdgpu fixes for 4.7.  Highlights:
- enable async pageflips
- UVD fixes for polaris
- lots of GPUVM fixes
- whitespace and code cleanups
- misc bug fixes

* 'drm-next-4.7' of git://people.freedesktop.org/~agd5f/linux: (32 commits)
  drm/amd/powerplay: rewrite pp_sw_init to make code readable
  drm/amdgpu/dce11: fix audio offset for asics with >7 audio pins
  drm/amdgpu: fix and cleanup user fence handling v2
  drm/amdgpu: move VM fields into job
  drm/amdgpu: move the context from the IBs into the job
  drm/amdgpu: move context switch handling into common code v2
  drm/amdgpu: move preamble IB handling into common code
  drm/amdgpu/gfx7: fix pipeline sync
  amdgpu/uvd: separate context buffer from DPB
  drm/amdgpu: use fence_context to judge ctx switch v2
  drm/amd/amdgpu:  Added more named DRM info messages for debugging
  drm/amd/amdgpu: Add name field to amd_ip_funcs (v2)
  drm/amdgpu: Support DRM_MODE_PAGE_FLIP_ASYNC (v2)
  drm/amdgpu/dce11: don't share PLLs on Polaris
  drm/amdgpu: Drop unused parameter for *get_sleep_divider_id_from_clock
  drm/amdgpu: Simplify calculation in *get_sleep_divider_id_from_clock
  drm/amdgpu: Use max macro in *get_sleep_divider_id_from_clock
  drm/amd/powerplay: Use defined constants for minium engine clock
  drm/amdgpu: add missing licenses on a couple of files
  drm/amdgpu: fetch cu_info once at init
  ...

8 years agoMerge tag 'drm/tegra/for-4.7-rc1' of git://anongit.freedesktop.org/tegra/linux into...
Dave Airlie [Thu, 12 May 2016 01:15:18 +0000 (11:15 +1000)]
Merge tag 'drm/tegra/for-4.7-rc1' of git://anongit.freedesktop.org/tegra/linux into drm-next

drm/tegra: Changes for v4.7-rc1

Two small changes, one getting rid of the bogus gamma table size and
another removing Terje from the MAINTAINERS file since he no longer does
any work on host1x or display.

* tag 'drm/tegra/for-4.7-rc1' of git://anongit.freedesktop.org/tegra/linux:
  MAINTAINERS: Remove Terje Bergström as Tegra DRM maintainer
  drm/tegra: Don't set a gamma table size

8 years agoMerge branch 'drm-hisilicon-next' of github.com:xin3liang/linux into drm-next
Dave Airlie [Thu, 12 May 2016 01:11:03 +0000 (11:11 +1000)]
Merge branch 'drm-hisilicon-next' of github.com:xin3liang/linux into drm-next

misc hisilicon cleanups.

* 'drm-hisilicon-next' of github.com:xin3liang/linux:
  drm/hisilicon: Fix DRM_INFO printed issue
  drm/hisilicon: Make kirin_drm_unbind sufficient
  drm/hisilicon: Use drm_connector_register_all

8 years agoMerge branch 'exynos-drm-next' of git://git.kernel.org/pub/scm/linux/kernel/git/daein...
Dave Airlie [Thu, 12 May 2016 00:10:53 +0000 (10:10 +1000)]
Merge branch 'exynos-drm-next' of git://git./linux/kernel/git/daeinki/drm-exynos into drm-next

 Summary:
   - expose HDMI-PHY clock to other drivers.
     . this patch was included in below patch series but I missed.
             http://www.spinics.net/lists/dri-devel/msg103097.html
   - some fixups about DECON5433 driver
     . this patch corrects vblank handling and fixes up trigger
       configuration.
   - use generic functions - gem_prime_mmap and dma_buf_mmap.
   - use DMA-Mapping API instead of specific one.
   - some code cleanups and fixeups.

* 'exynos-drm-next' of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos:
  drm/exynos/decon5433: fix trigger configuration
  drm/exynos/dsi: use of_graph_get_endpoint_by_regs helper
  drm/exynos/dpi: use of_graph_get_endpoint_by_regs helper
  drm/exynos: Nuke dummy fb->dirty callback
  drm/exynos: use directly DMA mapping APIs on g2d
  drm/exynos/hdmi: Don't print error on deferral due to regulators
  drm/exynos: fix imported dma-buf to be mapped
  drm/exynos: support gem_prime_mmap
  drm/exynos: fimd: harden fimd_calc_clkdiv()
  drm/exynos: fix cancel page flip code
  drm/exynos/decon5433: do not use unnecessary software trigger
  drm/exynos/decon5433: handle vblank in vblank interrupt
  drm/exynos/hdmi: expose HDMI-PHY clock as pipeline clock

8 years agodrm/amd/powerplay: rewrite pp_sw_init to make code readable
Huang Rui [Mon, 9 May 2016 09:29:41 +0000 (17:29 +0800)]
drm/amd/powerplay: rewrite pp_sw_init to make code readable

Actually, pp_sw_init executes pptable_init and backend_init orderly if
they are initialized successfully. So rewrite it to make code more
readable.

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Huang Rui <ray.huang@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amdgpu/dce11: fix audio offset for asics with >7 audio pins
Alex Deucher [Tue, 10 May 2016 13:29:56 +0000 (09:29 -0400)]
drm/amdgpu/dce11: fix audio offset for asics with >7 audio pins

Missing offset in the audio offset array.

Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amdgpu: fix and cleanup user fence handling v2
Christian König [Fri, 6 May 2016 20:14:00 +0000 (22:14 +0200)]
drm/amdgpu: fix and cleanup user fence handling v2

We leaked the BO in the error pass, additional to that we only have
one user fence for all IBs in a job.

v2: remove white space changes

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amdgpu: move VM fields into job
Christian König [Fri, 6 May 2016 15:50:03 +0000 (17:50 +0200)]
drm/amdgpu: move VM fields into job

They are the same for all IBs.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amdgpu: move the context from the IBs into the job
Christian König [Fri, 6 May 2016 13:57:42 +0000 (15:57 +0200)]
drm/amdgpu: move the context from the IBs into the job

We only have one context for all IBs.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amdgpu: move context switch handling into common code v2
Christian König [Fri, 6 May 2016 13:31:19 +0000 (15:31 +0200)]
drm/amdgpu: move context switch handling into common code v2

It was a source of bugs to repeat that in each IP version.

v2: rename parameter

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amdgpu: move preamble IB handling into common code
Christian König [Fri, 6 May 2016 12:52:57 +0000 (14:52 +0200)]
drm/amdgpu: move preamble IB handling into common code

This fixes the handling which was completely broken when you
ad more than one preamble IB.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
8 years agodrm/amdgpu/gfx7: fix pipeline sync
Chunming Zhou [Mon, 9 May 2016 09:29:39 +0000 (17:29 +0800)]
drm/amdgpu/gfx7: fix pipeline sync

Need to wait on the fence as well.

Signed-off-by: Chunming Zhou <David1.Zhou@amd.com>
Reviewed-by: Monk Liu <monk.liu@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>