lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <0eb5c509-2724-4c57-87ad-74e4270d5a5a@suse.de>
Date: Wed, 28 Jan 2026 17:20:50 +0100
From: Thomas Zimmermann <tzimmermann@...e.de>
To: Yongbang Shi <shiyongbang@...wei.com>, xinliang.liu@...aro.org,
 tiantao6@...ilicon.com, maarten.lankhorst@...ux.intel.com,
 mripard@...nel.org, airlied@...il.com, daniel@...ll.ch,
 kong.kongxinwei@...ilicon.com
Cc: liangjian010@...wei.com, chenjianmin@...wei.com, lidongming5@...wei.com,
 libaihan@...wei.com, shenjian15@...wei.com, shaojijie@...wei.com,
 jani.nikula@...ux.intel.com, dmitry.baryshkov@....qualcomm.com,
 dri-devel@...ts.freedesktop.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v9 drm-dp 9/9] drm/hisilicon/hibmc: Add vga connector
 detect functions

Hi

Am 31.03.25 um 09:42 schrieb Yongbang Shi:
> From: Baihan Li <libaihan@...wei.com>
>
> Because the connected VGA connector would make driver can't get the
> userspace call, adding detect_ctx in vga connector to make HPD active
> userspace.
>
> Signed-off-by: Baihan Li <libaihan@...wei.com>
> Signed-off-by: Yongbang Shi <shiyongbang@...wei.com>
> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@...aro.org>
> ---
>   drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_vdac.c | 3 +++
>   1 file changed, 3 insertions(+)
>
> diff --git a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_vdac.c b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_vdac.c
> index 05e19ea4c9f9..e8a527ede854 100644
> --- a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_vdac.c
> +++ b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_vdac.c
> @@ -60,6 +60,7 @@ static void hibmc_connector_destroy(struct drm_connector *connector)
>   static const struct drm_connector_helper_funcs
>   	hibmc_connector_helper_funcs = {
>   	.get_modes = hibmc_connector_get_modes,
> +	.detect_ctx = drm_connector_helper_detect_from_ddc,

This change exposed a bug in the hibmc DDC support.

Calling drm_connector_helper_detect_from_ddc() does not work correctly. 
The i2c transfer never receives the monitor's EDID because of an 
internal error. It fails with -ENXIO.  The error originates at [1]. Th 
values of ret and nak_ok are both 0 when that happens.

As a result, the VGA connector is always marked as disconnected.

To fix this, maybe something else has to be enabled first. There seems 
quite a bit of power management in hibmc_crtc_atomic_enable(). Maybe 
some of that has to be done before the i2c transfer as well?

Best regards
Thomas


[1] 
https://elixir.bootlin.com/linux/v6.19-rc5/source/drivers/i2c/algos/i2c-algo-bit.c#L514

>   };
>   
>   static const struct drm_connector_funcs hibmc_connector_funcs = {
> @@ -127,5 +128,7 @@ int hibmc_vdac_init(struct hibmc_drm_private *priv)
>   
>   	drm_connector_attach_encoder(connector, encoder);
>   
> +	connector->polled = DRM_CONNECTOR_POLL_CONNECT | DRM_CONNECTOR_POLL_DISCONNECT;
> +
>   	return 0;
>   }

-- 
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Frankenstr. 146, 90461 Nürnberg, Germany, www.suse.com
GF: Jochen Jaser, Andrew McDonald, Werner Knoblich, (HRB 36809, AG Nürnberg)



Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