openwrt/staging/blogic.git
11 years agoexynos/drm: hdmi: cleanup for hdmi common device registration
Seung-Woo Kim [Mon, 22 Apr 2013 09:40:34 +0000 (18:40 +0900)]
exynos/drm: hdmi: cleanup for hdmi common device registration

The hdmi common device registration function does not need extern definition
and for error case and unregister case, exynos_drm_hdmi_pdev should be cleared.

Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
11 years agodrm/exynos: fix wrong return check for platform_device_register_simple
Seung-Woo Kim [Mon, 22 Apr 2013 08:13:13 +0000 (17:13 +0900)]
drm/exynos: fix wrong return check for platform_device_register_simple

platform_device_register_simple() never returns NULL, but IS_ERR_OR_NULL macro
is used for checking return value in exynos drm driver.

Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
11 years agodrm/exynos: add device tree support for fimc ipp driver
Sylwester Nawrocki [Tue, 23 Apr 2013 11:34:38 +0000 (13:34 +0200)]
drm/exynos: add device tree support for fimc ipp driver

This patch adds OF initialization support for the FIMC driver.
The binding documentation can be found at Documentation/devicetree/
bindings/media/samsung-fimc.txt.

The syscon regmap interface is used to serialize access to the
shared CAMBLK registers from within the V4L2 FIMC-IS and the DRM
FIMC drivers. The DRM driver uses this interface for setting up
the FIFO data link between FIMD and FIMC IP blocks, while the V4L2
one for setting up a data link between the camera ISP and FIMC for
camera capture. The CAMBLK registers are not accessed any more
through a statically mapped IO. Synchronized access to these
registers is required for simultaneous operation of the camera
ISP and the DRM IPP on Exynos4x12.

The driver data and driver_ids static data structures are removed
since Exynos4 is going to be a dt-only platform and there is
currently no board file in mainline that defines platform data
for the FIMC IPP, i.e. uses it.

Camera input signal polarities are not currently parsed from the
device tree.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
11 years agodrm/exynos: rework fimc clocks handling
Sylwester Nawrocki [Tue, 23 Apr 2013 11:34:37 +0000 (13:34 +0200)]
drm/exynos: rework fimc clocks handling

The clocks handling is refactored and a "mux" clock handling is
added to account for changes in the clocks driver. After switching
to the common clock framework the sclk_fimc clock is now split
into two clocks: a gate and a mux clock. In order to retain the
exisiting functionality two additional consumer clocks are passed
to the driver from device tree: "mux" and "parent". Then the driver
sets "parent" clock as a parent clock of the "mux" clock. These two
additional clocks are optional, and should go away when there is a
standard way of setting up parent clocks on DT platforms.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
11 years agodrm/exynos: remove redundant devm_kfree()
Sylwester Nawrocki [Tue, 23 Apr 2013 11:34:36 +0000 (13:34 +0200)]
drm/exynos: remove redundant devm_kfree()

There is no need for explicit calls of devm_kfree(), as
the allocated memory will be freed during driver's detach.
Remove the redundant devm_kfree() calls from probe() and
remove() callbacks.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
11 years agodrm/exynos: enable FIMD clocks
Vikas Sajjan [Tue, 23 Apr 2013 11:49:50 +0000 (17:19 +0530)]
drm/exynos: enable FIMD clocks

Common Clock Framework introduced the need to prepare clocks before
enabling them, otherwise clk_enable() fails. This patch adds clk_prepare_enable
and clk_disable_unprepare() calls to the driver.
This patch also removes clk_disable() from fimd_remove() as it will be done
by pm_runtime_put_sync.

Signed-off-by: Vikas Sajjan <vikas.sajjan@linaro.org>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
11 years agoRevert "drm/exynos: prepare FIMD clocks"
Inki Dae [Thu, 25 Apr 2013 10:21:42 +0000 (19:21 +0900)]
Revert "drm/exynos: prepare FIMD clocks"

This reverts commit b4e3a3e844a0e33cf106a1c9f27ff93340c37640.

11 years agoMerge branch 'drm-nouveau-next' of git://anongit.freedesktop.org/git/nouveau/linux...
Dave Airlie [Fri, 26 Apr 2013 05:42:02 +0000 (15:42 +1000)]
Merge branch 'drm-nouveau-next' of git://anongit.freedesktop.org/git/nouveau/linux-2.6 into drm-next

"Nothing overly exciting here aside from calim's fermi/kepler vram
compression patches.  The rest is misc fixes I gathered from the list.

Most of the stuff from me is fixing issues that have come up from the
work on kepler PM, as well as a commit moving all the old-school
modesetting out of the way (no code changes here).  There's other
patches to go on top of that, but, it'll have to wait until I can rip
out the old PM code, it's a bit tangled."

* 'drm-nouveau-next' of git://anongit.freedesktop.org/git/nouveau/linux-2.6: (38 commits)
  drm/nouveau/fifo: implement channel creation event generation
  drm/nouveau/core: allow non-maskable events
  drm/nouveau/timer: allow alarms to be cancelled
  drm/nouveau/device: tweak the device/subdev relationship a little
  drm/nouveau/device: enable proper constructor/destructor
  drm/nouveau/device: have engine object initialised before creation
  drm/nouveau/device: convert to engine, rather than subdev
  drm/nv50-/disp: use self as parent for subobjects
  drm/nv50-/fifo: use parent as self for subobjects
  drm/nv20-nv30/gr: use parent as self for subobjects
  drm/nvc0-/gr: use self as parent for subobjects
  drm/nv04-nv40/instmem: use self as parent for subobjects
  drm/nv04-nv40/vm: use self as parent for subobjects
  drm/nv50-/bar: use self as parent for subobjects
  drm/nv04-nv40/instmem: remove parent deref hack
  drm/nouveau/i2c: remove parent deref hack
  drm/nouveau/core: rebase object ref/use counts after ctor/init/fini events
  drm/nv50/disp: inform core when we're not creating a new context
  drm/nouveau/therm: send some messages to debug level
  drm/nve0/gr: add handling for a bunch of PGRAPH traps
  ...

