1. 09 5月, 2012 2 次提交
    • A
      OMAPDSS: DPI/HDMI: Apply manager timings even if panel is disabled · fcc36619
      Archit Taneja 提交于
      The DPI and HDMI interfaces use their 'set_timing' functions to take in a new
      set of timings. If the panel is disabled, they do not disable and re-enable
      the interface. Currently, the manager timings are applied in hdmi_power_on()
      and dpi_set_mode() respectively, these are not called by set_timings if the
      panel is disabled.
      
      When checking overlay and manager data, the DSS driver uses the last applied
      manager timings, and not the timings held by omap_dss_device struct. Hence,
      there is a need to apply the new manager timings even if the panel is disabled.
      
      Apply the manager timings if the panel is disabled. Eventually, there should be
      one common place where the timings are applied independent of the state of the
      panel.
      Signed-off-by: NArchit Taneja <archit@ti.com>
      fcc36619
    • A
      OMAPDSS: Apply manager timings instead of direct DISPC writes · 41721163
      Archit Taneja 提交于
      Replace the function dispc_mgr_set_timings() with dss_mgr_set_timings() in the
      interface drivers. The latter function ensures that the timing related DISPC
      registers are configured according to the shadow register programming model.
      
      Remove the call to dispc_mgr_go() in dpi_set_timings() as the manager's go bit
      is set by dss_mgr_set_timings().
      Signed-off-by: NArchit Taneja <archit@ti.com>
      41721163
  2. 23 4月, 2012 1 次提交
    • A
      OMAPDSS: DISPC: Use a common function to set manager timings · c51d921a
      Archit Taneja 提交于
      Currently, a LCD manager's timings is set by dispc_mgr_set_lcd_timings() and TV
      manager's timings is set by dispc_set_digit_size(). Use a common function called
      dispc_mgr_set_timings() which sets timings for both type of managers.
      
      We finally want the interface drivers to use an overlay manager function to
      configure it's timings, having a common DISPC function would make things
      cleaner.
      
      For LCD managers, dispc_mgr_set_timings() sets LCD size and blanking values, for
      TV manager, it sets only the TV size since blanking values don't exist for TV.
      Signed-off-by: NArchit Taneja <archit@ti.com>
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      c51d921a
  3. 06 3月, 2012 1 次提交
    • M
      OMAPDSS: HDMI: Add M2 divider while calculating clkout · dd2116a3
      Mythri P K 提交于
      While calculating regm and regmf value add using M2 divider in
      the equation.
      Formula for calculating:
      Output clock on digital core domain:
      	CLKOUT = (M / (N+1))*CLKINP*(1/M2)
      Internal oscillator output clock on internal LDO domain:
      	CLKDCOLDO = (M / (N+1))*CLKINP
      The current code when allows variable M2 values as input
      ignores using M2 divider values in calculation of regm and regmf.
      so fix it by using M2 in calculation although the default value for
      M2 is 1.
      Signed-off-by: NMythri P K <mythripk@ti.com>
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      dd2116a3
  4. 23 2月, 2012 1 次提交
    • A
      OMAPDSS: HACK: Ensure DSS clock domain gets out of idle when HDMI is enabled · a247ce78
      Archit Taneja 提交于
      For DSS clock domain to transition from idle to active state. It's necessary
      to enable the optional clock DSS_FCLK before we enable the module using the
      MODULEMODE bits in the clock domain's CM_DSS_DSS_CLKCTRL register.
      
      This sequence was not followed correctly for the 'dss_hdmi' hwmod and it led
      to DSS clock domain not getting out of idle when pm_runtime_get_sync() was
      called for hdmi's platform device.
      
      Since the clock domain failed to change it's state to active, the hwmod code
      disables any clocks it had enabled before for this hwmod. This led to the clock
      'dss_48mhz_clk' gettind disabled.
      
      When hdmi's runtime_resume() op is called, the call to dss_runtime_get()
      correctly enables the DSS clock domain this time. However, the clock
      'dss_48mhz_clk' is needed for HDMI's PHY to function correctly. Since it was
      disabled previously, the driver fails when it tries to enable HDMI's PHY.
      
      Fix this for now by ensuring that dss_runtime_get() is called before we call
      pm_runtime_get_sync() for hdmi's platform device. A correct fix for later would
      be to modify the DSS related hwmod's mainclks, and also some changes in how
      opt clocks are handled in the DSS driver.
      
      This fixes the issue of HDMI not working when it's the default display. The
      issue is not seen if any other display is already enabled as the first display
      would have correctly enabled the DSS clockdomain.
      Signed-off-by: NArchit Taneja <archit@ti.com>
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      a247ce78
  5. 21 2月, 2012 1 次提交
  6. 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
  7. 25 1月, 2012 3 次提交
  8. 05 1月, 2012 3 次提交
  9. 02 12月, 2011 2 次提交
  10. 18 11月, 2011 1 次提交
  11. 30 9月, 2011 20 次提交
  12. 20 9月, 2011 2 次提交
  13. 14 9月, 2011 1 次提交