<feed xmlns='http://www.w3.org/2005/Atom'>
<title>laptop-kernel/drivers/gpu/drm/amd/display/modules, branch master</title>
<subtitle>Linux kernel tree for laptop</subtitle>
<id>https://git.zx2c4.com/laptop-kernel/atom/drivers/gpu/drm/amd/display/modules?h=master</id>
<link rel='self' href='https://git.zx2c4.com/laptop-kernel/atom/drivers/gpu/drm/amd/display/modules?h=master'/>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/laptop-kernel/'/>
<updated>2025-08-18T21:57:12Z</updated>
<entry>
<title>drm/amd/display: Add null pointer check in mod_hdcp_hdcp1_create_session()</title>
<updated>2025-08-18T21:57:12Z</updated>
<author>
<name>Chenyuan Yang</name>
<email>chenyuan0y@gmail.com</email>
</author>
<published>2025-07-24T02:36:41Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/laptop-kernel/commit/?id=7a2ca2ea64b1b63c8baa94a8f5deb70b2248d119'/>
<id>urn:sha1:7a2ca2ea64b1b63c8baa94a8f5deb70b2248d119</id>
<content type='text'>
The function mod_hdcp_hdcp1_create_session() calls the function
get_first_active_display(), but does not check its return value.
The return value is a null pointer if the display list is empty.
This will lead to a null pointer dereference.

Add a null pointer check for get_first_active_display() and return
MOD_HDCP_STATUS_DISPLAY_NOT_FOUND if the function return null.

This is similar to the commit c3e9826a2202
("drm/amd/display: Add null pointer check for get_first_active_display()").

Fixes: 2deade5ede56 ("drm/amd/display: Remove hdcp display state with mst fix")
Signed-off-by: Chenyuan Yang &lt;chenyuan0y@gmail.com&gt;
Reviewed-by: Alex Hung &lt;alex.hung@amd.com&gt;
Tested-by: Dan Wheeler &lt;daniel.wheeler@amd.com&gt;
Signed-off-by: Alex Deucher &lt;alexander.deucher@amd.com&gt;
(cherry picked from commit 5e43eb3cd731649c4f8b9134f857be62a416c893)
</content>
</entry>
<entry>
<title>drm/amd/display: Initial support for SmartMux</title>
<updated>2025-07-15T18:07:53Z</updated>
<author>
<name>Aurabindo Pillai</name>
<email>aurabindo.pillai@amd.com</email>
</author>
<published>2025-05-02T13:51:04Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/laptop-kernel/commit/?id=18f0817d2e9af479a40a1be4d83a849894d6b3f8'/>
<id>urn:sha1:18f0817d2e9af479a40a1be4d83a849894d6b3f8</id>
<content type='text'>
SmartMux is a mechanism to switch the GPU being used for scanout in a
hybrid configuration. This is used for devices with an eDP and two GPUs.
This is only valid when the system has a physical switch (Multiplexer)
in the board to switch between the two GPUs.

When a graphically intensive workload like a game is being run, the
system can be switch the active display to the dGPU, so that we can
avoid copying the buffer from dGPU to APU for scanout. This helps with
latency and FPS. When power consumption is preferred, the system can be
switched to the APU.

Reviewed-by: Alvin Lee &lt;alvin.lee2@amd.com&gt;
Signed-off-by: Aurabindo Pillai &lt;aurabindo.pillai@amd.com&gt;
Signed-off-by: Ivan Lipski &lt;ivan.lipski@amd.com&gt;
Tested-by: Daniel Wheeler &lt;daniel.wheeler@amd.com&gt;
Signed-off-by: Alex Deucher &lt;alexander.deucher@amd.com&gt;
</content>
</entry>
<entry>
<title>drm/amd/display: Added case for when RR equals panel's max RR using freesync</title>
<updated>2025-06-30T15:59:00Z</updated>
<author>
<name>Harold Sun</name>
<email>Harold.Sun@amd.com</email>
</author>
<published>2025-06-19T18:52:54Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/laptop-kernel/commit/?id=fe7645d22bc0f7c1558296538ec49987bf268ef6'/>
<id>urn:sha1:fe7645d22bc0f7c1558296538ec49987bf268ef6</id>
<content type='text'>
[WHY]
Rounding error sometimes occurs when the refresh rate is equal to a panel's
max refresh rate, causing HDMI compliance failures.

[HOW]
Added a case so that we round up to avoid v_total_min to be below a panel's
minimum bound.

