Panda dsi pll

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Signed-off-by: Rob Clark <rob@ti.com>
I2C: OMAP: Fix the mismatch of pm_runtime enable and disable

Currently the i2c driver calls the pm_runtime_enable and never
the disable. This may cause a warning when pm_runtime_enable
checks for the count match.Fix the same by calling
pm_runtime_disable in the error and the remove path.

Cc: Rajendra Nayak <rnayak@ti.com>
Acked-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Shubhrajyoti D <shubhrajyoti@ti.com>
Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
I2C: OMAP: Prevent the register access after pm_runtime_put in probe

Currently in probe
pm_runtime_put(dev->dev);

...
        /* i2c device drivers may be active on return from add_adapter() */
        adap->nr = pdev->id;
        r = i2c_add_numbered_adapter(adap);
        if (r) {
                dev_err(dev->dev, "failure adding adapter\n");
                goto err_free_irq;
        }
...

return 0;

err_free_irq:
        free_irq(dev->irq, dev);
err_unuse_clocks:
        omap_i2c_write_reg(dev, OMAP_I2C_CON_REG, 0);
        pm_runtime_put(dev->dev);

This may access the i2c registers without the clocks in the error cases.
Fix the same by moving the pm_runtime_put after the error check.

Reviewed-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Shubhrajyoti D <shubhrajyoti@ti.com>
Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
I2C: OMAP: Don't check if wait_for_completion_timeout() returns less than zero

By definition, wait_for_completion_timeout() returns an unsigned value and
therefore, it is not necessary to check if the return value is less than zero
as this is not possible.

This is based on a patch from Jon Hunter <jon-hunter@ti.com>
Changes from his patch
- Declare a long as the wait_for_completion_timeout returns long.

Original patch is
http://git.omapzoom.org/?p=kernel/omap.git;a=commitdiff;h=ea02cece7b0000bc736e60c4188a11aaa74bc6e6