11 years agodrm/nouveau/fifo: implement channel creation event generation
Ben Skeggs [Fri, 26 Apr 2013 01:44:26 +0000 (11:44 +1000)]
drm/nouveau/fifo: implement channel creation event generation

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
11 years agodrm/nouveau/core: allow non-maskable events
Ben Skeggs [Fri, 26 Apr 2013 02:03:10 +0000 (12:03 +1000)]
drm/nouveau/core: allow non-maskable events

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
11 years agodrm/nouveau/timer: allow alarms to be cancelled
Ben Skeggs [Thu, 25 Apr 2013 23:17:22 +0000 (09:17 +1000)]
drm/nouveau/timer: allow alarms to be cancelled

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
11 years agodrm/nouveau/device: tweak the device/subdev relationship a little
Ben Skeggs [Thu, 25 Apr 2013 01:43:54 +0000 (11:43 +1000)]
drm/nouveau/device: tweak the device/subdev relationship a little

Fixes not-in-use engines not having their reset() method called on
resume.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
11 years agodrm/nouveau/device: enable proper constructor/destructor
Ben Skeggs [Thu, 25 Apr 2013 01:35:18 +0000 (11:35 +1000)]
drm/nouveau/device: enable proper constructor/destructor

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
11 years agodrm/nouveau/device: have engine object initialised before creation
Ben Skeggs [Thu, 25 Apr 2013 07:56:03 +0000 (17:56 +1000)]
drm/nouveau/device: have engine object initialised before creation

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
11 years agodrm/nouveau/device: convert to engine, rather than subdev
Ben Skeggs [Thu, 25 Apr 2013 07:23:43 +0000 (17:23 +1000)]
drm/nouveau/device: convert to engine, rather than subdev

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
11 years agodrm/nv50-/disp: use self as parent for subobjects
Ben Skeggs [Wed, 24 Apr 2013 08:04:22 +0000 (18:04 +1000)]
drm/nv50-/disp: use self as parent for subobjects

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
11 years agodrm/nv50-/fifo: use parent as self for subobjects
Ben Skeggs [Wed, 24 Apr 2013 08:02:35 +0000 (18:02 +1000)]
drm/nv50-/fifo: use parent as self for subobjects

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
11 years agodrm/nv20-nv30/gr: use parent as self for subobjects
Ben Skeggs [Wed, 24 Apr 2013 07:55:28 +0000 (17:55 +1000)]
drm/nv20-nv30/gr: use parent as self for subobjects

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
11 years agodrm/nvc0-/gr: use self as parent for subobjects
Ben Skeggs [Wed, 24 Apr 2013 07:51:20 +0000 (17:51 +1000)]
drm/nvc0-/gr: use self as parent for subobjects

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
11 years agodrm/nv04-nv40/instmem: use self as parent for subobjects
Ben Skeggs [Wed, 24 Apr 2013 07:48:56 +0000 (17:48 +1000)]
drm/nv04-nv40/instmem: use self as parent for subobjects

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
11 years agodrm/nv04-nv40/vm: use self as parent for subobjects
Ben Skeggs [Wed, 24 Apr 2013 07:46:54 +0000 (17:46 +1000)]
drm/nv04-nv40/vm: use self as parent for subobjects

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
11 years agodrm/nv50-/bar: use self as parent for subobjects
Ben Skeggs [Wed, 24 Apr 2013 07:44:54 +0000 (17:44 +1000)]
drm/nv50-/bar: use self as parent for subobjects

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
11 years agodrm/nv04-nv40/instmem: remove parent deref hack
Ben Skeggs [Wed, 24 Apr 2013 07:38:38 +0000 (17:38 +1000)]
drm/nv04-nv40/instmem: remove parent deref hack

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
11 years agodrm/nouveau/i2c: remove parent deref hack
Ben Skeggs [Wed, 24 Apr 2013 07:36:57 +0000 (17:36 +1000)]
drm/nouveau/i2c: remove parent deref hack

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
11 years agodrm/nouveau/core: rebase object ref/use counts after ctor/init/fini events
Ben Skeggs [Wed, 24 Apr 2013 07:34:18 +0000 (17:34 +1000)]
drm/nouveau/core: rebase object ref/use counts after ctor/init/fini events

This is intended to support named (with a handle, etc) objects having
children that don't have an outside reference.

This will replace the various hacks around the place where subdev
objects have children, and have to manually drop the self-refs so
that they can be destroyed etc when all the outside refs have gone.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
11 years agodrm/nv50/disp: inform core when we're not creating a new context
Ben Skeggs [Thu, 25 Apr 2013 14:12:59 +0000 (00:12 +1000)]
drm/nv50/disp: inform core when we're not creating a new context

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
11 years agodrm/nouveau/therm: send some messages to debug level
Ben Skeggs [Wed, 24 Apr 2013 03:14:02 +0000 (13:14 +1000)]
drm/nouveau/therm: send some messages to debug level

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
11 years agodrm/nve0/gr: add handling for a bunch of PGRAPH traps
Christoph Bumiller [Wed, 27 Mar 2013 20:59:11 +0000 (21:59 +0100)]
drm/nve0/gr: add handling for a bunch of PGRAPH traps

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
11 years agodrm/nouveau/mc: handle irq-related setup ourselves
Ben Skeggs [Fri, 22 Mar 2013 00:05:03 +0000 (10:05 +1000)]
drm/nouveau/mc: handle irq-related setup ourselves