Reviewed-by: Jun Lei &lt;jun.lei@amd.com&gt;
Signed-off-by: Harold Sun &lt;Harold.Sun@amd.com&gt;
Signed-off-by: Ray Wu &lt;ray.wu@amd.com&gt;
Tested-by: Daniel Wheeler &lt;daniel.wheeler@amd.com&gt;
Signed-off-by: Alex Deucher &lt;alexander.deucher@amd.com&gt;
</content>
</entry>
<entry>
<title>drm/amd/display: Remove redundant macro of refresh rate</title>
<updated>2025-06-24T13:55:58Z</updated>
<author>
<name>Weiguang Li</name>
<email>wei-guang.li@amd.com</email>
</author>
<published>2025-06-12T03:10:12Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/laptop-kernel/commit/?id=69541034001b69378f48a6c4f91ef637674ce616'/>
<id>urn:sha1:69541034001b69378f48a6c4f91ef637674ce616</id>
<content type='text'>
[Why&amp;How]
Found that we add redundant macro on refresh rate when calculating vtotal,
so we remove it.

Reviewed-by: Robin Chen &lt;robin.chen@amd.com&gt;
Signed-off-by: Weiguang Li &lt;wei-guang.li@amd.com&gt;
Signed-off-by: Fangzhi Zuo &lt;jerry.zuo@amd.com&gt;
Tested-by: Daniel Wheeler &lt;daniel.wheeler@amd.com&gt;
Signed-off-by: Alex Deucher &lt;alexander.deucher@amd.com&gt;
</content>
</entry>
<entry>
<title>drm/amd/display: Add null pointer check for get_first_active_display()</title>
<updated>2025-05-29T14:57:13Z</updated>
<author>
<name>Wentao Liang</name>
<email>vulab@iscas.ac.cn</email>
</author>
<published>2025-05-26T02:37:31Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/laptop-kernel/commit/?id=c3e9826a22027a21d998d3e64882fa377b613006'/>
<id>urn:sha1:c3e9826a22027a21d998d3e64882fa377b613006</id>
<content type='text'>
The function mod_hdcp_hdcp1_enable_encryption() calls the function
get_first_active_display(), but does not check its return value.
The return value is a null pointer if the display list is empty.
This will lead to a null pointer dereference in
mod_hdcp_hdcp2_enable_encryption().

Add a null pointer check for get_first_active_display() and return
MOD_HDCP_STATUS_DISPLAY_NOT_FOUND if the function return null.

Fixes: 2deade5ede56 ("drm/amd/display: Remove hdcp display state with mst fix")
Signed-off-by: Wentao Liang &lt;vulab@iscas.ac.cn&gt;
Reviewed-by: Alex Hung &lt;alex.hung@amd.com&gt;
Signed-off-by: Alex Deucher &lt;alexander.deucher@amd.com&gt;
Cc: stable@vger.kernel.org # v5.8
</content>
</entry>
<entry>
<title>drm/amd/display: HDCP Locality check using DMUB Fused IO</title>
<updated>2025-04-07T22:01:07Z</updated>
<author>
<name>Dominik Kaszewski</name>
<email>dominik.kaszewski@amd.com</email>
</author>
<published>2025-03-27T19:39:51Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/laptop-kernel/commit/?id=ce801e5d6c1bac228bf10f75e8bede4285c58282'/>
<id>urn:sha1:ce801e5d6c1bac228bf10f75e8bede4285c58282</id>
<content type='text'>
[Why]
HDCP locality check has strict timing requirements, currently broken
due to reliance on msleep which does not guarantee accuracy.
The PR moves the write-poll-read sequence into DMUB using new generic
Fused IO interface, where the timing accuracy is greatly improved.
New flow is enabled using DCN resource capability bit (none for now),
or using a debug flag.

[How]
* Extended mod_hdcp_config with new function for requesting DMUB
to execute a sequence of fused I2C/AUX commands and synchronously
wait until an outbox reply arrives or a timeout expires.
* If the timeout expires, send an abort to DMUB.
* Update HDCP to use the DMUB for locality check if supported.
* Add DC_HDCP_LC_FORCE_FW_ENABLE and DC_HDCP_LC_ENABLE_SW_FALLBACK.
* Make the first enable new flow regardless of resource capabilities.
* Make the second enable fallback to old SW flow.
* Clean up makefile source file listings for easier updates.

Reviewed-by: Alvin Lee &lt;alvin.lee2@amd.com&gt;
Signed-off-by: Dominik Kaszewski &lt;dominik.kaszewski@amd.com&gt;
Signed-off-by: Roman Li &lt;roman.li@amd.com&gt;
Tested-by: Daniel Wheeler &lt;daniel.wheeler@amd.com&gt;
Signed-off-by: Alex Deucher &lt;alexander.deucher@amd.com&gt;
</content>
</entry>
<entry>
<title>drm/amd/display: Fix BT2020 YCbCr limited/full range input</title>
<updated>2025-02-19T20:14:10Z</updated>
<author>
<name>Ilya Bakoulin</name>
<email>Ilya.Bakoulin@amd.com</email>
</author>
<published>2025-01-29T19:46:27Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/laptop-kernel/commit/?id=07bc2dcbcf403d47d6f305ef7f0d3d489491c5fb'/>
<id>urn:sha1:07bc2dcbcf403d47d6f305ef7f0d3d489491c5fb</id>
<content type='text'>
[Why]
BT2020 YCbCr input is not handled properly when full range
quantization is used and limited range is not supported at all.

