<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-stable.git/drivers/gpu/drm/exynos, branch v5.6</title>
<subtitle>Linux kernel stable tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/'/>
<entry>
<title>drm/exynos: Fix cleanup of IOMMU related objects</title>
<updated>2020-03-10T04:25:18+00:00</updated>
<author>
<name>Marek Szyprowski</name>
<email>m.szyprowski@samsung.com</email>
</author>
<published>2020-03-09T11:02:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=07dc3678bacc2a75b1900febea7d996a31f178a2'/>
<id>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>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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;
</pre>
</div>
</content>
</entry>
<entry>
<title>drm/exynos: hdmi: don't leak enable HDMI_EN regulator if probe fails</title>
<updated>2020-03-02T04:02:41+00:00</updated>
<author>
<name>Marek Szyprowski</name>
<email>m.szyprowski@samsung.com</email>
</author>
<published>2020-02-20T12:57:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=3b6a9b19ab652efac7ad4c392add6f1235019568'/>
<id>3b6a9b19ab652efac7ad4c392add6f1235019568</id>
<content type='text'>
Move enabling and disabling HDMI_EN optional regulator to probe() function
to keep track on the regulator status. This fixes following warning if
probe() fails (for example when I2C DDC adapter cannot be yet gathered
due to the missing driver). This fixes following warning observed on
Arndale5250 board with multi_v7_defconfig:

[drm] Failed to get ddc i2c adapter by node
------------[ cut here ]------------
WARNING: CPU: 0 PID: 214 at drivers/regulator/core.c:2051 _regulator_put+0x16c/0x184
Modules linked in: ...
CPU: 0 PID: 214 Comm: systemd-udevd Not tainted 5.6.0-rc2-next-20200219-00040-g38af1dfafdbb #7570
Hardware name: Samsung Exynos (Flattened Device Tree)
[&lt;c0312258&gt;] (unwind_backtrace) from [&lt;c030cc10&gt;] (show_stack+0x10/0x14)
[&lt;c030cc10&gt;] (show_stack) from [&lt;c0f0d3a0&gt;] (dump_stack+0xcc/0xe0)
[&lt;c0f0d3a0&gt;] (dump_stack) from [&lt;c0346a58&gt;] (__warn+0xe0/0xf8)
[&lt;c0346a58&gt;] (__warn) from [&lt;c0346b20&gt;] (warn_slowpath_fmt+0xb0/0xb8)
[&lt;c0346b20&gt;] (warn_slowpath_fmt) from [&lt;c0893f58&gt;] (_regulator_put+0x16c/0x184)
[&lt;c0893f58&gt;] (_regulator_put) from [&lt;c0893f8c&gt;] (regulator_put+0x1c/0x2c)
[&lt;c0893f8c&gt;] (regulator_put) from [&lt;c09b2664&gt;] (release_nodes+0x17c/0x200)
[&lt;c09b2664&gt;] (release_nodes) from [&lt;c09aebe8&gt;] (really_probe+0x10c/0x350)
[&lt;c09aebe8&gt;] (really_probe) from [&lt;c09aefa8&gt;] (driver_probe_device+0x60/0x1a0)
[&lt;c09aefa8&gt;] (driver_probe_device) from [&lt;c09af288&gt;] (device_driver_attach+0x58/0x60)
[&lt;c09af288&gt;] (device_driver_attach) from [&lt;c09af310&gt;] (__driver_attach+0x80/0xbc)
[&lt;c09af310&gt;] (__driver_attach) from [&lt;c09ace34&gt;] (bus_for_each_dev+0x68/0xb4)
[&lt;c09ace34&gt;] (bus_for_each_dev) from [&lt;c09ae00c&gt;] (bus_add_driver+0x130/0x1e8)
[&lt;c09ae00c&gt;] (bus_add_driver) from [&lt;c09afd98&gt;] (driver_register+0x78/0x110)
[&lt;c09afd98&gt;] (driver_register) from [&lt;bf139558&gt;] (exynos_drm_init+0xe8/0x11c [exynosdrm])
[&lt;bf139558&gt;] (exynos_drm_init [exynosdrm]) from [&lt;c0302fa8&gt;] (do_one_initcall+0x50/0x220)
[&lt;c0302fa8&gt;] (do_one_initcall) from [&lt;c03dc02c&gt;] (do_init_module+0x60/0x210)
[&lt;c03dc02c&gt;] (do_init_module) from [&lt;c03daf44&gt;] (load_module+0x1c0c/0x2310)
[&lt;c03daf44&gt;] (load_module) from [&lt;c03db85c&gt;] (sys_finit_module+0xac/0xbc)
[&lt;c03db85c&gt;] (sys_finit_module) from [&lt;c0301000&gt;] (ret_fast_syscall+0x0/0x54)
Exception stack(0xecca3fa8 to 0xecca3ff0)
...
---[ end trace 276c91214635905c ]---

