mbox series

[GIT,PULL] drm/tegra: Changes for v5.5-rc1

Message ID 20191102140116.3860545-1-thierry.reding@gmail.com (mailing list archive)
State New, archived
Headers show
Series [GIT,PULL] drm/tegra: Changes for v5.5-rc1 | expand

Pull-request

git://anongit.freedesktop.org/tegra/linux tags/drm/tegra/for-5.5-rc1

Message

Thierry Reding Nov. 2, 2019, 2:01 p.m. UTC
Hi Dave,

The following changes since commit 9a42c7c647a9ad0f7ebb147a52eda3dcb7c84292:

  drm/tegra: Move drm_dp_link helpers to Tegra DRM (2019-10-23 18:22:10 +0200)

are available in the Git repository at:

  git://anongit.freedesktop.org/tegra/linux tags/drm/tegra/for-5.5-rc1

for you to fetch changes up to 84db889e6d827eefc3dde130fec8382d2dcb23ac:

  drm/tegra: Unconditionally select IOMMU_IOVA (2019-11-01 10:49:29 +0100)

Note that this is based on the drm-misc-next-2019-10-24-2 tag which
contains the DP link helper move into the Tegra DRM driver. The diffstat
below shows only the differences since that tag, since the other changes
have already been merged as part of drm-misc-next.

Thierry

----------------------------------------------------------------
drm/tegra: Changes for v5.5-rc1

The bulk of these changes is the addition of DisplayPort support for
Tegra210, Tegra186 and Tegra194. I've been running versions of this for
about three years now, so I'd consider these changes to be pretty
mature. These changes also unify the existing eDP support with the DP
support since the programming is very similar, except for a few steps
that can be easily parameterized.

The rest are a couple of fixes all over the place for minor issues, as
well as some work to support the IOMMU-backed DMA API, which in the end
turned out to also clean up a number of cases where the DMA API was not
being used correctly.

----------------------------------------------------------------
Ben Dooks (Codethink) (1):
      gpu: host1x: Make host1x_cdma_wait_pushbuffer_space() static

Dariusz Marcinkiewicz (1):
      drm/tegra: Use cec_notifier_conn_(un)register()

