<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/drivers/gpu/drm/vc4/vc4_vec.c, branch v6.2</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=v6.2</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=v6.2'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2022-10-10T11:59:52+00:00</updated>
<entry>
<title>drm/vc4: vec: Fix definition of PAL-M mode</title>
<updated>2022-10-10T11:59:52+00:00</updated>
<author>
<name>Mateusz Kwiatkowski</name>
<email>kfyatek+publicgit@gmail.com</email>
</author>
<published>2022-09-29T16:31:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=499143e5b413104d0b242e385cb929cd3ac858eb'/>
<id>urn:sha1:499143e5b413104d0b242e385cb929cd3ac858eb</id>
<content type='text'>
PAL-M is a Brazilian analog TV standard that uses a PAL-style chroma
subcarrier at 3.575611[888111] MHz on top of 525-line (480i60) timings.
This commit makes the driver actually use the proper VEC preset for this
mode instead of just changing PAL subcarrier frequency.

Acked-by: Noralf Trønnes &lt;noralf@tronnes.org&gt;
Signed-off-by: Mateusz Kwiatkowski &lt;kfyatek+publicgit@gmail.com&gt;
Link: https://lore.kernel.org/r/20220728-rpi-analog-tv-properties-v4-25-60d38873f782@cerno.tech
Signed-off-by: Maxime Ripard &lt;maxime@cerno.tech&gt;
</content>
</entry>
<entry>
<title>drm/vc4: vec: Fix timings for VEC modes</title>
<updated>2022-09-07T08:28:48+00:00</updated>
<author>
<name>Mateusz Kwiatkowski</name>
<email>kfyatek+publicgit@gmail.com</email>
</author>
<published>2022-08-29T13:11:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=30d7565be96b3946c18a1ce3fd538f7946839092'/>
<id>urn:sha1:30d7565be96b3946c18a1ce3fd538f7946839092</id>
<content type='text'>
This commit fixes vertical timings of the VEC (composite output) modes
to accurately represent the 525-line ("NTSC") and 625-line ("PAL") ITU-R
standards.

Previous timings were actually defined as 502 and 601 lines, resulting
in non-standard 62.69 Hz and 52 Hz signals being generated,
respectively.

Signed-off-by: Mateusz Kwiatkowski &lt;kfyatek+publicgit@gmail.com&gt;
Acked-by: Noralf Trønnes &lt;noralf@tronnes.org&gt;
Signed-off-by: Maxime Ripard &lt;maxime@cerno.tech&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20220728-rpi-analog-tv-properties-v2-28-459522d653a7@cerno.tech
</content>
</entry>
<entry>
<title>drm/vc4: vec: Remove redundant atomic_mode_set</title>
<updated>2022-09-07T08:27:22+00:00</updated>
<author>
<name>Mateusz Kwiatkowski</name>
<email>kfyatek+publicgit@gmail.com</email>
</author>
<published>2022-08-29T13:11:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=296674b936b12837f94590812cfabc5aa4a9a950'/>
<id>urn:sha1:296674b936b12837f94590812cfabc5aa4a9a950</id>
<content type='text'>
Let's remove the superfluous tv_mode field, which was redundant with the
mode field in struct drm_tv_connector_state.

Signed-off-by: Mateusz Kwiatkowski &lt;kfyatek+publicgit@gmail.com&gt;
Reviewed-by: Noralf Trønnes &lt;noralf@tronnes.org&gt;
Signed-off-by: Maxime Ripard &lt;maxime@cerno.tech&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20220728-rpi-analog-tv-properties-v2-27-459522d653a7@cerno.tech
</content>
</entry>
<entry>
<title>drm/vc4: vec: Refactor VEC TV mode setting</title>
<updated>2022-09-07T08:14:45+00:00</updated>
<author>
<name>Mateusz Kwiatkowski</name>
<email>kfyatek+publicgit@gmail.com</email>
</author>
<published>2022-08-29T13:11:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=38baec94ca584b7370c78b0fc445ef5def269ac6'/>
<id>urn:sha1:38baec94ca584b7370c78b0fc445ef5def269ac6</id>
<content type='text'>
Change the mode_set function pointer logic to declarative config0,
config1 and custom_freq fields, to make TV mode setting logic more
concise and uniform.

Signed-off-by: Mateusz Kwiatkowski &lt;kfyatek+publicgit@gmail.com&gt;
Reviewed-by: Noralf Trønnes &lt;noralf@tronnes.org&gt;
[Maxime: Fixed != 0 check, added tv_mode variable]
Signed-off-by: Maxime Ripard &lt;maxime@cerno.tech&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20220728-rpi-analog-tv-properties-v2-26-459522d653a7@cerno.tech
</content>
</entry>
<entry>
<title>drm/vc4: vec: Convert to atomic helpers</title>
<updated>2022-09-07T08:11:33+00:00</updated>
<author>
<name>Maxime Ripard</name>
<email>maxime@cerno.tech</email>
</author>
<published>2022-08-29T13:11:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=336f29e0f8564e317e42b9eef6e2c17e838944f4'/>
<id>urn:sha1:336f29e0f8564e317e42b9eef6e2c17e838944f4</id>
<content type='text'>
The VC4 VEC driver still uses legacy enable and disable hook
implementation. Let's convert to the atomic variants.

