<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/gpu/drm/exynos/exynos_drm_drv.h, branch master</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/
</subtitle>
<id>https://git.shady.money/linux/atom?h=master</id>
<link rel='self' href='https://git.shady.money/linux/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/'/>
<updated>2026-02-01T14:27:56Z</updated>
<entry>
<title>drm/exynos: vidi: use priv-&gt;vidi_dev for ctx lookup in vidi_connection_ioctl()</title>
<updated>2026-02-01T14:27:56Z</updated>
<author>
<name>Jeongjun Park</name>
<email>aha310510@gmail.com</email>
</author>
<published>2026-01-19T08:25:51Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=d3968a0d85b211e197f2f4f06268a7031079e0d0'/>
<id>urn:sha1:d3968a0d85b211e197f2f4f06268a7031079e0d0</id>
<content type='text'>
vidi_connection_ioctl() retrieves the driver_data from drm_dev-&gt;dev to
obtain a struct vidi_context pointer. However, drm_dev-&gt;dev is the
exynos-drm master device, and the driver_data contained therein is not
the vidi component device, but a completely different device.

This can lead to various bugs, ranging from null pointer dereferences and
garbage value accesses to, in unlucky cases, out-of-bounds errors,
use-after-free errors, and more.

To resolve this issue, we need to store/delete the vidi device pointer in
exynos_drm_private-&gt;vidi_dev during bind/unbind, and then read this
exynos_drm_private-&gt;vidi_dev within ioctl() to obtain the correct
struct vidi_context pointer.

Cc: &lt;stable@vger.kernel.org&gt;
Signed-off-by: Jeongjun Park &lt;aha310510@gmail.com&gt;
Signed-off-by: Inki Dae &lt;inki.dae@samsung.com&gt;
</content>
</entry>
<entry>
<title>drm/exynos: Remove unnecessary code</title>
<updated>2024-09-06T07:02:33Z</updated>
<author>
<name>Kwanghoon Son</name>
<email>k.son@samsung.com</email>
</author>
<published>2024-08-14T03:57:01Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=3fcdd0628a27e186360db238b5a210706a01f7cc'/>
<id>urn:sha1:3fcdd0628a27e186360db238b5a210706a01f7cc</id>
<content type='text'>
Function usage exynos_atomic_commit was removed in
commit 41cbf0fdaa28 ("drm/exynos: use atomic helper commit").
Remove unnecessary function declare.

Signed-off-by: Kwanghoon Son &lt;k.son@samsung.com&gt;
Signed-off-by: Inki Dae &lt;inki.dae@samsung.com&gt;
</content>
</entry>
<entry>
<title>drm/exynos: Remove fb_helper from struct exynos_drm_private</title>
<updated>2023-04-17T07:47:55Z</updated>
<author>
<name>Thomas Zimmermann</name>
<email>tzimmermann@suse.de</email>
</author>
<published>2023-03-30T07:36:33Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=3bf3b53446d14003193a8804d0d1f3e1761b2be2'/>
<id>urn:sha1:3bf3b53446d14003193a8804d0d1f3e1761b2be2</id>
<content type='text'>
The DRM device stores a pointer to the fbdev helper. Remove struct
exynos_drm_private.fb_helper, which contains the same value. No
functional changes.

Signed-off-by: Thomas Zimmermann &lt;tzimmermann@suse.de&gt;
Tested-by: Marek Szyprowski &lt;m.szyprowski@samsung.com&gt;
Signed-off-by: Inki Dae &lt;inki.dae@samsung.com&gt;
</content>
</entry>
<entry>
<title>drm/exynos: Fix cleanup of IOMMU related objects</title>
<updated>2020-03-10T04:25:18Z</updated>
<author>
<name>Marek Szyprowski</name>
<email>m.szyprowski@samsung.com</email>
</author>
<published>2020-03-09T11:02:14Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=07dc3678bacc2a75b1900febea7d996a31f178a2'/>
<id>urn:sha1:07dc3678bacc2a75b1900febea7d996a31f178a2</id>
<content type='text'>
Store the IOMMU mapping created by the device core of each Exynos DRM
sub-device and restore it when the Exynos DRM driver is unbound. This
fixes IOMMU initialization failure for the second time when a deferred
probe is triggered from the bind() callback of master's compound DRM
driver. This also fixes the following issue found using kmemleak
detector:

