<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/gpu/drm/tegra/dc.c, branch linux-3.19.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.19.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.19.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2014-12-17T13:27:39Z</updated>
<entry>
<title>drm/tegra: dc: Select root window for event dispatch</title>
<updated>2014-12-17T13:27:39Z</updated>
<author>
<name>Sean Paul</name>
</author>
<published>2014-11-19T18:04:49Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=93396d0f9c027654eb09151d2e22fe78a39feedb'/>
<id>urn:sha1:93396d0f9c027654eb09151d2e22fe78a39feedb</id>
<content type='text'>
In finish pageflip, the driver was not selecting the root window when
dispatching events. This exposed a race where a plane update would
change the window selection and cause tegra_dc_finish_page_flip to check
the wrong base address.

This patch also protects access to the window selection register as well
as the registers affected by it.

Signed-off-by: Sean Paul &lt;seanpaul@chromium.org&gt;
Signed-off-by: Thierry Reding &lt;treding@nvidia.com&gt;
</content>
</entry>
<entry>
<title>drm/tegra: dc: Fix a potential race on page-flip completion</title>
<updated>2014-12-17T13:27:36Z</updated>
<author>
<name>Thierry Reding</name>
</author>
<published>2014-12-16T15:33:27Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6b59cc1c86e90cccf8fb0b4dee5fbc226bb82d3e'/>
<id>urn:sha1:6b59cc1c86e90cccf8fb0b4dee5fbc226bb82d3e</id>
<content type='text'>
Page-flip completion could race with page-flip submission, so extend the
critical section to include all accesses to page-flip related data.

Reported-by: Alexandre Courbot &lt;acourbot@nvidia.com&gt;
Signed-off-by: Thierry Reding &lt;treding@nvidia.com&gt;
</content>
</entry>
<entry>
<title>drm/tegra: dc: Consistently use the same pipe</title>
<updated>2014-12-17T13:27:36Z</updated>
<author>
<name>Thierry Reding</name>
</author>
<published>2014-12-16T15:03:13Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ed7dae58de246790f394caea5ef7eecad0e83387'/>
<id>urn:sha1:ed7dae58de246790f394caea5ef7eecad0e83387</id>
<content type='text'>
The hardware pipe numbers don't always match the DRM CRTC indices. This
can happen for example if the first display controller defers probe,
causing it to be registered with DRM after the second display
controller. When that happens the hardware pipe numbers and DRM CRTC
indices become different. Make sure that the CRTC index is always used
when accessing per-CRTC VBLANK data. This can be ensured by using the
drm_crtc_vblank_*() API, which will do the right thing automatically
given a struct drm_crtc *.

Signed-off-by: Thierry Reding &lt;treding@nvidia.com&gt;
</content>
</entry>
<entry>
<title>Merge tag 'v3.18-rc7' into drm-next</title>
<updated>2014-12-02T00:58:33Z</updated>
<author>
<name>Dave Airlie</name>
</author>
<published>2014-12-02T00:58:33Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e8115e79aa62b6ebdb3e8e61ca4092cc32938afc'/>
<id>urn:sha1:e8115e79aa62b6ebdb3e8e61ca4092cc32938afc</id>
<content type='text'>
This fixes a bunch of conflicts prior to merging i915 tree.

Linux 3.18-rc7

Conflicts:
	drivers/gpu/drm/exynos/exynos_drm_drv.c
	drivers/gpu/drm/i915/i915_drv.c
	drivers/gpu/drm/i915/intel_pm.c
	drivers/gpu/drm/tegra/dc.c
</content>
</entry>
<entry>
<title>Merge tag 'drm/tegra/for-3.19-rc1' of git://people.freedesktop.org/~tagr/linux into drm-next</title>
<updated>2014-11-14T23:38:55Z</updated>
<author>
<name>Dave Airlie</name>
</author>
<published>2014-11-14T23:38:55Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b0654103f55ebae8f72700b37f152942f34806cc'/>
<id>urn:sha1:b0654103f55ebae8f72700b37f152942f34806cc</id>
<content type='text'>
drm/tegra: Changes for v3.19-rc1

The highlights in this pull request are:

  * IOMMU support: The Tegra DRM driver can now deal with discontiguous
    buffers if an IOMMU exists in the system. That means it can allocate
    using drm_gem_get_pages() and will map them into IOVA space via the
    IOMMU API. Similarly, non-contiguous PRIME buffers can be imported
    from a different driver, which allows better integration with gk20a
    (nouveau) and less hacks.

  * Universal planes: This is precursory work for atomic modesetting and
    will allow hardware cursor support to be implemented on pre-Tegra114
    where RGB cursors were not supported.

  * DSI ganged-mode support: The DSI controller can now gang up with a
    second DSI controller to drive high resolution DSI panels.

Besides those bigger changes there is a slew of fixes, cleanups, plugged
memory leaks and so on.

