<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/drivers/gpu/drm/hisilicon, branch master</title>
<subtitle>Linux kernel for Apalis and Colibri modules</subtitle>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/'/>
<entry>
<title>drm/hisilicon/hibmc: Adding reset colorbar cfg in dp init.</title>
<updated>2026-01-20T08:53:14+00:00</updated>
<author>
<name>Baihan Li</name>
<email>libaihan@huawei.com</email>
</author>
<published>2025-12-10T02:37:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=6dad7fa8581e96321ec8a6a4f8160762466f539a'/>
<id>6dad7fa8581e96321ec8a6a4f8160762466f539a</id>
<content type='text'>
Add colorbar disable operation before reset chontroller, to make sure
colorbar status is clear in the DP init, so if rmmod the driver and the
previous colorbar configuration will not affect the next time insmod the
driver.

Fixes: 3c7623fb5bb6 ("drm/hisilicon/hibmc: Enable this hot plug detect of irq feature")
Signed-off-by: Baihan Li &lt;libaihan@huawei.com&gt;
Signed-off-by: Yongbang Shi &lt;shiyongbang@huawei.com&gt;
Reviewed-by: Dmitry Baryshkov &lt;dmitry.baryshkov@oss.qualcomm.com&gt;
Reviewed-by: Tao Tian &lt;tiantao6@hisilicon.com&gt;
Link: https://patch.msgid.link/20251210023759.3944834-5-shiyongbang@huawei.com
Signed-off-by: Dmitry Baryshkov &lt;dmitry.baryshkov@oss.qualcomm.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add colorbar disable operation before reset chontroller, to make sure
colorbar status is clear in the DP init, so if rmmod the driver and the
previous colorbar configuration will not affect the next time insmod the
driver.

Fixes: 3c7623fb5bb6 ("drm/hisilicon/hibmc: Enable this hot plug detect of irq feature")
Signed-off-by: Baihan Li &lt;libaihan@huawei.com&gt;
Signed-off-by: Yongbang Shi &lt;shiyongbang@huawei.com&gt;
Reviewed-by: Dmitry Baryshkov &lt;dmitry.baryshkov@oss.qualcomm.com&gt;
Reviewed-by: Tao Tian &lt;tiantao6@hisilicon.com&gt;
Link: https://patch.msgid.link/20251210023759.3944834-5-shiyongbang@huawei.com
Signed-off-by: Dmitry Baryshkov &lt;dmitry.baryshkov@oss.qualcomm.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drm/hisilicon/hibmc: fix no showing problem with loading hibmc manually</title>
<updated>2026-01-20T08:53:14+00:00</updated>
<author>
<name>Baihan Li</name>
<email>libaihan@huawei.com</email>
</author>
<published>2025-12-10T02:37:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=0607052a6aee1e3d218a99fae70ba9f14b3b47ed'/>
<id>0607052a6aee1e3d218a99fae70ba9f14b3b47ed</id>
<content type='text'>
When using command rmmod and insmod, there is no showing in second time
insmoding. Because DP controller won't send HPD signals, if connection
doesn't change or controller isn't reset. So add reset before unreset
in hibmc_dp_hw_init().

And also need to move the HDCP cfg after DP controller de-resets, so
that HDCP configuration takes effect.

Fixes: 3c7623fb5bb6 ("drm/hisilicon/hibmc: Enable this hot plug detect of irq feature")
Signed-off-by: Baihan Li &lt;libaihan@huawei.com&gt;
Signed-off-by: Yongbang Shi &lt;shiyongbang@huawei.com&gt;
Reviewed-by: Dmitry Baryshkov &lt;dmitry.baryshkov@oss.qualcomm.com&gt;
Reviewed-by: Tao Tian &lt;tiantao6@hisilicon.com&gt;
Link: https://patch.msgid.link/20251210023759.3944834-4-shiyongbang@huawei.com
Signed-off-by: Dmitry Baryshkov &lt;dmitry.baryshkov@oss.qualcomm.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When using command rmmod and insmod, there is no showing in second time
insmoding. Because DP controller won't send HPD signals, if connection
doesn't change or controller isn't reset. So add reset before unreset
in hibmc_dp_hw_init().

And also need to move the HDCP cfg after DP controller de-resets, so
that HDCP configuration takes effect.