unreferenced object 0xc2137640 (size 64):
  comm "swapper/0", pid 1, jiffies 4294937900 (age 3127.400s)
  hex dump (first 32 bytes):
    50 a3 14 c2 80 a2 14 c2 01 00 00 00 20 00 00 00  P........... ...
    00 10 00 00 00 80 00 00 00 00 00 00 00 00 00 00  ................
  backtrace:
    [&lt;3acd268d&gt;] arch_setup_dma_ops+0x4c/0x104
    [&lt;9f7d2cce&gt;] of_dma_configure+0x19c/0x3a4
    [&lt;ba07704b&gt;] really_probe+0xb0/0x47c
    [&lt;4f510e4f&gt;] driver_probe_device+0x78/0x1c4
    [&lt;7481a0cf&gt;] device_driver_attach+0x58/0x60
    [&lt;0ff8f5c1&gt;] __driver_attach+0xb8/0x158
    [&lt;86006144&gt;] bus_for_each_dev+0x74/0xb4
    [&lt;10159dca&gt;] bus_add_driver+0x1c0/0x200
    [&lt;8a265265&gt;] driver_register+0x74/0x108
    [&lt;e0f3451a&gt;] exynos_drm_init+0xb0/0x134
    [&lt;db3fc7ba&gt;] do_one_initcall+0x90/0x458
    [&lt;6da35917&gt;] kernel_init_freeable+0x188/0x200
    [&lt;db3f74d4&gt;] kernel_init+0x8/0x110
    [&lt;1f3cddf9&gt;] ret_from_fork+0x14/0x20
    [&lt;8cd12507&gt;] 0x0
unreferenced object 0xc214a280 (size 128):
  comm "swapper/0", pid 1, jiffies 4294937900 (age 3127.400s)
  hex dump (first 32 bytes):
    00 a0 ec ed 00 00 00 00 00 00 00 00 00 00 00 00  ................
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  backtrace:
    [&lt;3acd268d&gt;] arch_setup_dma_ops+0x4c/0x104
    [&lt;9f7d2cce&gt;] of_dma_configure+0x19c/0x3a4
    [&lt;ba07704b&gt;] really_probe+0xb0/0x47c
    [&lt;4f510e4f&gt;] driver_probe_device+0x78/0x1c4
    [&lt;7481a0cf&gt;] device_driver_attach+0x58/0x60
    [&lt;0ff8f5c1&gt;] __driver_attach+0xb8/0x158
    [&lt;86006144&gt;] bus_for_each_dev+0x74/0xb4
    [&lt;10159dca&gt;] bus_add_driver+0x1c0/0x200
    [&lt;8a265265&gt;] driver_register+0x74/0x108
    [&lt;e0f3451a&gt;] exynos_drm_init+0xb0/0x134
    [&lt;db3fc7ba&gt;] do_one_initcall+0x90/0x458
    [&lt;6da35917&gt;] kernel_init_freeable+0x188/0x200
    [&lt;db3f74d4&gt;] kernel_init+0x8/0x110
    [&lt;1f3cddf9&gt;] ret_from_fork+0x14/0x20
    [&lt;8cd12507&gt;] 0x0
unreferenced object 0xedeca000 (size 4096):
  comm "swapper/0", pid 1, jiffies 4294937900 (age 3127.400s)
  hex dump (first 32 bytes):
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  backtrace:
    [&lt;3acd268d&gt;] arch_setup_dma_ops+0x4c/0x104
    [&lt;9f7d2cce&gt;] of_dma_configure+0x19c/0x3a4
    [&lt;ba07704b&gt;] really_probe+0xb0/0x47c
    [&lt;4f510e4f&gt;] driver_probe_device+0x78/0x1c4
    [&lt;7481a0cf&gt;] device_driver_attach+0x58/0x60
    [&lt;0ff8f5c1&gt;] __driver_attach+0xb8/0x158
    [&lt;86006144&gt;] bus_for_each_dev+0x74/0xb4
    [&lt;10159dca&gt;] bus_add_driver+0x1c0/0x200
    [&lt;8a265265&gt;] driver_register+0x74/0x108
    [&lt;e0f3451a&gt;] exynos_drm_init+0xb0/0x134
    [&lt;db3fc7ba&gt;] do_one_initcall+0x90/0x458
    [&lt;6da35917&gt;] kernel_init_freeable+0x188/0x200
    [&lt;db3f74d4&gt;] kernel_init+0x8/0x110
    [&lt;1f3cddf9&gt;] ret_from_fork+0x14/0x20
    [&lt;8cd12507&gt;] 0x0