* tag 'drm/tegra/for-3.19-rc1' of git://people.freedesktop.org/~tagr/linux: (44 commits)
  drm/tegra: gem: Check before freeing CMA memory
  drm/tegra: fb: Add error codes to error messages
  drm/tegra: fb: Properly release GEM objects on failure
  drm/tegra: Detach panel when a connector is removed
  drm/tegra: Plug memory leak
  drm/tegra: gem: Use more consistent data types
  drm/tegra: fb: Do not destroy framebuffer
  drm/tegra: gem: dumb: pitch and size are outputs
  drm/tegra: Enable the hotplug interrupt only when necessary
  drm/tegra: dc: Universal plane support
  drm/tegra: dc: Registers are 32 bits wide
  drm/tegra: dc: Factor out DC, window and cursor commit
  drm/tegra: Add IOMMU support
  drm/tegra: Fix error handling cleanup
  drm/tegra: gem: Use dma_mmap_writecombine()
  drm/tegra: gem: Remove redundant drm_gem_free_mmap_offset()
  drm/tegra: gem: Cleanup tegra_bo_create_with_handle()
  drm/tegra: gem: Extract tegra_bo_alloc_object()
  drm/tegra: dsi: Set up PHY_TIMING &amp; BTA_TIMING registers earlier
  drm/tegra: dsi: Replace 1000000 by USEC_PER_SEC
  ...
</content>
</entry>
<entry>
<title>drm/tegra: dc: Universal plane support</title>
<updated>2014-11-13T15:18:28Z</updated>
<author>
<name>Thierry Reding</name>
</author>
<published>2014-10-21T11:51:53Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c7679306a923c2feb383f709446c1110db1c56e4'/>
<id>urn:sha1:c7679306a923c2feb383f709446c1110db1c56e4</id>
<content type='text'>
This allows the primary plane and cursor to be exposed as regular
DRM/KMS planes, which is a prerequisite for atomic modesetting and gives
userspace more flexibility over controlling them.

Signed-off-by: Thierry Reding &lt;treding@nvidia.com&gt;
</content>
</entry>
<entry>
<title>drm/tegra: dc: Registers are 32 bits wide</title>
<updated>2014-11-13T15:17:03Z</updated>
<author>
<name>Thierry Reding</name>
</author>
<published>2014-10-21T11:48:48Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=03a605697658ac7af722764cef3f0fed889d2033'/>
<id>urn:sha1:03a605697658ac7af722764cef3f0fed889d2033</id>
<content type='text'>
Using an unsigned long type will cause these variables to become 64-bit
on 64-bit SoCs. In practice this should always work, but there's no need
for carrying around the additional 32 bits.

Signed-off-by: Thierry Reding &lt;treding@nvidia.com&gt;
</content>
</entry>
<entry>
<title>drm/tegra: dc: Factor out DC, window and cursor commit</title>
<updated>2014-11-13T15:17:01Z</updated>
<author>
<name>Thierry Reding</name>
</author>
<published>2014-10-21T11:41:46Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=205d48edee844740041c07450fedd7314352ba44'/>
<id>urn:sha1:205d48edee844740041c07450fedd7314352ba44</id>
<content type='text'>
The sequence to commit changes to the DC, window or cursor configuration
is repetitive and can be extracted into separate functions for ease of
use.

Signed-off-by: Thierry Reding &lt;treding@nvidia.com&gt;
</content>
</entry>
<entry>
<title>drm/tegra: Add IOMMU support</title>
<updated>2014-11-13T15:14:48Z</updated>
<author>
<name>Thierry Reding</name>
</author>
<published>2014-06-26T19:41:53Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=df06b759f2cf4690fa9991edb1504ba39932b2bb'/>
<id>urn:sha1:df06b759f2cf4690fa9991edb1504ba39932b2bb</id>
<content type='text'>
When an IOMMU device is available on the platform bus, allocate an IOMMU
domain and attach the display controllers to it. The display controllers
can then scan out non-contiguous buffers by mapping them through the
IOMMU.

Signed-off-by: Thierry Reding &lt;treding@nvidia.com&gt;
</content>
</entry>
<entry>
<title>drm/tegra: dc: Add powergate support</title>
<updated>2014-11-13T15:11:59Z</updated>
<author>
<name>Thierry Reding</name>
</author>
<published>2014-07-07T13:32:53Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9c0127004ff4e891e475d6dfb22ddcbaeca6ec9b'/>
<id>urn:sha1:9c0127004ff4e891e475d6dfb22ddcbaeca6ec9b</id>
<content type='text'>
Both display controllers are in their own power partition. Currently the
driver relies on the assumption that these partitions are on (which is
the hardware default). However some bootloaders may disable them, so the
driver must make sure to turn them back on to avoid hangs.

Signed-off-by: Thierry Reding &lt;treding@nvidia.com&gt;
</content>
</entry>
</feed>