We need to be able to process interrupts before the DRM code is able to
actually enable them, set it up ourselves.  Also, it's less convoluted
to *not* use the DRM wrappers it appears...

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
11 years agodrm/nv04/disp: hide all the cruft away in its own little hole
Ben Skeggs [Thu, 21 Mar 2013 05:45:11 +0000 (15:45 +1000)]
drm/nv04/disp: hide all the cruft away in its own little hole

It'd be pretty awesome if someone would care enough to port this all
properly to a class interface, perhaps submitting a command stream to
the core via a sw object on PFIFO (emulating how EVO works basically,
and also what nvidia have done forever..)..

But, this seems unlikely given how old this hardware is now, so, lets
just hide it away.

There's a heap of other bits and pieces laying around that are still
tangled.  I'll (re)move them in pieces.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
11 years agodrm/nouveau/bios: add missing newline on IO*_OR opcode debugging
Ben Skeggs [Fri, 19 Apr 2013 00:22:09 +0000 (10:22 +1000)]
drm/nouveau/bios: add missing newline on IO*_OR opcode debugging

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
11 years agodrm/nouveau/bios: suppress some parser errors when dry-running scripts
Ben Skeggs [Mon, 15 Apr 2013 04:47:05 +0000 (14:47 +1000)]
drm/nouveau/bios: suppress some parser errors when dry-running scripts

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
11 years agodrm/nve0: magic up some support for GF117
Ben Skeggs [Sat, 30 Mar 2013 11:56:26 +0000 (21:56 +1000)]
drm/nve0: magic up some support for GF117

Seen in the wild, don't have the hardware but this hacks things up to
treat it the same as GF119 for now.

Should be relatively safe, I'd be very surprised if anything major
changed outside of PGRAPH.  PGRAPH (3D etc) is disabled by default
however until it's confirmed working.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
11 years agodrm/nvc0-/ltcg: Fix build on 32-bit platforms (v2)
Roy Spliet [Sun, 14 Apr 2013 11:48:45 +0000 (13:48 +0200)]
drm/nvc0-/ltcg: Fix build on 32-bit platforms (v2)

v2: read, don't assume.. *puts on brown paper bag*

Signed-off-by: Roy Spliet <r.spliet@student.tudelft.nl>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
11 years agodrm/nouveau/drm: adding support for backlight control of GT525M (NVC0)
Florian Scholz [Tue, 2 Apr 2013 21:16:38 +0000 (23:16 +0200)]
drm/nouveau/drm: adding support for backlight control of GT525M (NVC0)

This patch adds support for the backlight control of the NVIDIA GT
525M, which identifies itself as a member of the NVC0 family.

v2. Extended to handle Kepler too

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
11 years agodrm/nouveau/drm: bump the driver version to 1.1.1 to report new features
Christoph Bumiller [Wed, 27 Mar 2013 21:25:52 +0000 (22:25 +0100)]
drm/nouveau/drm: bump the driver version to 1.1.1 to report new features

Signed-off-by: Christoph Bumiller <e0425955@student.tuwien.ac.at>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
11 years agodrm/nvc0/gr: add software methods to control some MP regs
Christoph Bumiller [Wed, 27 Mar 2013 21:16:55 +0000 (22:16 +0100)]
drm/nvc0/gr: add software methods to control some MP regs

Signed-off-by: Christoph Bumiller <e0425955@student.tuwien.ac.at>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
11 years agodrm/nvc0-: support NOUVEAU_GETPARAM_GRAPH_UNITS
Christoph Bumiller [Wed, 27 Mar 2013 21:16:54 +0000 (22:16 +0100)]
drm/nvc0-: support NOUVEAU_GETPARAM_GRAPH_UNITS

Signed-off-by: Christoph Bumiller <e0425955@student.tuwien.ac.at>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
11 years agodrm/nvc0-/ltcg: implement VRAM compression
Christoph Bumiller [Wed, 27 Mar 2013 21:16:53 +0000 (22:16 +0100)]
drm/nvc0-/ltcg: implement VRAM compression

Signed-off-by: Christoph Bumiller <e0425955@student.tuwien.ac.at>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
11 years agodrm/nouveau/ttm: allow tiled memtype on system memory buffer objects
Ben Skeggs [Fri, 22 Mar 2013 02:12:17 +0000 (12:12 +1000)]
drm/nouveau/ttm: allow tiled memtype on system memory buffer objects

Compression not supported, and will be silently dropped.  Original G80
can't handle this either and requires LINEAR memtype, though it's still
possible to correctly texture and m2mf to/from these objects anyway.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
11 years agodrm/nve0/grctx: initial attempt at unhardcoding yet more magic
Ben Skeggs [Wed, 20 Mar 2013 01:34:32 +0000 (11:34 +1000)]
drm/nve0/grctx: initial attempt at unhardcoding yet more magic

Not sure about the (gpc_nr == 1) condition, it's probably wrong but for
all the examples I've seen so far it matches what NVIDIA end up poking.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
11 years agodrm/nv50/therm: implement temperature reading
Martin Peres [Sat, 23 Feb 2013 16:15:18 +0000 (17:15 +0100)]
drm/nv50/therm: implement temperature reading