Fixes: 3c7623fb5bb6 ("drm/hisilicon/hibmc: Enable this hot plug detect of irq feature")
Signed-off-by: Baihan Li &lt;libaihan@huawei.com&gt;
Signed-off-by: Yongbang Shi &lt;shiyongbang@huawei.com&gt;
Reviewed-by: Dmitry Baryshkov &lt;dmitry.baryshkov@oss.qualcomm.com&gt;
Reviewed-by: Tao Tian &lt;tiantao6@hisilicon.com&gt;
Link: https://patch.msgid.link/20251210023759.3944834-4-shiyongbang@huawei.com
Signed-off-by: Dmitry Baryshkov &lt;dmitry.baryshkov@oss.qualcomm.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drm/hisilicon/hibmc: add dp mode valid check</title>
<updated>2026-01-20T08:53:14+00:00</updated>
<author>
<name>Baihan Li</name>
<email>libaihan@huawei.com</email>
</author>
<published>2025-12-10T02:37:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=607805abfb747b98f43aa57d6d9ba4caed4d106f'/>
<id>607805abfb747b98f43aa57d6d9ba4caed4d106f</id>
<content type='text'>
If DP is connected, check the DP BW in mode_valid_ctx() to ensure
that DP's link rate supports high-resolution data transmission.

Fixes: 0ab6ea261c1f ("drm/hisilicon/hibmc: add dp module in hibmc")
Signed-off-by: Baihan Li &lt;libaihan@huawei.com&gt;
Signed-off-by: Yongbang Shi &lt;shiyongbang@huawei.com&gt;
Reviewed-by: Dmitry Baryshkov &lt;dmitry.baryshkov@oss.qualcomm.com&gt;
Reviewed-by: Tao Tian &lt;tiantao6@hisilicon.com&gt;
Link: https://patch.msgid.link/20251210023759.3944834-3-shiyongbang@huawei.com
Signed-off-by: Dmitry Baryshkov &lt;dmitry.baryshkov@oss.qualcomm.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If DP is connected, check the DP BW in mode_valid_ctx() to ensure
that DP's link rate supports high-resolution data transmission.

Fixes: 0ab6ea261c1f ("drm/hisilicon/hibmc: add dp module in hibmc")
Signed-off-by: Baihan Li &lt;libaihan@huawei.com&gt;
Signed-off-by: Yongbang Shi &lt;shiyongbang@huawei.com&gt;
Reviewed-by: Dmitry Baryshkov &lt;dmitry.baryshkov@oss.qualcomm.com&gt;
Reviewed-by: Tao Tian &lt;tiantao6@hisilicon.com&gt;
Link: https://patch.msgid.link/20251210023759.3944834-3-shiyongbang@huawei.com
Signed-off-by: Dmitry Baryshkov &lt;dmitry.baryshkov@oss.qualcomm.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drm/hisilicon/hibmc: fix dp probabilistical detect errors after HPD irq</title>
<updated>2026-01-20T08:53:14+00:00</updated>
<author>
<name>Baihan Li</name>
<email>libaihan@huawei.com</email>
</author>
<published>2025-12-10T02:37:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=3906e7a3b26d683868704fe262db443207f392fe'/>
<id>3906e7a3b26d683868704fe262db443207f392fe</id>
<content type='text'>
The issue is that drm_connector_helper_detect_from_ddc() returns wrong
status when plugging or unplugging the monitor, which may cause the link
failed err.[0] Use HPD pin status in DP's detect_ctx() for real physical
monitor in/out, and implement a complete DP detection including read DPCD,
check if it's a branch device and its sink count for different situations.

[0]:
	hibme-drm 0000:83:00.0: [drm] *ERROR* channel equalization failed 5 times
	hibme-drm 0000:83:00.0: [drm] *ERROR* channel equalization failed 5 times
	hibme-drm 0000:83:00.0: [drm] *ERROR* dp link training failed, ret: -16
	hibmc-drm 0000:83:00.0: [drm] *ERROR* hibme dp mode set failed: -16

Fixes: 3c7623fb5bb6 ("drm/hisilicon/hibmc: Enable this hot plug detect of irq feature")
Signed-off-by: Baihan Li &lt;libaihan@huawei.com&gt;
Signed-off-by: Yongbang Shi &lt;shiyongbang@huawei.com&gt;
Reviewed-by: Tao Tian &lt;tiantao6@hisilicon.com&gt;
Link: https://patch.msgid.link/20251210023759.3944834-2-shiyongbang@huawei.com
Signed-off-by: Dmitry Baryshkov &lt;dmitry.baryshkov@oss.qualcomm.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The issue is that drm_connector_helper_detect_from_ddc() returns wrong
status when plugging or unplugging the monitor, which may cause the link
failed err.[0] Use HPD pin status in DP's detect_ctx() for real physical
monitor in/out, and implement a complete DP detection including read DPCD,
check if it's a branch device and its sink count for different situations.