unreferenced object 0xc214a300 (size 128):
  comm "swapper/0", pid 1, jiffies 4294937900 (age 3127.400s)
  hex dump (first 32 bytes):
    00 a3 14 c2 00 a3 14 c2 00 40 18 c2 00 80 18 c2  .........@......
    02 00 02 00 ad 4e ad de ff ff ff ff ff ff ff ff  .....N..........
  backtrace:
    [&lt;08cbd8bc&gt;] iommu_domain_alloc+0x24/0x50
    [&lt;b835abee&gt;] arm_iommu_create_mapping+0xe4/0x134
    [&lt;3acd268d&gt;] arch_setup_dma_ops+0x4c/0x104
    [&lt;9f7d2cce&gt;] of_dma_configure+0x19c/0x3a4
    [&lt;ba07704b&gt;] really_probe+0xb0/0x47c
    [&lt;4f510e4f&gt;] driver_probe_device+0x78/0x1c4
    [&lt;7481a0cf&gt;] device_driver_attach+0x58/0x60
    [&lt;0ff8f5c1&gt;] __driver_attach+0xb8/0x158
    [&lt;86006144&gt;] bus_for_each_dev+0x74/0xb4
    [&lt;10159dca&gt;] bus_add_driver+0x1c0/0x200
    [&lt;8a265265&gt;] driver_register+0x74/0x108
    [&lt;e0f3451a&gt;] exynos_drm_init+0xb0/0x134
    [&lt;db3fc7ba&gt;] do_one_initcall+0x90/0x458
    [&lt;6da35917&gt;] kernel_init_freeable+0x188/0x200
    [&lt;db3f74d4&gt;] kernel_init+0x8/0x110
    [&lt;1f3cddf9&gt;] ret_from_fork+0x14/0x20

Signed-off-by: Marek Szyprowski &lt;m.szyprowski@samsung.com&gt;
Reviewed-by: Lukasz Luba &lt;lukasz.luba@arm.com&gt;
Signed-off-by: Inki Dae &lt;inki.dae@samsung.com&gt;
</content>
</entry>
<entry>
<title>drm/exynos: change callback names</title>
<updated>2020-01-21T00:09:42Z</updated>
<author>
<name>Inki Dae</name>
<email>inki.dae@samsung.com</email>
</author>
<published>2019-12-19T02:07:53Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=11f954899d55c622afbbf23925ce1faf5d647c81'/>
<id>urn:sha1:11f954899d55c622afbbf23925ce1faf5d647c81</id>
<content type='text'>
This patch changes Exynos specific 'disable' and 'enable'
callback names to 'atomic_disable/enable' for the consistency.

Signed-off-by: Inki Dae &lt;inki.dae@samsung.com&gt;
</content>
</entry>
<entry>
<title>drm/exynos: drop drmP.h usage</title>
<updated>2019-06-27T10:56:09Z</updated>
<author>
<name>Sam Ravnborg</name>
<email>sam@ravnborg.org</email>
</author>
<published>2019-06-24T13:06:28Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=2bda34d7d9102f1ffc030256daad5f14dbc623cd'/>
<id>urn:sha1:2bda34d7d9102f1ffc030256daad5f14dbc623cd</id>
<content type='text'>
Drop use of the deprecated drmP.h file.
Replace with forwards / externals as appropriate.

While touching the list of include files divide
them up in blocks and sort them.

v3:
- fix build errors in exynos_drm_g2d.c (Inki Dae)
  The exynos_drm_g2d.c file is not built in the
  standard configurations and was therefore missed.

