<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/drivers/gpu/drm/vc4, branch v5.9.16</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=v5.9.16</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=v5.9.16'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2020-11-18T18:22:03+00:00</updated>
<entry>
<title>drm/vc4: bo: Add a managed action to cleanup the cache</title>
<updated>2020-11-18T18:22:03+00:00</updated>
<author>
<name>Maxime Ripard</name>
<email>maxime@cerno.tech</email>
</author>
<published>2020-10-29T19:00:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=e12c16808ed8e53a021adea6dd3b628efd7e34ec'/>
<id>urn:sha1:e12c16808ed8e53a021adea6dd3b628efd7e34ec</id>
<content type='text'>
[ Upstream commit 1c80be48c70a2198f7cf04a546b3805b92293ac6 ]

The BO cache needs to be cleaned up using vc4_bo_cache_destroy, but it's
not used consistently (vc4_drv's bind calls it in its error path, but
doesn't in unbind), and we can make that automatic through a managed
action. Let's remove the requirement to call vc4_bo_cache_destroy.

Fixes: c826a6e10644 ("drm/vc4: Add a BO cache.")
Acked-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Signed-off-by: Maxime Ripard &lt;maxime@cerno.tech&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20201029190104.2181730-1-maxime@cerno.tech
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>drm/vc4: drv: Add error handding for bind</title>
<updated>2020-11-10T11:39:06+00:00</updated>
<author>
<name>Hoegeun Kwon</name>
<email>hoegeun.kwon@samsung.com</email>
</author>
<published>2020-10-27T04:14:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=fd57344de7360ab8b10a6b5dfb37a3175908be16'/>
<id>urn:sha1:fd57344de7360ab8b10a6b5dfb37a3175908be16</id>
<content type='text'>
[ Upstream commit 9ce0af3e9573fb84c4c807183d13ea2a68271e4b ]

There is a problem that if vc4_drm bind fails, a memory leak occurs on
the drm_property_create side. Add error handding for drm_mode_config.

Signed-off-by: Hoegeun Kwon &lt;hoegeun.kwon@samsung.com&gt;
Signed-off-by: Maxime Ripard &lt;maxime@cerno.tech&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20201027041442.30352-2-hoegeun.kwon@samsung.com
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>drm/vc4: crtc: Rework a bit the CRTC state code</title>
<updated>2020-10-29T09:11:28+00:00</updated>
<author>
<name>Maxime Ripard</name>
<email>maxime@cerno.tech</email>
</author>
<published>2020-09-23T08:40:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=78c062b09723b1df9fe4793f18e90b69056df056'/>
<id>urn:sha1:78c062b09723b1df9fe4793f18e90b69056df056</id>
<content type='text'>
[ Upstream commit 427c4a0680a28f87bb9c7bbfeac26b39ef8682ad ]

The current CRTC state reset hook in vc4 allocates a vc4_crtc_state
structure as a drm_crtc_state, and relies on the fact that vc4_crtc_state
embeds drm_crtc_state as its first member, and therefore can be safely
cast.

However, this is pretty fragile especially since there's no check for this
in place, and we're going to need to access vc4_crtc_state member at reset
so this looks like a good occasion to make it more robust.

Fixes: 6d6e50039187 ("drm/vc4: Allocate the right amount of space for boot-time CRTC state.")
Signed-off-by: Maxime Ripard &lt;maxime@cerno.tech&gt;
Tested-by: Dave Stevenson &lt;dave.stevenson@raspberrypi.com&gt;
Reviewed-by: Dave Stevenson &lt;dave.stevenson@raspberrypi.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20200923084032.218619-1-maxime@cerno.tech
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>drm/vc4/vc4_hdmi: fill ASoC card owner</title>
<updated>2020-09-09T14:55:29+00:00</updated>
<author>
<name>Marek Szyprowski</name>
<email>m.szyprowski@samsung.com</email>
</author>
<published>2020-07-01T07:39:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=ec653df2a0cbc306a4bfcb0e3484d318fa779002'/>
<id>urn:sha1:ec653df2a0cbc306a4bfcb0e3484d318fa779002</id>
<content type='text'>
card-&gt;owner is a required property and since commit 81033c6b584b ("ALSA:
core: Warn on empty module") a warning is issued if it is empty. Fix lack
of it. This fixes following warning observed on RaspberryPi 3B board
with ARM 32bit kernel and multi_v7_defconfig:

------------[ cut here ]------------
WARNING: CPU: 1 PID: 210 at sound/core/init.c:207 snd_card_new+0x378/0x398 [snd]
Modules linked in: vc4(+) snd_soc_core ac97_bus snd_pcm_dmaengine bluetooth snd_pcm snd_timer crc32_arm_ce raspberrypi_hwmon snd soundcore ecdh_generic ecc bcm2835_thermal phy_generic
CPU: 1 PID: 210 Comm: systemd-udevd Not tainted 5.8.0-rc1-00027-g81033c6b584b #1087
Hardware name: BCM2835
[&lt;c03113c0&gt;] (unwind_backtrace) from [&lt;c030bcb4&gt;] (show_stack+0x10/0x14)
[&lt;c030bcb4&gt;] (show_stack) from [&lt;c071cef8&gt;] (dump_stack+0xd4/0xe8)
[&lt;c071cef8&gt;] (dump_stack) from [&lt;c0345bfc&gt;] (__warn+0xdc/0xf4)
[&lt;c0345bfc&gt;] (__warn) from [&lt;c0345cc4&gt;] (warn_slowpath_fmt+0xb0/0xb8)
[&lt;c0345cc4&gt;] (warn_slowpath_fmt) from [&lt;bf02ff74&gt;] (snd_card_new+0x378/0x398 [snd])
[&lt;bf02ff74&gt;] (snd_card_new [snd]) from [&lt;bf11f0b4&gt;] (snd_soc_bind_card+0x280/0x99c [snd_soc_core])
[&lt;bf11f0b4&gt;] (snd_soc_bind_card [snd_soc_core]) from [&lt;bf12f000&gt;] (devm_snd_soc_register_card+0x34/0x6c [snd_soc_core])
[&lt;bf12f000&gt;] (devm_snd_soc_register_card [snd_soc_core]) from [&lt;bf165654&gt;] (vc4_hdmi_bind+0x43c/0x5f4 [vc4])
[&lt;bf165654&gt;] (vc4_hdmi_bind [vc4]) from [&lt;c09d660c&gt;] (component_bind_all+0xec/0x24c)
[&lt;c09d660c&gt;] (component_bind_all) from [&lt;bf15c44c&gt;] (vc4_drm_bind+0xd4/0x174 [vc4])
[&lt;bf15c44c&gt;] (vc4_drm_bind [vc4]) from [&lt;c09d6ac0&gt;] (try_to_bring_up_master+0x160/0x1b0)
[&lt;c09d6ac0&gt;] (try_to_bring_up_master) from [&lt;c09d6f38&gt;] (component_master_add_with_match+0xd0/0x104)
[&lt;c09d6f38&gt;] (component_master_add_with_match) from [&lt;bf15c588&gt;] (vc4_platform_drm_probe+0x9c/0xbc [vc4])
[&lt;bf15c588&gt;] (vc4_platform_drm_probe [vc4]) from [&lt;c09df740&gt;] (platform_drv_probe+0x6c/0xa4)
[&lt;c09df740&gt;] (platform_drv_probe) from [&lt;c09dd6f0&gt;] (really_probe+0x210/0x350)
[&lt;c09dd6f0&gt;] (really_probe) from [&lt;c09dd940&gt;] (driver_probe_device+0x5c/0xb4)
[&lt;c09dd940&gt;] (driver_probe_device) from [&lt;c09ddb38&gt;] (device_driver_attach+0x58/0x60)
[&lt;c09ddb38&gt;] (device_driver_attach) from [&lt;c09ddbc0&gt;] (__driver_attach+0x80/0xbc)
[&lt;c09ddbc0&gt;] (__driver_attach) from [&lt;c09db820&gt;] (bus_for_each_dev+0x68/0xb4)
[&lt;c09db820&gt;] (bus_for_each_dev) from [&lt;c09dc9f8&gt;] (bus_add_driver+0x130/0x1e8)
[&lt;c09dc9f8&gt;] (bus_add_driver) from [&lt;c09de648&gt;] (driver_register+0x78/0x110)
[&lt;c09de648&gt;] (driver_register) from [&lt;c0302038&gt;] (do_one_initcall+0x50/0x220)
[&lt;c0302038&gt;] (do_one_initcall) from [&lt;c03db544&gt;] (do_init_module+0x60/0x210)
[&lt;c03db544&gt;] (do_init_module) from [&lt;c03da4f8&gt;] (load_module+0x1e34/0x2338)
[&lt;c03da4f8&gt;] (load_module) from [&lt;c03dac00&gt;] (sys_finit_module+0xac/0xbc)
[&lt;c03dac00&gt;] (sys_finit_module) from [&lt;c03000c0&gt;] (ret_fast_syscall+0x0/0x54)
Exception stack(0xeded9fa8 to 0xeded9ff0)
...
---[ end trace 6414689569c2bc08 ]---

Fixes: bb7d78568814 ("drm/vc4: Add HDMI audio support")
Suggested-by: Takashi Iwai &lt;tiwai@suse.de&gt;
Signed-off-by: Marek Szyprowski &lt;m.szyprowski@samsung.com&gt;
Tested-by: Stefan Wahren &lt;stefan.wahren@i2se.com&gt;
Signed-off-by: Maxime Ripard &lt;maxime@cerno.tech&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20200701073949.28941-1-m.szyprowski@samsung.com
</content>
</entry>
<entry>
<title>drm/vc4: crtc: Remove the feed_txp tests</title>
<updated>2020-07-07T08:51:58+00:00</updated>
<author>
<name>Maxime Ripard</name>
<email>maxime@cerno.tech</email>
</author>
<published>2020-06-11T13:36:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=5d8514e7fd7f9858b007f6bc059c4e71d60627cc'/>
<id>urn:sha1:5d8514e7fd7f9858b007f6bc059c4e71d60627cc</id>
<content type='text'>
Now that the code in vc4_crtc accessing registers is only meant for the
pixelvalve, it doesn't make sense anymore to test whether we're accessing
the TXP or not and we can safely remove those checks.

Signed-off-by: Maxime Ripard &lt;maxime@cerno.tech&gt;
Reviewed-by: Eric Anholt &lt;eric@anholt.net&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/c044daba470fcb1cb57e3d34d88f75325b2ebbab.1591882579.git-series.maxime@cerno.tech
</content>
</entry>
<entry>
<title>drm/vc4: txp: Turn the TXP into a CRTC of its own</title>
<updated>2020-07-07T08:51:21+00:00</updated>
<author>
<name>Maxime Ripard</name>
<email>maxime@cerno.tech</email>
</author>
<published>2020-06-11T13:36:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=39fcb280837649603432e3f4e1710260fc228faa'/>
<id>urn:sha1:39fcb280837649603432e3f4e1710260fc228faa</id>
<content type='text'>
The TXP so far has been leveraging the PixelValve infrastructure in the
driver, that was really two things: the interaction with DRM's CRTC
concept, the setup of the underlying pixelvalve and the setup of the shared
HVS, the pixelvalve part being irrelevant to the TXP since it accesses the
HVS directly.

Now that we have a clear separation between the three parts, we can
represent the TXP as a CRTC of its own, leveraging the common CRTC and HVS
code, but leaving aside the pixelvalve setup.

Signed-off-by: Maxime Ripard &lt;maxime@cerno.tech&gt;
Reviewed-by: Eric Anholt &lt;eric@anholt.net&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20f387f881b57f3474fa42d94cfd8bc1b7b80595.1591882579.git-series.maxime@cerno.tech
</content>
</entry>
<entry>
<title>drm/vc4: crtc: Move the txp_armed function to the TXP</title>
<updated>2020-07-07T08:51:21+00:00</updated>
<author>
<name>Maxime Ripard</name>
<email>maxime@cerno.tech</email>
</author>
<published>2020-06-11T13:36:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=e25a21abb9da36b4dce14445ee13131130c04663'/>
<id>urn:sha1:e25a21abb9da36b4dce14445ee13131130c04663</id>
<content type='text'>
The TXP driver is the only place where we need to set the txp_armed flag,
so let's move the function in the TXP driver.

Signed-off-by: Maxime Ripard &lt;maxime@cerno.tech&gt;
Reviewed-by: Eric Anholt &lt;eric@anholt.net&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/12b383e7b8462e281b00c0a21b2b50f13691bead.1591882579.git-series.maxime@cerno.tech
</content>
</entry>
<entry>
<title>drm/vc4: crtc: Move the CRTC initialisation to a separate function</title>
<updated>2020-07-07T08:51:21+00:00</updated>
<author>
<name>Maxime Ripard</name>
<email>maxime@cerno.tech</email>
</author>
<published>2020-06-11T13:36:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=5fefc601a6c484ff2a3a6dc91f6310ca1224931a'/>
<id>urn:sha1:5fefc601a6c484ff2a3a6dc91f6310ca1224931a</id>
<content type='text'>
The upcoming patches to turn the TXP into a full-blown CRTC will have the
same CRTC initialisation code, so let's move it into a separate, public,
function so that we can reuse it later on.

Signed-off-by: Maxime Ripard &lt;maxime@cerno.tech&gt;
Reviewed-by: Eric Anholt &lt;eric@anholt.net&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/3a3026c0e7408895d154d8dea454cf6d1c459715.1591882579.git-series.maxime@cerno.tech
</content>
</entry>
<entry>
<title>drm/vc4: crtc: Only access the PixelValve registers if we have to</title>
<updated>2020-07-07T08:51:21+00:00</updated>
<author>
<name>Maxime Ripard</name>
<email>maxime@cerno.tech</email>
</author>
<published>2020-06-11T13:36:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=811a850cbddef47623c5f6197154a05bb4efc7c9'/>
<id>urn:sha1:811a850cbddef47623c5f6197154a05bb4efc7c9</id>
<content type='text'>
The CRTC hooks are called both for the TXP and the pixelvalve, yet some
will read / write the registers as if the device was a pixelvalve, which
won't really work.

Let's make sure we only access those registers if we are running on a
PixelValve.

Signed-off-by: Maxime Ripard &lt;maxime@cerno.tech&gt;
Reviewed-by: Eric Anholt &lt;eric@anholt.net&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/b55e31869304c748920c261eba87b3275dbeb297.1591882579.git-series.maxime@cerno.tech
</content>
</entry>
<entry>
<title>drm/vc4: crtc: Split CRTC data in two</title>
<updated>2020-07-07T08:51:21+00:00</updated>
<author>
<name>Maxime Ripard</name>
<email>maxime@cerno.tech</email>
</author>
<published>2020-06-11T13:36:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=5a20ff8bf3d455855d445594152cc6a7760a3793'/>
<id>urn:sha1:5a20ff8bf3d455855d445594152cc6a7760a3793</id>
<content type='text'>
The vc4_crtc_data structure is currently storing data related to both the
general CRTC information needed by the rest of the vc4 driver (like HVS
output and available FIFOs) and some related to the pixelvalve attached to
that CRTC. Let's split this into two structures so that we can reuse the
CRTC part into the TXP later on.

Signed-off-by: Maxime Ripard &lt;maxime@cerno.tech&gt;
Reviewed-by: Eric Anholt &lt;eric@anholt.net&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/8eb317c91ac208d7f926d76ad421002fa0364c47.1591882579.git-series.maxime@cerno.tech
</content>
</entry>
</feed>
