1. 12 11月, 2014 1 次提交
  2. 22 10月, 2014 1 次提交
    • T
      OMAPDSS: set suppress_bind_attrs · 422ccbd5
      Tomi Valkeinen 提交于
      omapdss drivers cannot handle devices being unbound while the devices
      are part of a connected display pipeline. Module refcounts are used to
      prevent unloading the modules, but one can still manually unbind the
      devices via sysfs, causing crash.
      
      Set suppress_bind_attrs to disable the bind/unbind support via sysfs.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      422ccbd5
  3. 04 7月, 2014 1 次提交
  4. 09 5月, 2014 2 次提交
    • T
      OMAPDSS: HDMI: Add OMAP5 HDMI support · f5bab222
      Tomi Valkeinen 提交于
      This adds a new driver to omapdss for OMAP5 HDMI. However, the new
      driver uses common HDMI files which are shared with OMAP4 HDMI driver.
      
      OMAP5 HDMI has a different HDMI core IP compared to OMAP4, but has very
      similar PLL and PHY IPs which can be handled with common code.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      f5bab222
    • T
      OMAPDSS: HDMI: move irq & phy pwr handling · dcf5f729
      Tomi Valkeinen 提交于
      HDMI IRQ handling was moved into hdmi_phy.c when restructuring the HDMI
      driver. While this worked fine, it's not correct.
      
      The HDMI IRQ handling should be either in the hdmi_wp, or in the main
      hdmi driver. This patch moves the handling to the main hdmi driver, as I
      feel it's a more appropriate choice.
      
      This move also requires changing the handling of the PHY power, as that
      was partly handled in the IRQ handler. The PHY power is handled via the
      WP module. An option would be to give HDMI PHY driver function pointers
      that it could use to manage the PHY power, but as the PHY power is not
      needed to access the PHY registers, the handling was also moved to the
      main HDMI driver. This could be changed later if need be.
      
      Note that there's slightly similar power issue with the PLL: the HDMI
      PLLs power is also handled via the WP module. For now, the PLL power
      handling is still done inside the PLL driver.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      dcf5f729
  5. 07 5月, 2014 2 次提交
  6. 17 4月, 2014 1 次提交
  7. 04 4月, 2014 1 次提交
  8. 19 3月, 2014 2 次提交
  9. 05 3月, 2014 1 次提交
    • T
      OMAPDSS: convert pixel clock to common videomode style · d8d78941
      Tomi Valkeinen 提交于
      omapdss has its own video-timings struct, but we want to move the common
      videomode.
      
      The first step is to change the omapdss's pixelclock unit from kHz to
      Hz. Also, omapdss uses "pixel_clock" field name, whereas the common
      videomode uses "pixelclock" field name. This patch changes the field
      name also, as that makes it easy to spot any non-converted pixel_clock
      uses.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      d8d78941
  10. 13 1月, 2014 3 次提交
  11. 09 10月, 2013 8 次提交
    • A
      omapdss: HDMI: move common functions to a separate file · 08d83e4e
      Archit Taneja 提交于
      The OMAP4 HDMI encoder driver(hdmi4.c) contains timings tables, and helper
      functions which can be used as is by the OMAP5/DRA7x encoder driver. Move these
      to hdmi_common.c so that it's not replicated in the future.
      Signed-off-by: NArchit Taneja <archit@ti.com>
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      08d83e4e
    • A
      omapdss: OMAP4: HDMI: remove unnecessary edid macros · c8a0d959
      Archit Taneja 提交于
      The hdmi4 driver has edid macros that aren't used at all. Remove them.
      Signed-off-by: NArchit Taneja <archit@ti.com>
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      c8a0d959
    • A
      omapdss: HDMI: Rename hdmi driver files to nicer names · ef26958a
      Archit Taneja 提交于
      Replace the ti_hdmi_4xxx* notation for OMAP4 HDMI driver with hdmi4. Rename
      the hdmi.c encoder driver to hdmi4.c. Rename ti_hdmi.h to hdmi.h
      Signed-off-by: NArchit Taneja <archit@ti.com>
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      ef26958a
    • A
      omapdss: HDMI: remove hdmi_ip_data struct · 275cfa1a
      Archit Taneja 提交于
      The struct hdmi_ip_data contains information related to HDMI wrapper, PLL, PHY
      and core sub-blocks. Now that each of these sub blocks has it's own struct,
      hdmi_ip_data serves no purpose. The mutex lock in the struct was also never
      used.
      
      Remove this struct to make things cleaner.
      Signed-off-by: NArchit Taneja <archit@ti.com>
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      275cfa1a
    • A
      omapdss: HDMI: Use OMAP4 HDMI core functions directly and remove hdmi_ip_ops · 425f02fd
      Archit Taneja 提交于
      After removing wrapper, pll and phy funcs from ti_hdmi_4xxx_ip.c, we are left
      with OMAP4 HDMI core functions. Use these directly in hdmi.c rather than using
      hdmi_ip_ops. Rename the core functions with a 'hdmi4' suffix.
      
      We used to have hdmi_ip_ops so that one could support HDMI within a TI SoC which
      had a non-DSS display subsytem. This however never got put into use, and hence
      these ops aren't useful any more.
      
      The DT/hwmod information for hdmi doesn't split the address space according to
      the required sub blocks. Keep the address offset and size information in the
      driver for now. This will be removed when the driver gets the information
      correctly from DT/hwmod.
      Signed-off-by: NArchit Taneja <archit@ti.com>
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      425f02fd
    • A
      omapdss: HDMI: create a PHY library · 5cac5aee
      Archit Taneja 提交于
      HDMI PHY is a block common to DSS in OMAP4, OMAP5 and DRA7x. Move the
      existing functions from ti_hdmi_4xxx_ip.c to a separate file. These funcs are
      called directly from the hdmi driver rather than hdmi_ip_ops function pointer
      calls.
      
      Add the PHY library function declarations to ti_hdmi.h. These will be shared
      amongst the omap4/5 hdmi platform drivers. Remove the PHY function pointer ops
      from the ti_hdmi_ip_ops struct.
      
      The DT/hwmod information for hdmi doesn't split the address space according to
      the required sub blocks. Keep the address offset and size information in the
      driver for now. This will be removed when the driver gets the information
      correctly from DT/hwmod.
      Signed-off-by: NArchit Taneja <archit@ti.com>
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      5cac5aee
    • A
      omapdss: HDMI: create a PLL library · c1577c1e
      Archit Taneja 提交于
      HDMI PLL is a block common to DSS in OMAP4, OMAP5 and DRA7x. Move the
      existing PLL functions from ti_hdmi_4xxx_ip.c and hdmi.c to a separate file.
      These funcs are called directly from the hdmi driver rather than hdmi_ip_ops
      function pointer calls.
      
      Add the PLL library function declarations to ti_hdmi.h. These will be shared
      amongst the omap4/5 hdmi platform drivers. Remove the PLL function pointer ops
      from the ti_hdmi_ip_ops struct. These will be shared amongst the omap4/5 hdmi
      platform drivers and other libraries.
      
      The DT/hwmod information for hdmi doesn't split the address space according to
      the required sub blocks. Keep the address offset and size information in the
      driver for now. This will be removed when the driver gets the information
      correctly from DT/hwmod.
      Signed-off-by: NArchit Taneja <archit@ti.com>
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      c1577c1e
    • A
      omapdss: HDMI: create a Wrapper library · f382d9eb
      Archit Taneja 提交于
      HDMI wrapper is a block common to DSS in OMAP4, OMAP5 and DRA7x. Move the
      existing functions from ti_hdmi_4xxx_ip.c to a separate file. These funcs are
      called directly from the hdmi driver rather than hdmi_ip_ops funtion pointer
      calls.
      
      Add new wrapper funcs which can be used by other hdmi libraries like core, pll
      and phy. Move some of the enums, structs and funcs related to the wrapper from
      ti_hdmi_4xxx_ip.h to ti_hdmi.h. These will be shared amongst the omap4/5 hdmi
      platform drivers and other libraries.
      
      The old hdmi_wp_init() is removed since it didn't do anything. Timing parameters
      like interlace, hsync_level and vsync_level weren't copied correctly before.
      Those are copied correctly now.
      
      The DT/hwmod information for hdmi doesn't split the address space according to
      the required sub blocks. Keep the address offset and size information in the
      driver for now. This will be removed when the driver gets the information
      correctly from DT/hwmod.
      Signed-off-by: NArchit Taneja <archit@ti.com>
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      f382d9eb
  12. 30 8月, 2013 1 次提交
    • T
      OMAPDSS: rename omap_dss_device's 'device' field to 'dst' · 9560dc10
      Tomi Valkeinen 提交于
      In the old panel device model we had omap_dss_output entities,
      representing the encoders in the DSS block. This entity had "device"
      field, which pointed to the panel that was using the omap_dss_output.
      
      With the new panel device model, the omap_dss_output is integrated into
      omap_dss_device, which now represents a "display entity". Thus the "device"
      field, now in omap_dss_device, points to the next entity in the display
      entity-chain.
      
      This patch renames the "device" field to "dst", which much better tells
      what the field points to.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      Reviewed-by: NArchit Taneja <archit@ti.com>
      9560dc10
  13. 29 8月, 2013 2 次提交
  14. 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
  15. 18 5月, 2013 1 次提交
  16. 02 5月, 2013 2 次提交