Signed-off-by: Sam Ravnborg &lt;sam@ravnborg.org&gt;
Cc: Inki Dae &lt;inki.dae@samsung.com&gt;
Cc: Joonyoung Shim &lt;jy0922.shim@samsung.com&gt;
Cc: Seung-Woo Kim &lt;sw0312.kim@samsung.com&gt;
Cc: Kyungmin Park &lt;kyungmin.park@samsung.com&gt;
Cc: David Airlie &lt;airlied@linux.ie&gt;
Cc: Daniel Vetter &lt;daniel@ffwll.ch&gt;
Cc: Kukjin Kim &lt;kgene@kernel.org&gt;
Cc: Krzysztof Kozlowski &lt;krzk@kernel.org&gt;
Cc: Jingoo Han &lt;jingoohan1@gmail.com&gt;
Fixed merge conflict.
Signed-off-by: Inki Dae &lt;inki.dae@samsung.com&gt;
</content>
</entry>
<entry>
<title>treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152</title>
<updated>2019-05-30T18:26:32Z</updated>
<author>
<name>Thomas Gleixner</name>
<email>tglx@linutronix.de</email>
</author>
<published>2019-05-27T06:55:01Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=2874c5fd284268364ece81a7bd936f3c8168e567'/>
<id>urn:sha1:2874c5fd284268364ece81a7bd936f3c8168e567</id>
<content type='text'>
Based on 1 normalized pattern(s):

  this program is free software you can redistribute it and or modify
  it under the terms of the gnu general public license as published by
  the free software foundation either version 2 of the license or at
  your option any later version

extracted by the scancode license scanner the SPDX license identifier

  GPL-2.0-or-later

has been chosen to replace the boilerplate/reference in 3029 file(s).

Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Reviewed-by: Allison Randal &lt;allison@lohutok.net&gt;
Cc: linux-spdx@vger.kernel.org
Link: https://lkml.kernel.org/r/20190527070032.746973796@linutronix.de
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>drm/exynos/iommu: integrate IOMMU/DMA internal API</title>
<updated>2018-12-04T04:23:17Z</updated>
<author>
<name>Andrzej Hajda</name>
<email>a.hajda@samsung.com</email>
</author>
<published>2018-10-12T10:53:43Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=237556962e51150f89bdc8d04171a3619bfeaf8d'/>
<id>urn:sha1:237556962e51150f89bdc8d04171a3619bfeaf8d</id>
<content type='text'>
Exynos DRM drivers should work with and without IOMMU. Providing common
API generic to both scenarios should make code cleaner and allow further
code improvements.
The patch removes including of exynos_drm_iommu.h as the file contains
mostly IOMMU specific stuff, instead it exposes exynos_drm_*_dma functions
and puts them into exynos_drm_dma.c.

Signed-off-by: Andrzej Hajda &lt;a.hajda@samsung.com&gt;
Signed-off-by: Inki Dae &lt;inki.dae@samsung.com&gt;
</content>
</entry>
<entry>
<title>drm/exynos: simplify DMA mapping</title>
<updated>2018-12-04T04:23:17Z</updated>
<author>
<name>Andrzej Hajda</name>
<email>a.hajda@samsung.com</email>
</author>
<published>2018-10-12T10:53:41Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=29cbf24a4df5c2fa6c6e719598953b5392c00ec0'/>
<id>urn:sha1:29cbf24a4df5c2fa6c6e719598953b5392c00ec0</id>
<content type='text'>
Moving DMA mapping creation to drm_iommu_attach_device allows to avoid
looping through all components and maintaining DMA device flags.

v2: take care of configurations without IOMMU

Signed-off-by: Andrzej Hajda &lt;a.hajda@samsung.com&gt;
Signed-off-by: Inki Dae &lt;inki.dae@samsung.com&gt;
</content>
</entry>
<entry>
<title>Revert "drm/exynos/decon5433: implement frame counter"</title>
<updated>2018-11-05T07:37:24Z</updated>
<author>
<name>Inki Dae</name>
<email>inki.dae@samsung.com</email>
</author>
<published>2018-10-05T02:50:20Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=6ca469e22a30992b4478d2ab88737c70667c1e00'/>
<id>urn:sha1:6ca469e22a30992b4478d2ab88737c70667c1e00</id>
<content type='text'>
This reverts commit 0586feba322e1de05075700eb4b835c8b683e62b

This patch makes it to need get_vblank_counter callback in crtc
to get frame counter from decon driver.

However, drm_dev-&gt;max_vblank_count is a member unique to
vendor's DRM driver but in case of ARM DRM, some CRTC devices
don't provide the frame counter value. As a result, this patch
made extension and clone mode not working.

Instead of this patch, we may need separated max_vblank_count
which belongs to each CRTC device, or need to implement frame
counter emulation for them who don't support HW frame counter.

Signed-off-by: Inki Dae &lt;inki.dae@samsung.com&gt;
</content>
</entry>
</feed>