[0]:
	hibme-drm 0000:83:00.0: [drm] *ERROR* channel equalization failed 5 times
	hibme-drm 0000:83:00.0: [drm] *ERROR* channel equalization failed 5 times
	hibme-drm 0000:83:00.0: [drm] *ERROR* dp link training failed, ret: -16
	hibmc-drm 0000:83:00.0: [drm] *ERROR* hibme dp mode set failed: -16

Fixes: 3c7623fb5bb6 ("drm/hisilicon/hibmc: Enable this hot plug detect of irq feature")
Signed-off-by: Baihan Li &lt;libaihan@huawei.com&gt;
Signed-off-by: Yongbang Shi &lt;shiyongbang@huawei.com&gt;
Reviewed-by: Tao Tian &lt;tiantao6@hisilicon.com&gt;
Link: https://patch.msgid.link/20251210023759.3944834-2-shiyongbang@huawei.com
Signed-off-by: Dmitry Baryshkov &lt;dmitry.baryshkov@oss.qualcomm.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drm: include drm_print.h where needed</title>
<updated>2025-10-31T08:34:52+00:00</updated>
<author>
<name>Jani Nikula</name>
<email>jani.nikula@intel.com</email>
</author>
<published>2025-10-29T10:39:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=f6e8dc9edf963dbc99085e54f6ced6da9daa6100'/>
<id>f6e8dc9edf963dbc99085e54f6ced6da9daa6100</id>
<content type='text'>
There are a gazillion files that depend on drm_print.h being indirectly
included via drm_buddy.h, drm_mm.h, or ttm/ttm_resource.h. In
preparation for removing those includes, explicitly include drm_print.h
where needed.

Cc: Thomas Zimmermann &lt;tzimmermann@suse.de&gt;
Reviewed-by: Thomas Zimmermann &lt;tzimmermann@suse.de&gt;
Signed-off-by: Jani Nikula &lt;jani.nikula@intel.com&gt;
Link: https://lore.kernel.org/r/5fe67395907be33eb5199ea6d540e29fddee71c8.1761734313.git.jani.nikula@intel.com
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
There are a gazillion files that depend on drm_print.h being indirectly
included via drm_buddy.h, drm_mm.h, or ttm/ttm_resource.h. In
preparation for removing those includes, explicitly include drm_print.h
where needed.

Cc: Thomas Zimmermann &lt;tzimmermann@suse.de&gt;
Reviewed-by: Thomas Zimmermann &lt;tzimmermann@suse.de&gt;
Signed-off-by: Jani Nikula &lt;jani.nikula@intel.com&gt;
Link: https://lore.kernel.org/r/5fe67395907be33eb5199ea6d540e29fddee71c8.1761734313.git.jani.nikula@intel.com
</pre>
</div>
</content>
</entry>
<entry>
<title>drm/hisilicon/hibmc: fix dp and vga cannot show together</title>
<updated>2025-08-17T15:32:31+00:00</updated>
<author>
<name>Baihan Li</name>
<email>libaihan@huawei.com</email>
</author>
<published>2025-08-13T09:42:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=3271faf42d135bcf569c3ff6af55c21858eec212'/>
<id>3271faf42d135bcf569c3ff6af55c21858eec212</id>
<content type='text'>
If VGA and DP connected together, there will be only one can get crtc.
Add encoder possible_clones to support two connectors enable.

Fixes: 3c7623fb5bb6 ("drm/hisilicon/hibmc: Enable this hot plug detect of irq feature")
Signed-off-by: Baihan Li &lt;libaihan@huawei.com&gt;
Signed-off-by: Yongbang Shi &lt;shiyongbang@huawei.com&gt;
Reviewed-by: Dmitry Baryshkov &lt;dmitry.baryshkov@oss.qualcomm.com&gt;
Link: https://lore.kernel.org/r/20250813094238.3722345-8-shiyongbang@huawei.com
Signed-off-by: Dmitry Baryshkov &lt;dmitry.baryshkov@oss.qualcomm.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If VGA and DP connected together, there will be only one can get crtc.
Add encoder possible_clones to support two connectors enable.

