Tomi Valkeinen [Thu, 13 Dec 2012 12:30:56 +0000 (14:30 +0200)]
Merge tag 'omapdss-for-3.8' of git://gitorious.org/linux-omap-dss2/linux into for-linus
OMAPDSS changes for 3.8, including:
- use dynanic debug prints
- OMAP platform dependency removals
- Creation of compat-layer, helping us to improve omapdrm
- Misc cleanups, aiming to make omadss more in line with the upcoming common
display framework
* tag 'omapdss-for-3.8' of git://gitorious.org/linux-omap-dss2/linux: (140 commits)
OMAPDSS: fix TV-out issue with DSI PLL
Revert "OMAPFB: simplify locking"
OMAPFB: remove silly loop in fb2display()
OMAPFB: fix error handling in omapfb_find_best_mode()
OMAPFB: use devm_kzalloc to allocate omapfb2_device
OMAPDSS: DISPC: remove dispc fck uses
OMAPDSS: DISPC: get dss clock rate from dss driver
OMAPDSS: use omapdss_compat_init() in other drivers
OMAPDSS: export dispc functions
OMAPDSS: export dss_feat functions
OMAPDSS: export dss_mgr_ops functions
OMAPDSS: separate compat files in the Makefile
OMAPDSS: move display sysfs init to compat layer
OMAPDSS: DPI: use dispc's check_timings
OMAPDSS: DISPC: add dispc_ovl_check()
OMAPDSS: move irq handling to dispc-compat
OMAPDSS: move omap_dispc_wait_for_irq_interruptible_timeout to dispc-compat.c
OMAPDSS: move blocking mgr enable/disable to compat layer
OMAPDSS: manage framedone irq with mgr ops
OMAPDSS: add manager ops
...
Tomi Valkeinen [Thu, 13 Dec 2012 12:21:30 +0000 (14:21 +0200)]
OMAPDSS: fix TV-out issue with DSI PLL
Commit
0e8276ef75f5c7811b038d1d23b2b42c16efc5ac (OMAPDSS: DPI: always
use DSI PLL if available) made dpi.c use DSI PLL for its clock. This
works fine, for DPI, but has a nasty side effect on OMAP3:
On OMAP3 the same clock is used for DISPC fclk and LCD output. Thus,
after the above patch, DSI PLL is used for DISPC and LCD output. If
TV-out is used, the TV-out needs DISPC. And if DPI is turned off, the
DSI PLL is also turned off, disabling DISPC.
For this to work, we'd need proper DSS internal clock handling, with
refcounts, which is a non-trivial project.
This patch fixes the issue for now by disabling the use of DSI PLL for
DPI on OMAP3.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Tomi Valkeinen [Thu, 13 Dec 2012 11:19:05 +0000 (13:19 +0200)]
Revert "OMAPFB: simplify locking"
This reverts commit
b41deecbda70067b26a3a7704fdf967a7940935b.
The simpler locking causes huge latencies when two processes use the
omapfb, even if they use different framebuffers.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Tomi Valkeinen [Thu, 13 Dec 2012 10:17:08 +0000 (12:17 +0200)]
OMAPFB: remove silly loop in fb2display()
fb2display() has a for loop which always returns at the first iteration.
Replace the loop with a simple if.
This removes the smatch warning:
drivers/video/omap2/omapfb/omapfb.h:153 fb2display() info: loop could be
replaced with if statement.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Tomi Valkeinen [Thu, 13 Dec 2012 10:13:51 +0000 (12:13 +0200)]
OMAPFB: fix error handling in omapfb_find_best_mode()
omapfb_find_best_mode() doesn't check for the return value of kmalloc.
Fix this. This also removes the smatch warning:
drivers/video/omap2/omapfb/omapfb-main.c:2256 omapfb_find_best_mode()
error: potential null dereference 'specs'. (kzalloc returns null)
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Tomi Valkeinen [Thu, 13 Dec 2012 10:08:21 +0000 (12:08 +0200)]
OMAPFB: use devm_kzalloc to allocate omapfb2_device
Use devm_kzalloc to allocate omapfb2_device. This fixes possible memory
leak:
drivers/video/omap2/omapfb/omapfb-main.c:2553 omapfb_probe() warn:
possible memory leak of 'fbdev'
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Tomi Valkeinen [Wed, 12 Dec 2012 09:15:39 +0000 (11:15 +0200)]
OMAPDSS: DISPC: remove dispc fck uses
The previous patch changes dispc to get the dispc fck rate from dss core
driver. This was the only use of the dispc fck in dispc, and thus we can
now remove the clock handling.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Tomi Valkeinen [Wed, 12 Dec 2012 08:37:03 +0000 (10:37 +0200)]
OMAPDSS: DISPC: get dss clock rate from dss driver
Dispc currently gets dispc's fck with clk_get() and uses clk_get_rate()
to get the rate for scaling calculations. This causes a problem with
common clock framework, as omapdss uses the dispc functions inside a
spinlock, and common clock framework uses a mutex in clk_get_rate().
Looking at the DSS clock tree, the above use of the dispc fck is not
quite correct. The DSS_FCLK from PRCM goes to DSS core block, which has
a mux to select the clock for DISPC from various options, so the current
use of dispc fck bypasses that. Fortunately we never change the dispc
clock mux for now.
To fix the issue with clk_get_rate(), this patch caches the dss clock
rate in dss.c when it is set. Dispc will then ask for the clock rate
from dss. While this is not very elegant, it does fix the issue, and
it's not totally wrong when considering that the dispc fck actually
comes via dss.
In the future we should probably look into common clock framework and
see if that could be used to represent the DSS clock tree properly.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Tomi Valkeinen [Mon, 10 Dec 2012 11:13:32 +0000 (13:13 +0200)]
Merge omapdss compat layer work
We have two separate, exclusive, users of omapdss: 1) omapfb + omap_vout and 2)
omapdrm. Because omapfb and omap_vout are independent drivers, we've built
layers in omapdss to manage the two simultaneous callers. These layers are not
needed for omapdrm, as omapdrm is the sole user of omapdss, and these layers in
fact only create trouble for omapdrm.
The simple option to improve omapdrm situation would be to copy the omapdss
code for omapdrm. We are trying to avoid this, as omapdss and the panel drivers
are quite a lot of code together, and most of the code would be used without
change.
Thus this series helps the situation by moving the omapdss code required by
omapfb + omap_vout to separate files, creating a distinct layer used only by
omapfb + omap_vout. We call this layer "compat layer". This compat layer then
uses the core omapdss driver to operate the hardware. omapdrm will use the core
omapdss directly, without any layers in between.
After this series, omapfb, omap_vout and omapdrm can all be compiled at the
same time. Obviously omapdrm and omapfb+omap_vout cannot be run at the same
time (the first one to start will "win"), so compiling them at the same time is
only sensible as modules for testing purposes. Normal users should only compile
one of those.
This series does not make omapdrm use the core omapdss API, that will happen in
a separate series for omapdrm.
Sachin Kamat [Fri, 7 Dec 2012 20:30:39 +0000 (12:30 -0800)]
drivers/video/console/softcursor.c: remove redundant NULL check before kfree()
Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Cc: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Maxime Ripard [Fri, 7 Dec 2012 20:30:38 +0000 (12:30 -0800)]
drivers/video: add support for the Solomon SSD1307 OLED Controller
Add support for the Solomon SSD1307 OLED controller found on the
Crystalfontz
CFA10036 board.
This controller can drive a display with a resolution up to 128x39 and can
operate over I2C or SPI.
The current driver has only been tested on the CFA-10036, that is using
this controller over I2C to driver a 96x16 OLED screen.
[akpm@linux-foundation.org: checkpatch fixes]
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Cc: Brian Lilly <brian@crystalfontz.com>
Cc: Greg KH <gregkh@linux-foundation.org>
Cc: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
Cc: Thomas Petazzoni <thomas@free-electrons.com>
Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Tomi Valkeinen [Wed, 10 Oct 2012 07:26:45 +0000 (10:26 +0300)]
OMAPDSS: use omapdss_compat_init() in other drivers
omapdss_compat_init() and omapdss_compat_uninit() is called internally
by omapdss. This patch moves the calls to omapfb, omap_vout and omapdrm
drivers. omapdrm driver can later remove the call after non-compat
support has been implemented in omapdrm.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Tomi Valkeinen [Wed, 7 Nov 2012 16:17:35 +0000 (18:17 +0200)]
OMAPDSS: export dispc functions
Export DISPC functions.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Tomi Valkeinen [Wed, 7 Nov 2012 14:26:11 +0000 (16:26 +0200)]
OMAPDSS: export dss_feat functions
Export dss_features related functions.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Tomi Valkeinen [Wed, 24 Oct 2012 10:52:40 +0000 (13:52 +0300)]
OMAPDSS: export dss_mgr_ops functions
Export dss_mgr_ops related functions.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Tomi Valkeinen [Wed, 24 Oct 2012 10:29:00 +0000 (13:29 +0300)]
OMAPDSS: separate compat files in the Makefile
Separate the core DSS files and compat layer files in the Makefile for
clarity.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Tomi Valkeinen [Thu, 8 Nov 2012 12:11:29 +0000 (14:11 +0200)]
OMAPDSS: move display sysfs init to compat layer
Move creation of the sysfs files for displays to the compat layer.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Tomi Valkeinen [Wed, 24 Oct 2012 10:27:02 +0000 (13:27 +0300)]
OMAPDSS: DPI: use dispc's check_timings
dpi.c uses dss_mgr_check_timings() to verify video timings, but that
function is in the compat layer. Change dpi.c to use the dispc's check
instead.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Tomi Valkeinen [Fri, 19 Oct 2012 12:57:11 +0000 (15:57 +0300)]
OMAPDSS: DISPC: add dispc_ovl_check()
This patch adds a new function, dispc_ovl_check(), which can be used to
verify scaling configuration for an overlay. The function gets both the
overlay and overlay manager as parameters, so that the caller does not
need to configure the hardware before using this function.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Tomi Valkeinen [Wed, 10 Oct 2012 12:55:19 +0000 (15:55 +0300)]
OMAPDSS: move irq handling to dispc-compat
The whole dispc irq handling system we currently have is only needed for
compat layer, and thus can be moved from dispc.c to the compat layer.
This is quite straigtforward, but we need to add new dispc functions to
request and free the actual hardware irq: dispc_request_irq() and
dispc_free_irq().
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Tomi Valkeinen [Wed, 10 Oct 2012 11:03:11 +0000 (14:03 +0300)]
OMAPDSS: move omap_dispc_wait_for_irq_interruptible_timeout to dispc-compat.c
We have two functions to wait for a dispc interrupt:
int omap_dispc_wait_for_irq_timeout(u32 irqmask, unsigned long timeout);
int omap_dispc_wait_for_irq_interruptible_timeout(u32 irqmask,
Of these, the former is not used at all, and can be removed. The latter
is only used by the compat layer, and can be moved to the compat layer
code.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Tomi Valkeinen [Wed, 24 Oct 2012 09:39:53 +0000 (12:39 +0300)]
OMAPDSS: move blocking mgr enable/disable to compat layer
dispc_mgr_enable_sync and dispc_mgr_disable_sync are only used with the
compat mode. Non-compat will use the simpler enable and disable
functions.
This patch moves the synchronous enable/disable code to the compat
layer. A new file is created, dispc-compat.c, which contains low level
dispc compat code (versus apply.c, which contains slightly higher level
compat code).
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Tomi Valkeinen [Wed, 10 Oct 2012 10:59:07 +0000 (13:59 +0300)]
OMAPDSS: manage framedone irq with mgr ops
Some of the output drivers need to handle FRAMEDONE interrupt from
DISPC. This creates a direct dependency to dispc code, and we need to
avoid this to make the compat code to work.
Instead of the output drivers registering for dispc interrupts, we
create new mgr-ops that are used to register a framedone handler. The
code implementing the mgr-ops is responsible for calling the handler
when DISPC FRAMEDONE interrupt happens. The compat layer is improved
accordingly to do the call to the framedone handler.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Tomi Valkeinen [Wed, 10 Oct 2012 07:56:05 +0000 (10:56 +0300)]
OMAPDSS: add manager ops
The output drivers need some operations from the overlay managers, like
enable and set_timings. These will affect the dispc registers, and need
to be synchronized with the composition-side changes with overlays and
overlay managers.
We want to handle these calls in the apply.c in the compatibility mode,
but when in non-compat mode, the calls need to be handled by some other
component (e.g. omapdrm).
To make this possible, this patch creates a set of function pointers in
a dss_mgr_ops struct, that is used to redirect the calls into the
correct destination.
The non-compat users can install their mgr ops with
dss_install_mgr_ops() function.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Tomi Valkeinen [Tue, 23 Oct 2012 10:45:07 +0000 (13:45 +0300)]
OMAPDSS: move ovl function setup to apply.c
Most of the functions that are assigned to the fields in ovl struct are
in apply.c. By moving the function pointer setup into apply.c we can
make these functions static.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Tomi Valkeinen [Tue, 23 Oct 2012 10:44:12 +0000 (13:44 +0300)]
OMAPDSS: move ovl-mgr function setup to apply.c
Most of the functions that are assigned to the fields in ovl-mgr struct
are in apply.c. By moving the function pointer setup into apply.c we can
make these functions static.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Tomi Valkeinen [Tue, 23 Oct 2012 10:46:12 +0000 (13:46 +0300)]
OMAPDSS: move ovl & ovl-mgr init to apply.c
Overlay and overlay_manager structs will only be needed in the compat
mode.
This patch moves initialization of overlay and overlay_manager structs
to apply.c, so that they are handled in omapdss_compat_init().
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Tomi Valkeinen [Wed, 10 Oct 2012 07:26:45 +0000 (10:26 +0300)]
OMAPDSS: add omapdss_compat_init()
Add two new exported functions, omapdss_compat_init and
omapdss_compat_uninit, which are to be used by omapfb, omap_vout to
enable compatibility mode for omapdss. The functions are called by
omapdss internally for now, and moved to other drivers later.
The compatibility mode is implemented fully in the following patches.
For now, enabling compat mode only sets up the private data in apply.c.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Tomi Valkeinen [Tue, 4 Dec 2012 11:12:39 +0000 (13:12 +0200)]
OMAPFB: connect ovl managers to all dssdevs
Commit
5d89bcc341771d95e3a2996218e5949a6627f59e (OMAPDSS: remove initial
display code from omapdss) moved setting up the initial overlay, overlay
manager, output and display connections from omapdss to omapfb.
However, currently omapfb only handles the connection related to the
default display, which means that no overlay managers are connected to
other displays.
This patch changes omapfb to go through all dssdevs, and connect an
overlay manager to them.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Tomi Valkeinen [Fri, 7 Dec 2012 10:50:08 +0000 (12:50 +0200)]
OMAPDSS: manage output-dssdev connection in output drivers
We currently attach an output to a dssdev in the initialization code for
dssdevices in display.c. This works, but doesn't quite make sense: an
output entity represents (surprisingly) an output of DSS, which is
managed by an output driver. The output driver also handles adding new
dssdev's for that particular output.
It makes more sense to make the output-dssdev connection in the output
driver. This is also in line with common display framework.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Tomi Valkeinen [Tue, 4 Dec 2012 14:26:09 +0000 (16:26 +0200)]
OMAPFB: remove warning when trying to alloc at certain paddress
omapfb gives a WARN_ONCE if a predefined physical address is given for
allocating the framebuffer memory, as this is not currently supported.
However, the same warning happens if omapfb fails to allocate memory
during runtime, as when the allocation has failed, omapfb tries to
re-allocate the old memory with the physical address of the old memory
area.
Remove the warning from omapfb_alloc_fbmem, as it serves no purpose on
the failure case above, and move it to omapfb_parse_vram_param, so that
we only warn if physical address is given via omapfb module parameters.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Tomi Valkeinen [Tue, 4 Dec 2012 12:55:18 +0000 (14:55 +0200)]
OMAPFB: simplify locking
Kernel lock verification code has lately detected possible circular
locking in omapfb. The exact problem is unclear, but omapfb's current
locking seems to be overly complex.
This patch simplifies the locking in the following ways:
- Remove explicit omapfb mem region locking. I couldn't figure out the
need for this, as long as we take care to take omapfb lock.
- Get omapfb lock always, even if the operation is possibly only related
to one fb_info. Better safe than sorry, and normally there's only one
user for the fb so this shouldn't matter.
- Make sure fb_info lock is taken first, then omapfb lock.
With this patch the warnings about possible circular locking does not
happen anymore.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Tomi Valkeinen [Fri, 7 Dec 2012 14:47:28 +0000 (16:47 +0200)]
OMAPFB: move dssdev->sync call out from omapfb_realloc_fbmem
Currently omapfb_realloc_fbmem() calls dssdev->sync to ensure any
possible frame update is finished. This patch moves the call to
dssdev->sync from omapfb_realloc_fbmem to the callers of
omapfb_realloc_fbmem.
This keeps dssdev related calls out from omapfb_realloc_fbmem, which
makes sense as the function should only deal with fb memory. Also, this
seems to avoid a lockdep warning about possible circular locking.
However, the exact reason for that warning is still unclear.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Tomi Valkeinen [Tue, 4 Dec 2012 12:20:11 +0000 (14:20 +0200)]
OMAPFB: remove exported udpate window
omapfb contains an exported omapfb_update_window function, which, at
some point in history, was used by a closed source SGX driver. This was
a hack even then, and should not be needed anymore. So remove it.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Pantelis Antoniou [Wed, 31 Oct 2012 15:56:24 +0000 (17:56 +0200)]
da8xx: Fix revision check on the da8xx driver
The revision check fails for the beaglebone; Add new revision ID.
Signed-off-by: Pantelis Antoniou <panto@antoniou-consulting.com>
Acked-by: Manjunathappa, Prakash <prakash.pm@ti.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Axel Lin [Fri, 30 Nov 2012 04:30:45 +0000 (12:30 +0800)]
OMAPDSS: Add terminating entry for picodlp_i2c_id table
The i2c_device_id table is supposed to be zero-terminated.
Signed-off-by: Axel Lin <axel.lin@gmail.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Tomi Valkeinen [Mon, 12 Nov 2012 13:24:02 +0000 (15:24 +0200)]
[media] omap_vout: remove extra include
Remove including plat/dma.h which is not needed.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Tested-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Tomi Valkeinen [Mon, 12 Nov 2012 13:17:39 +0000 (15:17 +0200)]
[media] omap_vout: use omapdss's version instead of cpu_is_*
cpu_is_* class functions create a dependency to OMAP platform code.
omapdss driver, which omap_vout uses, exposes a function to get the
version of the DSS hardware.
To remove the dependency to OMAP platform code this patch changes
omap_vout to use the omapdss version. For most of the checks, the ones
dealing with DSS differences, this is actually more correct than using
cpu_is_* functions. For the check whether VRFB is available or not this
is not really correct, but still works fine.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Tested-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Archit Taneja [Wed, 28 Nov 2012 11:31:39 +0000 (17:01 +0530)]
OMAPDSS: Use only "omapdss_dss" platform device to get context lost count
When enabling a hwmod, omap_hwmod refers to the register mentioned in the
hwmod struct's member 'prcm.omap4.context_offs' to see whether context was
lost or not. It increments the context lost count for the hwmod and then clears
the register.
All the DSS hwmods have the same register(RM_DSS_DSS_CONTEXT) as context_offs.
When DSS is enabled, the first hwmod to be enabled is the "dss_core" hwmod since
it's corresponding platform device is the parent platform device("omapdss_dss").
The dss_core hwmod updates it's context lost count correctly and clears the
register. When the hwmods corresponding to the children platform devices are
enabled, they see that the register is clear, and don't increment their context
lost count. Therefore, all the children platform devices never report a loss in
context.
The DISPC driver currently gets the context lost count for DSS power domain from
it's corresponding platform device instance("omapdss_dispc"). The DISPC platform
device is one of the child devices, and it's corresponding hwmod("dss_dispc")
doesn't report the context lost count correctly.
Modify dss_get_ctx_loss_count() such that it always takes the "omapdss_dss"
platform device as it's input, move the function to dss.c so that it has access
to that platform device.
Signed-off-by: Archit Taneja <archit@ti.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Tomi Valkeinen [Thu, 29 Nov 2012 08:34:41 +0000 (10:34 +0200)]
Merge branch 'exynos-dp-next' of git://github.com/jingoo/linux into for-linus
Exynos DP changes for the 3.8 merge window.
- Device Tree support for Samsung Exynos DP
- SW Link training is cleaned up.
- HPD interrupt is supported.
* 'exynos-dp-next' of git://github.com/jingoo/linux:
video: exynos_dp: remove redundant parameters
video: exynos_dp: Fix incorrect setting for INT_CTL
video: exynos_dp: Reset and initialize DP before requesting irq
video: exynos_dp: Enable hotplug interrupts
video: exynos_dp: Move hotplug into a workqueue
video: exynos_dp: Remove sink control to D0
video: exynos_dp: Fix bug when checking dp->irq
video: exynos_dp: Improve EDID error handling
video: exynos_dp: Get pll lock before pattern set
video: exynos_dp: Clean up SW link training
video: exynos_dp: Check DPCD return codes
video: exynos_dp: device tree documentation
video: exynos_dp: Add device tree support to DP driver
Tomi Valkeinen [Thu, 29 Nov 2012 08:34:02 +0000 (10:34 +0200)]
Merge branch 'samsung-fb-next' of git://github.com/jingoo/linux into for-linus
Samsung Framebuffer changes for the 3.8 merge window.
- The bit definitions of header file are updated.
- Some minor typos are fixed.
- Some minor bugs of s3c_fb_check_var() are fixed.
* 'samsung-fb-next' of git://github.com/jingoo/linux:
video: s3c-fb: fix red offset and length for ARGB232 format
video: s3c-fb: return an error when bpp is invalid
video: s3c-fb: add "drop through" comment
video: s3c-fb: use dev_get_drvdata() instead of platform_get_drvdata()
video: s3c-fb: use FIMD_V8_VIDTCON0 for EXYNOS5 FIMD
video: s3c-fb: fix help message for FB_S3C_DEBUG_REGWRITE
video: s3c-fb: fix typo in comment
video: s3c-fb: add the bit definitions for VIDCON0_VIDOUT_WB
video: s3c-fb: move the bit definitions for DITHMODE register
video: s3c-fb: move the bit definitions for WINxMAP and WPALCON register
video: s3c-fb: move the bit definitions for VIDINTCON0 register
video: s3c-fb: move the address definition for VIDOSD register
video: s3c-fb: move the address definitions for VIDTCON registers
video: s3c-fb: clean the bit definition for WINCON register
Ajay Kumar [Fri, 9 Nov 2012 05:05:06 +0000 (14:05 +0900)]
video: exynos_dp: remove redundant parameters
This patch cleans up few redundant parameters keeping
the same functionality intact.
Signed-off-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Ajay Kumar <ajaykumar.rs@samsung.com>
Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Ajay Kumar [Mon, 5 Nov 2012 07:47:00 +0000 (16:47 +0900)]
video: exynos_dp: Fix incorrect setting for INT_CTL
INT_CTL register contains bits INT_POL0 and INT_POL1, and not INT_POL.
This patch fixes the wrong register setting for INT_CTL.
Signed-off-by: Ajay Kumar <ajaykumar.rs@samsung.com>
Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Ajay Kumar [Fri, 9 Nov 2012 04:59:09 +0000 (13:59 +0900)]
video: exynos_dp: Reset and initialize DP before requesting irq
If DP is not reset properly before kernel bootup(in bootloader code),
there can be few pending interrupts, and sometimes they invoke
DP irq handler as soon as the irq handler is registered in DP probe.
So, we make the DP driver more robust by resetting and
initializing DP at the earliest and then registering the irq handler.
Signed-off-by: Ajay Kumar <ajaykumar.rs@samsung.com>
Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Sean Paul [Thu, 1 Nov 2012 10:13:46 +0000 (19:13 +0900)]
video: exynos_dp: Enable hotplug interrupts
Enable hotplug interrupts and move the hotplug scheduling into the
interrupt handler. This allows us to introduce a screen at any time
while we're running.
[jg1.han@samsung.com: moved the bit masking of hotplug interrupts]
Signed-off-by: Sean Paul <seanpaul@chromium.org>
Reviewed-by: Olof Johansson <olofj@chromium.org>
Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Sean Paul [Fri, 9 Nov 2012 04:55:08 +0000 (13:55 +0900)]
video: exynos_dp: Move hotplug into a workqueue
Move the hotplug related code from probe and resume into a workqueue.
This allows us to initialize the DP driver (and resume it) when there
is no monitor connected.
Signed-off-by: Sean Paul <seanpaul@chromium.org>
Reviewed-by: Olof Johansson <olofj@chromium.org>
Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Sean Paul [Thu, 1 Nov 2012 01:38:49 +0000 (10:38 +0900)]
video: exynos_dp: Remove sink control to D0
According to DP spec, it is not required in the Link Training
procedure.
[jg1.han@samsung.com: modified the commit message]
Signed-off-by: Sean Paul <seanpaul@chromium.org>
Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Sean Paul [Wed, 31 Oct 2012 23:21:00 +0000 (23:21 +0000)]
video: exynos_dp: Fix bug when checking dp->irq
Fix a bug where we check !dp->irq instead of the correct check for
-ENXIO.
Signed-off-by: Sean Paul <seanpaul@chromium.org>
Reviewed-by: Olof Johansson <olofj@chromium.org>
Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Sean Paul [Thu, 1 Nov 2012 02:13:00 +0000 (02:13 +0000)]
video: exynos_dp: Improve EDID error handling
EDID error handling has 2 problems:
- It doesn't fail as early as it can
- The retry counts for i2c and aux transactions are huge
This patch fails if the initial i2c transaction fails, and reduces the
aux and i2c retry counts down to 3.
[jg1.han@samsung.com: reduced the retry count of exynos_dp_read_byte_from_dpcd()]
Signed-off-by: Sean Paul <seanpaul@chromium.org>
Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Sean Paul [Wed, 31 Oct 2012 23:21:00 +0000 (23:21 +0000)]
video: exynos_dp: Get pll lock before pattern set
According to the exynos datasheet (Figure 49-10), we should wait for PLL
lock before programming the training pattern when doing software eDP
link training.
Signed-off-by: Sean Paul <seanpaul@chromium.org>
Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Sean Paul [Wed, 31 Oct 2012 23:21:00 +0000 (23:21 +0000)]
video: exynos_dp: Clean up SW link training
Clean up some of the SW training code to make it more clear and reduce
duplicate code.
[jg1.han@samsung.com: used exynos_dp_write_bytes_to_dpcd()]
Signed-off-by: Sean Paul <seanpaul@chromium.org>
Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Sean Paul [Wed, 31 Oct 2012 23:21:00 +0000 (23:21 +0000)]
video: exynos_dp: Check DPCD return codes
Add return code checks to the DPCD transactions in the SW link training
Signed-off-by: Sean Paul <seanpaul@chromium.org>
Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Ajay Kumar [Fri, 12 Oct 2012 20:48:00 +0000 (05:48 +0900)]
video: exynos_dp: device tree documentation
Add documentation for the DT bindings in exynos display port driver.
Signed-off-by: Ajay Kumar <ajaykumar.rs@samsung.com>
Acked-by: Rob Herring <rob.herring@calxeda.com>
Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Ajay Kumar [Fri, 12 Oct 2012 20:48:00 +0000 (05:48 +0900)]
video: exynos_dp: Add device tree support to DP driver
This patch enables device tree based discovery support for DP driver.
The driver is modified to handle platform data in both the cases:
with DT and non-DT.
Signed-off-by: Ajay Kumar <ajaykumar.rs@samsung.com>
Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Tomi Valkeinen [Wed, 10 Oct 2012 07:46:06 +0000 (10:46 +0300)]
OMAPDSS: add dss_get_core_pdev()
Add dss_get_core_pdev() which returns the platform device for dss core
device. The following patches use the core pdev to register sysfs files
in the compat code.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Tomi Valkeinen [Thu, 8 Nov 2012 11:13:02 +0000 (13:13 +0200)]
OMAPDSS: create display-sysfs.c
Move display sysfs related code from display.c to display-sysfs.c, for
clarity. The sysfs code will only be used for compat mode.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Tomi Valkeinen [Fri, 19 Oct 2012 12:46:30 +0000 (15:46 +0300)]
OMAPDSS: DISPC: pass pclk & lclk to dispc_ovl_calc_scaling
In order to make the scaling calculations independent of the current
hardware configuration (e.g. which manager is connected to this output),
we need to change the calc funcs to get all the variables needed for the
calculations via parameters.
This patch changes dispc_ovl_calc_scaling to get pclk and lclk as
parameters.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Tomi Valkeinen [Fri, 19 Oct 2012 12:43:29 +0000 (15:43 +0300)]
OMAPDSS: DISPC: pass pclk & lclk to calc_scaling
In order to make the scaling calculations independent of the current
hardware configuration (e.g. which manager is connected to this output),
we need to change the calc funcs to get all the variables needed for the
calculations via parameters.
This patch changes calc_scaling to get pclk and lclk as parameters.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Tomi Valkeinen [Fri, 19 Oct 2012 12:40:24 +0000 (15:40 +0300)]
OMAPDSS: DISPC: pass pclk & lclk to check_horiz_timing_omap3
In order to make the scaling calculations independent of the current
hardware configuration (e.g. which manager is connected to this output),
we need to change the calc funcs to get all the variables needed for the
calculations via parameters.
This patch changes check_horiz_timing_omap3() to get pclk and lclk as
parameters.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Tomi Valkeinen [Fri, 19 Oct 2012 12:36:11 +0000 (15:36 +0300)]
OMAPDSS: DISPC: pass pclk to calc_core_clk()
In order to make the scaling calculations independent of the current
hardware configuration (e.g. which manager is connected to this output),
we need to change the calc funcs to get all the variables needed for the
calculations via parameters.
This patch changes calc_core_clk() function to get pclk as a parameter.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Tomi Valkeinen [Thu, 15 Nov 2012 11:20:02 +0000 (13:20 +0200)]
OMAPDSS: DISPC: pclk & lclk rates for writeback
Change the dispc_plane_pclk_rate and dispc_plane_lclk_rate functions to
return 0 if the given plane is the writeback plane. The clocks are not
valid for WB, but returning 0 from these functions instead of running
into BUG() will simplify the code that uses these functions.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Tomi Valkeinen [Fri, 19 Oct 2012 12:06:07 +0000 (15:06 +0300)]
OMAPDSS: DISPC: use WARN_ON() in dispc_mgr_go
dispc_mgr_go() should never be called with manager output disabled or if
the GO bit is already set. Change the current silent returns to
WARN_ONs.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Tomi Valkeinen [Wed, 10 Oct 2012 11:13:26 +0000 (14:13 +0300)]
OMAPDSS: cleanup WB enable/is_enabled functions
Instead of doing direct register reads/writes, dispc_wb_enable() and
dispc_wb_is_enabled() functions can use the common overlay functions to
set and check the enable bit.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Tomi Valkeinen [Fri, 19 Oct 2012 11:23:06 +0000 (14:23 +0300)]
OMAPDSS: DISPC: Remove blocking code from dispc_wb_enable()
WB will not be used with compat-mode, i.e. from omapfb. This means we
don't need the current complex dispc_wb_enable function, but can have a
simple register write version of the function.
This patch removes all the extra code from dispc_wb_enable()
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Tomi Valkeinen [Thu, 8 Nov 2012 08:05:31 +0000 (10:05 +0200)]
OMAPDSS: DISPC: use get_framedone_irq in disable_digit_out
dispc_mgr_disable_digit_out() needs to wait until the DIGIT output is
turned off. This is done with either VSYNC irq on OMAP2/3 and
FRAMEDONETV on OMAP4+. It currently uses a rather hacky way to decide
what irq to use.
This patch changes dispc_mgr_disable_digit_out to use
dispc_mgr_get_framedone_irq to find out if there's framedone irq on this
SoC, and if not, uses VSYNC.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Tomi Valkeinen [Thu, 8 Nov 2012 08:01:33 +0000 (10:01 +0200)]
OMAPDSS: DISPC: add no_framedone_tv feat
OMAP2/3 do not have FRAMEDONETV irq, but later omaps do. We currently
always return 0 from dispc_mgr_get_framedone_irq() for TV output to be
compatible with OMAP2/3.
This patch implements "no_framedone_tv" dispc-feature that is used in
dispc_mgr_get_framedone_irq to return either 0 for OMAP2/3, or the
correct IRQ number for FRAMEDONETV on OMAP4+.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Tomi Valkeinen [Mon, 12 Nov 2012 14:55:28 +0000 (16:55 +0200)]
OMAPDSS: don't WARN if there's no DSI device
dsi_get_dsidev_from_id() gives a WARN if DSI support is not compiled in.
This warning is not right, as it's valid to call
dsi_get_dsidev_from_id() to see if there is DSI support or not.
Remove the WARN().
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Tomi Valkeinen [Mon, 12 Nov 2012 14:52:11 +0000 (16:52 +0200)]
OMAPDSS: DPI: fix crash with dpi_verify_dsi_pll()
If the DSI support has not been compiled in or the SoC doesn't have DSI
hardware, dpi_get_dsidev() returns NULL. This NULL is passed to
dpi_verify_dsi_pll() causing a crash. The bug was added with commit
0e8276ef75f5c7811b038d1d23b2b42c16efc5ac (OMAPDSS: DPI: always use DSI
PLL if available).
Fix this by checking if dsidev is NULL before calling
dpi_verify_dsi_pll().
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Tomi Valkeinen [Wed, 7 Nov 2012 14:33:09 +0000 (16:33 +0200)]
OMAPDSS: remove declarations for non-existing functions
Remove dispc_mgr_is_channel_enabled() and dss_mgr_get_timings()
declarations, as the function doesn't exist.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Tomi Valkeinen [Tue, 27 Nov 2012 10:06:10 +0000 (12:06 +0200)]
Merge branch 'fbdev-next' of github.com:timur-tabi/linux-2.6 into for-linus
* 'fbdev-next' of github.com:timur-tabi/linux-2.6:
drivers/video: fsl-diu-fb: store EDID data in the global object
drivers/video: fsl-diu-fb: don't touch registers for unused features
drivers/video: fsl-diu-fb: clean up reset of primary display
drivers/video: fsl-diu-fb: remove unused 'cursor_reset' variable
drivers/video: fsl-diu-fb: improve message displays
drivers/video: fsl-diu-fb: streamline enabling of interrupts
drivers/video: fsl-diu-fb: add support for set_gamma ioctls
drivers/video: fsl-diu-fb: simplify platforms that have only one port
MAINTAINERS: Make Timur Tabi the maintainer for the Freescale DIU driver
Manjunathappa [Tue, 20 Nov 2012 12:41:01 +0000 (18:11 +0530)]
video: da8xx-fb: clk_get on connection id fck
do clk_get on connection id "fck" to support OMAP based
platforms having multiple clocks for module. Without this
driver change clk_get fails on am335x.
This patch is based on the discussion in community
http://marc.info/?l=linux-kernel&m=
135166018907827&w=2
Signed-off-by: Manjunathappa <prakash.pm@ti.com>
Cc: Vaibhav Hiremath <hvaibhav@ti.com>
Acked-by: Sekhar Nori <nsekhar@ti.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Manjunathappa, Prakash [Tue, 16 Oct 2012 04:53:16 +0000 (10:23 +0530)]
da8xx-fb: cleanup LCDC configurations
Configure below LCDC configurations to optimal values, also have an
option configure these optional parameters for platform.
1) AC bias configuration: Required only for passive panels
2) Dma_burst_size:
3) FIFO_DMA_DELAY:
4) FIFO threshold: Does not apply for da830 LCDC.
Patch is verified for 16bpp and 24bpp configurations on da830, da850 and
am335x EVMs.
Signed-off-by: Manjunathappa, Prakash <prakash.pm@ti.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Manjunathappa, Prakash [Tue, 16 Oct 2012 04:53:15 +0000 (10:23 +0530)]
da8xx-fb: adopt fb_videomode data for panel information
Adopt fb_videomode data instead of defining driver private
structure to hold panel information. This is the way standard FB
drivers maintain the panel information.
Signed-off-by: Manjunathappa, Prakash <prakash.pm@ti.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Tomi Valkeinen [Tue, 27 Nov 2012 09:45:43 +0000 (11:45 +0200)]
Merge branch 'lcdc-next' of git://linuxtv.org/pinchartl/fbdev into for-linus
Merge SH Mobile LCDC patches from Laurent.
* 'lcdc-next' of git://linuxtv.org/pinchartl/fbdev:
fbdev: sh_mobile_lcdc: Make sh_mobile_lcdc_sys_bus_ops static
sh: kfr2r09: Use the backlight API for brightness control
ARM: mach-shmobile: ag5evm: Use the backlight API for brightness control
fbdev: sh_mobile_lcdc: Remove unused get_brightness pdata callback
sh: ecovec24: Remove unused get_brightness LCDC callback
sh: ap325rxa: Remove unused get_brightness LCDC callback
ARM: mach-shmobile: mackerel: Removed unused get_brightness callback
fbdev: sh_mobile_lcdc: Store the backlight brightness internally
fbdev: sh_mipi_dsi: Remove the unused sh_mipi_dsi_info lcd_chan field
ARM: mach-shmobile: Remove the unused sh_mipi_dsi_info lcd_chan field
fbdev: sh_mipi_dsi: Remove last reference to LCDC platform data
fbdev: sh_mipi_dsi: Use the LCDC entity default mode
fbdev: sh_mipi_dsi: Use the sh_mipi_dsi_info channel field
ARM: mach-shmobile: Initiliaze the new sh_mipi_dsi_info channel field
fbdev: sh_mipi_dsi: Add channel field to platform data
ARM: mach-shmobile: ag5evm: Add LCDC tx_dev field to platform data
fbdev: sh_mobile_lcdc: Remove priv argument from channel and overlay init
fbdev: sh_mobile_lcdc: Rename mode argument to modes
fbdev: sh_mobile_lcdc: Get display dimensions from the channel structure
fbdev: sh_mobile_lcdc: use dma_mmap_coherent
Timur Tabi [Tue, 16 Oct 2012 22:33:50 +0000 (17:33 -0500)]
drivers/video: fsl-diu-fb: store EDID data in the global object
Although the DIU driver creates five framebuffer devices, only the first
one controls the physical display. The remaining four are virtual "AOIs".
Therefore, the EDID data should be stored in the global fsl_diu_data
object, instead of the per-framebuffer object.
Signed-off-by: Timur Tabi <timur@freescale.com>
Timur Tabi [Tue, 16 Oct 2012 22:33:49 +0000 (17:33 -0500)]
drivers/video: fsl-diu-fb: don't touch registers for unused features
We don't use the writeback buffer, so don't initialize the registers for
that feature.
The default value for SYN_POL is already zero, so don't re-initialize it.
Writing the INT_STATUS register does nothing.
The value that we write to the PLUT register only makes sense on the
MPC8610 and P1022, so don't touch that register on the MPC5121.
Signed-off-by: Timur Tabi <timur@freescale.com>
Timur Tabi [Tue, 16 Oct 2012 22:33:48 +0000 (17:33 -0500)]
drivers/video: fsl-diu-fb: clean up reset of primary display
Commit
4b5006ec ("shared DIU framebuffer support") added the ability to
retain the splash screen until the framebuffer is opened by user space.
Clean up this code to eliminate redundant writes to registers, and eliminate
the use of dummy area descriptor.
Signed-off-by: Timur Tabi <timur@freescale.com>
Timur Tabi [Tue, 16 Oct 2012 22:33:47 +0000 (17:33 -0500)]
drivers/video: fsl-diu-fb: remove unused 'cursor_reset' variable
Probably left over from initial development in hardware cursor support
that never made it upstream.
Signed-off-by: Timur Tabi <timur@freescale.com>
Timur Tabi [Tue, 16 Oct 2012 22:33:46 +0000 (17:33 -0500)]
drivers/video: fsl-diu-fb: improve message displays
Add some debug and error messages that are useful during debugging.
Signed-off-by: Timur Tabi <timur@freescale.com>
Timur Tabi [Tue, 16 Oct 2012 22:33:45 +0000 (17:33 -0500)]
drivers/video: fsl-diu-fb: streamline enabling of interrupts
Remove functions request_irq_local() and free_irq_local(), and merge
their code into the functions that handle opening and closing the
framebuffer. We also improve the way that interrupts are enabled.
Also implement a work-around for broken U-Boots that leave the DIU
interrupts enabled.
Signed-off-by: Timur Tabi <timur@freescale.com>
Timur Tabi [Tue, 16 Oct 2012 22:33:44 +0000 (17:33 -0500)]
drivers/video: fsl-diu-fb: add support for set_gamma ioctls
The MPC5121 BSP comes with a gamma_set utility that initializes the gamma
table via an ioctl. Unfortunately, the ioctl number that utility uses
is defined improperly, but we can still support it.
Signed-off-by: Timur Tabi <timur@freescale.com>
Timur Tabi [Tue, 16 Oct 2012 22:33:43 +0000 (17:33 -0500)]
drivers/video: fsl-diu-fb: simplify platforms that have only one port
Allow the platform code not to define a value for diu_ops.set_monitor_port.
This would be for platforms that only have one monitor port.
set_monitor_port() will never be called with an unsupported port anyway.
Signed-off-by: Timur Tabi <timur@freescale.com>
Timur Tabi [Tue, 16 Oct 2012 22:33:42 +0000 (17:33 -0500)]
MAINTAINERS: Make Timur Tabi the maintainer for the Freescale DIU driver
Timur has been cleaning up this driver, so just make it official.
Signed-off-by: Timur Tabi <timur@freescale.com>
Tomi Valkeinen [Mon, 26 Nov 2012 08:26:29 +0000 (10:26 +0200)]
Merge tag 'omapdss-for-3.7-rc' of git://gitorious.org/linux-omap-dss2/linux
omapdss fixes for 3.7-rc
Conflicts:
drivers/video/omap2/dss/dss.c
Jingoo Han [Fri, 26 Oct 2012 06:41:49 +0000 (15:41 +0900)]
video: s3c-fb: fix red offset and length for ARGB232 format
Green pixel and blue pixel are 3 bits and 2 bits respectively
at ARGB232 format. Thus, the value of red offset should be 5,
not 4. Also, the value of red length should be 2, because
red pixel is 2 bits at ARGB232 format.
Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Jingoo Han [Fri, 26 Oct 2012 05:54:01 +0000 (14:54 +0900)]
video: s3c-fb: return an error when bpp is invalid
This patch returns an error, when bpp is invalid in
s3c_fb_check_var(). If invalid bpp is requested,
an error should be returned.
Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Jingoo Han [Fri, 26 Oct 2012 05:34:24 +0000 (14:34 +0900)]
video: s3c-fb: add "drop through" comment
This patch adds a "drop through" comment to improve
the readability.
Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Jingoo Han [Tue, 16 Oct 2012 04:21:44 +0000 (13:21 +0900)]
video: s3c-fb: use dev_get_drvdata() instead of platform_get_drvdata()
Because there is no need to access to the platform device in
suspend/resume and runtime_suspend/resume, dev_get_drvdata()
can be used instead of platform_get_drvdata() to make the code
smaller.
Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Jingoo Han [Thu, 27 Sep 2012 07:23:59 +0000 (16:23 +0900)]
video: s3c-fb: use FIMD_V8_VIDTCON0 for EXYNOS5 FIMD
This patch uses FIMD_V8_VIDTCON0 as the address definition
of VIDTCON0 register, because the address offset of VIDTCONx
registers is changed from 0x0 to 0x20000 for EXYNOS5 FIMD.
So, FIMD_V8_VIDTCON0 should be used.
Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Jingoo Han [Thu, 27 Sep 2012 07:46:19 +0000 (16:46 +0900)]
video: s3c-fb: fix help message for FB_S3C_DEBUG_REGWRITE
The help message of config FB_S3C_DEBUG_REGWRITE is fixed,
because printk(KERN_DEBUG) was replaced with pr_debug().
Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Jingoo Han [Thu, 27 Sep 2012 10:24:05 +0000 (19:24 +0900)]
video: s3c-fb: fix typo in comment
"sturucture" should be "structure".
Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Jingoo Han [Tue, 25 Sep 2012 07:19:03 +0000 (16:19 +0900)]
video: s3c-fb: add the bit definitions for VIDCON0_VIDOUT_WB
This patch adds the bit definitions for VIDCON0_VIDOUT_WB.
These definitions are used to support writeback for RGB and
i80 interface. Also, output format of writeback is YUV444.
Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Jingoo Han [Tue, 25 Sep 2012 08:30:36 +0000 (17:30 +0900)]
video: s3c-fb: move the bit definitions for DITHMODE register
The bit definitions for DITHMODE registers are moved according to
address order. Also, the bit definition of VIDCON1_FSTATUS_EVEN
is moved.
Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Jingoo Han [Tue, 25 Sep 2012 08:16:52 +0000 (17:16 +0900)]
video: s3c-fb: move the bit definitions for WINxMAP and WPALCON register
The bit definitions for WINxMAP and WPALCON register are moved to
right place.
Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Jingoo Han [Tue, 25 Sep 2012 07:55:18 +0000 (16:55 +0900)]
video: s3c-fb: move the bit definitions for VIDINTCON0 register
The bit definitions for VIDINTCON0 registers are moved to right
place.
Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Jingoo Han [Tue, 25 Sep 2012 07:43:16 +0000 (16:43 +0900)]
video: s3c-fb: move the address definition for VIDOSD register
The address definition for VIDTCON VIDOSD is moved to right
place.
Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Jingoo Han [Tue, 25 Sep 2012 06:48:20 +0000 (15:48 +0900)]
video: s3c-fb: move the address definitions for VIDTCON registers
The address definitions for VIDTCON registers are moved to right
place.
Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Jingoo Han [Tue, 25 Sep 2012 06:37:45 +0000 (15:37 +0900)]
video: s3c-fb: clean the bit definition for WINCON register
This patch cleans the bit definition for WINCON register.
The bit definition for WINCON1 and WINCON2 is removed, because
it is not used.
Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Linus Torvalds [Mon, 26 Nov 2012 01:59:19 +0000 (17:59 -0800)]
Linux 3.7-rc7
Linus Torvalds [Mon, 26 Nov 2012 01:57:01 +0000 (17:57 -0800)]
Merge branch 'merge' of git://git./linux/kernel/git/benh/powerpc
Pull powerpc EEH bugfixes from Benjamin Herrenschmidt.
Two one-liner fixes for the new EEH code.
* 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:
powerpc/eeh: Do not invalidate PE properly
powerpc/pseries: Fix oops with MSIs when missing EEH PEs