1. 08 9月, 2012 15 次提交
    • T
      OMAPDSS: split overlay sysfs code · 91691516
      Tomi Valkeinen 提交于
      Separate sysfs code for overlays to a separate file. This is a bit
      cleaner, and will allow us later to easily switch off the sysfs support
      via Kconfig option.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      91691516
    • T
      OMAPDSS: TFP410: use devm_gpio_request_one · a6df3fd9
      Tomi Valkeinen 提交于
      Use devm_ version instead of the regular gpio_request_one to simplify
      the error handling.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      a6df3fd9
    • T
      OMAPDSS: Taal: Reogranize for device tree · f075a594
      Tomi Valkeinen 提交于
      Reorganize taal driver to make it easier to integrate device tree code.
      Instead of storing the panel's platform data, we'll "parse" the platform
      data and store the required information in driver's own data. This way
      adding device tree data parsing is simple.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      f075a594
    • T
      OMAPDSS: VRAM: Remove clearing with sDMA · 5ae1f372
      Tomi Valkeinen 提交于
      Currently vram.c clears the allocated memory automatically using OMAP
      system DMA. In an effort to reduce OMAP dependencies, we'll do the
      memory clear with CPU from now on.
      
      The previous patch implemented memory clear in the omapfb driver, and
      this patch removes the now obsolete clear functionality from vram.c.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      Cc: Russell King - ARM Linux <linux@arm.linux.org.uk>
      5ae1f372
    • T
      OMAPFB: clear framebuffers with CPU · ca444158
      Tomi Valkeinen 提交于
      Currently vram.c clears the allocated memory automatically using OMAP
      system DMA. In an effort to reduce OMAP dependencies, we'll do the
      memory clear with CPU from now on.
      
      This patch implements clearing of the framebuffer in omapfb, using
      cfb_fillrect() to do the actual clear.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      ca444158
    • T
      OMAPDSS: remove unnecessary includes · fe6a4662
      Tomi Valkeinen 提交于
      Remove unnecessary includes from omapdss.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      fe6a4662
    • T
      OMAPFB1: remove a non-used table · 10bc80f6
      Tomi Valkeinen 提交于
      The old omapfb driver contains a table for DMA element types, which is
      not used. Remove it.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      10bc80f6
    • T
      OMAPFB1: remove unnecessary includes · 9586778d
      Tomi Valkeinen 提交于
      Remove unnecessary includes from the old omapfb driver.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      9586778d
    • T
      OMAPDSS: Taal: use devm_* functions · 5e56ad44
      Tomi Valkeinen 提交于
      Use devm_ functions in panel-taal.c's probe when possible. Also reorder
      the initialization sequence so that devm_ allocations are done before
      things that require explicit freeing. This simplifies the probe and
      remove functions.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      5e56ad44
    • T
      OMAPDSS: fix use of dssdev->caps · ab585254
      Tomi Valkeinen 提交于
      Recent commit dca2b152 (OMAPDSS: DSI:
      Maintain copy of operation mode in driver data) broke DSI for video mode
      displays. The commit changed the way dssdev->caps are initialized, and
      the result was that every DSI display is initialized with manual-update
      and tear-elim caps.
      
      The code that sets dssdev->caps is not very good, even when fixed.
      omapdss driver shouldn't be writing dssdev->caps at all.
      
      This patch fixes the problem with video mode displays by moving the
      initialization of dssdev->caps to the panel driver. The same change is
      done for RFBI.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      ab585254
    • T
      OMAPDSS: DSI: calculate dsi clock · ee144e64
      Tomi Valkeinen 提交于
      Currently the way to configure clocks related to DSI (both DSI and DISPC
      clocks) happens via omapdss platform data. The reason for this is that
      configuring the DSS clocks is a very complex problem, and it's
      impossible for the SW to know requirements about things like
      interference.
      
      However, for general cases it should be fine to calculate the dividers
      for clocks in the SW. The calculated clocks are probably not perfect,
      but should work.
      
      This patch adds support to calculate the dividers when using DSI command
      mode panels. The panel gives the required DDR clock rate and LP clock
      rate, and the DSI driver configures itself and DISPC accordingly.
      
      This patch is somewhat ugly, though. The code does its job by modifying
      the platform data where the clock dividers would be if the board file
      gave them. This is not how it's going to be in the future, but allows us
      to have quite simple patch and keep the backward compatibility.
      
      It also allows the developer to still give the exact dividers from the
      board file when there's need for that, as long as the panel driver does
      not override them.
      
      There are also other areas for improvement. For example, it would be
      better if the panel driver could ask for a DSI clock in a certain range,
      as, at least command mode panels, the panel can work fine with many
      different clock speeds.
      
      While the patch is not perfect, it allows us to remove the hardcoded
      clock dividers from the board file, making it easier to bring up a new
      panel and to use device tree from omapdss.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      ee144e64
    • T
      OMAPDSS: Add DSI fclk maximum to dss_features · bc63f304
      Tomi Valkeinen 提交于
      Add max value of DSI functional clock to dss_features, so that DSI
      driver can use it.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      bc63f304
    • 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
    • T
      OMAPDSS: HDMI: Add delay to wait for 5V power · a84b2065
      Tomi Valkeinen 提交于
      TPD12S015A spec says to wait 300us after setting CT_CP_HPD gpio for the
      5V power output to reach 90% of the voltage. This patch adds the delay
      to the driver.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      a84b2065
    • T
      OMAPDSS: HDMI: Move GPIO handling to HDMI driver · cca35017
      Tomi Valkeinen 提交于
      We currently manage HDMI GPIOs in the board files via
      platform_enable/disable calls. This won't work with device tree, and in
      any case the correct place to manage the GPIOs is in the HDMI driver.
      
      This patch moves the handling of the GPIOs to the HDMI driver. The GPIO
      handling is moved to the common hdmi.c file, and this probably needs to
      be revisited when adding OMAP5 HDMI support to see if the GPIO handling
      needs to be moved to IP specific files.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      Acked-by: NTony Lindgren <tony@atomide.com>
      cca35017
  2. 22 8月, 2012 8 次提交
    • C
      OMAPDSS: DPI: Remove cpu_is_xxxx checks · 195e672a
      Chandrabhanu Mahapatra 提交于
      The OMAP3 checks have been removed and replaced by a dss feature
      FEAT_DPI_USES_VDDS_DSI for cleaner implementation. The patches
      "OMAP: DSS2: enable VDDS_DSI when using DPI" (8a2cfea8) by Tomi Valkeinen
      <tomi.valkeinen@nokia.com> and "ARM: omap: fix oops in
      drivers/video/omap2/dss/dpi.c" (40410715) by Russell King
      <rmk+kernel@arm.linux.org.uk> had introduced these checks. As it is evident
      from these patches a dependency exists for some DSS pins on VDDS_DSI which is
      better shown by dss feature FEAT_DPI_USES_VDDS_DSI.
      Signed-off-by: NChandrabhanu Mahapatra <cmahapatra@ti.com>
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      195e672a
    • C
      OMAPDSS: VENC: Remove cpu_is_xxxx checks · ee223b70
      Chandrabhanu Mahapatra 提交于
      OMAP4 checks are removed from VENC to provide it a cleaner interface. These
      checks were introduced by patches "HACK: OMAP: DSS2: VENC: disable VENC on OMAP4
      to prevent crash" (ba02fa37) by Tomi Valkeinen <tomi.valkeinen@ti.com> and
      "OMAPDSS: VENC: fix NULL pointer dereference in DSS2 VENC sysfs debug attr on
      OMAP4" (cc1d3e03)  by Danny Kukawka <danny.kukawka@bisect.de> to prevent VENC
      from crashing OMAP4 kernel.
      Signed-off-by: NChandrabhanu Mahapatra <cmahapatra@ti.com>
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      ee223b70
    • C
      OMAPDSS: DSS: Cleanup cpu_is_xxxx checks · 185bae10
      Chandrabhanu Mahapatra 提交于
      All the cpu_is checks have been moved to dss_init_features function providing a
      much more generic and cleaner interface. The OMAP version and revision specific
      initializations in various functions are cleaned and the necessary data are
      moved to dss_features structure which is local to dss.c.
      Signed-off-by: NChandrabhanu Mahapatra <cmahapatra@ti.com>
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      185bae10
    • C
      OMAPDSS: DSS: Remove redundant functions · ba1bc5bb
      Chandrabhanu Mahapatra 提交于
      Functions dss_calc_clock_rates() and dss_get_clock_div() are removed as these
      functions have become redundant and no longer used.
      Signed-off-by: NChandrabhanu Mahapatra <cmahapatra@ti.com>
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      ba1bc5bb
    • C
      OMAPDSS: DISPC: Cleanup cpu_is_xxxx checks · dcbe765b
      Chandrabhanu Mahapatra 提交于
      All the cpu_is checks have been moved to dispc_init_features function providing
      a much more generic and cleaner interface. The OMAP version and revision
      specific functions and data are initialized by dispc_features structure which is
      local to dispc.c.
      Signed-off-by: NChandrabhanu Mahapatra <cmahapatra@ti.com>
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      dcbe765b
    • T
      OMAPDSS: HDMI: fix initial HDMI enable · 0b3d9cfe
      Tomi Valkeinen 提交于
      Commit 7849398f introduced a bug,
      causing the following error to be reported:
      
      [  370.827819] cannot lock PLL
      [  370.830749] CFG1 0x1e
      [  370.833160] CFG2 0x602004
      [  370.835876] CFG4 0x40000
      [  370.838562] omapdss HDMI: Failed to lock PLL
      
      However, HDMI output is still enabled.
      
      The problem is that we enable the HDMI video output temporarily when
      reading EDID or detecting if a HDMI cable is connected (ugh), and the
      commit above changes the behavior of the driver so that the video
      timings are not yet configured at the point when EDID is read.
      
      This patch fixes the problem by configuring the initial VGA timings at
      HDMI probe.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      0b3d9cfe
    • D
      fbcon: fix race condition between console lock and cursor timer (v1.1) · d8636a27
      Dave Airlie 提交于
      So we've had a fair few reports of fbcon handover breakage between
      efi/vesafb and i915 surface recently, so I dedicated a couple of
      days to finding the problem.
      
      Essentially the last thing we saw was the conflicting framebuffer
      message and that was all.
      
      So after much tracing with direct netconsole writes (printks
      under console_lock not so useful), I think I found the race.
      
      Thread A (driver load)    Thread B (timer thread)
        unbind_con_driver ->              |
        bind_con_driver ->                |
        vc->vc_sw->con_deinit ->          |
        fbcon_deinit ->                   |
        console_lock()                    |
            |                             |
            |                       fbcon_flashcursor timer fires
            |                       console_lock() <- blocked for A
            |
            |
      fbcon_del_cursor_timer ->
        del_timer_sync
        (BOOM)
      
      Of course because all of this is under the console lock,
      we never see anything, also since we also just unbound the active
      console guess what we never see anything.
      
      Hopefully this fixes the problem for anyone seeing vesafb->kms
      driver handoff.
      
      v1.1: add comment suggestion from Alan.
      
      Cc: stable@vger.kernel.org
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      d8636a27
    • D
      fbcon: fix race condition between console lock and cursor timer · ec5da7f8
      Dave Airlie 提交于
      So we've had a fair few reports of fbcon handover breakage between
      efi/vesafb and i915 surface recently, so I dedicated a couple of
      days to finding the problem.
      
      Essentially the last thing we saw was the conflicting framebuffer
      message and that was all.
      
      So after much tracing with direct netconsole writes (printks
      under console_lock not so useful), I think I found the race.
      
        Thread A (driver load)    Thread B (timer thread)
          unbind_con_driver ->              |
          bind_con_driver ->                |
          vc->vc_sw->con_deinit ->          |
          fbcon_deinit ->                   |
          console_lock()                    |
              |                             |
              |                       fbcon_flashcursor timer fires
              |                       console_lock() <- blocked for A
              |
              |
        fbcon_del_cursor_timer ->
          del_timer_sync
          (BOOM)
      
      Of course because all of this is under the console lock,
      we never see anything, also since we also just unbound the active
      console guess what we never see anything.
      
      Hopefully this fixes the problem for anyone seeing vesafb->kms
      driver handoff.
      Signed-off-by: NDavid Airlie <airlied@redhat.com>
      Acked-by: NAlan Cox <alan@lxorguk.ukuu.org.uk>
      Cc: stable@vger.kernel.org
      Tested-by: NJosh Boyer <jwboyer@gmail.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      ec5da7f8
  3. 16 8月, 2012 11 次提交
    • A
      OMAPDSS: VENC: Maintian copy of video output polarity info in private data · 89e71956
      Archit Taneja 提交于
      The VENC driver currently relies on the omap_dss_device struct to configure the
      video output polarity. This makes the VENC interface driver dependent on the
      omap_dss_device struct.
      
      Make the VENC driver data maintain it's own polarity field. A panel driver
      is expected to call omapdss_venc_invert_vid_out_polarity() before enabling the
      interface.
      Signed-off-by: NArchit Taneja <archit@ti.com>
      89e71956
    • A
      OMAPDSS: VENC: Maintain copy of venc type in driver data · febe2905
      Archit Taneja 提交于
      The VENC driver currently relies on the omap_dss_device struct to configure the
      venc type. This makes the VENC interface driver dependent on the omap_dss_device
      struct.
      
      Make the VENC driver data maintain it's own 'venc type' field. A panel driver
      is expected to call omapdss_venc_set_type() before enabling the interface or
      changing the type via display sysfs attributes.
      Signed-off-by: NArchit Taneja <archit@ti.com>
      febe2905
    • A
      OMAPDSS: RFBI: Maitain copy of rfbi timings in driver data · 6e883324
      Archit Taneja 提交于
      The RFBI driver currently relies on the omap_dss_device struct to receive the
      rfbi specific timings requested by the panel driver. This makes the RFBI
      interface driver dependent on the omap_dss_device struct.
      
      Make the RFBI driver data maintain it's own rfbi specific timings field. The
      panel driver is expected to call omapdss_rfbi_set_interface_timings() to
      configure the rfbi timings before the interface is enabled.
      Signed-off-by: NArchit Taneja <archit@ti.com>
      6e883324
    • A
      OMAPDSS: DSI: Maintain copy of video mode timings in driver data · 0b3ffe39
      Archit Taneja 提交于
      The DSI driver currently relies on the omap_dss_device struct to receive the
      video mode timings requested by the panel driver. This makes the DSI interface
      driver dependent on the omap_dss_device struct.
      
      Make the DSI driver data maintain it's own video mode timings field. The panel
      driver is expected to call omapdss_dsi_set_videomode_timings() to configure the
      video mode timings before the interface is enabled.
      Signed-off-by: NArchit Taneja <archit@ti.com>
      0b3ffe39
    • A
      OMAPDSS: DSI: Rename dsi_videomode_data to dsi_videomode_timings · 6b849375
      Archit Taneja 提交于
      The struct omap_dss_dsi_videomode_data holds fields which need to be configured
      for DSI to operate in video mode. Rename the struct to dsi_videomode_timings.
      
      One reason to do this is because most of the fields in the struct are timings
      related. The other reason is to create a generic op for output specific
      timings. This generic op can be considered as a way to set custom or private
      timings for the output.
      
      In the case of OMAP, DSI and RFBI require some more timings apart from the
      relgular DISPC timings. The structs omap_dss_videomode_timings and rfbi_timings
      can be considered as these output specific timings respectively.
      Signed-off-by: NArchit Taneja <archit@ti.com>
      6b849375
    • A
      OMAPDSS: DSI: Maintain copy of operation mode in driver data · dca2b152
      Archit Taneja 提交于
      The DSI driver currently relies on the omap_dss_device struct to know the mode
      of operation of the DSI protocol(command or video mode). This makes the DSI
      interface driver dependent on the omap_dss_device struct.
      
      Make the DSI driver data maintain it's own operation mode field. The panel
      driver is expected to call omapdss_dsi_set_operation_mode() before the interface
      is enabled.
      Signed-off-by: NArchit Taneja <archit@ti.com>
      dca2b152
    • A
      OMAPDSS: SDI: Maintain copy of data pairs in driver data · 889b4fd7
      Archit Taneja 提交于
      The SDI driver currently relies on the omap_dss_device struct to configure the
      number of data pairs as specified by the panel. This makes the SDI interface
      driver dependent on the omap_dss_device struct.
      
      Make the SDI driver data maintain it's own data lines field. A panel driver
      is expected to call omapdss_sdi_set_datapairs() before enabling the interface.
      Even though we configure the number of data pairs here, this function would be
      finally mapped to a generic interface op called set_data_lines. The datapairs
      argument type has been changed from u8 to int at some places to be in sync with
      the 'set_data_lines' ops of other interfaces.
      Signed-off-by: NArchit Taneja <archit@ti.com>
      889b4fd7
    • A
      OMAPDSS: DPI: Maintain copy of number of data lines in driver data · c6b393d4
      Archit Taneja 提交于
      The DPI driver currently relies on the omap_dss_device struct to configure the
      number of data lines as specified by the panel. This makes the DPI interface
      driver dependent on the omap_dss_device struct.
      
      Make the DPI driver data maintain it's own data lines field. A panel driver
      is expected to call omapdss_dpi_set_data_lines() before enabling the interface.
      Signed-off-by: NArchit Taneja <archit@ti.com>
      c6b393d4
    • A
      OMAPDSS: RFBI: Maintain copy of number of data lines in driver data · 475989b7
      Archit Taneja 提交于
      The RFBI driver currently relies on the omap_dss_device struct to configure the
      number of data lines as specified by the panel. This makes the RFBI interface
      driver dependent on the omap_dss_device struct.
      
      Make the RFBI driver data maintain it's own data lines field. A panel driver
      is expected to call omapdss_rfbi_set_data_lines() to configure the pixel format
      before enabling the interface or calling omap_rfbi_configure().
      Signed-off-by: NArchit Taneja <archit@ti.com>
      475989b7
    • A
      OMAPDSS: RFBI: Maintain copy of pixel size in driver data · b02875be
      Archit Taneja 提交于
      The RFBI driver currently relies on the omap_dss_device struct to receive the
      desired pixel size of the panel. This makes the RFBI interface driver dependent
      on the omap_dss_device struct.
      
      Make the RFBI driver data maintain it's own pixel format field. A panel driver
      is expected to call omapdss_rfbi_set_pixel_size() to configure the pixel format
      before enabling the interface or calling omap_rfbi_configure().
      Signed-off-by: NArchit Taneja <archit@ti.com>
      b02875be
    • A
      OMAPDSS: DSI: Maintain copy of pixel format in driver data · 02c3960b
      Archit Taneja 提交于
      The DSI driver currently relies on the omap_dss_device struct to receive the
      desired pixel format of the panel. This makes the DSI interface driver dependent
      on the omap_dss_device struct.
      
      Make the DSI driver data maintain it's own pixel format field. The panel driver
      is expected to call omapdss_dsi_set_pixel_format() to configure the pixel format
      before the interface is enabled.
      Signed-off-by: NArchit Taneja <archit@ti.com>
      02c3960b
  4. 15 8月, 2012 6 次提交
    • A
      OMAPDSS: RFBI: Add function to set panel size · 6ff9dd5a
      Archit Taneja 提交于
      RFBI drivers requires configuration of the update area. Since we don't support
      partial updates, the size to be configures is the panel size itself.
      
      Add a timings field in RFBI's driver data. Apart from x_res and y_res, all the
      other fields are configured to an initial value when RFBI is enabled. A panel
      driver is expected to call omapdss_rfbi_set_size() configure the size of the
      panel.
      Signed-off-by: NArchit Taneja <archit@ti.com>
      6ff9dd5a
    • A
      OMAPDSS: RFBI: Remove partial update support · 43eab861
      Archit Taneja 提交于
      Partial update suppport was removed from DISPC and DSI sometime back. The RFBI
      driver still tries to support partial update without the underlying support in
      DISPC.
      
      Remove partial update support from RFBI, only support updates which span acros
      the whole panel size. This also helps in DSI and RFBI having similar update
      ops.
      Signed-off-by: NArchit Taneja <archit@ti.com>
      43eab861
    • A
      OMAPDSS: VENC: Maintain our own timings field in driver data · a5abf472
      Archit Taneja 提交于
      The VENC driver currently relies on the timings in omap_dss_device struct to
      configure the DISPC and VENC blocks accordingly. This makes the VENC interface
      driver dependent on the omap_dss_device struct.
      
      Make the VENC driver data maintain it's own timings field. The panel driver is
      expected to call omapdss_venc_set_timings() to set these timings before the
      panel is enabled. Call omapdss_venc_set_timings() before enabling
      venc output, this is done to atleast have the venc output configured to the
      panel's default timings if the DSS user didn't explicitly call the venc panel
      driver's set_timings op.
      
      Make the VENC panel driver configure the new timings is the omap_dss_device
      struct(dssdev->panel.timings). The VENC driver is responsible for maintaining
      only it's own copy of timings.
      Signed-off-by: NArchit Taneja <archit@ti.com>
      a5abf472
    • A
      OMAPDSS: VENC: Split VENC into interface and panel driver · 156fd99e
      Archit Taneja 提交于
      The current venc.c driver contains both the interface and panel driver code.
      This makes the driver hard to read, and difficult to understand the work split
      between the interface and panel driver and the how the locking works.
      
      This also makes it easier to clearly define the VENC interface ops called by the
      panel driver.
      
      Split venc.c into venc.c and venc_panel.c representing the interface and panel
      driver respectively. This split is done along the lines of the HDMI interface
      and panel drivers.
      Signed-off-by: NArchit Taneja <archit@ti.com>
      156fd99e
    • A
      OMAPDSS: SDI: Maintain our own timings field in driver data · 9b4a5716
      Archit Taneja 提交于
      The SDI driver currently relies on the timings in omap_dss_device struct to
      configure the DISPC accordingly. This makes the SDI interface driver dependent
      on the omap_dss_device struct.
      
      Make the SDI driver data maintain it's own timings field. The panel driver is
      expected to call omapdss_sdi_set_timings() to set these timings before the panel
      is enabled.
      
      Make the SDI panel driver configure the new timings is the omap_dss_device
      struct(dssdev->panel.timings). The SDI driver is responsible for maintaining
      only it's own copy of timings.
      Signed-off-by: NArchit Taneja <archit@ti.com>
      9b4a5716
    • A
      OMAPDSS: SDI: Create a function to set timings · c7833f7b
      Archit Taneja 提交于
      Create function omapdss_sdi_set_timings(). Configuring new timings is done the
      same way as before, SDI is disabled, and re-enabled with the new timings in
      dssdev. This just moves the code from the panel drivers to the SDI driver.
      
      The panel drivers shouldn't be aware of how SDI manages to configure a new set
      of timings. This should be taken care of by the SDI driver itself.
      Signed-off-by: NArchit Taneja <archit@ti.com>
      c7833f7b