Fixes: 3c7623fb5bb6 ("drm/hisilicon/hibmc: Enable this hot plug detect of irq feature")
Signed-off-by: Baihan Li &lt;libaihan@huawei.com&gt;
Signed-off-by: Yongbang Shi &lt;shiyongbang@huawei.com&gt;
Reviewed-by: Dmitry Baryshkov &lt;dmitry.baryshkov@oss.qualcomm.com&gt;
Link: https://lore.kernel.org/r/20250813094238.3722345-8-shiyongbang@huawei.com
Signed-off-by: Dmitry Baryshkov &lt;dmitry.baryshkov@oss.qualcomm.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drm/hisilicon/hibmc: fix rare monitors cannot display problem</title>
<updated>2025-08-17T15:22:05+00:00</updated>
<author>
<name>Baihan Li</name>
<email>libaihan@huawei.com</email>
</author>
<published>2025-08-13T09:42:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=9f98b429ba67d430b873e06bcfb90afa22888978'/>
<id>9f98b429ba67d430b873e06bcfb90afa22888978</id>
<content type='text'>
In some case, the dp link training success at 8.1Gbps, but the sink's
maximum supported rate is less than 8.1G. So change the default 8.1Gbps
link rate to the rate that reads from devices' capabilities.

Fixes: 54063d86e036 ("drm/hisilicon/hibmc: add dp link moduel in hibmc drivers")
Signed-off-by: Baihan Li &lt;libaihan@huawei.com&gt;
Signed-off-by: Yongbang Shi &lt;shiyongbang@huawei.com&gt;
Reviewed-by: Dmitry Baryshkov &lt;dmitry.baryshkov@oss.qualcomm.com&gt;
Link: https://lore.kernel.org/r/20250813094238.3722345-6-shiyongbang@huawei.com
Signed-off-by: Dmitry Baryshkov &lt;dmitry.baryshkov@oss.qualcomm.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In some case, the dp link training success at 8.1Gbps, but the sink's
maximum supported rate is less than 8.1G. So change the default 8.1Gbps
link rate to the rate that reads from devices' capabilities.

Fixes: 54063d86e036 ("drm/hisilicon/hibmc: add dp link moduel in hibmc drivers")
Signed-off-by: Baihan Li &lt;libaihan@huawei.com&gt;
Signed-off-by: Yongbang Shi &lt;shiyongbang@huawei.com&gt;
Reviewed-by: Dmitry Baryshkov &lt;dmitry.baryshkov@oss.qualcomm.com&gt;
Link: https://lore.kernel.org/r/20250813094238.3722345-6-shiyongbang@huawei.com
Signed-off-by: Dmitry Baryshkov &lt;dmitry.baryshkov@oss.qualcomm.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drm/hisilicon/hibmc: fix the hibmc loaded failed bug</title>
<updated>2025-08-17T15:22:05+00:00</updated>
<author>
<name>Baihan Li</name>
<email>libaihan@huawei.com</email>
</author>
<published>2025-08-13T09:42:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=93a08f856fcc5aaeeecad01f71bef3088588216a'/>
<id>93a08f856fcc5aaeeecad01f71bef3088588216a</id>
<content type='text'>
When hibmc loaded failed, the driver use hibmc_unload to free the
resource, but the mutexes in mode.config are not init, which will
access an NULL pointer. Just change goto statement to return, because
hibnc_hw_init() doesn't need to free anything.

Fixes: b3df5e65cc03 ("drm/hibmc: Drop drm_vblank_cleanup")
Signed-off-by: Baihan Li &lt;libaihan@huawei.com&gt;
Signed-off-by: Yongbang Shi &lt;shiyongbang@huawei.com&gt;
Reviewed-by: Dmitry Baryshkov &lt;dmitry.baryshkov@oss.qualcomm.com&gt;
Link: https://lore.kernel.org/r/20250813094238.3722345-5-shiyongbang@huawei.com
Signed-off-by: Dmitry Baryshkov &lt;dmitry.baryshkov@oss.qualcomm.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When hibmc loaded failed, the driver use hibmc_unload to free the
resource, but the mutexes in mode.config are not init, which will
access an NULL pointer. Just change goto statement to return, because
hibnc_hw_init() doesn't need to free anything.