Signed-off-by: Martin Peres <martin.peres@labri.fr>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
11 years agodrm/nouveau/therm: split the nv50 and nv84 code
Martin Peres [Sat, 23 Feb 2013 15:45:51 +0000 (16:45 +0100)]
drm/nouveau/therm: split the nv50 and nv84 code

This is needed because temperature management on nv50 can be enabled and it
looks about the same as nv40.

Signed-off-by: Martin Peres <martin.peres@labri.fr>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
11 years agodrm/nouveau/drm: fix crash in vram manager debug callback
Marcin Slusarz [Sat, 2 Mar 2013 19:00:31 +0000 (20:00 +0100)]
drm/nouveau/drm: fix crash in vram manager debug callback

It's probably impossible to hit it now on mainline kernel.
I only noticed it because one of my debugging patches uses it.

Signed-off-by: Marcin Slusarz <marcin.slusarz@gmail.com>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
11 years agodrm/nvc0/fb: ignore readback page alloc failure to support userspace
Ben Skeggs [Wed, 16 Jan 2013 00:05:31 +0000 (10:05 +1000)]
drm/nvc0/fb: ignore readback page alloc failure to support userspace

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
11 years agodrm/nouveau/disp: fix uninitialised eq_done in error path
Ben Skeggs [Thu, 11 Apr 2013 00:12:48 +0000 (10:12 +1000)]
drm/nouveau/disp: fix uninitialised eq_done in error path

Reported-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
11 years agodrm/edid: Check both 60Hz and 59.94Hz when looking for a CEA mode
Ville Syrjälä [Wed, 24 Apr 2013 16:07:18 +0000 (19:07 +0300)]
drm/edid: Check both 60Hz and 59.94Hz when looking for a CEA mode

drm_match_cea_mode() should be able to match both the 60Hz version,
and the 59.94Hz version of modes.

We only store one pixel clock value per mode in edid_cea_modes, so the
other value must be calculated. Depending on the mode, edid_cea_modes
contains the pixel clock for either the 60Hz version or the 59.94Hz
version, so a bit of care is needed so that the calculation produces
the correct result.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=46800
Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
11 years agodrm/edid: Populate vrefresh for CEA modes
Ville Syrjälä [Wed, 24 Apr 2013 16:07:17 +0000 (19:07 +0300)]
drm/edid: Populate vrefresh for CEA modes

Well have use for the vrefresh information of CEA modes later. Just
populate the information into the table to avoid having to calculate
it.

I'm too lazy to check if someone relies on newly allocated CEA
modes having 0 vrefresh, so just clear vrefresh back to 0 when
adding the mode to the connector's modelist.

Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
11 years agodrm: Add drm_mode_equal_no_clocks()
Ville Syrjälä [Wed, 24 Apr 2013 16:07:16 +0000 (19:07 +0300)]
drm: Add drm_mode_equal_no_clocks()

drm_mode_equal_no_clocks() is like drm_mode_equal() except it doesn't
compare the clock or vrefresh values. drm_mode_equal() is now
implemented by first doing the clock checks, and then calling
drm_mode_equal_no_clocks().

v2: Add missing EXPORT_SYMBOL()

Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
11 years agodrm: Remove explicit vrefresh initialization from DRM_MODE()
Ville Syrjälä [Wed, 24 Apr 2013 16:07:15 +0000 (19:07 +0300)]
drm: Remove explicit vrefresh initialization from DRM_MODE()

No need to zero initialize .vrefresh in DRM_MODE() since it's using
desgignated initializers.

This will also avoid some duplicate initialization warnings later.

Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
11 years agodrm/shmobile: Fix race condition between page flip request and handler
Laurent Pinchart [Tue, 12 Mar 2013 14:38:43 +0000 (15:38 +0100)]
drm/shmobile: Fix race condition between page flip request and handler

The page flip handler stores the page flip event pointer and then calls
drm_vblank_get() to enable the vblank interrupt. Due to the vblank off
delay, the vblank interrupt can be enabled in the hardware at that
point, even if the vblank reference count is equal to 0. If a vblank
interrupt is triggered between storing the event pointer and calling
drm_vblank_get(), the page flip completion handler will process the
event and call drm_vblank_put() with a reference count equal to 0. This
will result in a BUG_ON.

Fix the race condition by calling drm_vblank_get() before storing the
event pointer.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
11 years agodrm: export drm_vm_open_locked
Arnd Bergmann [Thu, 25 Apr 2013 17:28:52 +0000 (19:28 +0200)]
drm: export drm_vm_open_locked

The EXYNOS DRM driver uses drm_vm_open_locked in its mmap() function,
and it can be built as a loadable module, which currently fails.
This exports the symbol from the DRM core to avoid

ERROR: "drm_vm_open_locked" [drivers/gpu/drm/exynos/exynosdrm.ko] undefined!

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Cc: Inki Dae <inki.dae@samsung.com>
Cc: Joonyoung Shim <jy0922.shim@samsung.com>
Cc: Seung-Woo Kim <sw0312.kim@samsung.com>
Cc: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
11 years agodrm/tilcdc: use only a single module device table
Arnd Bergmann [Tue, 23 Apr 2013 16:30:43 +0000 (18:30 +0200)]
drm/tilcdc: use only a single module device table

The tilcdc driver fails to be built as a module because of extraneous
MODULE_DEVICE_TABLE entries:

drivers/gpu/drm/tilcdc/tilcdc_slave.o:(.data+0x54): multiple definition of `__mod_of_device_table'
drivers/gpu/drm/tilcdc/tilcdc_tfp410.o:(.data+0x54): first defined here
drivers/gpu/drm/tilcdc/tilcdc_panel.o:(.data+0x54): multiple definition of `__mod_of_device_table'
drivers/gpu/drm/tilcdc/tilcdc_tfp410.o:(.data+0x54): first defined here
drivers/gpu/drm/tilcdc/tilcdc_drv.o:(.data+0x184): multiple definition of `__mod_of_device_table'
drivers/gpu/drm/tilcdc/tilcdc_tfp410.o:(.data+0x54): first defined here

Since the entire point of these entries is to make the module autoload
when one of the devices is present, it's enough to keep the one entry
for "ti,am33xx-tilcdc", which should always be there if any of the
others are.

Acked-by: Rob Clark <robdclark@gmail.com>
Cc: dri-devel@lists.freedesktop.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Dave Airlie <airlied@redhat.com>
11 years agoMerge branch 'gma500-fixes' of git://github.com/patjak/drm-gma500 into drm-next
Dave Airlie [Fri, 26 Apr 2013 00:16:10 +0000 (10:16 +1000)]
Merge branch 'gma500-fixes' of git://github.com/patjak/drm-gma500 into drm-next

Two fixes for gma500. First one from Anisse allows us to handle ASLE irqs even
when BIOS doesn't trigger a pipe event irq. The second one allows dual head
setups to have a big shared framebuffer.

* 'gma500-fixes' of git://github.com/patjak/drm-gma500:
  drm/gma500: Increase max resolution for mode setting
  drm/gma500: fix backlight hotkeys behaviour on netbooks

11 years agodrm/gma500: Increase max resolution for mode setting
Patrik Jakobsson [Thu, 25 Apr 2013 20:23:36 +0000 (22:23 +0200)]
drm/gma500: Increase max resolution for mode setting

By having a higher max resolution we can now set up a virtual
framebuffer that spans several monitors. 4096 should be ok since we're
gen 3 or higher and should be enough for most dual head setups.

Signed-off-by: Patrik Jakobsson <patrik.r.jakobsson@gmail.com>
11 years agodrm/gma500: fix backlight hotkeys behaviour on netbooks
Anisse Astier [Wed, 24 Apr 2013 15:36:01 +0000 (17:36 +0200)]
drm/gma500: fix backlight hotkeys behaviour on netbooks

Backlight hotkeys weren't working before on certain cedartrail laptops.

The source of this problem is that the hotkeys' ASLE opregion interrupts
were simply ignored. Driver seemed to expect the interrupt to be
associated with a pipe, but it wasn't.

Accepting the ASLE interrupt without an associated pipe event flag fixes
the issue, the backlight code is called when needed, making the
brightness keys work properly.

[patrik: This patch affects irq handling on any netbook with opregion support]

Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=833597
Reference: http://lists.freedesktop.org/archives/dri-devel/2012-July/025279.html
Cc: stable@kernel.org
Signed-off-by: Anisse Astier <anisse@astier.eu>
Signed-off-by: Patrik Jakobsson <patrik.r.jakobsson@gmail.com>
11 years agodrm/tilcdc: Fix checkpatch error in tilcdc_panel.c
Sachin Kamat [Sat, 2 Mar 2013 10:23:09 +0000 (15:53 +0530)]
drm/tilcdc: Fix checkpatch error in tilcdc_panel.c

Fixes the following checkpatch error:
ERROR: "foo * bar" should be "foo *bar"

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Acked-by: Rob Clark <robdclark@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
11 years agodrm/tilcdc: Remove space before tab
Sachin Kamat [Sat, 2 Mar 2013 10:23:08 +0000 (15:53 +0530)]
drm/tilcdc: Remove space before tab

Silences the following checkpatch warning:
WARNING: please, no space before tabs

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Acked-by: Rob Clark <robdclark@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
11 years agodrm/tilcdc: Remove unnecessary braces
Sachin Kamat [Sat, 2 Mar 2013 10:23:07 +0000 (15:53 +0530)]
drm/tilcdc: Remove unnecessary braces

Silences the following checkpatch warning:
WARNING: braces {} are not necessary for any arm of this statement
if (priv->rev == 1) {

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Acked-by: Rob Clark <robdclark@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
11 years agodrivers/gpu/drm/tilcdc: Makefile, only -Werror when no -W* in EXTRA_CFLAGS
Chen Gang [Sun, 10 Mar 2013 05:04:13 +0000 (13:04 +0800)]
drivers/gpu/drm/tilcdc: Makefile, only -Werror when no -W* in EXTRA_CFLAGS

  When make with EXTRA_CFLAGS=-W, it will report error.
  so give a check in Makefile.

Signed-off-by: Chen Gang <gang.chen@asianux.com>
Signed-off-by: Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com>
Acked-by: Rob Clark <robdclark@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
11 years agodrm/tilcdc: Fix an incorrect condition
Sachin Kamat [Sat, 2 Mar 2013 10:23:06 +0000 (15:53 +0530)]
drm/tilcdc: Fix an incorrect condition

Instead of checking if num_encoders is zero, it is being assigned 0.
Convert the assignment to a check.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Acked-by: Rob Clark <robdclark@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
11 years agofbcon: when font is freed, clear also vc_font.data
Mika Kuoppala [Mon, 22 Apr 2013 11:19:26 +0000 (14:19 +0300)]
fbcon: when font is freed, clear also vc_font.data

commit ae1287865f5361fa138d4d3b1b6277908b54eac9
Author: Dave Airlie <airlied@redhat.com>
Date:   Thu Jan 24 16:12:41 2013 +1000

    fbcon: don't lose the console font across generic->chip driver switch

uses a pointer in vc->vc_font.data to load font into the new driver.
However if the font is actually freed, we need to clear the data
so that we don't reload font from dangling pointer.

Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=892340
Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com>
Cc: stable@vger.kernel.org
Signed-off-by: Dave Airlie <airlied@redhat.com>
11 years agoMerge branch 'drm-next-3.10-2' of git://people.freedesktop.org/~agd5f/linux into...
Dave Airlie [Wed, 24 Apr 2013 00:09:23 +0000 (10:09 +1000)]
Merge branch 'drm-next-3.10-2' of git://people.freedesktop.org/~agd5f/linux into drm-next

Alex writes:
A few more updates for 3.10.  Nothing too major here.  Mostly bug fixes.
The big changes are adding golden register init for 7xx and newer asics
and some audio cleanups.

* 'drm-next-3.10-2' of git://people.freedesktop.org/~agd5f/linux: (32 commits)
  drm/radeon: disable UVD advanced semaphore mode
  drm/radeon: fix endian bugs in radeon_atom_get_clock_dividers() (v3)
  drm/radeon: fix up audio dto programming for DCE2
  drm/radeon/evergreen: set SAD registers
  drm: add drm_edid_to_eld helper extracting SADs from EDID (v2)
  drm/radeon/si: add support for golden register init
  drm/radeon/cayman,TN: add support for golden register init (v2)
  drm/radeon/evergreen: add support for golden register init
  drm/radeon/7xx: add support for golden register init
  drm/radeon: add helper function to support golden registers
  drm/radeon: fix typo in si_select_se_sh()
  drm/radeon: switch audio handling to use callbacks
  drm/radeon: clean up audio dto programming
  drm/radeon: clean up audio supported check
  drm/radeon: raise UVD clocks on init v3
  drm/radeon: raise UVD clocks only on demand
  drm/radeon: put UVD PLLs in bypass mode
  drm/radeon: disable audio format interrupts on Evergreen
  drm/radeon: fix hdmi mode enable on RS600/RS690/RS740
  drm/radeon/evergreen: write default channel numbers
  ...

11 years agodrm/radeon: disable UVD advanced semaphore mode
Christian König [Tue, 23 Apr 2013 09:01:31 +0000 (11:01 +0200)]
drm/radeon: disable UVD advanced semaphore mode

Not needed and seems to cause some problems.

Signed-off-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
11 years agodrm/radeon: fix endian bugs in radeon_atom_get_clock_dividers() (v3)
Alex Deucher [Mon, 22 Apr 2013 13:59:01 +0000 (09:59 -0400)]
drm/radeon: fix endian bugs in radeon_atom_get_clock_dividers() (v3)

v2: fix copy paste typo.
v3: clarify new union member

Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
11 years agodrm/radeon: fix up audio dto programming for DCE2
Alex Deucher [Mon, 22 Apr 2013 13:42:07 +0000 (09:42 -0400)]
drm/radeon: fix up audio dto programming for DCE2

Uses a different register than DCE3 asics.

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
11 years agodrm/radeon/evergreen: set SAD registers
Rafał Miłecki [Fri, 19 Apr 2013 17:01:26 +0000 (19:01 +0200)]
drm/radeon/evergreen: set SAD registers

This allows audio (alsa) driver to read them and have a clue about audio
capabilities of connected receiver. This has been verified to be
compatible with fglrx behaviour for Onkyo TX-SR605 and Denon 1912.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
11 years agodrm: add drm_edid_to_eld helper extracting SADs from EDID (v2)
Rafał Miłecki [Fri, 19 Apr 2013 17:01:25 +0000 (19:01 +0200)]
drm: add drm_edid_to_eld helper extracting SADs from EDID (v2)

Some devices (ATI/AMD cards) don't support passing ELD struct to the
hardware but just require filling specific registers and then the
hardware/firmware does the rest. In such cases we need to read the info
from SAD blocks and put them in the correct registers.

agd5f: note that the returned pointer needs to be kfreed as per
Christian's suggestion.

v2: fix warning

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
11 years agodrm/radeon/si: add support for golden register init
Alex Deucher [Fri, 1 Mar 2013 22:08:42 +0000 (17:08 -0500)]
drm/radeon/si: add support for golden register init

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
11 years agodrm/radeon/cayman,TN: add support for golden register init (v2)
Alex Deucher [Thu, 28 Feb 2013 22:58:36 +0000 (17:58 -0500)]
drm/radeon/cayman,TN: add support for golden register init (v2)

v2: add richland support

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
11 years agodrm/radeon/evergreen: add support for golden register init
Alex Deucher [Thu, 28 Feb 2013 19:40:09 +0000 (14:40 -0500)]
drm/radeon/evergreen: add support for golden register init

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
11 years agodrm/radeon/7xx: add support for golden register init
Alex Deucher [Tue, 26 Feb 2013 20:59:47 +0000 (15:59 -0500)]
drm/radeon/7xx: add support for golden register init

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
11 years agodrm/radeon: add helper function to support golden registers
Alex Deucher [Tue, 26 Feb 2013 16:26:51 +0000 (11:26 -0500)]
drm/radeon: add helper function to support golden registers

Golden registers are arrays of register settings from the
hw team that need to be initialized at asic startup.

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
11 years agodrm/radeon: fix typo in si_select_se_sh()
Alex Deucher [Thu, 18 Apr 2013 20:26:36 +0000 (16:26 -0400)]
drm/radeon: fix typo in si_select_se_sh()

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org
11 years agodrm/radeon: switch audio handling to use callbacks
Alex Deucher [Thu, 18 Apr 2013 15:32:16 +0000 (11:32 -0400)]
drm/radeon: switch audio handling to use callbacks

Register audio callbacks for asic where we support
audio.  Cleans up the code and makes it easier to
add support for newer asics.

Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
11 years agodrm/radeon: clean up audio dto programming
Alex Deucher [Thu, 18 Apr 2013 14:50:55 +0000 (10:50 -0400)]
drm/radeon: clean up audio dto programming

Split into DCE2/3 and DCE4/5 variants. Still todo is to
calculate the DTO dividers properly.  Add proper formula
to the comments.

Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
11 years agodrm/radeon: clean up audio supported check
Alex Deucher [Thu, 18 Apr 2013 14:32:39 +0000 (10:32 -0400)]
drm/radeon: clean up audio supported check

Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
11 years agodrm/radeon: raise UVD clocks on init v3
Christian König [Fri, 19 Apr 2013 14:14:19 +0000 (16:14 +0200)]
drm/radeon: raise UVD clocks on init v3

v2: not only raise the clocks on VCPU boot, but also on IB test.
v3: agd5f: fix r600_uvd_init return value.

fixes:
https://bugs.freedesktop.org/show_bug.cgi?id=63730

Signed-off-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
11 years agodrm/radeon: raise UVD clocks only on demand
Christian König [Thu, 18 Apr 2013 13:25:59 +0000 (15:25 +0200)]
drm/radeon: raise UVD clocks only on demand

That not only saves some power, but also solves problems with
older chips where an idle UVD block on higher clocks can
cause problems.

Signed-off-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
11 years agodrm/radeon: put UVD PLLs in bypass mode
Christian König [Thu, 18 Apr 2013 13:25:58 +0000 (15:25 +0200)]
drm/radeon: put UVD PLLs in bypass mode

Just power down the PLL when we get a VCLK or DCLK of zero.
Enabling the bypass mode early should also allow us to
switch UVD clocks on the fly.

Signed-off-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
11 years agodrm/radeon: disable audio format interrupts on Evergreen
Alex Deucher [Thu, 18 Apr 2013 13:42:13 +0000 (09:42 -0400)]
drm/radeon: disable audio format interrupts on Evergreen

The audio format change interrupts are an aid in debugging,
but not required for operation.

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
11 years agodrm/radeon: fix hdmi mode enable on RS600/RS690/RS740
Alex Deucher [Thu, 18 Apr 2013 13:36:42 +0000 (09:36 -0400)]
drm/radeon: fix hdmi mode enable on RS600/RS690/RS740

These chips were previously skipped since they are
pre-R600.

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org
11 years agodrm/radeon/evergreen: write default channel numbers
Rafał Miłecki [Sat, 13 Apr 2013 23:26:24 +0000 (01:26 +0200)]
drm/radeon/evergreen: write default channel numbers

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
11 years agodrm/radeon/evergreen: reorder HDMI setup
Rafał Miłecki [Thu, 18 Apr 2013 13:26:08 +0000 (09:26 -0400)]
drm/radeon/evergreen: reorder HDMI setup

Driver fglrx setups audio and ACR packets after basic initialization,
which sounds sane, do the same.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
11 years agodrm/radeon/evergreen: setup HDMI before enabling it
Rafał Miłecki [Thu, 18 Apr 2013 13:23:12 +0000 (09:23 -0400)]
drm/radeon/evergreen: setup HDMI before enabling it

Closed source driver fglrx seems to enable infoframes and audio packets
at the end, which makes sense, do the same.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
11 years agodrm/radeon: add helpers for masking and setting bits in regs
Rafał Miłecki [Sat, 13 Apr 2013 23:26:19 +0000 (01:26 +0200)]
drm/radeon: add helpers for masking and setting bits in regs

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
11 years agodrm/radeon: fix alignment of UVD fence
Christian König [Sun, 14 Apr 2013 10:47:59 +0000 (12:47 +0200)]
drm/radeon: fix alignment of UVD fence

Signed-off-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
11 years agodrm/radeon: cleanup UVD address checks
Christian König [Sun, 14 Apr 2013 10:45:43 +0000 (12:45 +0200)]
drm/radeon: cleanup UVD address checks

Message and feedback buffers must be at start of
VRAM, not at start of address space.

Signed-off-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
11 years agodrm/radeon: disable the crtcs in mc_stop (evergreen+) (v2)
Alex Deucher [Wed, 10 Apr 2013 23:08:14 +0000 (19:08 -0400)]
drm/radeon: disable the crtcs in mc_stop (evergreen+) (v2)

Just disabling the mem requests should be enough, but
that doesn't seem to work correctly on efi systems.

May fix:
https://bugs.freedesktop.org/show_bug.cgi?id=57567
https://bugs.freedesktop.org/show_bug.cgi?id=43655
https://bugzilla.kernel.org/show_bug.cgi?id=56441

v2: blank displays first, then disable.

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org
11 years agodrm/radeon: disable the crtcs in mc_stop (r5xx-r7xx) (v2)
Alex Deucher [Wed, 17 Apr 2013 13:35:39 +0000 (09:35 -0400)]
drm/radeon: disable the crtcs in mc_stop (r5xx-r7xx) (v2)

Just disabling the mem requests should be enough, but
that doesn't seem to work correctly on efi systems.

v2: blank displays first, then disable.

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org
11 years agodrm/radeon: properly lock disp in mc_stop/resume for evergreen+
Alex Deucher [Wed, 10 Apr 2013 13:58:42 +0000 (09:58 -0400)]
drm/radeon: properly lock disp in mc_stop/resume for evergreen+

Need to wait for the new addresses to take affect before
re-enabling the MC.

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org
11 years agodrm/radeon: properly lock disp in mc_stop/resume for r5xx-r7xx
Alex Deucher [Wed, 10 Apr 2013 13:47:05 +0000 (09:47 -0400)]
drm/radeon: properly lock disp in mc_stop/resume for r5xx-r7xx

Need to wait for the new addresses to take affect before
re-enabling the MC.

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org
11 years agodrm/radeon: update wait_for_vblank for evergreen+
Alex Deucher [Tue, 9 Apr 2013 22:49:59 +0000 (18:49 -0400)]
drm/radeon: update wait_for_vblank for evergreen+

Properly wait for the next vblank region.  The previous
code didn't always wait long enough depending on the timing.

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org
11 years agodrm/radeon: update wait_for_vblank for r5xx-r7xx
Alex Deucher [Tue, 9 Apr 2013 22:41:15 +0000 (18:41 -0400)]
drm/radeon: update wait_for_vblank for r5xx-r7xx

Properly wait for the next vblank region.  The previous
code didn't always wait long enough depending on the timing.

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org
11 years agodrm/radeon: update wait_for_vblank for r1xx-r4xx
Alex Deucher [Tue, 9 Apr 2013 22:32:01 +0000 (18:32 -0400)]
drm/radeon: update wait_for_vblank for r1xx-r4xx

Properly wait for the next vblank region.  The previous
code didn't always wait long enough depending on the timing.

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org
11 years agoMerge tag 'drm/tegra/for-3.10' of git://anongit.freedesktop.org/tegra/linux into...
Dave Airlie [Mon, 22 Apr 2013 10:49:07 +0000 (20:49 +1000)]
Merge tag 'drm/tegra/for-3.10' of git://anongit.freedesktop.org/tegra/linux into drm-next

drm/tegra: Changes for v3.10-rc1

The bulk of this pull-request is the host1x series that has been in the
works for a few months. The current implementation looks good and has
been tested by several independent parties. So far no issues have been
found. To be on the safe side, the new Tegra-specific DRM IOCTLs depend
on staging in order to give some amount of flexibility to change them
just in case. The plan is to remove that dependency once more userspace
exists to verify the adequacy of the IOCTLs.

Currently only the 2D engine is supported, but patches are in the works
to enable 3D support on top of this framework as well. Various bits of
open-source userspace exist to test the 2D and 3D support[0]. This is
still a bit immature but it allows to verify that the kernel interfaces
work properly.

To round things off there are two smaller cleanup patches, one of them
adding a new pixel format and the other removing a redundent Kconfig
dependency.

[0]: https://github.com/grate-driver

* tag 'drm/tegra/for-3.10' of git://anongit.freedesktop.org/tegra/linux:
  drm/tegra: don't depend on OF
  drm/tegra: Support the XBGR8888 pixelformat
  drm/tegra: Add gr2d device
  gpu: host1x: drm: Add memory manager and fb
  gpu: host1x: Remove second host1x driver
  gpu: host1x: drm: Rename host1x to host1x_drm
  drm/tegra: Move drm to live under host1x
  gpu: host1x: Add debug support
  gpu: host1x: Add channel support
  gpu: host1x: Add syncpoint wait and interrupts
  gpu: host1x: Add host1x driver

11 years agodrm/tegra: don't depend on OF
Stephen Warren [Mon, 11 Mar 2013 22:33:02 +0000 (16:33 -0600)]
drm/tegra: don't depend on OF

ARCH_TEGRA always enabled OF, so there's no need for any driver to
depend on it.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de>
11 years agodrm/tegra: Support the XBGR8888 pixelformat
Thierry Reding [Fri, 22 Mar 2013 14:37:30 +0000 (15:37 +0100)]
drm/tegra: Support the XBGR8888 pixelformat

While at it, also include the RGB565 pixelformat in the list of formats
supported by overlays.

Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de>
Tested-by: Erik Faye-Lund <kusmabite@gmail.com>
11 years agodrm/tegra: Add gr2d device
Terje Bergstrom [Fri, 22 Mar 2013 14:34:09 +0000 (16:34 +0200)]
drm/tegra: Add gr2d device

Add client driver for 2D device, and IOCTLs to pass work to host1x
channel for 2D.

Also adds functions that can be called to access sync points from
DRM.

Signed-off-by: Arto Merilainen <amerilainen@nvidia.com>
Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com>
Reviewed-by: Thierry Reding <thierry.reding@avionic-design.de>
Tested-by: Thierry Reding <thierry.reding@avionic-design.de>
Tested-by: Erik Faye-Lund <kusmabite@gmail.com>
Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de>
11 years agogpu: host1x: drm: Add memory manager and fb
Arto Merilainen [Fri, 22 Mar 2013 14:34:08 +0000 (16:34 +0200)]
gpu: host1x: drm: Add memory manager and fb

This patch introduces a memory manager for tegra drm and moves
existing parts to use it. As cma framebuffer helpers can no more
be used, this patch adds also a separate framebuffer driver for
tegra.

Signed-off-by: Arto Merilainen <amerilainen@nvidia.com>
Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com>
Reviewed-by: Thierry Reding <thierry.reding@avionic-design.de>
Tested-by: Thierry Reding <thierry.reding@avionic-design.de>
Tested-by: Erik Faye-Lund <kusmabite@gmail.com>
Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de>