<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/drivers/gpu/drm/exynos, branch v4.4.230</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=v4.4.230</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=v4.4.230'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2020-04-02T17:02:28+00:00</updated>
<entry>
<title>drm/exynos: dsi: fix workaround for the legacy clock name</title>
<updated>2020-04-02T17:02:28+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.radix-linux.su/kernel/linux.git/commit/?id=c5cd6fe4d257034e2f31eea7caec3b20753b7832'/>
<id>urn:sha1:c5cd6fe4d257034e2f31eea7caec3b20753b7832</id>
<content type='text'>
[ Upstream commit c0fd99d659ba5582e09625c7a985d63fc2ca74b5 ]

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;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>drm/exynos: dsi: propagate error value and silence meaningless warning</title>
<updated>2020-04-02T17:02:28+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.radix-linux.su/kernel/linux.git/commit/?id=e465161874619090cfae25ce1276443707a906e9'/>
<id>urn:sha1:e465161874619090cfae25ce1276443707a906e9</id>
<content type='text'>
[ Upstream commit 0a9d1e3f3f038785ebc72d53f1c409d07f6b4ff5 ]

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;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>mm: replace get_vaddr_frames() write/force parameters with gup_flags</title>
<updated>2018-12-17T20:55:16+00:00</updated>
<author>
<name>Lorenzo Stoakes</name>
<email>lstoakes@gmail.com</email>
</author>
<published>2016-10-13T00:20:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=3ec22a6bce3f06aa3b8a399ea456fb1cb3792584'/>
<id>urn:sha1:3ec22a6bce3f06aa3b8a399ea456fb1cb3792584</id>
<content type='text'>
commit 7f23b3504a0df63b724180262c5f3f117f21bcae upstream.

This removes the 'write' and 'force' from get_vaddr_frames() and
replaces them with 'gup_flags' to make the use of FOLL_FORCE explicit in
callers as use of this flag can result in surprising behaviour (and
hence bugs) within the mm subsystem.

Signed-off-by: Lorenzo Stoakes &lt;lstoakes@gmail.com&gt;
Acked-by: Michal Hocko &lt;mhocko@suse.com&gt;
Reviewed-by: Jan Kara &lt;jack@suse.cz&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Signed-off-by: Ben Hutchings &lt;ben.hutchings@codethink.co.uk&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>drm/exynos: decon5433: Fix WINCONx reset value</title>
<updated>2018-08-24T11:26:57+00:00</updated>
<author>
<name>Marek Szyprowski</name>
<email>m.szyprowski@samsung.com</email>
</author>
<published>2018-06-07T11:07:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=acc83070ba75b3ab93bf46f711246e9b97ed46c0'/>
<id>urn:sha1:acc83070ba75b3ab93bf46f711246e9b97ed46c0</id>
<content type='text'>
[ Upstream commit 7b7aa62c05eac9789c208b946f515983a9255d8d ]

The only bits that should be preserved in decon_win_set_fmt() is
WINCONx_ENWIN_F. All other bits depends on the selected pixel formats and
are set by the mentioned function.

Signed-off-by: Marek Szyprowski &lt;m.szyprowski@samsung.com&gt;
Signed-off-by: Inki Dae &lt;inki.dae@samsung.com&gt;
Signed-off-by: Sasha Levin &lt;alexander.levin@microsoft.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>drm/exynos: decon5433: Fix per-plane global alpha for XRGB modes</title>
<updated>2018-08-24T11:26:57+00:00</updated>
<author>
<name>Marek Szyprowski</name>
<email>m.szyprowski@samsung.com</email>
</author>
<published>2018-06-07T11:07:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=c46030269f686fc3ca92d93140c9f2957aefee3b'/>
<id>urn:sha1:c46030269f686fc3ca92d93140c9f2957aefee3b</id>
<content type='text'>
[ Upstream commit ab337fc274a1957ff0771f19e826c736253f7c39 ]

Set per-plane global alpha to maximum value to get proper blending of
XRGB and ARGB planes. This fixes the strange order of overlapping planes.

Signed-off-by: Marek Szyprowski &lt;m.szyprowski@samsung.com&gt;
Signed-off-by: Inki Dae &lt;inki.dae@samsung.com&gt;
Signed-off-by: Sasha Levin &lt;alexander.levin@microsoft.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>drm/exynos: gsc: Fix support for NV16/61, YUV420/YVU420 and YUV422 modes</title>
<updated>2018-08-24T11:26:57+00:00</updated>
<author>
<name>Marek Szyprowski</name>
<email>m.szyprowski@samsung.com</email>
</author>
<published>2018-06-07T11:06:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=048115cfba050e34667d7e3d05ce5f09fd54524f'/>
<id>urn:sha1:048115cfba050e34667d7e3d05ce5f09fd54524f</id>
<content type='text'>
[ Upstream commit dd209ef809080ced903e7747ee3ef640c923a1d2 ]