Fixes: b3df5e65cc03 ("drm/hibmc: Drop drm_vblank_cleanup")
Signed-off-by: Baihan Li &lt;libaihan@huawei.com&gt;
Signed-off-by: Yongbang Shi &lt;shiyongbang@huawei.com&gt;
Reviewed-by: Dmitry Baryshkov &lt;dmitry.baryshkov@oss.qualcomm.com&gt;
Link: https://lore.kernel.org/r/20250813094238.3722345-5-shiyongbang@huawei.com
Signed-off-by: Dmitry Baryshkov &lt;dmitry.baryshkov@oss.qualcomm.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drm/hisilicon/hibmc: fix irq_request()'s irq name variable is local</title>
<updated>2025-08-17T15:22:05+00:00</updated>
<author>
<name>Baihan Li</name>
<email>libaihan@huawei.com</email>
</author>
<published>2025-08-13T09:42:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=8bed4ec42a4e0dc8113172696ff076d1eb6d8bcb'/>
<id>8bed4ec42a4e0dc8113172696ff076d1eb6d8bcb</id>
<content type='text'>
The local variable is passed in request_irq (), and there will be use
after free problem, which will make request_irq failed. Using the global
irq name instead of it to fix.

Fixes: b11bc1ae4658 ("drm/hisilicon/hibmc: Add MSI irq getting and requesting for HPD")
Signed-off-by: Baihan Li &lt;libaihan@huawei.com&gt;
Signed-off-by: Yongbang Shi &lt;shiyongbang@huawei.com&gt;
Reviewed-by: Dmitry Baryshkov &lt;dmitry.baryshkov@oss.qualcomm.com&gt;
Link: https://lore.kernel.org/r/20250813094238.3722345-4-shiyongbang@huawei.com
Signed-off-by: Dmitry Baryshkov &lt;dmitry.baryshkov@oss.qualcomm.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The local variable is passed in request_irq (), and there will be use
after free problem, which will make request_irq failed. Using the global
irq name instead of it to fix.

Fixes: b11bc1ae4658 ("drm/hisilicon/hibmc: Add MSI irq getting and requesting for HPD")
Signed-off-by: Baihan Li &lt;libaihan@huawei.com&gt;
Signed-off-by: Yongbang Shi &lt;shiyongbang@huawei.com&gt;
Reviewed-by: Dmitry Baryshkov &lt;dmitry.baryshkov@oss.qualcomm.com&gt;
Link: https://lore.kernel.org/r/20250813094238.3722345-4-shiyongbang@huawei.com
Signed-off-by: Dmitry Baryshkov &lt;dmitry.baryshkov@oss.qualcomm.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drm/hisilicon/hibmc: fix the i2c device resource leak when vdac init failed</title>
<updated>2025-08-17T15:22:05+00:00</updated>
<author>
<name>Baihan Li</name>
<email>libaihan@huawei.com</email>
</author>
<published>2025-08-13T09:42:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=e5f48bfa2ae0806d5f51fb8061afc619a73599a7'/>
<id>e5f48bfa2ae0806d5f51fb8061afc619a73599a7</id>
<content type='text'>
Currently the driver missed to clean the i2c adapter when vdac init failed.
It may cause resource leak.

Fixes: a0d078d06e516 ("drm/hisilicon: Features to support reading resolutions from EDID")
Signed-off-by: Baihan Li &lt;libaihan@huawei.com&gt;
Signed-off-by: Yongbang Shi &lt;shiyongbang@huawei.com&gt;
Reviewed-by: Dmitry Baryshkov &lt;dmitry.baryshkov@oss.qualcomm.com&gt;
Link: https://lore.kernel.org/r/20250813094238.3722345-2-shiyongbang@huawei.com
Signed-off-by: Dmitry Baryshkov &lt;dmitry.baryshkov@oss.qualcomm.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Currently the driver missed to clean the i2c adapter when vdac init failed.
It may cause resource leak.

Fixes: a0d078d06e516 ("drm/hisilicon: Features to support reading resolutions from EDID")
Signed-off-by: Baihan Li &lt;libaihan@huawei.com&gt;
Signed-off-by: Yongbang Shi &lt;shiyongbang@huawei.com&gt;
Reviewed-by: Dmitry Baryshkov &lt;dmitry.baryshkov@oss.qualcomm.com&gt;
Link: https://lore.kernel.org/r/20250813094238.3722345-2-shiyongbang@huawei.com
Signed-off-by: Dmitry Baryshkov &lt;dmitry.baryshkov@oss.qualcomm.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
