1. 12 11月, 2014 3 次提交
  2. 22 10月, 2014 2 次提交
  3. 26 8月, 2014 1 次提交
  4. 08 8月, 2014 1 次提交
  5. 09 5月, 2014 2 次提交
  6. 07 5月, 2014 1 次提交
  7. 17 4月, 2014 1 次提交
  8. 14 4月, 2014 1 次提交
    • T
      OMAPDSS: fix shared irq handlers · 0925afc9
      Tomi Valkeinen 提交于
      DSS uses shared irq handlers for DISPC and DSI, because on OMAP3, the
      DISPC and DSI share the same irq line.
      
      However, the irq handlers presume that the hardware is enabled, which,
      in theory, may not be the case with shared irq handlers. So if an
      interrupt happens while the DISPC/DSI is off, the kernel will halt as
      the irq handler tries to access the DISPC/DSI registers.
      
      In practice that should never happen, as both DSI and DISPC are in the
      same power domain. So if there's an IRQ for one of them, the other is
      also enabled. However, if CONFIG_DEBUG_SHIRQ is enabled, the kernel will
      generate a spurious IRQ, which then causes the problem.
      
      This patch adds an is_enabled field for both DISPC and DSI, which is
      used to track if the HW is enabled. For DISPC the code is slightly more
      complex, as the users of DISPC can register the interrupt handler, and
      we want to hide the is_enabled handling from the users of DISPC.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      0925afc9
  9. 04 4月, 2014 1 次提交
  10. 19 3月, 2014 2 次提交
    • T
      OMAPDSS: Add DT support to DSI · 6274a619
      Tomi Valkeinen 提交于
      Add the code to make the DSI driver work with device tree on OMAP3 and
      OMAP4.
      
      A minor hack is needed at the moment in the DSI driver: the DSS driver
      needs to know the ID number of a DSI device, as clocks are routed in
      different ways to the DSI devices. At the moment we don't have any
      proper way to manage this, so this patchs adds a simple lookup table
      that is used to deduce the ID from the DSI device's base address.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      Reviewed-by: NArchit Taneja <archit@ti.com>
      6274a619
    • T
      OMAPDSS: Improve regulator names for DT · e6fa68ba
      Tomi Valkeinen 提交于
      The regulator names used for DSS components are somewhat ugly for DT
      use. As we're just adding DT support, it's simple to change the
      regulator names.
      
      This patch makes the DSS driver get the regulators with somewhat cleaner
      names when bootin with DT. For example, this allows us to define HDMI's
      VDDA regulator in the DT data as:
      
      vdda-supply = <...>;
      
      instead of
      
      vdda_hdmi_dac-supply = <...>;
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      Reviewed-by: NArchit Taneja <archit@ti.com>
      e6fa68ba
  11. 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
  12. 13 1月, 2014 2 次提交
    • T
      OMAPDSS: don't print errors on -EPROBE_DEFER · 40359a9b
      Tomi Valkeinen 提交于
      Nowadays it's normal to get -EPROBE_DEFER from, e.g., regulator_get. As
      -EPROBE_DEFER is not really an error, and the driver will be probed fine
      a bit later, printing an error message will just confuse the user.
      
      This patch changes omapdss to print an error for regulator_gets only if
      the error code is something else than -EPROBE_DEFER.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      40359a9b
    • T
      OMAPDSS: DSI: split DSI memory map to smaller blocks · 68104467
      Tomi Valkeinen 提交于
      DSI contains three separate blocks: protocol engine, PHY and PLL. At the
      moment, all these are memory mapped in one big chunk. We need to split
      that memory map into smaller pieces so that we can add proper 'reg'
      properties into the DT data for each block.
      
      This patch changes the driver to map the blocks separately. It first
      tries to get the memory resource using name, used when booting with DT,
      and if that fails, it gets the memory resource by ID, in which case the
      driver gets the big chunk from platform data. That big chunk is then
      split into the smaller blocks manually.
      
      After DSS DT code has been merged and the old platform code removed, we
      can clean up the memory resource management.
      
      Instead of changing the driver in all the places where a register is
      read or written, this patch takes a shortcut: it adds an additional
      number to the struct which represents the register index. This number is
      used to decide which base address to use. In the future we should
      consider other approaches.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      68104467
  13. 30 12月, 2013 1 次提交
    • T
      OMAPDSS: DSI: fix fifosize · 558c73e2
      Tomi Valkeinen 提交于
      DSI has separate TX and RX fifos. However, the current code only has one
      field where the fifo size is stored, and the code for both TX and RX
      config write to the same field. This has not caused issues, as we've
      been using the same fifo sizes.
      
      Fix this bug by creating separate fields for TX and RX fifo sizes.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      558c73e2
  14. 30 10月, 2013 1 次提交
  15. 29 10月, 2013 1 次提交
  16. 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
  17. 29 8月, 2013 1 次提交
  18. 17 6月, 2013 7 次提交
    • T
      OMAPDSS: DSI: Add ops · deb16df8
      Tomi Valkeinen 提交于
      Add "ops" style method for using DSI 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>
      deb16df8
    • 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: 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: DSI: cleanup regulator init · b2541c40
      Tomi Valkeinen 提交于
      Separate the regulator initialization code to its own function, removing
      duplicate code.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      b2541c40
    • 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
  19. 02 5月, 2013 2 次提交
  20. 10 4月, 2013 1 次提交
  21. 03 4月, 2013 7 次提交