<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/gpu/drm/vkms/vkms_writeback.c, branch linux-6.14.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-6.14.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-6.14.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2024-11-22T13:00:05Z</updated>
<entry>
<title>drm/vkms: Use drm_frame directly</title>
<updated>2024-11-22T13:00:05Z</updated>
<author>
<name>Arthur Grillo</name>
</author>
<published>2024-11-18T18:28:17Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2f9741ac3b94c5f4418cd727d232ae0590b8ef1a'/>
<id>urn:sha1:2f9741ac3b94c5f4418cd727d232ae0590b8ef1a</id>
<content type='text'>
Remove intermidiary variables and access the variables directly from
drm_frame. These changes should be noop.

Signed-off-by: Arthur Grillo &lt;arthurgrillo@riseup.net&gt;
Acked-by: Pekka Paalanen &lt;pekka.paalanen@collabora.com&gt;
Reviewed-by: Maíra Canal &lt;mcanal@igalia.com&gt;
Reviewed-by: José Expósito &lt;jose.exposito89@gmail.com&gt;
Reviewed-by: Louis Chauvet &lt;louis.chauvet@bootlin.com&gt;
[Louis Chauvet: Applied review from Maíra]
Link: https://patchwork.freedesktop.org/patch/msgid/20241118-yuv-v14-2-2dbc2f1e222c@bootlin.com
Signed-off-by: Louis Chauvet &lt;louis.chauvet@bootlin.com&gt;
</content>
</entry>
<entry>
<title>drm/vkms: Remove usage of legacy drm_crtc members</title>
<updated>2024-11-04T14:27:49Z</updated>
<author>
<name>Louis Chauvet</name>
</author>
<published>2024-10-03T15:41:10Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=aafc45d5f88843a4645e1a53328a0601601d0c12'/>
<id>urn:sha1:aafc45d5f88843a4645e1a53328a0601601d0c12</id>
<content type='text'>
Some members of the drm_crtc structure have been deprecated in favor of
equivalent members in the drm_crtc_state structure. As reported by Ville
Syrjala [1], the VKMS driver was still using these deprecated fields. This
commit updates the VKMS driver to use the new drm_crtc_state fields
instead.

Additionally, this commit removes the call to
`drm_calc_timestamping_constants` in `vkms_enable_vblank` as it is
redundant. This calculation is already performed in
`vkms_atomic_commit_tail` by calling
`drm_atomic_helper_commit_modeset_disables`.

[1]:https://lore.kernel.org/all/20241002182200.15363-1-ville.syrjala@linux.intel.com/

Reviewed-by: Ville Syrjälä &lt;ville.syrjala@linux.intel.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20241003-remove-legacy-v1-1-0b7db1f1a1a6@bootlin.com
Signed-off-by: Louis Chauvet &lt;louis.chauvet@bootlin.com&gt;
</content>
</entry>
<entry>
<title>drm/vkms: move wb's atomic_check from encoder to connector</title>
<updated>2023-12-08T09:24:30Z</updated>
<author>
<name>Dmitry Baryshkov</name>
</author>
<published>2023-12-08T01:03:14Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=aa8ec5d7b26d820dfad2f7668e9dd9edff7ebd7d'/>
<id>urn:sha1:aa8ec5d7b26d820dfad2f7668e9dd9edff7ebd7d</id>
<content type='text'>
As the renamed drm_atomic_helper_check_wb_connector_state() now accepts
drm_writeback_connector as the first argument (instead of drm_encoder),
move the VKMS writeback atomic_check from drm_encoder_helper_funcs to
drm_connector_helper_funcs. Also drop the vkms_wb_encoder_helper_funcs,
which have become empty now.

