1. 27 1月, 2015 9 次提交
    • T
      drm/tegra: sor: Demidlayer · 6fad8f66
      Thierry Reding 提交于
      Implement encoder and connector within the eDP driver itself using the
      Tegra output helpers rather than using the Tegra output as midlayer. By
      doing so one level of indirection is removed and output drivers become
      more flexible while keeping the majority of the advantages provided by
      the common output helpers.
      Signed-off-by: NThierry Reding <treding@nvidia.com>
      6fad8f66
    • T
      drm/tegra: dsi: Demidlayer · 5b901e78
      Thierry Reding 提交于
      Implement encoder and connector within the DSI driver itself using the
      Tegra output helpers rather than using the Tegra output as midlayer. By
      doing so one level of indirection is removed and output drivers become
      more flexible while keeping the majority of the advantages provided by
      the common output helpers.
      Signed-off-by: NThierry Reding <treding@nvidia.com>
      5b901e78
    • T
      drm/tegra: hdmi: Demidlayer · 59682719
      Thierry Reding 提交于
      Implement encoder and connector within the HDMI driver itself using the
      Tegra output helpers rather than using the Tegra output as midlayer. By
      doing so one level of indirection is removed and output drivers become
      more flexible while keeping the majority of the advantages provided by
      the common output helpers.
      Signed-off-by: NThierry Reding <treding@nvidia.com>
      59682719
    • T
      drm/tegra: rgb: Demidlayer · 3b0e5855
      Thierry Reding 提交于
      Implement encoder and connector within the RGB driver itself using the
      Tegra output helpers rather than using the Tegra output as midlayer. By
      doing so one level of indirection is removed and output drivers become
      more flexible while keeping the majority of the advantages provided by
      the common output helpers.
      Signed-off-by: NThierry Reding <treding@nvidia.com>
      3b0e5855
    • T
      drm/tegra: Add tegra_dc_setup_clock() helper · c5a107d3
      Thierry Reding 提交于
      This is a small helper that performs the basic steps required by all
      output drivers to prepare the display controller for use with a given
      encoder.
      Signed-off-by: NThierry Reding <treding@nvidia.com>
      c5a107d3
    • T
      drm/tegra: output: Make ->setup_clock() optional · d5bae6f3
      Thierry Reding 提交于
      In order to transition output drivers to using the struct tegra_output
      as a helper rather than midlayer, make this callback optional. Instead
      drivers should implement the equivalent as part of ->mode_fixup(). For
      the conversion to atomic modesetting a new callback ->atomic_check()
      should be implemented that updates the display controller's state with
      the corresponding parent clock, rate and shift clock divider.
      Signed-off-by: NThierry Reding <treding@nvidia.com>
      d5bae6f3
    • T
      drm/tegra: Convert output midlayer to helpers · 132085d8
      Thierry Reding 提交于
      The output layer was initially designed to help reduce the amount of
      code duplicated in output drivers. An unfortunate side-effect of that
      was that it turned into a midlayer and it became difficult to make the
      output drivers work without bending over backwards to fit into the
      midlayer.
      
      This commit starts to convert the midlayer into a helper library by
      exporting most of the common functions so that they can be used by the
      output drivers directly. Doing so will allow output drivers to reuse
      common code paths but more easily override them where necessary.
      Signed-off-by: NThierry Reding <treding@nvidia.com>
      132085d8
    • T
      drm/tegra: Move tegra_drm_mode_funcs to the core · f9914214
      Thierry Reding 提交于
      This structure will be extended using non-framebuffer related callbacks
      in subsequent patches, so it should move to a more central location.
      Signed-off-by: NThierry Reding <treding@nvidia.com>
      f9914214
    • T
      drm/tegra: Use tegra_commit_dc() in output drivers · 62b9e063
      Thierry Reding 提交于
      All output drivers have open-coded variants of this function, so export
      it to remove some code duplication.
      Signed-off-by: NThierry Reding <treding@nvidia.com>
      62b9e063
  2. 13 11月, 2014 4 次提交
  3. 04 8月, 2014 2 次提交
  4. 08 7月, 2014 1 次提交
    • T
      drm/tegra: Implement race-free hotplug detection · e2215321
      Thierry Reding 提交于
      A race condition currently exists on Tegra, where it can happen that a
      monitor attached via HDMI isn't detected during the initial FB helper
      setup, but the hotplug event happens too early to be processed by the
      poll helpers because they haven't been initialized yet. This happens
      because on some boards the HDMI driver can control the regulator that
      supplies the +5V pin on the HDMI connector. Therefore depending on the
      timing between the initialization of the HDMI driver and the rest of
      DRM, it's possible that the monitor returns the hotplug signal right
      within the window where we would miss it.
      
      Unfortunately, drm_kms_helper_poll_init() will wreak havoc when called
      before at least some parts of the FB helpers have been set up.
      
      This commit fixes this by splitting out the minimum of initialization
      required to make drm_kms_helper_poll_init() work into a separate
      function that can be called early. It is then safe to move all of the
      poll helper initialization to an earlier point in time (before the
      HDMI output driver has a chance to enable the +5V supply). That way if
      the hotplug signal is returned before the initial FB helper setup, the
      monitor will be forcefully detected at that point, and if the hotplug
      signal is returned after that it will be properly handled by the poll
      helpers.
      Signed-off-by: NThierry Reding <treding@nvidia.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      e2215321
  5. 06 6月, 2014 5 次提交
  6. 04 4月, 2014 1 次提交
  7. 20 12月, 2013 3 次提交
  8. 18 12月, 2013 1 次提交
  9. 12 12月, 2013 1 次提交
  10. 03 12月, 2013 1 次提交
  11. 31 10月, 2013 12 次提交