1. 17 6月, 2013 4 次提交
  2. 18 5月, 2013 1 次提交
  3. 02 5月, 2013 2 次提交
  4. 10 4月, 2013 1 次提交
  5. 03 4月, 2013 4 次提交
  6. 23 1月, 2013 1 次提交
  7. 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
  8. 16 11月, 2012 1 次提交
  9. 07 11月, 2012 2 次提交
  10. 06 11月, 2012 5 次提交
  11. 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
  12. 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
  13. 26 10月, 2012 1 次提交
  14. 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
  15. 22 10月, 2012 1 次提交
  16. 16 10月, 2012 1 次提交
  17. 26 9月, 2012 2 次提交
    • A
      OMAPDSS: HDMI: Replace dssdev->manager with dssdev->output->manager references · cea87b92
      Archit Taneja 提交于
      With addition of output entities, a device connects to an output, and an output
      connects to overlay manager. Replace the dssdev->manager references with
      dssdev->output->manager to access the manager correctly.
      
      When enabling the HDMI output, check whether the output entity connected to
      display is not NULL.
      Signed-off-by: NArchit Taneja <archit@ti.com>
      cea87b92
    • A
      OMAPDSS: outputs: Create and register output instances · 81b87f51
      Archit Taneja 提交于
      Add output structs to output driver's private data. Register output instances by
      having an init function in the probes of the platform device drivers for
      different outputs. The *_init_output for each output registers the output and
      fill up the output's plaform device, type and id fields. The *_uninit_output
      functions unregister the output.
      
      In the probe of each interface driver, the output entities are initialized
      before the *_probe_pdata() functions intentionally. This is done to ensure that
      the output entity is prepared before the panels connected to the output are
      registered. We need the output entities to be ready because OMAPDSS will try
      to make connections between overlays, managers, outputs and devices during the
      panel's probe.
      Signed-off-by: NArchit Taneja <archit@ti.com>
      81b87f51
  18. 18 9月, 2012 4 次提交
    • T
      OMAPDSS: alloc dssdevs dynamically · 5274484b
      Tomi Valkeinen 提交于
      We currently create omap_dss_devices statically in board files, and use
      those devices directly in the omapdss driver. This model prevents us
      from having the platform data (which the dssdevs in board files
      practically are) as read-only, and it's also different than what we will
      use with device tree.
      
      This patch changes the model to be in line with DT model: we allocate
      the dssdevs dynamically, and initialize them according to the data in
      the board file's dssdev (basically we memcopy the dssdev fields).
      
      The allocation and registration is done in the following steps in the
      output drivers:
      
      - Use dss_alloc_and_init_device to allocate and initialize the device.
        The function uses kalloc and device_initialize to accomplish this.
      - Call dss_copy_device_pdata to copy the data from the board file's
        dssdev
      - Use dss_add_device to register the device.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      5274484b
    • T
      OMAPDSS: explicitely initialize dssdev->channel for new displays · bcb226a9
      Tomi Valkeinen 提交于
      HDMI and VENC outputs always use the DIGIT output from DISPC. The dssdev
      struct contains "channel" field which is used to specify the DISPC
      output for the display, but this was not used for HDMI and VENC.
      
      This patch fills the channel field explicitely for HDMI and VENC
      displays so that we can always rely on the channel field.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      bcb226a9
    • T
      OMAPDSS: register only one display device per output · 1521653c
      Tomi Valkeinen 提交于
      We have boards with multiple panel devices connected to the same
      physical output, of which only one panel can be enabled at one time.
      Examples of these are Overo, where you can use different daughter boards
      that have different LCDs, and 3430SDP which has an LCD and a DVI output
      and a physical switch to select the active display.
      
      These are supported by omapdss so that we add all the possible display
      devices at probe, but the displays are inactive until somebody enables
      one. At this point the panel driver starts using the DSS, thus reserving
      the physcal resource and excluding the other panels.
      
      This is problematic:
      - Panel drivers can't allocate their resources properly at probe(),
        because the resources can be shared with other panels. Thus they can
        be only reserved at enable time.
      - Managing this in omapdss is confusing. It's not natural to have
        child devices, which may not even exist (for example, a daughterboard
        that is not connected).
      
      Only some boards have multiple displays per output, and of those, only
      very few have possibility of switching the display during runtime.
      Because of the above points:
      - We don't want to make omapdss and all the panel drivers more complex
        just because some boards have complex setups.
      - Only few boards support runtime switching, and afaik even then it's
        not required. So we don't need to support runtime switching.
      
      Thus we'll change to a model where we will have only one display device
      per output and this cannot be (currently) changed at runtime. We'll
      still have the possibility to select the display from multiple options
      during boot with the default display option.
      
      This patch accomplishes the above by changing how the output drivers
      register the display device. Instead of registering all the devices
      given from the board file, we'll only register one. If the default
      display option is set, the output driver selects that display from its
      displays. If the default display is not set, or the default display is
      not one of the output's displays, the output driver selects the first
      display.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      1521653c
    • T
      OMAPDSS: omap_dss_register_device() doesn't take display index · 8768a52f
      Tomi Valkeinen 提交于
      We used to have all the displays of the board in one list, and we made a
      "displayX" directory in the sysfs, where X was the index of the display
      in the list.
      
      This doesn't work anymore with device tree, as there's no single list to
      get the number from, and it doesn't work very well even with non-DT as
      we need to do some tricks to get the index nowadays.
      
      This patch changes omap_dss_register_device() so that it doesn't take
      disp_num as a parameter anymore, but uses a private increasing counter
      for the display number.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      8768a52f
  19. 08 9月, 2012 2 次提交
    • T
      OMAPDSS: fix set_timings · b82fe7f0
      Tomi Valkeinen 提交于
      set_timings function of DSS's output drivers are not consistent. Some of
      them disable the output, set the timings, and re-enable the output. Some
      set the timings on the fly, while the output is enabled. And some just
      store the given timings, so that they will be taken into use next time
      the output is enabled.
      
      We require the DISPC output to be disabled when changing the timings,
      and so we can change all the output drivers' set_timings to just store
      the given timings.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      b82fe7f0
    • T
      OMAPDSS: HDMI: use vdda_hdmi_dac · 17486943
      Tomi Valkeinen 提交于
      The HDMI driver requires vdda_hdmi_dac power for operation, but does not
      enable it. This has worked because the regulator has been always
      enabled.
      
      But this may not always be the case, as I encountered when implementing
      HDMI device tree support.
      
      This patch changes the HDMI driver to use the vdda_hdmi_dac.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      17486943