Signed-off-by: Dmitry Baryshkov &lt;dmitry.baryshkov@linaro.org&gt;
Signed-off-by: Maxime Ripard &lt;mripard@kernel.org&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20231208010314.3395904-3-dmitry.baryshkov@linaro.org
</content>
</entry>
<entry>
<title>drm/atomic-helper: rename drm_atomic_helper_check_wb_encoder_state</title>
<updated>2023-12-08T09:24:27Z</updated>
<author>
<name>Dmitry Baryshkov</name>
</author>
<published>2023-12-08T01:03:13Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=66f011145b835f9a68af9d7156c8d84a6f29c331'/>
<id>urn:sha1:66f011145b835f9a68af9d7156c8d84a6f29c331</id>
<content type='text'>
The drm_atomic_helper_check_wb_encoder_state() function doesn't use
encoder for anything other than getting the drm_device instance. The
function's description talks about checking the writeback connector
state, not the encoder state. Moreover, there is no such thing as an
encoder state, encoders generally do not have a state on their own.

Rename the function to drm_atomic_helper_check_wb_connector_state()
and change arguments to drm_writeback_connector and drm_atomic_state.

Signed-off-by: Dmitry Baryshkov &lt;dmitry.baryshkov@linaro.org&gt;
Signed-off-by: Maxime Ripard &lt;mripard@kernel.org&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20231208010314.3395904-2-dmitry.baryshkov@linaro.org
</content>
</entry>
<entry>
<title>drm/vkms: Isolate writeback pixel conversion functions</title>
<updated>2023-06-24T22:06:16Z</updated>
<author>
<name>Maíra Canal</name>
</author>
<published>2023-05-09T20:28:53Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=cc4fd2934d41a69b4339d7145040d99e7ea79b02'/>
<id>urn:sha1:cc4fd2934d41a69b4339d7145040d99e7ea79b02</id>
<content type='text'>
All convertions from the ARGB16161616 format follow the same structure.
Instead of repeting the same structure for each supported format, create
a function to encapsulate the common logic and isolate the pixel
conversion functions in a callback function.

Suggested-by: Melissa Wen &lt;mwen@igalia.com&gt;
Signed-off-by: Maíra Canal &lt;mcanal@igalia.com&gt;
Reviewed-by: Arthur Grillo &lt;arthurgrillo@riseup.net&gt;
Signed-off-by: Maíra Canal &lt;mairacanal@riseup.net&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20230515135204.115393-4-mcanal@igalia.com
</content>
</entry>
<entry>
<title>drm/vkms: Enable ARGB8888 support for writeback</title>
<updated>2023-06-24T22:06:13Z</updated>
<author>
<name>Maíra Canal</name>
</author>
<published>2023-05-15T13:52:04Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e2a47217b9ca755ebb56ee696ef022cf340c7bf7'/>
<id>urn:sha1:e2a47217b9ca755ebb56ee696ef022cf340c7bf7</id>
<content type='text'>
The VKMS already has a function to convert ARGB16161616 to ARGB8888, so
it is possible to use this function to provide the writeback support for
the ARGB8888 format. Therefore, add the ARGB8888 format to the writeback
format list.

Signed-off-by: Maíra Canal &lt;mcanal@igalia.com&gt;
Reviewed-by: Arthur Grillo &lt;arthurgrillo@riseup.net&gt;
Signed-off-by: Maíra Canal &lt;mairacanal@riseup.net&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20230515135204.115393-3-mcanal@igalia.com
</content>
</entry>
<entry>
<title>drm/vkms: Reduce critical section</title>
<updated>2023-06-24T22:06:10Z</updated>
<author>
<name>Maíra Canal</name>
</author>
<published>2023-05-15T13:52:03Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6c494ca6fd820ca6f4329bfbdcd048466dc752e2'/>
<id>urn:sha1:6c494ca6fd820ca6f4329bfbdcd048466dc752e2</id>
<content type='text'>
The spinlock composer_lock protects the variables crc_pending,
wb_pending, frame_start and frame_end, which are variables that are used
by the composer worker. There is no need to protect the wb_frame_info
information with a spinlock. Therefore, reduce the critical section of
the lock by removing the assignments to the wb_frame_info from the
critical section.