Reviewed-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Jon Hunter <jon-hunter@ti.com>
Signed-off-by: Shubhrajyoti D <shubhrajyoti@ti.com>
Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
I2C: OMAP: Fix the crash in i2c remove

    In omap_i2c_remove we are accessing the I2C_CON register without
    enabling the clocks. Fix the same by ensure device is accessible by calling
    pm_runtime_get_sync before accessing the registers and calling pm_runtime_put
    after accessing.

    This fixes the following crash.
    [  154.723022] ------------[ cut here ]------------
    [  154.725677] WARNING: at arch/arm/mach-omap2/omap_l3_noc.c:112 l3_interrupt_handler+0x1b4/0x1c4()
    [  154.725677] L3 custom error: MASTER:MPU TARGET:L4 PER2
    [  154.742614] Modules linked in: i2c_omap(-)
    [  154.746948] Backtrace:
    [  154.746948] [<c0013078>] (dump_backtrace+0x0/0x110) from [<c026c158>] (dump_stack+0x18/0x1c)
    [  154.752716]  r6:00000070 r5:c002c43c r4:df9b9e98 r3:df9b8000
    [  154.764465] [<c026c140>] (dump_stack+0x0/0x1c) from [<c0041a2c>] (warn_slowpath_common+0x5c/0x6c)
    [  154.768341] [<c00419d0>] (warn_slowpath_common+0x0/0x6c) from [<c0041ae0>] (warn_slowpath_fmt+0x38/0x40)
    [  154.776153]  r8:00000180 r7:c0361594 r6:c0379b48 r5:00080003 r4:e0838b00
    [  154.790771] r3:00000009
    [  154.791778] [<c0041aa8>] (warn_slowpath_fmt+0x0/0x40) from [<c002c43c>] (l3_interrupt_handler+0x1b4/0x1c4)
    [  154.803710]  r3:c0361598 r2:c02ef74c
    [  154.807403] [<c002c288>] (l3_interrupt_handler+0x0/0x1c4) from [<c0085f44>] (handle_irq_event_percpu+0x58/0
    [  154.818237]  r8:0000002a r7:00000000 r6:00000000 r5:df808054 r4:df8893c0
    [  154.825378] [<c0085eec>] (handle_irq_event_percpu+0x0/0x188) from [<c00860b8>] (handle_irq_event+0x44/0x64)
    [  154.835662] [<c0086074>] (handle_irq_event+0x0/0x64) from [<c0088ec0>] (handle_fasteoi_irq+0xa4/0x10c)
    [  154.845458]  r6:0000002a r5:df808054 r4:df808000 r3:c034a150
    [  154.846466] [<c0088e1c>] (handle_fasteoi_irq+0x0/0x10c) from [<c0085ed0>] (generic_handle_irq+0x30/0x38)
    [  154.854278]  r5:c034aa48 r4:0000002a
    [  154.862091] [<c0085ea0>] (generic_handle_irq+0x0/0x38) from [<c000fd38>] (handle_IRQ+0x60/0xc0)
    [  154.874450]  r4:c034ea70 r3:000001f8
    [  154.878234] [<c000fcd8>] (handle_IRQ+0x0/0xc0) from [<c0008478>] (gic_handle_irq+0x20/0x5c)
    [  154.887023]  r7:ffffff40 r6:df9b9fb0 r5:c034e2b4 r4:0000001a
    [  154.887054] [<c0008458>] (gic_handle_irq+0x0/0x5c) from [<c000ea80>] (__irq_usr+0x40/0x60)
    [  154.901153] Exception stack(0xdf9b9fb0 to 0xdf9b9ff8)
    [  154.907104] 9fa0:                                     beaf1f04 4006be00 0000000f 0000000c
    [  154.915710] 9fc0: 4006c000 00000000 00008034 ffffff40 00000007 00000000 00000000 0007b8d7
    [  154.916778] 9fe0: 00000000 beaf1b68 0000d23c 4005baf0 80000010 ffffffff
    [  154.931335]  r6:ffffffff r5:80000010 r4:4005baf0 r3:beaf1f04
    [  154.937316] ---[ end trace 1b75b31a2719ed21 ]--

Cc: Rajendra Nayak <rnayak@ti.com>
Cc: Linux PM list <linux-pm@vger.kernel.org>
Reviewed-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Shubhrajyoti D <shubhrajyoti@ti.com>
Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
I2C: OMAP: Handle error check for pm runtime

If PM runtime get_sync fails return with the error
so that no further reads/writes goes through the interface.
This will avoid possible abort. Add a error message in case
of failure with the cause of the failure.

Reviewed-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Shubhrajyoti D <shubhrajyoti@ti.com>
Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
I2C: OMAP: prevent the overwrite of the errata flags

i2c_probe set the dev->errata flag, but omap_i2c_init cleared the flag again.
Prevent the overwrite of the errata flags.Move the errata handling to a unified
place in probe to prevent such errors.

Reviewed-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Tasslehoff Kjappfot <tasskjapp@gmail.com>
Signed-off-by: Shubhrajyoti D <shubhrajyoti@ti.com>
Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
I2C: OMAP: Do not set the XUDF(Transmit underflow) if the underflow is not reached

Currently in the 1.153 errata handling, while waiting for transmitter
underflow, if NACK is got the XUDF(Transmit underflow) flag is also set.
Fix this by setting the XUDF(Transmit underflow) flag after wait for the
condition is over.

Cc: Alexander Shishkin <virtuoso@slind.org>
Acked-by: Moiz Sonasath <m-sonasath@ti.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Shubhrajyoti D <shubhrajyoti@ti.com>
Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
I2C: OMAP: Fix timeout problem during suspend.

On a board with OMAP3 processor and TWL4030 Power management,
we need to talk to the TWL4030 during late suspend but cannot
because the I2C interrupt is disabled (as late suspend disables
interrupt).

e.g. I get messages like:

[   62.161102] musb-omap2430 musb-omap2430: LATE power domain suspend
[   63.167205] omap_i2c omap_i2c.1: controller timed out
[   63.183044] twl: i2c_read failed to transfer all messages
[   64.182861] omap_i2c omap_i2c.1: controller timed out
[   64.198455] twl: i2c_write failed to transfer all messages
[   65.198455] omap_i2c omap_i2c.1: controller timed out
[   65.203765] twl: i2c_write failed to transfer all messages

The stack shows omap2430_runtime_suspend calling twl4030_set_suspend
which tries to power-down the USB PHY (twl4030_phy_suspend ->
twl4030_phy_power -> __twl4030_phy_power which as a nice WARN_ON
that helps).

Then we get the same in resume:

[   69.603912] musb-omap2430 musb-omap2430: EARLY power domain resume
[   70.610473] omap_i2c omap_i2c.1: controller timed out
[   70.626129] twl: i2c_write failed to transfer all messages
etc.

So don't disable interrupts for I2C.

Acked-by: Kevin Hilman <khilman@ti.com>
Tested-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: NeilBrown <neilb@suse.de>
Signed-off-by: Shubhrajyoti D <shubhrajyoti@ti.com>
Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
i2c: omap: Annotate the remove code

The omap_i2c_remove function may not be needed after
device exit so the memory could be freed.

Signed-off-by: Shubhrajyoti D <shubhrajyoti@ti.com>
Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
i2c: omap: Use SET_RUNTIME_PM_OPS

Use SET_RUNTIME_PM_OPS macro to set runtime functions.

Acked-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Shubhrajyoti D <shubhrajyoti@ti.com>
Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
i2c: omap: Do not initialise the completion everytime

Use INIT_COMPLETION instead of init_completion in transfer.

Reviewed-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Shubhrajyoti D <shubhrajyoti@ti.com>
Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
I2C: OMAP: xfer: fix runtime PM get/put balance on error

In omap_i2c_xfer(), ensure pm_runtime_put() is called, even on
failure.

Without this, after a failed xfer, the runtime PM usecount will have
been incremented, but not decremented causing the usecount to never
reach zero after a failure.  This keeps the device always runtime PM
enabled which keeps the enclosing power domain active, and prevents
full-chip retention/off from happening during idle.

Signed-off-by: Kevin Hilman <khilman@ti.com>
Reviewed-by: Shubhrajyoti D <shubhrajyoti@ti.com>
Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
OMAPDSS: PANEL: tfp410: Add debug statements

Signed-off-by: Roger Quadros <rogerq@ti.com>
staging: omap/drm: disable connector polling during suspend

If we don't do this then we get l3 errors during suspend/resume
stress tests because i2c subsystem is accessed (read_edid of tfp410)
while i2c interrupts are disabled.

[  276.078735] WARNING: at arch/arm/mach-omap2/omap_l3_noc.c:117 l3_interrupt_handler+0x114/0x174()
[  276.088134] L3 custom error: MASTER:MPU TARGET:L4 PER2
[  276.093627] Modules linked in:
[  276.096923] Backtrace:
[  276.099578] [<c0012b58>] (dump_backtrace+0x0/0x114) from [<c04def30>] (dump_stack+0x20/0x24)
[  276.108642]  r6:c0033814 r5:00000009 r4:eb589c98 r3:c07457cc
[  276.114776] [<c04def10>] (dump_stack+0x0/0x24) from [<c003ecfc>] (warn_slowpath_common+0x5c/0x74)
[  276.124328] [<c003eca0>] (warn_slowpath_common+0x0/0x74) from [<c003edd0>] (warn_slowpath_fmt+0x40/0x48)
[  276.134460]  r8:00000000 r7:000000c8 r6:00000180 r5:00080003 r4:f003cb00
[  276.141509] r3:00000009
[  276.144378] [<c003ed90>] (warn_slowpath_fmt+0x0/0x48) from [<c0033814>] (l3_interrupt_handler+0x114/0x174)
[  276.154693]  r3:c073ebdc r2:c0614bd0
[  276.158599] [<c0033700>] (l3_interrupt_handler+0x0/0x174) from [<c008ca80>] (handle_irq_event_percpu+0x98/0x288)
[  276.169494]  r7:0000002a r6:c06fa140 r5:eb588000 r4:ed0ebd80
[  276.175628] [<c008c9e8>] (handle_irq_event_percpu+0x0/0x288) from [<c008ccbc>] (handle_irq_event+0x4c/0x6c)
[  276.186065] [<c008cc70>] (handle_irq_event+0x0/0x6c) from [<c008fbdc>] (handle_fasteoi_irq+0xe0/0x12c)
[  276.196044]  r6:c0718b00 r5:c06fa190 r4:c06fa140 r3:00000000
[  276.202178] [<c008fafc>] (handle_fasteoi_irq+0x0/0x12c) from [<c008c390>] (generic_handle_irq+0x30/0x40)
[  276.212341]  r5:00000000 r4:0000002a
[  276.216217] [<c008c360>] (generic_handle_irq+0x0/0x40) from [<c000f5c4>] (handle_IRQ+0x88/0xc8)
[  276.225524]  r4:0000002a r3:00000232
[  276.229400] [<c000f53c>] (handle_IRQ+0x0/0xc8) from [<c000864c>] (gic_handle_irq+0x4c/0x70)
[  276.238342]  r5:fa240100 r4:eb589da8
[  276.242217] [<c0008600>] (gic_handle_irq+0x0/0x70) from [<c000e180>] (__irq_svc+0x40/0x70)
[  276.251068] Exception stack(0xeb589da8 to 0xeb589df0)
[  276.256500] 9da0:                   c06fa190 60000113 00000040 00000000 0000002a c06fa140
[  276.265289] 9dc0: c06fa190 c0748ca4 00000000 c075e304 60000113 eb589dfc eb589e00 eb589df0
[  276.274047] 9de0: c00927c4 c04e7550 a0000113 ffffffff
[  276.279449]  r6:ffffffff r5:a0000113 r4:c04e7550 r3:c00927c4
[  276.285613] [<c04e7524>] (_raw_spin_unlock_irqrestore+0x0/0x58) from [<c00927c4>] (resume_irqs+0x80/0xa4)
[  276.295867] [<c0092744>] (resume_irqs+0x0/0xa4) from [<c0092824>] (resume_device_irqs+0x1c/0x20)
[  276.305328] [<c0092808>] (resume_device_irqs+0x0/0x20) from [<c02f485c>] (dpm_resume_noirq+0x1e8/0x208)
[  276.315399] [<c02f4674>] (dpm_resume_noirq+0x0/0x208) from [<c02f4ee8>] (dpm_resume_start+0x1c/0x28)
[  276.325225] [<c02f4ecc>] (dpm_resume_start+0x0/0x28) from [<c0076324>] (suspend_devices_and_enter+0x220/0x390)
[  276.335937]  r4:00000000 r3:00000000
[  276.339813] [<c0076104>] (suspend_devices_and_enter+0x0/0x390) from [<c007657c>] (pm_suspend+0xe8/0x1ec)
[  276.349945]  r8:c06181a9 r7:00000004 r6:c06181a9 r5:00000003 r4:00000000
[  276.356994] r3:c07457cc
[  276.359863] [<c0076494>] (pm_suspend+0x0/0x1ec) from [<c007552c>] (state_store+0x9c/0xcc)
[  276.368621]  r6:eb5d2000 r5:00000003 r4:00000003 r3:00000003
[  276.374755] [<c0075490>] (state_store+0x0/0xcc) from [<c025a8f4>] (kobj_attr_store+0x1c/0x28)
[  276.383911] [<c025a8d8>] (kobj_attr_store+0x0/0x28) from [<c0155af0>] (sysfs_write_file+0x110/0x158)
[  276.393707] [<c01559e0>] (sysfs_write_file+0x0/0x158) from [<c00f91a4>] (vfs_write+0xbc/0x148)
[  276.402954] [<c00f90e8>] (vfs_write+0x0/0x148) from [<c00f9438>] (sys_write+0x48/0x7c)
[  276.411437]  r8:00000004 r7:00022218 r6:ebaecf00 r5:00000000 r4:00000000
[  276.418701] [<c00f93f0>] (sys_write+0x0/0x7c) from [<c000e5c0>] (ret_fast_syscall+0x0/0x30)
[  276.427642]  r8:c000e828 r7:00000004 r6:000216cc r5:00000004 r4:00022218
[  276.434905] ---[ end trace 1c1feae32e18d60e ]---
[  276.440826] PM: early resume of devices complete after 0.396 msecs
[  276.933471] omapdss CORE: resume
[  276.943450] omapdss HDMI: ENTER hdmi_display_enable
[  276.948730] omapdss HDMI: hdmi_runtime_get
[  276.953124] omapdss HDMI: hdmi_power_on x_res= 1280 y_res = 1024
[  276.959625] omapdss HDMI: M = 450 Mf = 0
[  276.963836] omapdss HDMI: range = 1 sd = 4
[  276.968627] omapdss APPLY: dss_mgr_write_regs(1)
[  276.973571] omapdss APPLY: dss_ovl_write_regs(0)
[  276.978515] omapdss APPLY: dss_ovl_write_regs_extra(0)
[  276.984039] omapdss DISPC: dispc_enable_plane 0, 0
[  276.989196] omapdss DISPC: fifo(0) threshold (bytes), old 20352/118768, new 20352/118768
[  276.997863] omapdss APPLY: dss_mgr_write_regs_extra(1)
[  277.003356] omapdss DISPC: channel 1 xres 1280 yres 1024
[  277.205993] PM: resume of devices complete after 758.483 msecs
[  277.212707] PM: Finishing wakeup.
[  277.216369] Restarting tasks ... done.

Signed-off-by: Roger Quadros <rogerq@ti.com>
OMAPDSS: call runtime_get/put around register access in irq handler

without this we get l3 error during supsend/resume stress tests after which
OFF mode is never entered.

[  917.609374] ------------[ cut here ]------------
[  917.614349] WARNING: at arch/arm/mach-omap2/omap_l3_noc.c:99 l3_interrupt_handler+0x114/0x174()
[  917.623687] L3 standard error: TARGET:DSS  at address 0x101c
[  917.629730] Modules linked in:
[  917.633025] Backtrace:
[  917.635681] [<c0012b58>] (dump_backtrace+0x0/0x114) from [<c04def90>] (dump_stack+0x20/0x24)
[  917.644714]  r6:c0033814 r5:00000009 r4:eb62bc98 r3:c07457cc
[  917.650878] [<c04def70>] (dump_stack+0x0/0x24) from [<c003ecfc>] (warn_slowpath_common+0x5c/0x74)
[  917.660400] [<c003eca0>] (warn_slowpath_common+0x0/0x74) from [<c003edd0>] (warn_slowpath_fmt+0x40/0x48)
[  917.670562]  r8:00000000 r7:00000004 r6:00000000 r5:00080001 r4:f003c300
[  917.677612] r3:00000009
[  917.680450] [<c003ed90>] (warn_slowpath_fmt+0x0/0x48) from [<c0033814>] (l3_interrupt_handler+0x114/0x174)
[  917.690795]  r3:c0614caa r2:c0614b82
[  917.694702] [<c0033700>] (l3_interrupt_handler+0x0/0x174) from [<c008ca80>] (handle_irq_event_percpu+0x98/0x288)
[  917.705596]  r7:0000002a r6:c06fa140 r5:eb62a000 r4:ed0ebd80
[  917.711730] [<c008c9e8>] (handle_irq_event_percpu+0x0/0x288) from [<c008ccbc>] (handle_irq_event+0x4c/0x6c)
[  917.722198] [<c008cc70>] (handle_irq_event+0x0/0x6c) from [<c008fbdc>] (handle_fasteoi_irq+0xe0/0x12c)
[  917.732147]  r6:c0718b00 r5:c06fa190 r4:c06fa140 r3:00000000
[  917.738281] [<c008fafc>] (handle_fasteoi_irq+0x0/0x12c) from [<c008c390>] (generic_handle_irq+0x30/0x40)
[  917.748443]  r5:00000000 r4:0000002a
[  917.752349] [<c008c360>] (generic_handle_irq+0x0/0x40) from [<c000f5c4>] (handle_IRQ+0x88/0xc8)
[  917.761657]  r4:0000002a r3:00000232
[  917.765533] [<c000f53c>] (handle_IRQ+0x0/0xc8) from [<c000864c>] (gic_handle_irq+0x4c/0x70)
[  917.774474]  r5:fa240100 r4:eb62bda8
[  917.778350] [<c0008600>] (gic_handle_irq+0x0/0x70) from [<c000e180>] (__irq_svc+0x40/0x70)
[  917.787200] Exception stack(0xeb62bda8 to 0xeb62bdf0)
[  917.792632] bda0:                   c06fa190 60000113 00000040 00000000 0000002a c06fa140
[  917.801391] bdc0: c06fa190 c0748ca4 00000000 c075e304 60000113 eb62bdfc eb62be00 eb62bdf0
[  917.810180] bde0: c00927c4 c04e75b0 a0000113 ffffffff
[  917.815582]  r6:ffffffff r5:a0000113 r4:c04e75b0 r3:c00927c4
[  917.821716] [<c04e7584>] (_raw_spin_unlock_irqrestore+0x0/0x58) from [<c00927c4>] (resume_irqs+0x80/0xa4)
[  917.832000] [<c0092744>] (resume_irqs+0x0/0xa4) from [<c0092824>] (resume_device_irqs+0x1c/0x20)
[  917.841430] [<c0092808>] (resume_device_irqs+0x0/0x20) from [<c02f485c>] (dpm_resume_noirq+0x1e8/0x208)
[  917.851501] [<c02f4674>] (dpm_resume_noirq+0x0/0x208) from [<c02f4ee8>] (dpm_resume_start+0x1c/0x28)
[  917.861327] [<c02f4ecc>] (dpm_resume_start+0x0/0x28) from [<c0076324>] (suspend_devices_and_enter+0x220/0x390)
[  917.872039]  r4:00000000 r3:00000000
[  917.875915] [<c0076104>] (suspend_devices_and_enter+0x0/0x390) from [<c007657c>] (pm_suspend+0xe8/0x1ec)
[  917.886047]  r8:c0618189 r7:00000004 r6:c0618189 r5:00000003 r4:00000000
[  917.893096] r3:00000000
[  917.895934] [<c0076494>] (pm_suspend+0x0/0x1ec) from [<c007552c>] (state_store+0x9c/0xcc)
[  917.904693]  r6:eba7d000 r5:00000003 r4:00000003 r3:00000003
[  917.910827] [<c0075490>] (state_store+0x0/0xcc) from [<c025a8f4>] (kobj_attr_store+0x1c/0x28)
[  917.919982] [<c025a8d8>] (kobj_attr_store+0x0/0x28) from [<c0155af0>] (sysfs_write_file+0x110/0x158)
[  917.929778] [<c01559e0>] (sysfs_write_file+0x0/0x158) from [<c00f91a4>] (vfs_write+0xbc/0x148)
[  917.939025] [<c00f90e8>] (vfs_write+0x0/0x148) from [<c00f9438>] (sys_write+0x48/0x7c)
[  917.947509]  r8:00000004 r7:00022218 r6:eb420900 r5:00000000 r4:00000000
[  917.954772] [<c00f93f0>] (sys_write+0x0/0x7c) from [<c000e5c0>] (ret_fast_syscall+0x0/0x30)
[  917.963714]  r8:c000e828 r7:00000004 r6:000216cc r5:00000004 r4:00022218
[  917.970977] ---[ end trace 6b10fe9dd3a37778 ]---

Signed-off-by: Roger Quadros <rogerq@ti.com>
mfd: omap4scm: decrease print verbosity

Gets rid of these messages during system suspend/resume

[  278.457061] omap4plus_scm_save_ctxt: 1 / 1
[  278.461486] omap4plus_scm_save_ctxt: 0 done

Signed-off-by: Roger Quadros <rogerq@ti.com>
drm: Switch off connector when not in use

send DRM_MODE_DPMS_OFF signal to unused connector
when it is not in use.

Signed-off-by: Roger Quadros <rogerq@ti.com>
staging: omapdrm: Disable display on DMPS_OFF

This patch fixes the issue where DSS doesn't runtime
suspend when HDMI/DVI connector is unplugged.

Signed-off-by: Roger Quadros <rogerq@ti.com>
omap4 panda dss fix DVI MSEN gpio

Signed-off-by: Andy Green <andy.green@linaro.org>