Signed-off-by: Marek Szyprowski &lt;m.szyprowski@samsung.com&gt;
Reviewed-by: Andrzej Hajda &lt;a.hajda@samsung.com&gt;
Signed-off-by: Inki Dae &lt;inki.dae@samsung.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Move enabling and disabling HDMI_EN optional regulator to probe() function
to keep track on the regulator status. This fixes following warning if
probe() fails (for example when I2C DDC adapter cannot be yet gathered
due to the missing driver). This fixes following warning observed on
Arndale5250 board with multi_v7_defconfig:

[drm] Failed to get ddc i2c adapter by node
------------[ cut here ]------------
WARNING: CPU: 0 PID: 214 at drivers/regulator/core.c:2051 _regulator_put+0x16c/0x184
Modules linked in: ...
CPU: 0 PID: 214 Comm: systemd-udevd Not tainted 5.6.0-rc2-next-20200219-00040-g38af1dfafdbb #7570
Hardware name: Samsung Exynos (Flattened Device Tree)
[&lt;c0312258&gt;] (unwind_backtrace) from [&lt;c030cc10&gt;] (show_stack+0x10/0x14)
[&lt;c030cc10&gt;] (show_stack) from [&lt;c0f0d3a0&gt;] (dump_stack+0xcc/0xe0)
[&lt;c0f0d3a0&gt;] (dump_stack) from [&lt;c0346a58&gt;] (__warn+0xe0/0xf8)
[&lt;c0346a58&gt;] (__warn) from [&lt;c0346b20&gt;] (warn_slowpath_fmt+0xb0/0xb8)
[&lt;c0346b20&gt;] (warn_slowpath_fmt) from [&lt;c0893f58&gt;] (_regulator_put+0x16c/0x184)
[&lt;c0893f58&gt;] (_regulator_put) from [&lt;c0893f8c&gt;] (regulator_put+0x1c/0x2c)
[&lt;c0893f8c&gt;] (regulator_put) from [&lt;c09b2664&gt;] (release_nodes+0x17c/0x200)
[&lt;c09b2664&gt;] (release_nodes) from [&lt;c09aebe8&gt;] (really_probe+0x10c/0x350)
[&lt;c09aebe8&gt;] (really_probe) from [&lt;c09aefa8&gt;] (driver_probe_device+0x60/0x1a0)
[&lt;c09aefa8&gt;] (driver_probe_device) from [&lt;c09af288&gt;] (device_driver_attach+0x58/0x60)
[&lt;c09af288&gt;] (device_driver_attach) from [&lt;c09af310&gt;] (__driver_attach+0x80/0xbc)
[&lt;c09af310&gt;] (__driver_attach) from [&lt;c09ace34&gt;] (bus_for_each_dev+0x68/0xb4)
[&lt;c09ace34&gt;] (bus_for_each_dev) from [&lt;c09ae00c&gt;] (bus_add_driver+0x130/0x1e8)
[&lt;c09ae00c&gt;] (bus_add_driver) from [&lt;c09afd98&gt;] (driver_register+0x78/0x110)
[&lt;c09afd98&gt;] (driver_register) from [&lt;bf139558&gt;] (exynos_drm_init+0xe8/0x11c [exynosdrm])
[&lt;bf139558&gt;] (exynos_drm_init [exynosdrm]) from [&lt;c0302fa8&gt;] (do_one_initcall+0x50/0x220)
[&lt;c0302fa8&gt;] (do_one_initcall) from [&lt;c03dc02c&gt;] (do_init_module+0x60/0x210)
[&lt;c03dc02c&gt;] (do_init_module) from [&lt;c03daf44&gt;] (load_module+0x1c0c/0x2310)
[&lt;c03daf44&gt;] (load_module) from [&lt;c03db85c&gt;] (sys_finit_module+0xac/0xbc)
[&lt;c03db85c&gt;] (sys_finit_module) from [&lt;c0301000&gt;] (ret_fast_syscall+0x0/0x54)
Exception stack(0xecca3fa8 to 0xecca3ff0)
...
---[ end trace 276c91214635905c ]---