Signed-off-by: Maíra Canal &lt;mcanal@igalia.com&gt;
Reviewed-by: Arthur Grillo &lt;arthurgrillo@riseup.net&gt;
Signed-off-by: Maíra Canal &lt;mairacanal@riseup.net&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20230515135204.115393-2-mcanal@igalia.com
</content>
</entry>
<entry>
<title>drm: vkms: Add support to the RGB565 format</title>
<updated>2022-09-05T21:25:08Z</updated>
<author>
<name>Igor Torrente</name>
</author>
<published>2022-09-05T19:08:11Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=396369d6754993e40f1c84b2e22e40e92dfa4c49'/>
<id>urn:sha1:396369d6754993e40f1c84b2e22e40e92dfa4c49</id>
<content type='text'>
This commit also adds new helper macros to deal with fixed-point
arithmetic.

It was done to improve the precision of the conversion to ARGB16161616
since the "conversion ratio" is not an integer.

V3: Adapt the handlers to the new format introduced in patch 7 V3.
V5: Minor improvements
V6: Minor improvements (Pekka Paalanen)

Reviewed-by: Melissa Wen &lt;mwen@igalia.com&gt;
Signed-off-by: Igor Torrente &lt;igormtorrente@gmail.com&gt;
Signed-off-by: Melissa Wen &lt;melissa.srw@gmail.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20220905190811.25024-10-igormtorrente@gmail.com
</content>
</entry>
<entry>
<title>drm: vkms: Adds XRGB_16161616 and ARGB_1616161616 formats</title>
<updated>2022-09-05T21:23:38Z</updated>
<author>
<name>Igor Torrente</name>
</author>
<published>2022-09-05T19:08:10Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3675d8a1726337bd1e839a185e0a7ce0bc459b6b'/>
<id>urn:sha1:3675d8a1726337bd1e839a185e0a7ce0bc459b6b</id>
<content type='text'>
This will be useful to write tests that depends on these formats.

ARGB and XRGB follows the a similar implementation of the former formats.
Just adjusting for 16 bits per channel.

V3: Adapt the handlers to the new format introduced in patch 7 V3.
V5: Minor improvements
    Added le16_to_cpu/cpu_to_le16 to the 16 bits color read/writes.

Reviewed-by: Melissa Wen &lt;mwen@igalia.com&gt;
Signed-off-by: Igor Torrente &lt;igormtorrente@gmail.com&gt;
Signed-off-by: Melissa Wen &lt;melissa.srw@gmail.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20220905190811.25024-9-igormtorrente@gmail.com
</content>
</entry>
<entry>
<title>drm: vkms: Supports to the case where primary plane doesn't match the CRTC</title>
<updated>2022-09-05T21:18:42Z</updated>
<author>
<name>Igor Torrente</name>
</author>
<published>2022-09-05T19:08:09Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=bc0d7fdefec62e0cb83c1bcd3c7bd033f5e826e0'/>
<id>urn:sha1:bc0d7fdefec62e0cb83c1bcd3c7bd033f5e826e0</id>
<content type='text'>
We will remove the current assumption that the primary plane has the
same size and position as CRTC and that the primary plane is the
bottom-most in zpos order, or is even enabled. At least as far
as the blending machinery is concerned.

For that we will add CRTC dimension information to `vkms_crtc_state`
and add a opaque black backgound color.

Because now we need to fill the background, we had a loss in
performance with this change. Results running the IGT[1] test
`igt@kms_cursor_crc@pipe-a-cursor-512x512-onscreen` ten times:

|                  Frametime                   |
|:--------------------------------------------:|
|  Implementation |  Previous |   This commit  |
|:---------------:|:---------:|:--------------:|
| frametime range |  5~18 ms  |     10~22 ms   |
|     Average     |  8.47 ms  |     12.32 ms   |

[1] IGT commit id: bc3f6833a12221a46659535dac06ebb312490eb4

V6: Improve the commit description (Pekka Paalanen).
    Update some comments (Pekka Paalanen).
    Remove some fields from `vkms_crtc_state` and move where
    some variables are set (Pekka Paalanen).

Reviewed-by: Melissa Wen &lt;mwen@igalia.com&gt;
Signed-off-by: Igor Torrente &lt;igormtorrente@gmail.com&gt;
Signed-off-by: Melissa Wen &lt;melissa.srw@gmail.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20220905190811.25024-8-igormtorrente@gmail.com
</content>
</entry>
</feed>
