1. 02 12月, 2011 4 次提交
  2. 01 11月, 2011 1 次提交
  3. 30 9月, 2011 16 次提交
  4. 20 9月, 2011 2 次提交
  5. 14 9月, 2011 1 次提交
  6. 01 8月, 2011 1 次提交
    • T
      HACK: OMAP: DSS2: clk hack for OMAP2/3 · 9ede365a
      Tomi Valkeinen 提交于
      The HWMOD data for OMAP2 and 3 are currently not up to date regarding
      DSS (OMAP4 HWMOD data is fine). This patch makes the DSS driver to get
      the opt clocks needed for OMAP2/3 with the old clock names, thus
      allowing DSS driver to use runtime PM.
      
      The HWMOD databases should be fixes ASAP, and this patch can be reverted
      after that.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      9ede365a
  7. 25 7月, 2011 2 次提交
  8. 01 7月, 2011 4 次提交
    • T
      OMAP: DSS2: Fix FIFO threshold and burst size for OMAP4 · 5ed8cf5b
      Tomi Valkeinen 提交于
      The DMA FIFO threshold registers and burst size registers have changed
      for OMAP4.  The current code only handles OMAP2/3 case, and so the
      values are a bit off for OMAP4.  A summary of the differences between
      OMAP2/3 and OMAP4:
      
      Burst size:
      OMAP2/3: 4 x 32 bits / 8 x 32 bits / 16 x 32 bits
      OMAP4: 2 x 128 bits / 4 x 128 bits / 8 x 128 bits
      
      Threshold size:
      OMAP2/3: in bytes (8 bit units)
      OMAP4: in 128bit units
      
      This patch fixes the issue by creating two new helper functions in
      dss_features: dss_feat_get_buffer_size_unit() and
      dss_feat_get_burst_size_unit(). These return (in bytes) the unit size
      for threshold registers and unit size for burst size register,
      respectively, and are used to calculate correct values.
      
      For the threshold size the usage is straightforward. However, the burst
      size register has different multipliers for OMAP2/3 and OMAP4. This
      patch solves the problem by defining the multipliers for the burst size
      as 2x, 4x and 8x, which fit fine for the OMAP4 burst size definition
      (i.e. burst size unit for OMAP4 is 128bits), but requires a slight twist
      on OMAP2/3 by defining the burst size unit as 64bit.
      
      As the driver in practice always uses the maximum burst size, and no use
      case currently exists where we would want to use a smaller burst size,
      this patch changes the driver to hardcode the burst size when
      initializing DISPC. This makes the threshold configuration code somewhat
      simpler.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      5ed8cf5b
    • T
      OMAP: DSS2: DSI: sync when disabling a display · 15ffa1da
      Tomi Valkeinen 提交于
      When the panel driver calls omapdss_dsi_display_disable() it is possible
      that there are still some unsent packets in the TX fifo.
      
      Add dsi_sync_vc() calls in the beginning of
      omapdss_dsi_display_disable() to make sure the TX fifos are empty.
      
      This allows us to remove the msleep(10) hack from panel-taal.c
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      15ffa1da
    • T
      OMAP: DSS2: Reset LANEx_ULPS_SIG2 bits after use · 8ef0e614
      Tomi Valkeinen 提交于
      LANEx_ULPS_SIG2 bits are left on after entering ULPS. This doesn't cause
      any problems currently, as DSI HW is reset when it is enabled. However,
      if the reset is not done, operation fails if the bits are still set.
      
      So reset the bits after entering ULPS to ensure operation even without
      HW reset.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      8ef0e614
    • T
      OMAP: DSS2: DSI: Change dummy macros to inline functions · 4a9a5e39
      Tomi Valkeinen 提交于
      Using empty macros for performance measurement functions when DSS DEBUG
      is not enabled causes an unused variable warning.
      
      Change the empty macros to empty inline functions to remove the
      warning.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      4a9a5e39
  9. 16 5月, 2011 4 次提交
  10. 13 5月, 2011 5 次提交
    • A
      OMAP4: DSS2: DSI: Changes for DSI2 on OMAP4 · 5a8b572d
      Archit Taneja 提交于
      Introduce DSI2 PLL clock sources needed by LCD2 channel and DSI2 Protocol
      engine and DISPC Functional clock. Do the following:
      
      - Modify dss_get_dsi_clk_source() and dss_select_dsi_clk_source() to take the
        dsi module number as an argument.
      - Create debugfs files for dsi2, split the corresponding debugfs functions.
      - Allow DPI to use these new clock sources.
      Signed-off-by: NArchit Taneja <archit@ti.com>
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      5a8b572d
    • A
      OMAP: DSS2: DSI: Pass pointer to struct to packet_sent_handler isrs · 2e868dbe
      Archit Taneja 提交于
      dsi_packet_sent_handler_vp() and dsi_packet_sent_handler_l4() currently
      receive the completion parameter as their argument. This is not sufficient
      information to differentiate between DSI1 and DSI2 platform devices.
      
      Pass the struct "dsi_packet_sent_handler_data" to the packet_sent_handler
      isrs, these contain the platform_device pointer of the DSI device and the
      pointer to the completion struct.
      Signed-off-by: NArchit Taneja <archit@ti.com>
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      2e868dbe
    • A
      OMAP: DSS2: DSI: Use platform_device pointer to get dsi data · f1da39d9
      Archit Taneja 提交于
      The dsi related data structure currently creates one global instance of itself
      which is accessed by dsi functions. Remove this global structure instance and
      declare the struct as dsi_data. Modify dsi_init() to allocate a "dsi_data"
      structure for each platform device instance. Link this data with the device's
      platform_device pointer. Create the function dsi_get_dsidrv_data() which takes
      the pdev and return a pointer to the device's dsi_data.
      
      Make dsi_get_dsidev_id() return only 0 for now, this will be removed once the
      name of the DSI platform device is changed to the device instance form, like
      "omapdss_dsi.0" and "omapdss_dsi.1" etc.
      Signed-off-by: NArchit Taneja <archit@ti.com>
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      f1da39d9
    • A
      OMAP: DSS2: Pass platform_device as an argument in dsi functions · a72b64b9
      Archit Taneja 提交于
      The DSI interface is represented as a platform device, using the DSI platform
      driver(dsi.c). The current DSI driver design is capable of running only one
      instance of a DSI device. On OMAP4, there are 2 very similar DSI modules which
      can be represented as instances of "omapdss_dsi" platform device.
      
      Add member "module" in "dssdev.phy.dsi" that tells us which DSI module's lanes
      the panel is connected to. Modify dsi.c functions to take the device's
      platform_device struct pointer, provide functions dsi_get_dsidev_from_dssdev()
      and dsi_get_dsidev_from_id() take the panel's omap_dss_device and module number
      respectively, and return the platform_device pointer. Currently, the dsi struct
      is declared globally and is accessed when dsi data is needed. The new pdev
      argument will be used later to provide the platform device's dsi related data.
      Signed-off-by: NArchit Taneja <archit@ti.com>
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      a72b64b9
    • A
      OMAP: DSS2: Remove omap_dss_device argument from dsi_pll_init() · 41e03d15
      Archit Taneja 提交于
      The function dsi_pll_init() has omap_dss_device argument which is
      not used. Remove this argument.
      Signed-off-by: NArchit Taneja <archit@ti.com>
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      41e03d15