1. 25 2月, 2012 1 次提交
    • T
      ARM: OMAP2+: Drop DISPC L3 firewall code · 1ca8c07b
      Tony Lindgren 提交于
      This is only needed when using SRAM for framebuffer,
      and the support for SRAM framebuffer is about to get
      removed.
      
      Otherwise we cannot move most of plat/io.h to be a local
      iomap.h for mach-omap2.
      
      Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
      Cc: linux-fbdev@vger.kernel.org
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      1ca8c07b
  2. 26 1月, 2012 2 次提交
    • T
      OMAPDSS: HDMI: PHY burnout fix · c49d005b
      Tomi Valkeinen 提交于
      A hardware bug in the OMAP4 HDMI PHY causes physical damage to the board
      if the HDMI PHY is kept powered on when the cable is not connected.
      
      This patch solves the problem by adding hot-plug-detection into the HDMI
      IP driver. This is not a real HPD support in the sense that nobody else
      than the IP driver gets to know about the HPD events, but is only meant
      to fix the HW bug.
      
      The strategy is simple: If the display device is turned off by the user,
      the PHY power is set to OFF. When the display device is turned on by the
      user, the PHY power is set either to LDOON or TXON, depending on whether
      the HDMI cable is connected.
      
      The reason to avoid PHY OFF when the display device is on, but the cable
      is disconnected, is that when the PHY is turned OFF, the HDMI IP is not
      "ticking" and thus the DISPC does not receive pixel clock from the HDMI
      IP. This would, for example, prevent any VSYNCs from happening, and
      would thus affect the users of omapdss. By using LDOON when the cable is
      disconnected we'll avoid the HW bug, but keep the HDMI working as usual
      from the user's point of view.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      c49d005b
    • T
      OMAPDSS: use sync versions of pm_runtime_put · 0eaf9f52
      Tomi Valkeinen 提交于
      omapdss doesn't work properly on system suspend. The problem seems to be
      the fact that omapdss uses pm_runtime_put() functions when turning off
      the hardware, and when system suspend is in process only sync versions
      are allowed.
      
      Using non-sync versions normally and sync versions when suspending would
      need rather ugly hacks to convey the information of
      suspending/not-suspending to different functions. Optimally the driver
      wouldn't even need to care about this, and the PM layer would handle
      syncing when suspend is in process.
      
      This patch changes all omapdss's pm_runtime_put calls to
      pm_runtime_put_sync. This fixes the suspend problem, and probably the
      performance penalty of always using sync versions is negligible.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      Acked-by: NKevin Hilman <khilman@ti.com>
      0eaf9f52
  3. 13 1月, 2012 1 次提交
  4. 05 1月, 2012 4 次提交
  5. 02 1月, 2012 8 次提交
    • C
      OMAPDSS: DISPC: Update Scaling Clock Logic · 7282f1b7
      Chandrabhanu Mahapatra 提交于
      Clock requirements for scaling in OMAP2, OMAP3 and OMAP4 are different. In
      OMAP2 and OMAP3 the required clock rate is a function of pixel clock, vertical
      downscale ratio and horizontal downscale ratio whereas in OMAP4 it is a
      function of pixel clock and horizontal downscale ratio only. Selection of 3-tap
      vs 5-tap coefficients depends on clock rate line buffer width in OMAP3 whereas
      in OMAP4 it is independent of clock rate and line buffer width. In OMAP2 3-tap
      for vertical and 5-tap for horizontal scaling is used. In OMAP4 5-tap is used
      both for horizontal and vertical scaling for better performance. Also, the
      number and width of line buffers differs in OMAP3 and OMAP4.
      
      So, clock functions have been fined tuned for OMAP3 and support has been added
      added for OMAP4. This code has been tested on OMAP2, OMAP3 and OMAP4, and
      scaling issues due to clock errors have been resolved.
      Signed-off-by: NChandrabhanu Mahapatra <cmahapatra@ti.com>
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      7282f1b7
    • C
      OMAPDSS: DISPC: Update Fir Coefficients · debd9074
      Chandrabhanu Mahapatra 提交于
      The FIR coefficients present in kernel are being updated to new coefficients
      consisting of 24 coefficient tables, with 12 each for 3 tap and 5 tap scenario,
      which are chosen on the basis of DISPC up/downsampling filters M value. M is
      the inverse of low pass cut off frequency of the sampling filter. For vertical
      scaling 3 tap or 5 tap tables are used based on the clock rate and width of
      the line buffer whereas in OMAP2 3 tap is always used. For horizontal scaling
      however 5 tap tables are always used.
      
      New coefficients and the corresponding logic have been tested on OMAP2, OMAP3
      and OMAP4. Horizontal and vertical scaling worked fine except for some 3 tap
      vs 5 tap issue during vertical upscaling and clock failing issues which is
      acknowledged in the next patch. Vertical upscaling was found to perform better
      under 5 taps. The 24 coefficient tables have been moved to another file
      dispc_coefs.c for proper maintainance.
      
      This code is written based on code written by Lajos Molnar <lajos@ti.com> in
      Android Kernel for scaling. Lajos Molnar <lajos@ti.com> had fine tuned the FIR
      coefficient selection process and reduced outliness and blockiness around
      images when upscaling more than 2 times.
      Signed-off-by: NChandrabhanu Mahapatra <cmahapatra@ti.com>
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      debd9074
    • R
      OMAPDSS: APPLY: fix NULL pointer deref when mgr is not set · 1f3f53ae
      Rob Clark 提交于
      extra_info_update_ongoing() goes through all overlays, but doesn't check
      if the overlay is connected to a manager. This leads to a crash whenever
      an overlay has been detached.
      
      Add a check to skip the non-connected overlays.
      Reported-by: NRob Clark <rob@ti.com>
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      1f3f53ae
    • A
      OMAPDSS: DSI: Fix HSDIV related PLL info in dsi_dump_clocks() · 84309f16
      Archit Taneja 提交于
      The clock names of DSI_PLL_HSDIV_DISPC and DSI_PLL_HSDIV_DSI was made
      dynamic based on the current value of DISPC and DSI FCLK sources. This
      doesn't need to be done since we are just interested in the clock names,
      and not the current clock sources for DISPC and DSI FCLKs.
      
      Use only the generic and omap specific names for the DSI PLL's HSDIV
      clocks.
      Signed-off-by: NArchit Taneja <archit@ti.com>
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      84309f16
    • T
      OMAPDSS: APPLY: move simple_check functions · 54540d41
      Tomi Valkeinen 提交于
      The functions dss_ovl_simple_check() and dss_mgr_simple_check() are not
      really part of the apply mechanism, and can be moved to overlay.c and
      manager.c.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      54540d41
    • R
      OMAPDSS: fix potential NULL pointer ref in OCP_ERR handling path · 00f17e45
      Rob Clark 提交于
      The dispc's error handler tries to disable all outputs when OCP_ERR
      happens. However, the code doesn't check if there actually is a display
      on each particular output, nor if there's a driver for the display. This
      may lead to NULL pointer reference.
      Signed-off-by: NRob Clark <rob@ti.com>
      [tomi.valkeinen@ti.com: added patch description]
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      00f17e45
    • T
      OMAPDSS: APPLY: move check functions · 6ac48d1e
      Tomi Valkeinen 提交于
      The functions dss_ovl_check, dss_mgr_check_zorder, dss_mgr_check in
      apply.c are not really part of the apply mechanism, and can be moved to
      overlay.c and manager.c.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      6ac48d1e
    • T
      OMAPDSS: APPLY: remove unused variables · 5af661ce
      Tomi Valkeinen 提交于
      dss_mgr_check_zorder() has two unused variables. Remove them.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      5af661ce
  6. 02 12月, 2011 24 次提交