aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2014-09-20drm/exynos: update to use component match supportInki Dae1-22/+22
Update Exynos's DRM driver to use component match support rater than add_components. Changelog v2: - release devices and drivers if failed. - change compare_of to compare_dev. Signed-off-by: Inki Dae <[email protected]> Tested-by: Andrzej Hajda <[email protected]>
2014-09-20drm/exynos/ipp: add file checks for ioctlsAndrzej Hajda1-47/+22
Process should not have access to ipp nodes created by another process. The patch adds necessary checks. It also simplifies lookup for command node. Signed-off-by: Andrzej Hajda <[email protected]> Reviewed-by: Joonyoung Shim <[email protected]> Signed-off-by: Inki Dae <[email protected]>
2014-09-20drm/exynos/ipp: remove file argument from node related functionsAndrzej Hajda1-7/+5
Since file pointer is preserved in c_node passing it as argument in node functions is redundant. Signed-off-by: Andrzej Hajda <[email protected]> Reviewed-by: Joonyoung Shim <[email protected]> Signed-off-by: Inki Dae <[email protected]>
2014-09-20drm/exynos/fimc: fix source buffer registersAndrzej Hajda1-8/+8
FIMC in default mode of operation uses only one input buffer, but the driver used also second buffer, as a result only the first frame was processed correctly. The patch fixes it. Signed-off-by: Andrzej Hajda <[email protected]> Reviewed-by: Joonyoung Shim <[email protected]> Signed-off-by: Inki Dae <[email protected]>
2014-09-20drm/exynos/fimc: simplify buffer queuingAndrzej Hajda1-49/+15
The patch removes redundant checks, redundant HW reads and simplifies code. Signed-off-by: Andrzej Hajda <[email protected]> Reviewed-by: Joonyoung Shim <[email protected]> Signed-off-by: Inki Dae <[email protected]>
2014-09-20drm/exynos/fimc: do not enable fimc twiceAndrzej Hajda1-4/+1
The patch removes redundant H/W activation. Signed-off-by: Andrzej Hajda <[email protected]> Reviewed-by: Joonyoung Shim <[email protected]> Signed-off-by: Inki Dae <[email protected]>
2014-09-20drm/exynos/fimc: avoid clearing overflow bitsAndrzej Hajda1-3/+0
Overflow bits shall be cleared by H/W. Signed-off-by: Andrzej Hajda <[email protected]> Reviewed-by: Joonyoung Shim <[email protected]> Signed-off-by: Inki Dae <[email protected]>
2014-09-20drm/exynos/ipp: remove events during command cleaningAndrzej Hajda1-77/+78
Events were removed only during stop command, as a result there were memory leaks if program prematurely exited. This patch fixes it. Signed-off-by: Andrzej Hajda <[email protected]> Reviewed-by: Joonyoung Shim <[email protected]> Signed-off-by: Inki Dae <[email protected]>
2014-09-20drm/exynos/ipp: stop hardware before freeing memoryAndrzej Hajda1-9/+6
Memory shouldn't be freed when hardware is still running. Signed-off-by: Andrzej Hajda <[email protected]> Reviewed-by: Joonyoung Shim <[email protected]> Signed-off-by: Inki Dae <[email protected]>
2014-09-20drm/exynos/ipp: replace work_struct casting with better constructsAndrzej Hajda4-8/+6
Type casting should be avoided if possible. In case of work_struct it can be simply replaced by reference to member field. Signed-off-by: Andrzej Hajda <[email protected]> Reviewed-by: Joonyoung Shim <[email protected]> Signed-off-by: Inki Dae <[email protected]>
2014-09-20drm/exynos/ipp: clean memory nodes on command node cleaningAndrzej Hajda1-0/+5
The nodes should be removed before removing command node. Signed-off-by: Andrzej Hajda <[email protected]> Reviewed-by: Joonyoung Shim <[email protected]> Signed-off-by: Inki Dae <[email protected]>
2014-09-20drm/exynos/ipp: move nodes cleaning to separate functionAndrzej Hajda1-123/+106
The patch introduces ipp_clean_mem_nodes function which replaces redundant code. Additionally memory node function definitions are moved up to increase its visibility. Signed-off-by: Andrzej Hajda <[email protected]> Reviewed-by: Joonyoung Shim <[email protected]> Signed-off-by: Inki Dae <[email protected]>
2014-09-20drm/exynos/ipp: free partially allocated resources on errorAndrzej Hajda1-35/+32
In case of allocation errors some already allocated buffers were not freed. The patch fixes it. Signed-off-by: Andrzej Hajda <[email protected]> Reviewed-by: Joonyoung Shim <[email protected]> Signed-off-by: Inki Dae <[email protected]>
2014-09-20drm/exynos/ipp: remove unused field in command nodeAndrzej Hajda2-3/+0
Since command node have file pointer dev field became useless. Signed-off-by: Andrzej Hajda <[email protected]> Reviewed-by: Joonyoung Shim <[email protected]> Signed-off-by: Inki Dae <[email protected]>
2014-09-20drm/exynos/ipp: remove only related commands on file closeAndrzej Hajda1-4/+1
On file close driver should remove only command nodes created via this file. Signed-off-by: Andrzej Hajda <[email protected]> Reviewed-by: Joonyoung Shim <[email protected]> Signed-off-by: Inki Dae <[email protected]>
2014-09-20drm/exynos/ipp: move file reference from memory to command nodeAndrzej Hajda2-3/+4
Command node should contain file reference to distinguish commands created by different processes. Signed-off-by: Andrzej Hajda <[email protected]> Reviewed-by: Joonyoung Shim <[email protected]> Signed-off-by: Inki Dae <[email protected]>
2014-09-20drm/exynos/ipp: cancel works before command node cleanAndrzej Hajda1-0/+5
All pending works should be canceled prior to its removal. Signed-off-by: Andrzej Hajda <[email protected]> Reviewed-by: Joonyoung Shim <[email protected]> Signed-off-by: Inki Dae <[email protected]>
2014-09-20drm/exynos/ipp: remove fake pm callbacksAndrzej Hajda1-51/+0
PM callbacks in ipp core do nothing, so the patch removes it. Signed-off-by: Andrzej Hajda <[email protected]> Reviewed-by: Joonyoung Shim <[email protected]> Signed-off-by: Inki Dae <[email protected]>
2014-09-20drm/exynos: fimd: fix window clear codeMarek Szyprowski1-6/+19
To correctly disable hardware window during driver init, both enable bits (WINCONx_ENWIN in WINCON and SHADOWCON_CHx_ENABLE in SHADOWCON) must be cleared, otherwise hardware fails to re-enable such window later. While touching this function, also temporarily disable ctx->suspended flag to let fimd_wait_for_vblank function really to do its job. Signed-off-by: Marek Szyprowski <[email protected]> Signed-off-by: Inki Dae <[email protected]>
2014-09-20drm/exynos/fbdev: set smem_len for fbdevDaniel Kurtz1-0/+1
Commit [0] stopped setting fix.smem_start and fix.smem_len when creating the fbdev. [0] 2f1eab8d8ab59e799f7d51d62410b398607a7bc3 drm/exynos/fbdev: don't set fix.smem/mmio_{start,len} However, smem_len is used by some userland applications to calculate the size for mmap. In particular, it is used by xf86-video-fbdev: http://cgit.freedesktop.org/xorg/xserver/tree/hw/xfree86/fbdevhw/fbdevhw.c?id=xorg-server-1.15.99.903#n571 So, let's restore setting the smem_len to unbreak things for these users. Note: we are still leaving smem_start set to 0. Reported-by: Siarhei Siamashka <[email protected]> Reported-by: Gunther Noack <[email protected]> Signed-off-by: Daniel Kurtz <[email protected]> Signed-off-by: Inki Dae <[email protected]>
2014-09-20ARM: dts: add mipi dsi device node to exynos3250.dtsiInki Dae1-0/+15
Signed-off-by: Inki Dae <[email protected]> Reviewed-by: Andrzej Hajda <[email protected]>
2014-09-20ARM: dts: add mipi_phy device node to exynos3250.dtsiInki Dae1-0/+6
This patch adds mipi_phy device node to reset, disable and enable DSIM and CSIS PHY. Signed-off-by: Inki Dae <[email protected]> Reviewed-by: Andrzej Hajda <[email protected]>
2014-09-20ARM: dts: add fimd device node to exynos3250.dstiInki Dae1-0/+12
Signed-off-by: Inki Dae <[email protected]> Reviewed-by: Andrzej Hajda <[email protected]>
2014-09-20drm/exynos: fimd: add Exynos3 SoC supportInki Dae2-0/+11
Signed-off-by: Inki Dae <[email protected]> Reviewed-by: Andrzej Hajda <[email protected]>
2014-09-20drm/exynos: mipi-dsi: add Exynos3 SoC supportInki Dae2-0/+9
This patch adds Exynos3250/3472 SoCs support. Signed-off-by: Inki Dae <[email protected]> Reviewed-by: Andrzej Hajda <[email protected]>
2014-09-20drm/exynos: mipi-dsi: consider non-continuous clock modeInki Dae1-0/+19
This patch adds non-continuous clock mode support Clock mode on Clock Lane is continuous clock by default. So if we want to transmit data in non-continuous clock mode to reduce power consumption, then host driver should set DSIM_CLKLANE_STOP bit. In this case, host controller turns off HS clock between high speed transmissions. For this, this patch adds a new bit, DSIM_CLKLANE_STOP, and makes the host driver sets this bit only in case that dsi->mode_flags has MIPI_DSI_CLOCK_NON_CONTINUOUS flag. Signed-off-by: Inki Dae <[email protected]> Reviewed-by: Andrzej Hajda <[email protected]>
2014-09-20drm/mipi-dsi: consider low power transmissionInki Dae2-0/+8
This patch adds a new flag, MIPI_DSI-MODE_LPM, to transmit data in low power. With this flag, msg.flags has MIPI_DSI_MSG_USE_LPM so that host driver of each SoC can clear or set relevant register bit for low power transmission. All host drivers shall support continuous clock behavior on the Clock Lane, and optionally may support non-continuous clock behavior. Both of them can transmit data in high speed of low power. With each clock behavior, non-continuous or continuous clock mode, host controller will transmit data in high speed by default so if peripheral wants to receive data in low power, the peripheral driver should set MIPI_DSI_MODE_LPM flag. Signed-off-by: Inki Dae <[email protected]>
2014-09-20drm/exynos: dsi: fix exynos_dsi_set_pll() wrong return valueYoungJun Cho1-2/+2
The type of this function is unsigned long, and it is expected to return proper fout value or zero if something is wrong. So this patch fixes wrong return value for error cases. Signed-off-by: YoungJun Cho <[email protected]> Acked-by: Inki Dae <[email protected]> Acked-by: Kyungmin Park <[email protected]> Acked-by: Andrzej Hajda <[email protected]> Signed-off-by: Inki Dae <[email protected]>
2014-09-18Merge branch 'drm/next/du' of git://linuxtv.org/pinchartl/fbdev into drm-nextDave Airlie41-198/+645
Commit "drm/rcar-du: Use struct videomode in platform data" touches board code in arch/arm/mach-shmobile. There is, to the best of my knowledge, no risk of conflict for v3.18. Simon, are you fine with getting those changes merged through Dave's tree (and could you confirm that no conflict should occur) ? Simon acked the merge: Acked-by: Simon Horman <[email protected]> * 'drm/next/du' of git://linuxtv.org/pinchartl/fbdev: drm/rcar-du: Add OF support drm/rcar-du: Use struct videomode in platform data video: Add DT bindings for the R-Car Display Unit video: Add THC63LVDM83D DT bindings documentation video: Add ADV7123 DT bindings documentation video: Add DT binding documentation for VGA connector devicetree: Add vendor prefix "thine" to vendor-prefixes.txt devicetree: Add vendor prefix "mitsubishi" to vendor-prefixes.txt drm/shmob: Update copyright notice drm/rcar-du: Update copyright notice
2014-09-17drm/ttm: make sure format string cannot leak inKees Cook1-1/+2
While zone->name is currently hard coded, the call to kobject_init_and_add() should follow the more defensive argument list usage (as already done in other places in ttm_memory.c) where "%s" is used instead of directly passing in a variable as a format string. Signed-off-by: Kees Cook <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2014-09-17drm/tilcdc: panel: Add support for enable GPIOEzequiel Garcia2-5/+34
In order to support the "enable GPIO" available in many panel devices, this commit adds a proper devicetree binding. By providing an enable GPIO in the devicetree, the driver can now turn off and on the panel device, and/or the backlight device. Both the backlight and the GPIO are optional properties. Tested-by: Darren Etheridge <[email protected]> Tested-by: Johannes Pointner <[email protected]> Signed-off-by: Ezequiel Garcia <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2014-09-17drm/tilcdc: panel: Set return value explicitlyEzequiel Garcia1-1/+3
Instead of setting an initial value for the return code, set it explicitly on each error path. This is just a cosmetic cleanup, as preparation for the enable GPIO support. Tested-by: Darren Etheridge <[email protected]> Tested-by: Johannes Pointner <[email protected]> Signed-off-by: Ezequiel Garcia <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2014-09-17drm/tilcdc: panel: Fix backlight devicetree supportEzequiel Garcia2-5/+23
The current backlight support is broken; the driver expects a backlight-class in the panel devicetree node. Fix this by implementing it properly, getting an optional backlight from a phandle. This shouldn't cause any backward-compatibility DT issue because the current implementation doesn't work and is not even documented. Tested-by: Darren Etheridge <[email protected]> Tested-by: Johannes Pointner <[email protected]> Signed-off-by: Ezequiel Garcia <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2014-09-17drm/tilcdc: panel: Use devm_kzalloc to simplify the error pathEzequiel Garcia1-3/+1
Using the managed variant to allocate the resource makes the code simpler and less error-prone. Tested-by: Darren Etheridge <[email protected]> Tested-by: Johannes Pointner <[email protected]> Signed-off-by: Ezequiel Garcia <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2014-09-17drm/tilcdc: panel: Spurious whitespace removalEzequiel Garcia1-1/+0
Just a cosmetic cleanup. Tested-by: Darren Etheridge <[email protected]> Tested-by: Johannes Pointner <[email protected]> Signed-off-by: Ezequiel Garcia <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2014-09-17drm/tilcdc: panel: Remove unused variableEzequiel Garcia1-2/+0
Just a trivial cleanup to remove the variable. Tested-by: Darren Etheridge <[email protected]> Tested-by: Johannes Pointner <[email protected]> Signed-off-by: Ezequiel Garcia <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2014-09-17drm/tilcdc: panel: Add missing of_node_putEzequiel Garcia1-0/+3
This commit adds the missing calls to of_node_put to release the node that's currently held by the of_get_child_by_name() call in the panel info parsing code. Tested-by: Darren Etheridge <[email protected]> Tested-by: Johannes Pointner <[email protected]> Signed-off-by: Ezequiel Garcia <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2014-09-17drm/tilcdc: Fix the error path in tilcdc_load()Ezequiel Garcia1-10/+50
The current error path calls tilcdc_unload() in case of an error to release the resources. However, this is wrong because not all resources have been allocated by the time an error occurs in tilcdc_load(). To fix it, this commit adds proper labels to bail out at the different stages in the load function, and release only the resources actually allocated. Tested-by: Darren Etheridge <[email protected]> Tested-by: Johannes Pointner <[email protected]> Signed-off-by: Ezequiel Garcia <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2014-09-16Merge tag 'drm-intel-next-2014-09-05' of ↵Dave Airlie40-1488/+2911
git://anongit.freedesktop.org/drm-intel into drm-next - final bits (again) for the rotation support (Sonika Jindal) - support bl_power in the intel backlight (Jani) - vdd handling improvements from Ville - i830M fixes from Ville - piles of prep work all over to make skl enabling just plug in (Damien, Sonika) - rename DP training defines to reflect latest edp standards, this touches all drm drivers supporting DP (Sonika Jindal) - cache edids during single detect cycle to avoid re-reading it for e.g. audio, from Chris - move w/a for registers which are stored in the hw context to the context init code (Arun&Damien) - edp panel power sequencer fixes, helps chv a lot (Ville) - piles of other chv fixes all over - much more paranoid pageflip handling with stall detection and better recovery from Chris - small things all over, as usual * tag 'drm-intel-next-2014-09-05' of git://anongit.freedesktop.org/drm-intel: (114 commits) drm/i915: Update DRIVER_DATE to 20140905 drm/i915: Decouple the stuck pageflip on modeset drm/i915: Check for a stalled page flip after each vblank drm/i915: Introduce a for_each_plane() macro drm/i915: Rewrite ABS_DIFF() in a safer manner drm/i915: Add comments explaining the vdd on/off functions drm/i915: Move DP port disable to post_disable for pch platforms drm/i915: Enable DP port earlier drm/i915: Turn on panel power before doing aux transfers drm/i915: Be more careful when picking the initial power sequencer pipe drm/i915: Reset power sequencer pipe tracking when disp2d is off drm/i915: Track which port is using which pipe's power sequencer drm/i915: Fix edp vdd locking drm/i915: Reset the HEAD pointer for the ring after writing START drm/i915: Fix unsafe vma iteration in i915_drop_caches drm/i915: init sprites with univeral plane init function drm/i915: Check of !HAS_PCH_SPLIT() in PCH transcoder funcs drm/i915: Use HAS_GMCH_DISPLAY un underrun reporting code drm/i915: Use IS_BROADWELL() instead of IS_GEN8() in forcewake code drm/i915: Don't call gen8_fbc_sw_flush() on chv ...
2014-09-16Merge branch 'drm-next-ast-fixes' of ssh://people.freedesktop.org/~/linux ↵Dave Airlie4-25/+123
into drm-next Pull in first set of changes from Ben for ast on ppc. I've done a quick boot test on x86 and it still seems to boot. * 'drm-next-ast-fixes' of ssh://people.freedesktop.org/~/linux: drm/ast: Cleanup analog init code path drm/ast: Don't assume DVO enabled means SIL164 on uninitialized chips drm/ast: Properly initialize P2A base before using it in ast_init_3rdtx() drm/ast: POST chip at probe time if VGA not enabled drm/ast: Try to use MMIO registers when PIO isn't supported
2014-09-16drm/ast: Add reduced blanking modes for wide screen modeY.C. Chen2-24/+56
Signed-off-by: Egbert Eich <[email protected]> Tested-by: Steven You2 Liang <[email protected]> Signed-off-by: Y.C. Chen <[email protected]> v3: based on [PATCH 1/2] drm/ast: Add missing entry to dclk_table[]. Add reduced blanking modes, improve mode matching to identify these modes by thier sync polarities. [airlied: argh whitespace damage] Signed-off-by: Dave Airlie <[email protected]>
2014-09-16drm: backmerge tag 'v3.17-rc5' into drm-nextDave Airlie786-4530/+8114
This is requested to get the fixes for intel and radeon into the same tree for future development work. i915_display.c: fix missing dev_priv conflict.
2014-09-16Merge branch 'linux-3.18' of ↵Dave Airlie130-2464/+5638
git://anongit.freedesktop.org/git/nouveau/linux-2.6 into drm-next This is the main merge request for Nouveau 3.18, overview: - various bits of roy's gt21x clock work - various bits of kepler memory clock work (don't get too excited, there's at least one more major bit left that's busting higher freqs) - misc fan control improvements - kepler hdmi infoframe fixes - dp audio - l2 cache + cbc improvements * 'linux-3.18' of git://anongit.freedesktop.org/git/nouveau/linux-2.6: (68 commits) drm/gt214-/disp: enable dp audio drm/gt214-/kms: fix hda eld regression drm/g94-/disp: calculate some dp audio constants drm/gt214-/kms: perform hda codec setup on displayport too drm/gk104-/disp: infoframe registers moved yet again on kepler drm/nouveau/bios: parse older ramcfg/timing data like we do newer ones drm/nva3/fb/ram: Per-partition regs drm/nouveau/fb/ram: Support strided regs drm/nv50/fb/ram: Store the number of partitions in the designated fields drm/nv50/kms: Set VBLANK time in modeset script drm/nouveau/bios: Add rammap support for version 1.0 drm/gf100-/pwr/memx: block host and fifo around reclock drm/nouveau/pwr/memx: fix command ordering around block/unblock drm/nouveau/pwr/memx: rename fb off/on to block/unblock drm/nva3/clk: Pause the GPU before reclocking drm/nouveau/gpio: rename g92 class to g94 drm/gk104-/fb/ram: move fb enable/disable to same place as nvidia drm/gk104/fb/ram: twiddle some more bits when reclocking drm/nouveau/bios: parse another large chunk of random memory config data drm/gk104-/fb/ram: perform certain steps only when bios data differs ...
2014-09-15drm/gt214-/disp: enable dp audioBen Skeggs5-22/+30
Signed-off-by: Ben Skeggs <[email protected]>
2014-09-15drm/gt214-/kms: fix hda eld regressionBen Skeggs1-8/+10
Signed-off-by: Ben Skeggs <[email protected]>
2014-09-15drm/g94-/disp: calculate some dp audio constantsBen Skeggs2-22/+49
NVIDIA appear to have tweaked the algorithm from GF110, this implements the previous algorithm for them still. Signed-off-by: Ben Skeggs <[email protected]>
2014-09-15drm/gt214-/kms: perform hda codec setup on displayport tooBen Skeggs1-2/+2
Signed-off-by: Ben Skeggs <[email protected]>
2014-09-15drm/gk104-/disp: infoframe registers moved yet again on keplerBen Skeggs6-3/+91
Thanks to Vincent Pelletier for pointing this out and providing a proof of concept patch on the list. Signed-off-by: Ben Skeggs <[email protected]>
2014-09-15drm/nouveau/bios: parse older ramcfg/timing data like we do newer onesBen Skeggs7-132/+184
Done after discussion with Roy. Signed-off-by: Ben Skeggs <[email protected]>
2014-09-15drm/nva3/fb/ram: Per-partition regsRoy Spliet1-4/+4
Signed-off-by: Roy Spliet <[email protected]> Signed-off-by: Ben Skeggs <[email protected]>