[How]
- Add enums for BT2020 YCbCr limited/full range
- Add limited range CSC matrix

Reviewed-by: Krunoslav Kovac &lt;krunoslav.kovac@amd.com&gt;
Signed-off-by: Ilya Bakoulin &lt;Ilya.Bakoulin@amd.com&gt;
Signed-off-by: Roman Li &lt;roman.li@amd.com&gt;
Tested-by: Robert Mader &lt;robert.mader@collabora.com&gt;
Tested-by: Daniel Wheeler &lt;daniel.wheeler@amd.com&gt;
Signed-off-by: Alex Deucher &lt;alexander.deucher@amd.com&gt;
</content>
</entry>
<entry>
<title>drm/amd/display: Remove unused freesync functions</title>
<updated>2025-02-13T02:03:02Z</updated>
<author>
<name>Dr. David Alan Gilbert</name>
<email>linux@treblig.org</email>
</author>
<published>2025-02-02T21:58:51Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/laptop-kernel/commit/?id=2d5e8a8997aa3ca153fc2ad016c88012c97afa9e'/>
<id>urn:sha1:2d5e8a8997aa3ca153fc2ad016c88012c97afa9e</id>
<content type='text'>
mod_freesync_get_vmin_vmax() and mod_freesync_get_v_position() were
added in 2017 by
commit 72ada5f76939 ("drm/amd/display: FreeSync Auto Sweep Support")

mod_freesync_is_valid_range() was added in 2018 by
commit e80e94460841 ("drm/amd/display: add method to check for supported
range")

mod_freesync_get_settings() was added in 2018 by
commit a3e1737ed61c ("drm/amd/display: Implement stats logging")

and
mod_freesync_calc_field_rate_from_timing() was added in 2020 by
commit 49c70ece54b0 ("drm/amd/display: Change input parameter for
set_drr")

None of these have been used.

Remove them.

Signed-off-by: Dr. David Alan Gilbert &lt;linux@treblig.org&gt;
Signed-off-by: Alex Deucher &lt;alexander.deucher@amd.com&gt;
</content>
</entry>
<entry>
<title>drm/amd/display: Revised for Replay Pseudo vblank control</title>
<updated>2025-01-10T17:11:38Z</updated>
<author>
<name>Dennis Chan</name>
<email>dennis.chan@amd.com</email>
</author>
<published>2024-09-23T02:12:05Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/laptop-kernel/commit/?id=0524dd3a4f0e462067a3fcd13b7c5086f9dc1ece'/>
<id>urn:sha1:0524dd3a4f0e462067a3fcd13b7c5086f9dc1ece</id>
<content type='text'>
[why &amp; how]
Revised Replay Full screen video Pseudo vblank control.

Reviewed-by: Allen Li &lt;allen.li@amd.com&gt;
Signed-off-by: Dennis Chan &lt;dennis.chan@amd.com&gt;
Signed-off-by: Tom Chung &lt;chiahsuan.chung@amd.com&gt;
Tested-by: Daniel Wheeler &lt;daniel.wheeler@amd.com&gt;
Signed-off-by: Alex Deucher &lt;alexander.deucher@amd.com&gt;
</content>
</entry>
<entry>
<title>drm/amd/display: Add replay desync error count tracking and reset functionality</title>
<updated>2025-01-10T16:59:37Z</updated>
<author>
<name>Jack Chang</name>
<email>jack.chang@amd.com</email>
</author>
<published>2024-12-16T07:02:08Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/laptop-kernel/commit/?id=7d8a4bffe5d1b9bb4fcba3fce0d2ccfb22c2cfca'/>
<id>urn:sha1:7d8a4bffe5d1b9bb4fcba3fce0d2ccfb22c2cfca</id>
<content type='text'>
[Why &amp; How]
Build-up get/reset desync error count interface and implement the functions.

Reviewed-by: ChunTao Tso &lt;chuntao.tso@amd.com&gt;
Reviewed-by: Robin Chen &lt;robin.chen@amd.com&gt;
Signed-off-by: Jack Chang &lt;jack.chang@amd.com&gt;
Signed-off-by: Tom Chung &lt;chiahsuan.chung@amd.com&gt;
Tested-by: Daniel Wheeler &lt;daniel.wheeler@amd.com&gt;
Signed-off-by: Alex Deucher &lt;alexander.deucher@amd.com&gt;
</content>
</entry>
</feed>
