1. 29 8月, 2013 1 次提交
  2. 17 6月, 2013 11 次提交
    • T
      OMAPDSS: HDMI: Add ops · 0b450c31
      Tomi Valkeinen 提交于
      Add "ops" style method for using HDMI functionality.
      
      Ops style calls will allow us to have arbitrarily long display
      pipelines, where each entity can call ops in the previous display
      entity.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      0b450c31
    • T
      OMAPDSS: public omapdss_register_output() · 5d47dbc8
      Tomi Valkeinen 提交于
      In order to allow multiple display block in a video pipeline, we need to
      give the drivers way to register themselves. For now we have
      the omapdss_register_display() which is used to register panels, and
      dss_register_output() which is used to register DSS encoders.
      
      This patch makes dss_register_output() public (with the name of
      omapdss_register_output), which can be used to register also external
      encoders. The distinction between register_output and register_display
      is that a "display" is an entity at the end of the videopipeline, and
      "output" is something inside the pipeline.
      
      The registration and naming will be made saner in the future, but the
      current names and functions are kept to minimize changes during the dss
      device model transition.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      5d47dbc8
    • T
      OMAPDSS: remove dispc's dependency to VENC/HDMI · 5391e87d
      Tomi Valkeinen 提交于
      DISPC needs to know the clock rate for DIGIT (i.e. TV) channel, and this
      clock is provided by either VENC or HDMI modules. Currently DISPC will
      call a function in VENC/HDMI, asking what the clock rate is. This means
      we have a fixed dependency from DISPC to both VENC and HDMI.
      
      To have a more generic approach, and in particular to allow adding OMAP5
      HDMI driver, we need to remove this dependency. This patch makes
      VENC/HDMI inform DISPC when the their clock changes, thus reversing the
      dependency and removing the issue.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      5391e87d
    • T
      OMAPDSS: HDMI clean up hpd_gpio · 29356be1
      Tomi Valkeinen 提交于
      hpd_gpio is no longer used by the OMAP4 HDMI IP driver, and we can thus
      remove the unnecessary code.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      29356be1
    • T
      OMAPDSS: HDMI: clean up PHY power handling · ddb1d5ca
      Tomi Valkeinen 提交于
      The TRM tells to set PHY to TXON only after getting LINK_CONNECT, and to
      set PHY to OFF or LDOON after getting LINK_DISCONNECT, in order to avoid
      damage to the PHY.
      
      We don't currently do it quite like that. Instead of using the HDMI
      interrupts, we use HPD signal. This works, but is not actually quite
      correct, as HPD comes at a different time than LINK_CONNECT and
      LINK_DISCONNECT interrupts. Also, the HPD GPIO is a property of the TPD
      level shifter, not HDMI IP, so handling the GPIO in the HDMI driver is
      wrong.
      
      This patch implements the PHY power handling correctly, using the
      interrupts.
      
      There is a corner case that causes some additional difficulties: we may
      get both LINK_CONNECT and LINK_DISCONNECT interrupts at the same time.
      This is handled in the code by retrying: turning off the PHY, clearing
      the interrupt status, and re-enabling the PHY. This causes a new
      LINK_CONNECT interrupt to happen if a cable is connected.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      ddb1d5ca
    • T
      OMAPDSS: add THIS_MODULE owner to DSS outputs · b7328e14
      Tomi Valkeinen 提交于
      Setup the owner field for DSS output's omap_dss_device so that module
      refcounting works.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      b7328e14
    • T
      OMAPDSS: combine omap_dss_output into omap_dss_device · 1f68d9c4
      Tomi Valkeinen 提交于
      We currently have omap_dss_device, which represents an external display
      device, sometimes an external encoder, sometimes a panel. Then we have
      omap_dss_output, which represents DSS's output encoder.
      
      In the future with new display device model, we construct a video
      pipeline from the display blocks. To accomplish this, all the blocks
      need to be presented by the same entity.
      
      Thus, this patch combines omap_dss_output into omap_dss_device. Some of
      the fields in omap_dss_output are already found in omap_dss_device, but
      some are not. This means we'll have DSS output specific fields in
      omap_dss_device, which is not very nice. However, it is easier to just
      keep those output specific fields there for now, and after transition to
      new display device model is made, they can be cleaned up easier than
      could be done now.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      1f68d9c4
    • T
      OMAPDSS: remove omap_dss_start/stop_device() · d3923933
      Tomi Valkeinen 提交于
      The omap_dss_start_device() and omap_dss_stop_device(), called by the
      DSS output drivers, are old relics. They originally did something
      totally else, but nowadays they increase the module ref count for panels
      that are enabled.
      
      This model is quite broken: the panel modules may be used even before
      they are enabled. For example, configuring the panel requires calls to
      functions located in the panel modules.
      
      In the following patches we try to improve the ref count management for
      the modules and display devices. The first step, however, is to remove
      the omap_dss_start/stop_device() totally.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      d3923933
    • T
      OMAPDSS: remove dssdev uses in trivial cases · 7ae9a71e
      Tomi Valkeinen 提交于
      In the future the "dssdev" parameter passed to output drivers will
      change its meaning. Instead of being a pointer to the panel device, it's
      a pointer to the output instance.
      
      To make the transition easier, some of the uses for this dssdev
      parameter can be easily removed.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      7ae9a71e
    • T
      OMAPDSS: HDMI: add hdmi_init_regulator · e25001d8
      Tomi Valkeinen 提交于
      Separate regulator init code into its own function for clarity.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      e25001d8
    • T
      OMAPDSS: only probe pdata if there's one · c6ca5b22
      Tomi Valkeinen 提交于
      omapdss output drivers always read the platform data. This crashes when
      there's no platform data when using DT.
      
      Add a check to read the platform data only if it exists.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      c6ca5b22
  3. 18 5月, 2013 1 次提交
  4. 02 5月, 2013 2 次提交
  5. 10 4月, 2013 1 次提交
  6. 03 4月, 2013 4 次提交
  7. 23 1月, 2013 1 次提交
  8. 07 12月, 2012 1 次提交
    • T
      OMAPDSS: manage output-dssdev connection in output drivers · 486c0e17
      Tomi Valkeinen 提交于
      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: NTomi Valkeinen <tomi.valkeinen@ti.com>
      486c0e17
  9. 16 11月, 2012 1 次提交
  10. 07 11月, 2012 2 次提交
  11. 06 11月, 2012 5 次提交
  12. 05 11月, 2012 1 次提交
    • T
      OMAPDSS: hide dss_select_dispc_clk_source() · a5b8399f
      Tomi Valkeinen 提交于
      dss.c currently exposes functions to configure the dispc source clock
      and lcd source clock. There are configured separately from the output
      drivers.
      
      However, there is no safe way for the output drivers to handle dispc
      clock, as it's shared between the outputs. Thus, if, say, the DSI driver
      sets up DSI PLL and configures both the dispc and lcd clock sources to
      that DSI PLL, the resulting dispc clock could be too low for, say, HDMI.
      
      Thus the output drivers should really only be concerned about the lcd
      clock, which is what the output drivers actually use. There's lot to do
      to clean up the dss clock handling, but this patch takes one step
      forward and removes the use of dss_select_dispc_clk_source() from the
      output drivers.
      
      After this patch, the output drivers only configure the lcd source
      clock. On omap4+ the dispc src clock is never changed from the default
      PRCM source. On omap3, where the dispc and lcd clocks are actually the
      same, setting the lcd clock source sets the dispc clock source.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      a5b8399f
  13. 29 10月, 2012 5 次提交
    • T
      OMAPDSS: HDMI: make hdmi pclk check more permissive · f236b892
      Tomi Valkeinen 提交于
      The hdmi driver tries to find the given video timings from its static
      list of timings, to find the required ID for the mode. The check tries
      to find exact match for the pixel clock, among other checks.
      
      with omapfb driver there can be some amount of error in the give pixel
      clock, as the pixel clock is converted between Hz and ps, thus the
      hdmi's check fails to find the mode.
      
      This patch makes the check more allowing, by rounding the pixel clocks
      to nearest MHz.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      Cc: Ricardo Neri <ricardo.neri@ti.com>
      f236b892
    • T
      OMAPDSS: HDMI: add 1920x1200 video mode · 7a7ce2c7
      Tomi Valkeinen 提交于
      Add 1920x1200 video mode to hdmi driver's static modelist.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      Cc: Ricardo Neri <ricardo.neri@ti.com>
      7a7ce2c7
    • T
      OMAPDSS: HDMI: use core power on/off with edid & detect · 4489823c
      Tomi Valkeinen 提交于
      This patch makes use of the hdmi_power_[on|off]_core() functions added
      in the previous patch. The functions are used when reading EDID or
      detecting if a monitor is connected.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      Cc: Ricardo Neri <ricardo.neri@ti.com>
      4489823c
    • T
      OMAPDSS: HDMI: split power_on/off to two parts · bb426fc9
      Tomi Valkeinen 提交于
      There's currently just one power-on function for HDMI, which enables the
      IP and the video output. When reading EDID or detecting if a monitor is
      connected, we don't need the video output.
      
      Enabling the video output for these operations is not a big problem in
      itself, but the quick enable/disable cycles caused by the operations
      seem to cause sync lost errors from time to time. Also, this makes it
      possible to read the EDID before the full video path has been set up.
      
      This patch splits the hdmi_power_on into two parts, hdmi_power_on_core
      and hdmi_power_on_full. The "full" version does what hdmi_power_on does
      currently, and hdmi_power_on_core only enables the core IP. Similar
      changes are made for power_off.
      
      Note that these don't allow the HDMI IP to be first enabled, and later
      enable the video output, but the HDMI IP will first need to be powered
      off before calling the full version. So this is rather limited
      implementation, but it fills the needs for reading EDID.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      Cc: Ricardo Neri <ricardo.neri@ti.com>
      bb426fc9
    • T
      OMAPDSS: export dss_get_def_display_name() · 2bbcce5e
      Tomi Valkeinen 提交于
      Export dss_get_def_display_name() with the name of
      omapdss_get_def_display_name() so that omapfb can use it after the next
      patch which moves default display handling to omapfb.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      2bbcce5e
  14. 26 10月, 2012 1 次提交
  15. 24 10月, 2012 1 次提交
    • T
      OMAPDSS: get the dss version from core pdev · b2c7d54f
      Tomi Valkeinen 提交于
      The output drivers get the omapdss hw version from the platform data for
      their respective output device. This doesn't work with DT, as there's no
      platform data for them.
      
      Add a new function, omapdss_get_version(), which returns the dss version
      from the core device, which will have platform data on DT also. The
      function is exported so that users of omapdss can also use it.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      b2c7d54f
  16. 22 10月, 2012 1 次提交
  17. 16 10月, 2012 1 次提交