cascardo/linux.git
8 years agoMerge branch 'linux-4.7' of git://github.com/skeggsb/linux into drm-next
Dave Airlie [Fri, 20 May 2016 20:12:13 +0000 (06:12 +1000)]
Merge branch 'linux-4.7' of git://github.com/skeggsb/linux into drm-next

Nothing too exciting here, there's a larger chunk of work that still
needs more testing but not likely to get that done today - so - here's
the rest of it.  Assuming nothing else goes horribly wrong, I should be
able to send the rest Monday if it isn't too late....

Changes:
- Improvements to power sensor support
- Initial attempt at GM108 support
- Minor fixes to GR init + ucode
- Make use of topology information (provided by the GPU) in various
places, should at least fix some fault recovery issues and
engine/runlist mapping confusion on newer GPUs.

* 'linux-4.7' of git://github.com/skeggsb/linux: (51 commits)
  drm/nouveau/gr/gf100-: fix race condition in fecs/gpccs ucode
  drm/nouveau/core: recognise GM108 chipsets
  drm/nouveau/gr/gm107-: fix touching non-existent ppcs in attrib cb setup
  drm/nouveau/gr/gk104-: share implementation of ppc exception init
  drm/nouveau/gr/gk104-: move rop_active_fbps init to nonctx
  drm/nouveau/bios/pll: check BIT table version before trying to parse it
  drm/nouveau/bios/pll: prevent oops when limits table can't be parsed
  drm/nouveau/volt/gk104: round up in gk104_volt_set
  drm/nouveau/fb/gm200: setup mmu debug buffer registers at init()
  drm/nouveau/fb/gk20a,gm20b: setup mmu debug buffer registers at init()
  drm/nouveau/fb/gf100-: allocate mmu debug buffers
  drm/nouveau/fb: allow chipset-specific actions for oneinit()
  drm/nouveau/gr/gm200-: fix bad hardcoding of a max-tpcs-per-gpc value
  drm/nouveau/gr/gm200-: rop count == ltc count
  drm/nouveau/gr/gm200: modify the mask when copying mmu settings from fb
  drm/nouveau/gr/gm200: move some code into init_gpc_mmu() hook
  drm/nouveau/gr/gm200: make generate_main() static
  drm/nouveau/gr/gf100-: abstract fetching rop count
  drm/nouveau/gr/gf100-: rename magic_not_rop_nr to screen_tile_row_offset
  drm/nouveau/gr/gf100-: remove hardcoded idle_timeout values
  ...

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 tag 'topic/drm-misc-2016-05-18' of git://anongit.freedesktop.org/drm-intel...
Dave Airlie [Wed, 18 May 2016 20:48:29 +0000 (06:48 +1000)]
Merge tag 'topic/drm-misc-2016-05-18' of git://anongit.freedesktop.org/drm-intel into drm-next