Reviewed-by: Noralf Trønnes &lt;noralf@tronnes.org&gt;
Signed-off-by: Maxime Ripard &lt;maxime@cerno.tech&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20220728-rpi-analog-tv-properties-v2-25-459522d653a7@cerno.tech
</content>
</entry>
<entry>
<title>drm/vc4: vec: Remove empty mode_fixup</title>
<updated>2022-09-07T08:11:03+00:00</updated>
<author>
<name>Maxime Ripard</name>
<email>maxime@cerno.tech</email>
</author>
<published>2022-08-29T13:11:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=857dbf2431ba8abcd6f0f1335ea637580ebe5507'/>
<id>urn:sha1:857dbf2431ba8abcd6f0f1335ea637580ebe5507</id>
<content type='text'>
The mode_fixup hooks are deprecated, and the behaviour we implement is the
default one anyway. Let's remove it.

Reviewed-by: Noralf Trønnes &lt;noralf@tronnes.org&gt;
Signed-off-by: Maxime Ripard &lt;maxime@cerno.tech&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20220728-rpi-analog-tv-properties-v2-24-459522d653a7@cerno.tech
</content>
</entry>
<entry>
<title>drm/vc4: debugfs: Simplify debugfs registration</title>
<updated>2022-07-13T08:46:13+00:00</updated>
<author>
<name>Maxime Ripard</name>
<email>maxime@cerno.tech</email>
</author>
<published>2022-07-11T17:39:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=445b287e18ca374b5498e0f7cecb6c5f673c4edb'/>
<id>urn:sha1:445b287e18ca374b5498e0f7cecb6c5f673c4edb</id>
<content type='text'>
The vc4 has a custom API to allow components to register a debugfs file
before the DRM driver has been registered and the debugfs_init hook has
been called.

However, the .late_register hook allows to have the debugfs file creation
deferred after that time already.

Let's remove our custom code to only register later our debugfs entries as
part of either debugfs_init or after it.

Acked-by: Thomas Zimmermann &lt;tzimmermann@suse.de&gt;
Signed-off-by: Maxime Ripard &lt;maxime@cerno.tech&gt;
Link: https://lore.kernel.org/r/20220711173939.1132294-65-maxime@cerno.tech
</content>
</entry>
<entry>
<title>drm/vc4: vec: Switch to devm_pm_runtime_enable</title>
<updated>2022-07-13T08:46:12+00:00</updated>
<author>
<name>Maxime Ripard</name>
<email>maxime@cerno.tech</email>
</author>
<published>2022-07-11T17:39:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=4e06fd9c7c8a2815c63ff132fd392d76e42436e9'/>
<id>urn:sha1:4e06fd9c7c8a2815c63ff132fd392d76e42436e9</id>
<content type='text'>
devm_pm_runtime_enable() simplifies the driver a bit since it will call
pm_runtime_disable() automatically through a device-managed action.

Acked-by: Thomas Zimmermann &lt;tzimmermann@suse.de&gt;
Signed-off-by: Maxime Ripard &lt;maxime@cerno.tech&gt;
Link: https://lore.kernel.org/r/20220711173939.1132294-62-maxime@cerno.tech
</content>
</entry>
<entry>
<title>drm/vc4: vec: Protect device resources after removal</title>
<updated>2022-07-13T08:46:12+00:00</updated>
<author>
<name>Maxime Ripard</name>
<email>maxime@cerno.tech</email>
</author>
<published>2022-07-11T17:39:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=f0601ef8631ceeab10c7af69b248fc106e0ecf09'/>
<id>urn:sha1:f0601ef8631ceeab10c7af69b248fc106e0ecf09</id>
<content type='text'>
Whenever the device and driver are unbound, the main device and all the
subdevices will be removed by calling their unbind() method.

However, the DRM device itself will only be freed when the last user will
have closed it.

It means that there is a time window where the device and its resources
aren't there anymore, but the userspace can still call into our driver.

Fortunately, the DRM framework provides the drm_dev_enter() and
drm_dev_exit() functions to make sure our underlying device is still there
for the section protected by those calls. Let's add them to the VEC driver.

Acked-by: Thomas Zimmermann &lt;tzimmermann@suse.de&gt;
Signed-off-by: Maxime Ripard &lt;maxime@cerno.tech&gt;
Link: https://lore.kernel.org/r/20220711173939.1132294-61-maxime@cerno.tech
</content>
</entry>
<entry>
<title>drm/vc4: vec: Switch to DRM-managed connector initialization</title>
<updated>2022-07-13T08:46:12+00:00</updated>
<author>
<name>Maxime Ripard</name>
<email>maxime@cerno.tech</email>
</author>
<published>2022-07-11T17:39:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=881f6d945b34e5604003ba1cc85c9dfbb7e31af2'/>
<id>urn:sha1:881f6d945b34e5604003ba1cc85c9dfbb7e31af2</id>
<content type='text'>
The current code will call drm_connector_unregister() and
drm_connector_cleanup() when the device is unbound. However, by then, there
might still be some references held to that connector, including by the
userspace that might still have the DRM device open.

Let's switch to a DRM-managed initialization to clean up after ourselves
only once the DRM device has been last closed.

Acked-by: Thomas Zimmermann &lt;tzimmermann@suse.de&gt;
Signed-off-by: Maxime Ripard &lt;maxime@cerno.tech&gt;
Link: https://lore.kernel.org/r/20220711173939.1132294-60-maxime@cerno.tech
</content>
</entry>
</feed>