Thierry Reding (66):
      drm/tegra: sor: Move register programming out of ->init()
      drm/tegra: Fix ordering of cleanup code
      gpu: host1x: Do not limit DMA segment size
      gpu: host1x: Remove gratuitous blank line
      gpu: host1x: Explicitly initialize host1x_info structures
      gpu: host1x: Request channels for clients, not devices
      drm/tegra: Inherit device DMA parameters from host1x
      drm/tegra: Use DRM_DEBUG_DRIVER for driver messages
      drm/tegra: vic: Skip stream ID programming without IOMMU
      drm/tegra: vic: Inherit DMA mask from host1x
      drm/tegra: vic: Use common IOMMU attach/detach code
      drm/tegra: Move IOMMU group into host1x client
      drm/tegra: gem: Rename paddr -> iova
      drm/tegra: gem: Use dma_get_sgtable()
      drm/tegra: gem: Always map SG tables for DMA-BUFs
      drm/tegra: gem: Use sg_alloc_table_from_pages()
      drm/tegra: dpaux: Support monitor hotplugging
      drm/tegra: dpaux: Retry on transfer size mismatch
      drm/tegra: dpaux: Fix crash if VDD supply is absent
      drm/tegra: dpaux: Parameterize CMH, DRVZ and DRVI
      drm/tegra: Add missing kerneldoc for struct drm_dp_link
      drm/tegra: dp: Add drm_dp_link_reset() implementation
      drm/tegra: dp: Track link capabilities alongside settings
      drm/tegra: dp: Turn link capabilities into booleans
      drm/tegra: dp: Probe link using existing parsing helpers
      drm/tegra: dp: Read fast training capability from link
      drm/tegra: dp: Read TPS3 capability from sink
      drm/tegra: dp: Read channel coding capability from sink
      drm/tegra: dp: Read alternate scrambler reset capability from sink
      drm/tegra: dp: Read eDP version from DPCD
      drm/tegra: dp: Read AUX read interval from DPCD
      drm/tegra: dp: Set channel coding on link configuration
      drm/tegra: dp: Enable alternate scrambler reset when supported
      drm/tegra: dp: Add drm_dp_link_choose() helper
      drm/tegra: dp: Add support for eDP link rates
      drm/tegra: dp: Add DisplayPort link training helper
      drm/tegra: sor: Use DP link training helpers
      drm/tegra: sor: Hook up I2C-over-AUX to output
      drm/tegra: sor: Stabilize eDP
      drm/tegra: sor: Filter eDP rates
      drm/tegra: sor: Add DisplayPort support
      drm/tegra: sor: Remove tegra186-sor1 support
      drm/tegra: sor: Use correct SOR index on Tegra210
      drm/tegra: sor: Implement pad clock for all SOR instances
      drm/tegra: sor: Deduplicate connector type detection code
      drm/tegra: sor: Support DisplayPort on Tegra194
      drm/tegra: sor: Unify clock setup for eDP, HDMI and DP
      drm/tegra: sor: Use correct I/O pad for DP
      drm/tegra: sor: Unify eDP and DP support
      drm/tegra: sor: Avoid timeouts on unplug events
      drm/tegra: sor: Extract common audio enabling code
      drm/tegra: sor: Introduce audio enable/disable callbacks
      drm/tegra: Do not use ->load() and ->unload() callbacks
      drm/tegra: Simplify IOMMU group selection
      gpu: host1x: Overhaul host1x_bo_{pin,unpin}() API
      gpu: host1x: Clean up debugfs on removal
      gpu: host1x: Add direction flags to relocations
      gpu: host1x: Allocate gather copy for host1x
      gpu: host1x: Support DMA mapping of buffers
      gpu: host1x: Set DMA mask based on IOMMU setup
      drm/tegra: Remove memory allocation from Falcon library
      drm/tegra: falcon: Clarify address usage
      drm/tegra: Support DMA API for display controllers
      drm/tegra: Optionally attach clients to the IOMMU
      gpu: host1x: Unconditionally select IOMMU_IOVA
      drm/tegra: Unconditionally select IOMMU_IOVA

 drivers/gpu/drm/tegra/Kconfig  |    2 +-
 drivers/gpu/drm/tegra/dc.c     |   30 +-
 drivers/gpu/drm/tegra/dc.h     |    2 -
 drivers/gpu/drm/tegra/dp.c     |  765 +++++++++++++++++-
 drivers/gpu/drm/tegra/dp.h     |  157 +++-
 drivers/gpu/drm/tegra/dpaux.c  |  207 +++--
 drivers/gpu/drm/tegra/drm.c    |  417 +++++-----
 drivers/gpu/drm/tegra/drm.h    |   13 +-
 drivers/gpu/drm/tegra/falcon.c |   64 +-
 drivers/gpu/drm/tegra/falcon.h |   16 +-
 drivers/gpu/drm/tegra/fb.c     |    4 +-
 drivers/gpu/drm/tegra/gem.c    |   81 +-
 drivers/gpu/drm/tegra/gem.h    |    2 +-
 drivers/gpu/drm/tegra/gr2d.c   |   12 +-
 drivers/gpu/drm/tegra/gr3d.c   |   12 +-
 drivers/gpu/drm/tegra/hub.c    |    6 +-
 drivers/gpu/drm/tegra/output.c |   28 +-
 drivers/gpu/drm/tegra/plane.c  |  104 +++
 drivers/gpu/drm/tegra/plane.h  |    8 +
 drivers/gpu/drm/tegra/sor.c    | 1703 +++++++++++++++++++++++++---------------
 drivers/gpu/drm/tegra/sor.h    |    3 +
 drivers/gpu/drm/tegra/vic.c    |  138 ++--
 drivers/gpu/host1x/Kconfig     |    2 +-
 drivers/gpu/host1x/bus.c       |    2 +-
 drivers/gpu/host1x/cdma.c      |    6 +-
 drivers/gpu/host1x/channel.c   |   13 +-
 drivers/gpu/host1x/channel.h   |    1 +
 drivers/gpu/host1x/dev.c       |  236 ++++--
 drivers/gpu/host1x/dev.h       |    3 +
 drivers/gpu/host1x/intr.c      |    1 -
 drivers/gpu/host1x/job.c       |   91 ++-
 drivers/gpu/host1x/job.h       |    4 +
 include/linux/host1x.h         |   26 +-
 33 files changed, 2873 insertions(+), 1286 deletions(-)