Update drm-misc pull with a few more fixes included, plus the two from
Arnd for the fallout from the drm_gem_object_lookup() refactor that I
failed to spot :(

* tag 'topic/drm-misc-2016-05-18' of git://anongit.freedesktop.org/drm-intel:
  drm: remove unused dev variables
  drm: mediatek: fixup drm_gem_object_lookup API change
  drm/tegra: Fix crash caused by reference count imbalance
  drm: Fix error handling in drm_connector_register
  drm: Avoid connector reference imbalance on error path
  drm/fb_helper: Fix references to dev->mode_config.num_connector
  drm/i915/fbdev: Fix num_connector references in intel_fb_initial_config()
  qxl: catch qxlfb_create_pinned_object failures
  drm/exynos/hdmi: add a missing tab
  drm/fb-cma-helper: Add function drm_fb_cma_create_with_funcs()
  drm/fb-cma-helper: Use const for drm_framebuffer_funcs argument
  drm: Drop connector argument from __drm_atomic_helper_connector_destroy_state
  drm: Drop plane argument from __drm_atomic_helper_plane_destroy_state
  drm: Drop crtc argument from __drm_atomic_helper_crtc_destroy_state
  drm: Remove unused drm_device from drm_gem_object_lookup()

8 years agodrm: remove unused dev variables
Arnd Bergmann [Wed, 18 May 2016 16:07:33 +0000 (18:07 +0200)]
drm: remove unused dev variables

After drm_gem_object_lookup() was changed along with all its callers,
we have several drivers that have unused variables:

drm/armada/armada_crtc.c: In function 'armada_drm_crtc_cursor_set':
drm/armada/armada_crtc.c:900:21: error: unused variable 'dev' [-Werror=unused-variable]
drm/nouveau/nouveau_gem.c: In function 'validate_init':
drm/nouveau/nouveau_gem.c:371:21: error: unused variable 'dev' [-Werror=unused-variable]
drm/nouveau/nv50_display.c: In function 'nv50_crtc_cursor_set':
drm/nouveau/nv50_display.c:1308:21: error: unused variable 'dev' [-Werror=unused-variable]
drm/radeon/radeon_cs.c: In function 'radeon_cs_parser_relocs':
drm/radeon/radeon_cs.c:77:21: error: unused variable 'ddev' [-Werror=unused-variable]

This fixes all the instances I found with ARM randconfig builds so far.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Fixes: a8ad0bd84f98 ("drm: Remove unused drm_device from drm_gem_object_lookup()")
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: http://patchwork.freedesktop.org/patch/msgid/1463587653-3035181-6-git-send-email-arnd@arndb.de
8 years agodrm: mediatek: fixup drm_gem_object_lookup API change
Arnd Bergmann [Wed, 18 May 2016 16:07:31 +0000 (18:07 +0200)]
drm: mediatek: fixup drm_gem_object_lookup API change

The drm_gem_object_lookup() function prototype changed while this
driver was added, so it fails to build now:

drivers/gpu/drm/mediatek/mtk_drm_gem.c: In function 'mtk_drm_gem_dumb_map_offset':
drivers/gpu/drm/mediatek/mtk_drm_gem.c:142:30: error: passing argument 1 of 'drm_gem_object_lookup' from incompatible pointer type [-Werror=incompatible-pointer-types]
  obj = drm_gem_object_lookup(dev, file_priv, handle);

This fixes the new caller as well.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Fixes: a8ad0bd84f98 ("drm: Remove unused drm_device from drm_gem_object_lookup()")
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: http://patchwork.freedesktop.org/patch/msgid/1463587653-3035181-4-git-send-email-arnd@arndb.de
8 years agodrm/tegra: Fix crash caused by reference count imbalance
Jon Hunter [Wed, 18 May 2016 15:37:36 +0000 (16:37 +0100)]
drm/tegra: Fix crash caused by reference count imbalance

Commit d2307dea14a4 ("drm/atomic: use connector references (v3)") added
reference counting for DRM connectors and this caused a crash when
exercising system suspend on Tegra114 Dalmore.

The Tegra DSI driver implements a Tegra specific function,
tegra_dsi_connector_duplicate_state(), to duplicate the connector state
and destroys the state using the generic helper function,
drm_atomic_helper_connector_destroy_state(). Following commit
d2307dea14a4 ("drm/atomic: use connector references (v3)") there is
now an imbalance in the connector reference count because the Tegra
function to duplicate state does not take a reference when duplicating
the state information. However, the generic helper function to destroy
the state information assumes a reference has been taken and during
system suspend, when the connector state is destroyed, this leads to a
crash because we attempt to put the reference for an object that has
already been freed.

Fix this by calling __drm_atomic_helper_connector_duplicate_state() from
tegra_dsi_connector_duplicate_state() to ensure that we take a reference
on a connector if crtc is set. Note that this will also copy the
connector state a 2nd time, but this should be harmless.

By fixing tegra_dsi_connector_duplicate_state() to take a reference,
although a crash was no longer seen, it was then observed that after
each system suspend-resume cycle, the reference would be one greater
than before the suspend-resume cycle. Following commit d2307dea14a4
("drm/atomic: use connector references (v3)"), it was found that we
also need to put the reference when calling the function
tegra_dsi_connector_reset() before freeing the state. Fix this by
updating tegra_dsi_connector_reset() to call the function
__drm_atomic_helper_connector_destroy_state() in order to put the
reference for the connector.

Fixes: d2307dea14a4 ("drm/atomic: use connector references (v3)")

Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Acked-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: http://patchwork.freedesktop.org/patch/msgid/1463585856-16606-1-git-send-email-jonathanh@nvidia.com
8 years agodrm: Fix error handling in drm_connector_register
Daniel Vetter [Fri, 6 May 2016 12:55:02 +0000 (14:55 +0200)]
drm: Fix error handling in drm_connector_register

When debugfs or sysfs registration failed, we failed to clean up the
idr registration. Reorder to fix this.

Cc: Dave Airlie <airlied@gmail.com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: http://patchwork.freedesktop.org/patch/msgid/1462539302-27764-1-git-send-email-daniel.vetter@ffwll.ch
8 years agodrm: Avoid connector reference imbalance on error path
Chris Wilson [Fri, 6 May 2016 11:47:45 +0000 (12:47 +0100)]
drm: Avoid connector reference imbalance on error path

Whilst looking at the fallout from using connector references for
atomic, I noticed that there is an early return buried in
drm_atomic_set_crtc_for_connector() that if hit could cause us to leak a
reference on the connector.

Fixes: d2307dea14 (drm/atomic: use connector references (v3))
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Daniel Stone <daniels@collabora.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Dave Airlie <airlied@redhat.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: http://patchwork.freedesktop.org/patch/msgid/1462535265-13058-1-git-send-email-chris@chris-wilson.co.uk
8 years agodrm/fb_helper: Fix references to dev->mode_config.num_connector
Lyude [Thu, 12 May 2016 14:56:59 +0000 (10:56 -0400)]
drm/fb_helper: Fix references to dev->mode_config.num_connector

During boot, MST hotplugs are generally expected (even if no physical
hotplugging occurs) and result in DRM's connector topology changing.
This means that using num_connector from the current mode configuration
can lead to the number of connectors changing under us. This can lead to
some nasty scenarios in fbcon:

- We allocate an array to the size of dev->mode_config.num_connectors.
- MST hotplug occurs, dev->mode_config.num_connectors gets incremented.
- We try to loop through each element in the array using the new value
  of dev->mode_config.num_connectors, and end up going out of bounds
  since dev->mode_config.num_connectors is now larger then the array we
  allocated.

fb_helper->connector_count however, will always remain consistent while
we do a modeset in fb_helper.

Note: This is just polish for 4.7, Dave Airlie's drm_connector
refcounting fixed these bugs for real. But it's good enough duct-tape
for stable kernel backporting, since backporting the refcounting
changes is way too invasive.

Cc: stable@vger.kernel.org
Signed-off-by: Lyude <cpaul@redhat.com>
[danvet: Clarify why we need this. Also remove the now unused "dev"
local variable to appease gcc.]
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: http://patchwork.freedesktop.org/patch/msgid/1463065021-18280-3-git-send-email-cpaul@redhat.com
8 years agodrm/i915/fbdev: Fix num_connector references in intel_fb_initial_config()
Lyude [Thu, 12 May 2016 14:56:58 +0000 (10:56 -0400)]
drm/i915/fbdev: Fix num_connector references in intel_fb_initial_config()

During boot time, MST devices usually send a ton of hotplug events
irregardless of whether or not any physical hotplugs actually occurred.
Hotplugs mean connectors being created/destroyed, and the number of DRM
connectors changing under us. This isn't a problem if we use
fb_helper->connector_count since we only set it once in the code,
however if we use num_connector from struct drm_mode_config we risk it's
value changing under us. On top of that, there's even a chance that
dev->mode_config.num_connector != fb_helper->connector_count. If the
number of connectors happens to increase under us, we'll end up using
the wrong array size for memcpy and start writing beyond the actual
length of the array, occasionally resulting in kernel panics.

Note: This is just polish for 4.7, Dave Airlie's drm_connector
refcounting fixed these bugs for real. But it's good enough duct-tape
for stable kernel backporting, since backporting the refcounting
changes is way too invasive.

Cc: stable@vger.kernel.org
Signed-off-by: Lyude <cpaul@redhat.com>
[danvet: Clarify why we need this.]
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: http://patchwork.freedesktop.org/patch/msgid/1463065021-18280-2-git-send-email-cpaul@redhat.com
8 years agoqxl: catch qxlfb_create_pinned_object failures
Gerd Hoffmann [Thu, 12 May 2016 17:06:56 +0000 (19:06 +0200)]
qxl: catch qxlfb_create_pinned_object failures

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: http://patchwork.freedesktop.org/patch/msgid/1463072816-11788-1-git-send-email-kraxel@redhat.com
8 years agodrm/exynos/hdmi: add a missing tab
Dan Carpenter [Thu, 12 May 2016 19:54:57 +0000 (22:54 +0300)]
drm/exynos/hdmi: add a missing tab

Smatch warns that the if statement isn't indented.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: http://patchwork.freedesktop.org/patch/msgid/20160512195457.GA19095@mwanda
8 years agodrm/fb-cma-helper: Add function drm_fb_cma_create_with_funcs()
Noralf Trønnes [Thu, 12 May 2016 18:25:22 +0000 (20:25 +0200)]
drm/fb-cma-helper: Add function drm_fb_cma_create_with_funcs()

Add drm_fb_cma_create_with_funcs() for drivers that need to set the
dirty() callback.

Signed-off-by: Noralf Trønnes <noralf@tronnes.org>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: http://patchwork.freedesktop.org/patch/msgid/1463077523-23959-3-git-send-email-noralf@tronnes.org
8 years agodrm/fb-cma-helper: Use const for drm_framebuffer_funcs argument
Noralf Trønnes [Thu, 12 May 2016 18:25:21 +0000 (20:25 +0200)]
drm/fb-cma-helper: Use const for drm_framebuffer_funcs argument

drm_framebuffer_init() uses const for the drm_framebuffer_funcs
argument so use that on drm_fb_cma_alloc() and
drm_fbdev_cma_create_with_funcs() as well.

Cc: laurent.pinchart@ideasonboard.com
Signed-off-by: Noralf Trønnes <noralf@tronnes.org>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: http://patchwork.freedesktop.org/patch/msgid/1463077523-23959-2-git-send-email-noralf@tronnes.org
8 years agodrm: Drop connector argument from __drm_atomic_helper_connector_destroy_state
Daniel Vetter [Mon, 9 May 2016 14:34:11 +0000 (16:34 +0200)]
drm: Drop connector argument from __drm_atomic_helper_connector_destroy_state

It's unused, and really this helper should only look at the state
structure and nothing else. Note that this conflicts with a patch from
Dave that adds refcounting to drm_connectors. It's not yet clear
whether the check Dave adds for connector != NULL is really needed or
the right check.

v2: Fix commmit message (Laurent).

Cc: Dave Airlie <airlied@gmail.com>
Acked-by: Thierry Reding <thierry.reding@gmail.com>
Acked-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: http://patchwork.freedesktop.org/patch/msgid/1462804451-15318-3-git-send-email-daniel.vetter@ffwll.ch
8 years agodrm: Drop plane argument from __drm_atomic_helper_plane_destroy_state
Daniel Vetter [Mon, 9 May 2016 14:34:10 +0000 (16:34 +0200)]
drm: Drop plane argument from __drm_atomic_helper_plane_destroy_state

It's unused, and really this helper should only look at the state
structure and nothing else.

v2: Fix commit message (Laurent).

v3: Rebase onto mtk driver merge.

Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Thierry Reding <thierry.reding@gmail.com>
Cc: Eric Anholt <eric@anholt.net>
Cc: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Cc: Inki Dae <inki.dae@samsung.com>
Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
Cc: Mark Yao <mark.yao@rock-chips.com>
Acked-by: Thierry Reding <thierry.reding@gmail.com>
Acked-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: http://patchwork.freedesktop.org/patch/msgid/1462804451-15318-2-git-send-email-daniel.vetter@ffwll.ch
8 years agodrm: Drop crtc argument from __drm_atomic_helper_crtc_destroy_state
Daniel Vetter [Mon, 9 May 2016 14:34:09 +0000 (16:34 +0200)]
drm: Drop crtc argument from __drm_atomic_helper_crtc_destroy_state

It's unused, and really this helper should only look at the state
structure and nothing else.

v2: Rebase on top of rockchip changes

v3: Drop unrelated hunk, spotted by Laurent.

v4: Rebase onto mtk driver merge.

Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Thierry Reding <thierry.reding@gmail.com>
Cc: Eric Anholt <eric@anholt.net>
Cc: Mark Yao <mark.yao@rock-chips.com>
Acked-by: Thierry Reding <thierry.reding@gmail.com>
Acked-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: http://patchwork.freedesktop.org/patch/msgid/1462804451-15318-1-git-send-email-daniel.vetter@ffwll.ch
8 years agodrm: Remove unused drm_device from drm_gem_object_lookup()
Chris Wilson [Mon, 9 May 2016 10:04:54 +0000 (11:04 +0100)]
drm: Remove unused drm_device from drm_gem_object_lookup()

drm_gem_object_lookup() has never required the drm_device for its file
local translation of the user handle to the GEM object. Let's remove the
unused parameter and save some space.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: dri-devel@lists.freedesktop.org
Cc: Dave Airlie <airlied@redhat.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
[danvet: Fixup kerneldoc too.]
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
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>