1. 25 2月, 2016 1 次提交
    • D
      drm/tilcdc: rewrite pixel clock calculation · 3d19306a
      Darren Etheridge 提交于
      Updating the tilcdc DRM driver code to calculate the LCD controller
      pixel clock more accurately. Based on a suggested implementation by
      Tomi Valkeinen.
      
      The current code does not work correctly and produces wrong results
      with many requested clock rates. It also oddly uses two different
      clocks, a display pll clock and a divider clock (child of display
      pll), instead of just using the clock coming to the lcdc.
      
      This patch removes the use of the display pll clock, and rewrites the
      code to calculate the clock rates. The idea is simply to request a
      clock rate of pixelclock*2, as the LCD controller has an internal
      divider which we set to 2.
      Signed-off-by: NDarren Etheridge <detheridge@ti.com>
      [Rewrapped description]
      Signed-off-by: NJyri Sarha <jsarha@ti.com>
      Reviewed-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      3d19306a
  2. 08 2月, 2016 1 次提交
  3. 27 5月, 2015 2 次提交
    • J
      drm/tilcdc: Add support for external tda998x encoder · 103cd8bc
      Jyri Sarha 提交于
      Add support for an external compontised DRM encoder. The external
      encoder can be connected to tilcdc trough device tree graph binding.
      The binding document for tilcdc has been updated. The current
      implementation supports only tda998x encoder.
      
      To be able to filter out the unsupported video modes the tilcdc driver
      needs to hijack the external connectors helper functions. The tilcdc
      installes new helper functions that are otherwise identical to
      orignals, but the mode_valid() call-back check the mode first localy,
      before calling the original call-back. The tilcdc dirver restores the
      original helper functions before it is unbound from the external
      device.
      
      I got the idea and some lines of code from Jean-Francois Moine's
      "drm/tilcdc: Change the interface with the tda998x driver"-patch.
      Signed-off-by: NJyri Sarha <jsarha@ti.com>
      Acked-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      103cd8bc
    • J
      drm/tilcdc: Remove tilcdc slave support for tda998x driver · 6730201f
      Jyri Sarha 提交于
      Remove tilcdc slave support for tda998x driver. The tilcdc slave
      support would conflicts with componentized use of tda998x.
      Signed-off-by: NJyri Sarha <jsarha@ti.com>
      Acked-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      6730201f
  4. 08 7月, 2014 1 次提交
    • G
      drm/tilcdc: remove submodule destroy calls · 7cdcce9f
      Guido Martínez 提交于
      The TI tilcdc driver is designed with a notion of submodules. Currently,
      at unload time, these submodules are iterated and destroyed.
      
      Now that the tilcdc remove order is fixed, this can be handled perfectly
      by the kernel using the device infrastructure, since each submodule
      is a kernel driver itself, and they are only destroy()'ed at unload
      time. Therefore we move the destroy() functionality to each submodule's
      remove().
      
      Also, remove some checks in the unloading process since the new code
      guarantees the resources are allocated and need a release.
      Signed-off-by: NGuido Martínez <guido@vanguardiasur.com.ar>
      Tested-by: NDarren Etheridge <detheridge@ti.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      7cdcce9f
  5. 28 6月, 2013 2 次提交
  6. 20 6月, 2013 1 次提交
  7. 20 2月, 2013 1 次提交
    • R
      drm/tilcdc: add TI LCD Controller DRM driver (v4) · 16ea975e
      Rob Clark 提交于
      A simple DRM/KMS driver for the TI LCD Controller found in various
      smaller TI parts (AM33xx, OMAPL138, etc).  This driver uses the
      CMA helpers.  Currently only the TFP410 DVI encoder is supported
      (tested with beaglebone + DVI cape).  There are also various LCD
      displays, for which support can be added (as I get hw to test on),
      and an external i2c HDMI encoder found on some boards.
      
      The display controller supports a single CRTC.  And the encoder+
      connector are split out into sub-devices.  Depending on which LCD
      or external encoder is actually present, the appropriate output
      module(s) will be loaded.
      
      v1: original
      v2: fix fb refcnting and few other cleanups
      v3: get +/- vsync/hsync from timings rather than panel-info, add
          option DT max-bandwidth field so driver doesn't attempt to
          pick a display mode with too high memory bandwidth, and other
          small cleanups
      v4: remove some unneeded stuff from panel-info struct, properly
          set high bits for hfp/hsw/hbp for rev 2, add DT bindings docs
      Signed-off-by: NRob Clark <robdclark@gmail.com>
      Reviewed-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      Tested-by: NKoen Kooi <koen@dominion.thruhere.net>
      16ea975e