Fix following issues related to planar YUV pixel format configuration:
- NV16/61 modes were incorrectly programmed as NV12/21,
- YVU420 was programmed as YUV420 on source,
- YVU420 and YUV422 were programmed as YUV420 on output.

Signed-off-by: Marek Szyprowski &lt;m.szyprowski@samsung.com&gt;
Signed-off-by: Inki Dae &lt;inki.dae@samsung.com&gt;
Signed-off-by: Sasha Levin &lt;alexander.levin@microsoft.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>drm/exynos: fix comparison to bitshift when dealing with a mask</title>
<updated>2018-05-30T05:48:59+00:00</updated>
<author>
<name>Wolfram Sang</name>
<email>wsa+renesas@sang-engineering.com</email>
</author>
<published>2018-02-05T20:09:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=0e97c7d0c829faf614fbece329c383f675a03006'/>
<id>urn:sha1:0e97c7d0c829faf614fbece329c383f675a03006</id>
<content type='text'>
[ Upstream commit 1293b6191010672c0c9dacae8f71c6f3e4d70cbe ]

Due to a typo, the mask was destroyed by a comparison instead of a bit
shift.

Signed-off-by: Wolfram Sang &lt;wsa+renesas@sang-engineering.com&gt;
Signed-off-by: Inki Dae &lt;inki.dae@samsung.com&gt;
Signed-off-by: Sasha Levin &lt;alexander.levin@microsoft.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>drm/exynos: gem: Drop NONCONTIG flag for buffers allocated without IOMMU</title>
<updated>2017-12-16T09:33:49+00:00</updated>
<author>
<name>Marek Szyprowski</name>
<email>m.szyprowski@samsung.com</email>
</author>
<published>2017-11-22T13:14:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=81bf294f5f7b7668576f6857fa7fd67b42e58153'/>
<id>urn:sha1:81bf294f5f7b7668576f6857fa7fd67b42e58153</id>
<content type='text'>
commit 120a264f9c2782682027d931d83dcbd22e01da80 upstream.

When no IOMMU is available, all GEM buffers allocated by Exynos DRM driver
are contiguous, because of the underlying dma_alloc_attrs() function
provides only such buffers. In such case it makes no sense to keep
BO_NONCONTIG flag for the allocated GEM buffers. This allows to avoid
failures for buffer contiguity checks in the subsequent operations on GEM
objects.

Signed-off-by: Marek Szyprowski &lt;m.szyprowski@samsung.com&gt;
Signed-off-by: Inki Dae &lt;inki.dae@samsung.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>drm/exynos/decon5433: set STANDALONE_UPDATE_F on output enablement</title>
<updated>2017-12-09T17:42:42+00:00</updated>
<author>
<name>Andrzej Hajda</name>
<email>a.hajda@samsung.com</email>
</author>
<published>2017-01-17T14:15:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=7e9236c001520e38379a4f1da99a621d75794384'/>
<id>urn:sha1:7e9236c001520e38379a4f1da99a621d75794384</id>
<content type='text'>
[ Upstream commit 11d8bcef7a0399e1d2519f207fd575fc404306b4 ]

DECON_TV requires STANDALONE_UPDATE after output enabling, otherwise it does
not start. This change is neutral for DECON.

Signed-off-by: Andrzej Hajda &lt;a.hajda@samsung.com&gt;
Signed-off-by: Inki Dae &lt;inki.dae@samsung.com&gt;
Signed-off-by: Sasha Levin &lt;alexander.levin@verizon.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>drm/exynos: fix error handling in exynos_drm_subdrv_open</title>
<updated>2016-11-10T15:36:36+00:00</updated>
<author>
<name>Arnd Bergmann</name>
<email>arnd@arndb.de</email>
</author>
<published>2016-03-14T14:22:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=8a618bc7e5869fcd5c0e7c82bc4792ff81499623'/>
<id>urn:sha1:8a618bc7e5869fcd5c0e7c82bc4792ff81499623</id>
<content type='text'>
commit 55c4b906aa2aec3fa66310ec03c6842e34a04b2a upstream.

gcc-6 warns about a pointless loop in exynos_drm_subdrv_open:

drivers/gpu/drm/exynos/exynos_drm_core.c: In function 'exynos_drm_subdrv_open':
drivers/gpu/drm/exynos/exynos_drm_core.c:104:199: error: self-comparison always evaluates to false [-Werror=tautological-compare]
  list_for_each_entry_reverse(subdrv, &amp;subdrv-&gt;list, list) {

Here, the list_for_each_entry_reverse immediately terminates because
the subdrv pointer is compared to itself as the loop end condition.

If we were to take the current subdrv pointer as the start of the
list (as we would do if list_for_each_entry_reverse() was not a macro),
we would iterate backwards over the &amp;exynos_drm_subdrv_list anchor,
which would be even worse.

Instead, we need to use list_for_each_entry_continue_reverse()
to go back over each subdrv that was successfully opened until
the first entry.

Signed-off-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Signed-off-by: Inki Dae &lt;inki.dae@samsung.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
</feed>