Signed-off-by: Marek Szyprowski &lt;m.szyprowski@samsung.com&gt;
Reviewed-by: Andrzej Hajda &lt;a.hajda@samsung.com&gt;
Signed-off-by: Inki Dae &lt;inki.dae@samsung.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drm/exynos: dsi: fix workaround for the legacy clock name</title>
<updated>2020-03-02T04:02:34+00:00</updated>
<author>
<name>Marek Szyprowski</name>
<email>m.szyprowski@samsung.com</email>
</author>
<published>2020-02-20T12:30:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=c0fd99d659ba5582e09625c7a985d63fc2ca74b5'/>
<id>c0fd99d659ba5582e09625c7a985d63fc2ca74b5</id>
<content type='text'>
Writing to the built-in strings arrays doesn't work if driver is loaded
as kernel module. This is also considered as a bad pattern. Fix this by
adding a call to clk_get() with legacy clock name. This fixes following
kernel oops if driver is loaded as module:

Unable to handle kernel paging request at virtual address bf047978
 pgd = (ptrval)
 [bf047978] *pgd=59344811, *pte=5903c6df, *ppte=5903c65f
 Internal error: Oops: 80f [#1] SMP ARM
 Modules linked in: mc exynosdrm(+) analogix_dp rtc_s3c exynos_ppmu i2c_gpio
 CPU: 1 PID: 212 Comm: systemd-udevd Not tainted 5.6.0-rc2-next-20200219 #326
 videodev: Linux video capture interface: v2.00
 Hardware name: Samsung Exynos (Flattened Device Tree)
 PC is at exynos_dsi_probe+0x1f0/0x384 [exynosdrm]
 LR is at exynos_dsi_probe+0x1dc/0x384 [exynosdrm]
 ...
 Process systemd-udevd (pid: 212, stack limit = 0x(ptrval))
 ...
 [&lt;bf03cf14&gt;] (exynos_dsi_probe [exynosdrm]) from [&lt;c09b1ca0&gt;] (platform_drv_probe+0x6c/0xa4)
 [&lt;c09b1ca0&gt;] (platform_drv_probe) from [&lt;c09afcb8&gt;] (really_probe+0x210/0x350)
 [&lt;c09afcb8&gt;] (really_probe) from [&lt;c09aff74&gt;] (driver_probe_device+0x60/0x1a0)
 [&lt;c09aff74&gt;] (driver_probe_device) from [&lt;c09b0254&gt;] (device_driver_attach+0x58/0x60)
 [&lt;c09b0254&gt;] (device_driver_attach) from [&lt;c09b02dc&gt;] (__driver_attach+0x80/0xbc)
 [&lt;c09b02dc&gt;] (__driver_attach) from [&lt;c09ade00&gt;] (bus_for_each_dev+0x68/0xb4)
 [&lt;c09ade00&gt;] (bus_for_each_dev) from [&lt;c09aefd8&gt;] (bus_add_driver+0x130/0x1e8)
 [&lt;c09aefd8&gt;] (bus_add_driver) from [&lt;c09b0d64&gt;] (driver_register+0x78/0x110)
 [&lt;c09b0d64&gt;] (driver_register) from [&lt;bf038558&gt;] (exynos_drm_init+0xe8/0x11c [exynosdrm])
 [&lt;bf038558&gt;] (exynos_drm_init [exynosdrm]) from [&lt;c0302fa8&gt;] (do_one_initcall+0x50/0x220)
 [&lt;c0302fa8&gt;] (do_one_initcall) from [&lt;c03dd02c&gt;] (do_init_module+0x60/0x210)
 [&lt;c03dd02c&gt;] (do_init_module) from [&lt;c03dbf44&gt;] (load_module+0x1c0c/0x2310)
 [&lt;c03dbf44&gt;] (load_module) from [&lt;c03dc85c&gt;] (sys_finit_module+0xac/0xbc)
 [&lt;c03dc85c&gt;] (sys_finit_module) from [&lt;c0301000&gt;] (ret_fast_syscall+0x0/0x54)
 Exception stack(0xd979bfa8 to 0xd979bff0)
 ...
 ---[ end trace db16efe05faab470 ]---

Signed-off-by: Marek Szyprowski &lt;m.szyprowski@samsung.com&gt;
Reviewed-by: Andrzej Hajda &lt;a.hajda@samsung.com&gt;
Signed-off-by: Inki Dae &lt;inki.dae@samsung.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Writing to the built-in strings arrays doesn't work if driver is loaded
as kernel module. This is also considered as a bad pattern. Fix this by
adding a call to clk_get() with legacy clock name. This fixes following
kernel oops if driver is loaded as module:

Unable to handle kernel paging request at virtual address bf047978
 pgd = (ptrval)
 [bf047978] *pgd=59344811, *pte=5903c6df, *ppte=5903c65f
 Internal error: Oops: 80f [#1] SMP ARM
 Modules linked in: mc exynosdrm(+) analogix_dp rtc_s3c exynos_ppmu i2c_gpio
 CPU: 1 PID: 212 Comm: systemd-udevd Not tainted 5.6.0-rc2-next-20200219 #326
 videodev: Linux video capture interface: v2.00
 Hardware name: Samsung Exynos (Flattened Device Tree)
 PC is at exynos_dsi_probe+0x1f0/0x384 [exynosdrm]
 LR is at exynos_dsi_probe+0x1dc/0x384 [exynosdrm]
 ...
 Process systemd-udevd (pid: 212, stack limit = 0x(ptrval))
 ...
 [&lt;bf03cf14&gt;] (exynos_dsi_probe [exynosdrm]) from [&lt;c09b1ca0&gt;] (platform_drv_probe+0x6c/0xa4)
 [&lt;c09b1ca0&gt;] (platform_drv_probe) from [&lt;c09afcb8&gt;] (really_probe+0x210/0x350)
 [&lt;c09afcb8&gt;] (really_probe) from [&lt;c09aff74&gt;] (driver_probe_device+0x60/0x1a0)
 [&lt;c09aff74&gt;] (driver_probe_device) from [&lt;c09b0254&gt;] (device_driver_attach+0x58/0x60)
 [&lt;c09b0254&gt;] (device_driver_attach) from [&lt;c09b02dc&gt;] (__driver_attach+0x80/0xbc)
 [&lt;c09b02dc&gt;] (__driver_attach) from [&lt;c09ade00&gt;] (bus_for_each_dev+0x68/0xb4)
 [&lt;c09ade00&gt;] (bus_for_each_dev) from [&lt;c09aefd8&gt;] (bus_add_driver+0x130/0x1e8)
 [&lt;c09aefd8&gt;] (bus_add_driver) from [&lt;c09b0d64&gt;] (driver_register+0x78/0x110)
 [&lt;c09b0d64&gt;] (driver_register) from [&lt;bf038558&gt;] (exynos_drm_init+0xe8/0x11c [exynosdrm])
 [&lt;bf038558&gt;] (exynos_drm_init [exynosdrm]) from [&lt;c0302fa8&gt;] (do_one_initcall+0x50/0x220)
 [&lt;c0302fa8&gt;] (do_one_initcall) from [&lt;c03dd02c&gt;] (do_init_module+0x60/0x210)
 [&lt;c03dd02c&gt;] (do_init_module) from [&lt;c03dbf44&gt;] (load_module+0x1c0c/0x2310)
 [&lt;c03dbf44&gt;] (load_module) from [&lt;c03dc85c&gt;] (sys_finit_module+0xac/0xbc)
 [&lt;c03dc85c&gt;] (sys_finit_module) from [&lt;c0301000&gt;] (ret_fast_syscall+0x0/0x54)
 Exception stack(0xd979bfa8 to 0xd979bff0)
 ...
 ---[ end trace db16efe05faab470 ]---

Signed-off-by: Marek Szyprowski &lt;m.szyprowski@samsung.com&gt;
Reviewed-by: Andrzej Hajda &lt;a.hajda@samsung.com&gt;
Signed-off-by: Inki Dae &lt;inki.dae@samsung.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drm/exynos: dsi: propagate error value and silence meaningless warning</title>
<updated>2020-03-02T04:02:27+00:00</updated>
<author>
<name>Marek Szyprowski</name>
<email>m.szyprowski@samsung.com</email>
</author>
<published>2020-02-27T07:06:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=0a9d1e3f3f038785ebc72d53f1c409d07f6b4ff5'/>
<id>0a9d1e3f3f038785ebc72d53f1c409d07f6b4ff5</id>
<content type='text'>
Properly propagate error value from devm_regulator_bulk_get() and don't
confuse user with meaningless warning about failure in getting regulators
in case of deferred probe.

Signed-off-by: Marek Szyprowski &lt;m.szyprowski@samsung.com&gt;
Reviewed-by: Krzysztof Kozlowski &lt;krzk@kernel.org&gt;
Signed-off-by: Inki Dae &lt;inki.dae@samsung.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Properly propagate error value from devm_regulator_bulk_get() and don't
confuse user with meaningless warning about failure in getting regulators
in case of deferred probe.

Signed-off-by: Marek Szyprowski &lt;m.szyprowski@samsung.com&gt;
Reviewed-by: Krzysztof Kozlowski &lt;krzk@kernel.org&gt;
Signed-off-by: Inki Dae &lt;inki.dae@samsung.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drm/exynos: Rename Exynos to lowercase</title>
<updated>2020-01-21T00:09:42+00:00</updated>
<author>
<name>Krzysztof Kozlowski</name>
<email>krzk@kernel.org</email>
</author>
<published>2020-01-04T15:21:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=c0bf499f6f84634c14cdec0afd1f17ff4121afa2'/>
<id>c0bf499f6f84634c14cdec0afd1f17ff4121afa2</id>
<content type='text'>
Fix up inconsistent usage of upper and lowercase letters in "Exynos"
name.

"EXYNOS" is not an abbreviation but a regular trademarked name.
Therefore it should be written with lowercase letters starting with
capital letter.

The lowercase "Exynos" name is promoted by its manufacturer Samsung
Electronics Co., Ltd., in advertisement materials and on website.

Signed-off-by: Krzysztof Kozlowski &lt;krzk@kernel.org&gt;
Signed-off-by: Inki Dae &lt;inki.dae@samsung.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fix up inconsistent usage of upper and lowercase letters in "Exynos"
name.

"EXYNOS" is not an abbreviation but a regular trademarked name.
Therefore it should be written with lowercase letters starting with
capital letter.

The lowercase "Exynos" name is promoted by its manufacturer Samsung
Electronics Co., Ltd., in advertisement materials and on website.

Signed-off-by: Krzysztof Kozlowski &lt;krzk@kernel.org&gt;
Signed-off-by: Inki Dae &lt;inki.dae@samsung.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drm/exynos: change callback names</title>
<updated>2020-01-21T00:09:42+00:00</updated>
<author>
<name>Inki Dae</name>
<email>inki.dae@samsung.com</email>
</author>
<published>2019-12-19T02:07:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=11f954899d55c622afbbf23925ce1faf5d647c81'/>
<id>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>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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;
</pre>
</div>
</content>
</entry>
<entry>
<title>Backmerge v5.5-rc7 into drm-next</title>
<updated>2020-01-20T01:42:57+00:00</updated>
<author>
<name>Dave Airlie</name>
<email>airlied@redhat.com</email>
</author>
<published>2020-01-20T01:08:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=3d4743131b8de970faa4b979ead0fadfe5d2de9d'/>
<id>3d4743131b8de970faa4b979ead0fadfe5d2de9d</id>
<content type='text'>
msm needs 5.5-rc4, go to the latest.

Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
msm needs 5.5-rc4, go to the latest.

Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drm/exynos: dsi: Fix bridge chain handling</title>
<updated>2020-01-08T08:09:48+00:00</updated>
<author>
<name>Boris Brezillon</name>
<email>boris.brezillon@collabora.com</email>
</author>
<published>2019-12-27T14:41:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=f66ff55a9bd06855f9c6b8f29d8760f77bfe43c2'/>
<id>f66ff55a9bd06855f9c6b8f29d8760f77bfe43c2</id>
<content type='text'>
Commit 05193dc38197 ("drm/bridge: Make the bridge chain a double-linked
list") patched the bridge chain logic to use a double-linked list instead
of a single-linked list. This change induced changes to the Exynos driver
which was manually resetting the encoder-&gt;bridge element to NULL to
control the enable/disable sequence of the bridge chain. During this
conversion, 2 bugs were introduced:

1/ list_splice() was used to move chain elements to our own internal
   chain, but list_splice() does not reset the source list to an empty
   state, leading to unexpected bridge hook calls when
   drm_bridge_chain_xxx() helpers were called by the core. Replacing
   the list_splice() call by list_splice_init() fixes this problem.

2/ drm_bridge_chain_xxx() helpers operate on the
   bridge-&gt;encoder-&gt;bridge_chain list, which is now empty. When the
   helper uses list_for_each_entry_reverse() we end up with no operation
   done which is not what we want. But that's even worse when the helper
   uses list_for_each_entry_from(), because in that case we end up in
   an infinite loop searching for the list head element which is no
   longer encoder-&gt;bridge_chain but exynos_dsi-&gt;bridge_chain. To address
   that problem we stop using the bridge chain helpers and call the
   hooks directly.

Reported-by: Marek Szyprowski &lt;m.szyprowski@samsung.com&gt;
Fixes: 05193dc38197 ("drm/bridge: Make the bridge chain a double-linked list")
Signed-off-by: Boris Brezillon &lt;boris.brezillon@collabora.com&gt;
Tested-by: Marek Szyprowski &lt;m.szyprowski@samsung.com&gt;
Reviewed-by: Andrzej Hajda &lt;a.hajda@samsung.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20191227144124.210294-3-boris.brezillon@collabora.com
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Commit 05193dc38197 ("drm/bridge: Make the bridge chain a double-linked
list") patched the bridge chain logic to use a double-linked list instead
of a single-linked list. This change induced changes to the Exynos driver
which was manually resetting the encoder-&gt;bridge element to NULL to
control the enable/disable sequence of the bridge chain. During this
conversion, 2 bugs were introduced:

1/ list_splice() was used to move chain elements to our own internal
   chain, but list_splice() does not reset the source list to an empty
   state, leading to unexpected bridge hook calls when
   drm_bridge_chain_xxx() helpers were called by the core. Replacing
   the list_splice() call by list_splice_init() fixes this problem.

2/ drm_bridge_chain_xxx() helpers operate on the
   bridge-&gt;encoder-&gt;bridge_chain list, which is now empty. When the
   helper uses list_for_each_entry_reverse() we end up with no operation
   done which is not what we want. But that's even worse when the helper
   uses list_for_each_entry_from(), because in that case we end up in
   an infinite loop searching for the list head element which is no
   longer encoder-&gt;bridge_chain but exynos_dsi-&gt;bridge_chain. To address
   that problem we stop using the bridge chain helpers and call the
   hooks directly.

Reported-by: Marek Szyprowski &lt;m.szyprowski@samsung.com&gt;
Fixes: 05193dc38197 ("drm/bridge: Make the bridge chain a double-linked list")
Signed-off-by: Boris Brezillon &lt;boris.brezillon@collabora.com&gt;
Tested-by: Marek Szyprowski &lt;m.szyprowski@samsung.com&gt;
Reviewed-by: Andrzej Hajda &lt;a.hajda@samsung.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20191227144124.210294-3-boris.brezillon@collabora.com
</pre>
</div>
</content>
</entry>
<entry>
<title>drm/exynos: gsc: add missed component_del</title>
<updated>2019-12-18T23:52:42+00:00</updated>
<author>
<name>Chuhong Yuan</name>
<email>hslester96@gmail.com</email>
</author>
<published>2019-11-18T11:39:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=84c92365b20a44c363b95390ea00dfbdd786f031'/>
<id>84c92365b20a44c363b95390ea00dfbdd786f031</id>
<content type='text'>
The driver forgets to call component_del in remove to match component_add
in probe.
Add the missed call to fix it.

Signed-off-by: Chuhong Yuan &lt;hslester96@gmail.com&gt;
Signed-off-by: Inki Dae &lt;inki.dae@samsung.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The driver forgets to call component_del in remove to match component_add
in probe.
Add the missed call to fix it.

Signed-off-by: Chuhong Yuan &lt;hslester96@gmail.com&gt;
Signed-off-by: Inki Dae &lt;inki.dae@samsung.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge tag 'drm-misc-next-2019-12-16' of git://anongit.freedesktop.org/drm/drm-misc into drm-next</title>
<updated>2019-12-17T12:57:54+00:00</updated>
<author>
<name>Daniel Vetter</name>
<email>daniel.vetter@ffwll.ch</email>
</author>
<published>2019-12-17T12:57:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=6c56e8adc0011b3bc01b6b2bab7e41d5ecb43c0f'/>
<id>6c56e8adc0011b3bc01b6b2bab7e41d5ecb43c0f</id>
<content type='text'>
drm-misc-next for v5.6:

UAPI Changes:
- Add support for DMA-BUF HEAPS.

Cross-subsystem Changes:
- mipi dsi definition updates, pulled into drm-intel as well.
- Add lockdep annotations for dma_resv vs mmap_sem and fs_reclaim.
- Remove support for dma-buf kmap/kunmap.
- Constify fb_ops in all fbdev drivers, including drm drivers and drm-core, and media as well.

Core Changes:
- Small cleanups to ttm.
- Fix SCDC definition.
- Assorted cleanups to core.
- Add todo to remove load/unload hooks, and use generic fbdev emulation.
- Assorted documentation updates.
- Use blocking ww lock in ttm fault handler.
- Remove drm_fb_helper_fbdev_setup/teardown.
- Warning fixes with W=1 for atomic.
- Use drm_debug_enabled() instead of drm_debug flag testing in various drivers.
- Fallback to nontiled mode in fbdev emulation when not all tiles are present. (Later on reverted)
- Various kconfig indentation fixes in core and drivers.
- Fix freeing transactions in dp-mst correctly.
- Sean Paul is steping down as core maintainer. :-(
- Add lockdep annotations for atomic locks vs dma-resv.
- Prevent use-after-free for a bad job in drm_scheduler.
- Fill out all block sizes in the P01x and P210 definitions.
- Avoid division by zero in drm/rect, and fix bounds.
- Add drm/rect selftests.
- Add aspect ratio and alternate clocks for HDMI 4k modes.
- Add todo for drm_framebuffer_funcs and fb_create cleanup.
- Drop DRM_AUTH for prime import/export ioctls.
- Clear DP-MST payload id tables downstream when initializating.
- Fix for DSC throughput definition.
- Add extra FEC definitions.
- Fix fake offset in drm_gem_object_funs.mmap.
- Stop using encoder-&gt;bridge in core directly
- Handle bridge chaining slightly better.
- Add backlight support to drm/panel, and use it in many panel drivers.
- Increase max number of y420 modes from 128 to 256, as preparation to add the new modes.

Driver Changes:
- Small fixes all over.
- Fix documentation in vkms.
- Fix mmap_sem vs dma_resv in nouveau.
- Small cleanup in komeda.
- Add page flip support in gma500 for psb/cdv.
- Add ddc symlink in the connector sysfs directory for many drivers.
- Add support for analogic an6345, and fix small bugs in it.
- Add atomic modesetting support to ast.
- Fix radeon fault handler VMA race.
- Switch udl to use generic shmem helpers.
- Unconditional vblank handling for mcde.
- Miscellaneous fixes to mcde.
- Tweak debug output from komeda using debugfs.
- Add gamma and color transform support to komeda for DOU-IPS.
- Add support for sony acx424AKP panel.
- Various small cleanups to gma500.
- Use generic fbdev emulation in udl, and replace udl_framebuffer with generic implementation.
- Add support for Logic PD Type 28 panel.
- Use drm_panel_* wrapper functions in exynos/tegra/msm.
- Add devicetree bindings for generic DSI panels.
- Don't include drm_pci.h directly in many drivers.
- Add support for begin/end_cpu_access in udmabuf.
- Stop using drm_get_pci_dev in gma500 and mga200.
- Fixes to UDL damage handling, and use dma_buf_begin/end_cpu_access.
- Add devfreq thermal support to panfrost.
- Fix hotplug with daisy chained monitors by removing VCPI when disabling topology manager.
- meson: Add support for OSD1 plane AFBC commit.
- Stop displaying garbage when toggling ast primary plane on/off.
- More cleanups and fixes to UDL.
- Add D32 suport to komeda.
- Remove globle copy of drm_dev in gma500.
- Add support for Boe Himax8279d MIPI-DSI LCD panel.
- Add support for ingenic JZ4770 panel.
- Small null pointer deference fix in ingenic.
- Remove support for the special tfp420 driver, as there is a generic way to do it.

Signed-off-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;

From: Maarten Lankhorst &lt;maarten.lankhorst@linux.intel.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/ba73535a-9334-5302-2e1f-5208bd7390bd@linux.intel.com
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
drm-misc-next for v5.6:

UAPI Changes:
- Add support for DMA-BUF HEAPS.

Cross-subsystem Changes:
- mipi dsi definition updates, pulled into drm-intel as well.
- Add lockdep annotations for dma_resv vs mmap_sem and fs_reclaim.
- Remove support for dma-buf kmap/kunmap.
- Constify fb_ops in all fbdev drivers, including drm drivers and drm-core, and media as well.

Core Changes:
- Small cleanups to ttm.
- Fix SCDC definition.
- Assorted cleanups to core.
- Add todo to remove load/unload hooks, and use generic fbdev emulation.
- Assorted documentation updates.
- Use blocking ww lock in ttm fault handler.
- Remove drm_fb_helper_fbdev_setup/teardown.
- Warning fixes with W=1 for atomic.
- Use drm_debug_enabled() instead of drm_debug flag testing in various drivers.
- Fallback to nontiled mode in fbdev emulation when not all tiles are present. (Later on reverted)
- Various kconfig indentation fixes in core and drivers.
- Fix freeing transactions in dp-mst correctly.
- Sean Paul is steping down as core maintainer. :-(
- Add lockdep annotations for atomic locks vs dma-resv.
- Prevent use-after-free for a bad job in drm_scheduler.
- Fill out all block sizes in the P01x and P210 definitions.
- Avoid division by zero in drm/rect, and fix bounds.
- Add drm/rect selftests.
- Add aspect ratio and alternate clocks for HDMI 4k modes.
- Add todo for drm_framebuffer_funcs and fb_create cleanup.
- Drop DRM_AUTH for prime import/export ioctls.
- Clear DP-MST payload id tables downstream when initializating.
- Fix for DSC throughput definition.
- Add extra FEC definitions.
- Fix fake offset in drm_gem_object_funs.mmap.
- Stop using encoder-&gt;bridge in core directly
- Handle bridge chaining slightly better.
- Add backlight support to drm/panel, and use it in many panel drivers.
- Increase max number of y420 modes from 128 to 256, as preparation to add the new modes.

Driver Changes:
- Small fixes all over.
- Fix documentation in vkms.
- Fix mmap_sem vs dma_resv in nouveau.
- Small cleanup in komeda.
- Add page flip support in gma500 for psb/cdv.
- Add ddc symlink in the connector sysfs directory for many drivers.
- Add support for analogic an6345, and fix small bugs in it.
- Add atomic modesetting support to ast.
- Fix radeon fault handler VMA race.
- Switch udl to use generic shmem helpers.
- Unconditional vblank handling for mcde.
- Miscellaneous fixes to mcde.
- Tweak debug output from komeda using debugfs.
- Add gamma and color transform support to komeda for DOU-IPS.
- Add support for sony acx424AKP panel.
- Various small cleanups to gma500.
- Use generic fbdev emulation in udl, and replace udl_framebuffer with generic implementation.
- Add support for Logic PD Type 28 panel.
- Use drm_panel_* wrapper functions in exynos/tegra/msm.
- Add devicetree bindings for generic DSI panels.
- Don't include drm_pci.h directly in many drivers.
- Add support for begin/end_cpu_access in udmabuf.
- Stop using drm_get_pci_dev in gma500 and mga200.
- Fixes to UDL damage handling, and use dma_buf_begin/end_cpu_access.
- Add devfreq thermal support to panfrost.
- Fix hotplug with daisy chained monitors by removing VCPI when disabling topology manager.
- meson: Add support for OSD1 plane AFBC commit.
- Stop displaying garbage when toggling ast primary plane on/off.
- More cleanups and fixes to UDL.
- Add D32 suport to komeda.
- Remove globle copy of drm_dev in gma500.
- Add support for Boe Himax8279d MIPI-DSI LCD panel.
- Add support for ingenic JZ4770 panel.
- Small null pointer deference fix in ingenic.
- Remove support for the special tfp420 driver, as there is a generic way to do it.

Signed-off-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;

From: Maarten Lankhorst &lt;maarten.lankhorst@linux.intel.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/ba73535a-9334-5302-2e1f-5208bd7390bd@linux.intel.com
</pre>
</div>
</content>
</entry>
</feed>
