From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wm1-f47.google.com (mail-wm1-f47.google.com [209.85.128.47]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A509A3CFF5E for ; Thu, 28 May 2026 11:07:55 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.47 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779966477; cv=none; b=hDEkhnHYcn3Uv3WxY3YqtLJUbCd4YKIcEr8IMDvRHf83xdjm2Qj61wvMBDvFRmePGjH7iWhq9UtG8vTStwJ1/H4ekMKG4jITjuxIguG79VT9UNUGl6SUGybGDkY7lo/3Io6R7fZyfZK0B5KuUrWaVM6jQ6wbbS8pjzHFxrbwBJk= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779966477; c=relaxed/simple; bh=fX7CLysX+p8kjV5Ed30DPXCxzMJyctVM7kgcIcOofqk=; h=Message-ID:Date:MIME-Version:From:Subject:To:Cc:References: In-Reply-To:Content-Type; b=rKNJWtOflD4MO3TXH50ZVqVTztPjgj+QHEgnycgy/1zfZFNkJb01hOXl8jPRpLpUQpVBPIRv3W7xpfSmTmipH4pZ9b0Rs6Mj5LE5HQlErJXThD7TF6hwWoI9aHtUh+/SdKVE7iJWv4zHx8WISU9FiEJZM5+RIUBzl7spzj3wKhY= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=oFEwE66T; arc=none smtp.client-ip=209.85.128.47 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="oFEwE66T" Received: by mail-wm1-f47.google.com with SMTP id 5b1f17b1804b1-49042aeeb75so80130375e9.1 for ; Thu, 28 May 2026 04:07:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1779966474; x=1780571274; darn=vger.kernel.org; h=content-transfer-encoding:in-reply-to:organization:autocrypt :content-language:references:cc:to:subject:reply-to:from:user-agent :mime-version:date:message-id:from:to:cc:subject:date:message-id :reply-to; bh=jdEan+OEa59Pk8W7jTB8S9kGLZiRAs4H/P8LLJyS2nI=; b=oFEwE66TUNZOnpLcb5pYiPDLN4qAm5A/86G3868uc/P3jJ1eA8PuK3+okG5FIZgBVY aoYrJUrMBGRXX7Wjcpfokh42VGdE7Ctv0WZmigE7HAySyd0sUEs2AFfIG1Jyat1x3yfX 6Sdf2lkdbpv5kyhrALOP5G4EgN5oRaG+QEQsSECum3hzGDw0NCveY1+bhH5mf5eUG3k2 t1cfPX12UPRpi3uUDFPBAqN+/IGtsrQ/c8Lm8UWa5Mk4MNlERRzA2gRfZQGvIKUjMeh5 Qx/GcY4ilPBEB9FM2N+5rGI66ykFVHPwNUr7w+d4M81aMkjSaltK06HA3f6+3JTZXehA plsA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779966474; x=1780571274; h=content-transfer-encoding:in-reply-to:organization:autocrypt :content-language:references:cc:to:subject:reply-to:from:user-agent :mime-version:date:message-id:x-gm-gg:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=jdEan+OEa59Pk8W7jTB8S9kGLZiRAs4H/P8LLJyS2nI=; b=cNi7Gg6QO+ZwTChe5ttXE6TDnK+CW1fiGh5y4pTJvIPZyCh0Ek3qyrzgkdxIuriRDB 8GpmtTgz6ihWS+P78tbcbeApvQRWvYA0kMo4HKfrZQaSv7WN/0/XsB4UCFud77uKcSQV i2Ft2lKnDJ1WltUdU8t0F1NPu5pNS0ft4VQjMZNXXkgvcaUARrSdZgNkgrzZEkB+uzed qM/IHvaNwbCdVVXL+a0ziFScz/2TE7Ds+DzN/sr01kQ7NV0Am6Ny/D+gSSOMY3+3649t 5bS4fr/CujxUoZBO2kDrtqON0O6tWXwT1pxW5oYllXSn96uMHRlN/WGiI4YQzM/Bh6U2 RX6g== X-Forwarded-Encrypted: i=1; AFNElJ/j0ZfZ23dJid/M9xYgzdrK0kQoQt4UNXME/giG50J8q98jcyLzNWknRK5FjqK7U9XWMYuMiqF//e36hvY=@vger.kernel.org X-Gm-Message-State: AOJu0Yyrd4qUBQYjKwfTcDWM3TU6CP54qbz0AklyL7lvfPRNu1zBQBGN pr9ks2jD7jIREnY9utZ2ZAViiKaUhaDnCs4VLLEchqKgHOAn0/v8+kDFeh9tw2wsR+0= X-Gm-Gg: Acq92OGpdg/fXqweDsmQCU2ziNK53FWkct/NlY4/8pi70doCqWK/LM4JOBkrXM7QI8i u6sJybBEuC9xhVCb0QinXJ65hl4XORJUN6Jy+ijoz2XKjSuQOD6ci/Gmyvt+SNwDObGaSwB/fGi /02gFPnFefz5om1UtpIubehfiI8x07wf4H9nttcZVCzUZ7Lov3X2U9p8BH47bPWCt9TaXTQaU5u nkonFzaEXQzCsmLMjjqCkGogv5elbU/xpi5wyrDLtju7w0QvYSnQ1z8ZgyKrs2RyZOVjc3KCYYv AgKsLZoCOzGnyY2zD5AREsOx4KlejUzbDVJ82Rz5PIcf0sK+/hSk0+nJ8tHRQl3QykPJ+sUsgeG XgyYlq2LZsqh9mqVTQJX4+UIGBRArKHgkZzB23sOmcnZR247FF3BXIm0oQIZqk07Z1iPsWvo7A3 3Uxm2W6LE5hKihq9yJ6TaOahOkLoC42EVgF4J6TdzjCqE= X-Received: by 2002:a05:600c:4ecc:b0:485:30d4:6b9e with SMTP id 5b1f17b1804b1-490426cd8a4mr416004715e9.21.1779966473758; Thu, 28 May 2026 04:07:53 -0700 (PDT) Received: from [172.20.10.2] ([37.167.60.147]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49091d57c0dsm55223895e9.0.2026.05.28.04.07.51 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 28 May 2026 04:07:53 -0700 (PDT) Message-ID: <86a1e8e4-1e83-439d-840f-6687dfc87fe3@linaro.org> Date: Thu, 28 May 2026 13:07:50 +0200 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird From: Neil Armstrong Reply-To: Neil Armstrong Subject: Re: [PATCH v3 2/3] drm/bridge: display-connector: don't autoenable HPD IRQ To: Dmitry Baryshkov , Andrzej Hajda , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Tomi Valkeinen , Boris Brezillon , Sam Ravnborg , Sebastian Reichel , Yongxing Mou Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org References: <20260528-dp-connector-hpd-v3-0-d656eb1079b7@oss.qualcomm.com> <20260528-dp-connector-hpd-v3-2-d656eb1079b7@oss.qualcomm.com> Content-Language: en-US, fr Autocrypt: addr=neil.armstrong@linaro.org; keydata= xsBNBE1ZBs8BCAD78xVLsXPwV/2qQx2FaO/7mhWL0Qodw8UcQJnkrWmgTFRobtTWxuRx8WWP GTjuhvbleoQ5Cxjr+v+1ARGCH46MxFP5DwauzPekwJUD5QKZlaw/bURTLmS2id5wWi3lqVH4 BVF2WzvGyyeV1o4RTCYDnZ9VLLylJ9bneEaIs/7cjCEbipGGFlfIML3sfqnIvMAxIMZrvcl9 qPV2k+KQ7q+aXavU5W+yLNn7QtXUB530Zlk/d2ETgzQ5FLYYnUDAaRl+8JUTjc0CNOTpCeik 80TZcE6f8M76Xa6yU8VcNko94Ck7iB4vj70q76P/J7kt98hklrr85/3NU3oti3nrIHmHABEB AAHNKk5laWwgQXJtc3Ryb25nIDxuZWlsLmFybXN0cm9uZ0BsaW5hcm8ub3JnPsLAkQQTAQoA OwIbIwULCQgHAwUVCgkICwUWAgMBAAIeAQIXgBYhBInsPQWERiF0UPIoSBaat7Gkz/iuBQJk Q5wSAhkBAAoJEBaat7Gkz/iuyhMIANiD94qDtUTJRfEW6GwXmtKWwl/mvqQtaTtZID2dos04 YqBbshiJbejgVJjy+HODcNUIKBB3PSLaln4ltdsV73SBcwUNdzebfKspAQunCM22Mn6FBIxQ GizsMLcP/0FX4en9NaKGfK6ZdKK6kN1GR9YffMJd2P08EO8mHowmSRe/ExAODhAs9W7XXExw UNCY4pVJyRPpEhv373vvff60bHxc1k/FF9WaPscMt7hlkbFLUs85kHtQAmr8pV5Hy9ezsSRa GzJmiVclkPc2BY592IGBXRDQ38urXeM4nfhhvqA50b/nAEXc6FzqgXqDkEIwR66/Gbp0t3+r yQzpKRyQif3OwE0ETVkGzwEIALyKDN/OGURaHBVzwjgYq+ZtifvekdrSNl8TIDH8g1xicBYp QTbPn6bbSZbdvfeQPNCcD4/EhXZuhQXMcoJsQQQnO4vwVULmPGgtGf8PVc7dxKOeta+qUh6+ SRh3vIcAUFHDT3f/Zdspz+e2E0hPV2hiSvICLk11qO6cyJE13zeNFoeY3ggrKY+IzbFomIZY 4yG6xI99NIPEVE9lNBXBKIlewIyVlkOaYvJWSV+p5gdJXOvScNN1epm5YHmf9aE2ZjnqZGoM Mtsyw18YoX9BqMFInxqYQQ3j/HpVgTSvmo5ea5qQDDUaCsaTf8UeDcwYOtgI8iL4oHcsGtUX oUk33HEAEQEAAcLAXwQYAQIACQUCTVkGzwIbDAAKCRAWmrexpM/4rrXiB/sGbkQ6itMrAIfn M7IbRuiSZS1unlySUVYu3SD6YBYnNi3G5EpbwfBNuT3H8//rVvtOFK4OD8cRYkxXRQmTvqa3 3eDIHu/zr1HMKErm+2SD6PO9umRef8V82o2oaCLvf4WeIssFjwB0b6a12opuRP7yo3E3gTCS KmbUuLv1CtxKQF+fUV1cVaTPMyT25Od+RC1K+iOR0F54oUJvJeq7fUzbn/KdlhA8XPGzwGRy 4zcsPWvwnXgfe5tk680fEKZVwOZKIEuJC3v+/yZpQzDvGYJvbyix0lHnrCzq43WefRHI5XTT QbM0WUIBIcGmq38+OgUsMYu4NzLu7uZFAcmp6h8g Organization: Linaro In-Reply-To: <20260528-dp-connector-hpd-v3-2-d656eb1079b7@oss.qualcomm.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 5/28/26 09:10, Dmitry Baryshkov wrote: > If HPD IRQ is enabled in the display_connector's probe, it can be > triggered too early, before the DRM connector is completely setup. Use > the enable_hpd / disable_hpd callbacks to control enablement of the HPD > IRQ. > > Fixes: 0c275c30176b ("drm/bridge: Add bridge driver for display connectors") > Signed-off-by: Dmitry Baryshkov > --- > drivers/gpu/drm/bridge/display-connector.c | 17 +++++++++++++++++ > 1 file changed, 17 insertions(+) > > diff --git a/drivers/gpu/drm/bridge/display-connector.c b/drivers/gpu/drm/bridge/display-connector.c > index 16c0631adeb1..6bb1134f75c3 100644 > --- a/drivers/gpu/drm/bridge/display-connector.c > +++ b/drivers/gpu/drm/bridge/display-connector.c > @@ -87,6 +87,20 @@ display_connector_bridge_detect(struct drm_bridge *bridge, struct drm_connector > return display_connector_detect(bridge); > } > > +static void display_connector_hpd_enable(struct drm_bridge *bridge) > +{ > + struct display_connector *conn = to_display_connector(bridge); > + > + enable_irq(conn->hpd_irq); > +} > + > +static void display_connector_hpd_disable(struct drm_bridge *bridge) > +{ > + struct display_connector *conn = to_display_connector(bridge); > + > + disable_irq(conn->hpd_irq); > +} > + > static const struct drm_edid *display_connector_edid_read(struct drm_bridge *bridge, > struct drm_connector *connector) > { > @@ -178,6 +192,8 @@ static u32 *display_connector_get_input_bus_fmts(struct drm_bridge *bridge, > static const struct drm_bridge_funcs display_connector_bridge_funcs = { > .attach = display_connector_attach, > .detect = display_connector_bridge_detect, > + .hpd_enable = display_connector_hpd_enable, > + .hpd_disable = display_connector_hpd_disable, > .edid_read = display_connector_edid_read, > .atomic_get_output_bus_fmts = display_connector_get_output_bus_fmts, > .atomic_get_input_bus_fmts = display_connector_get_input_bus_fmts, > @@ -307,6 +323,7 @@ static int display_connector_probe(struct platform_device *pdev) > NULL, display_connector_hpd_irq, > IRQF_TRIGGER_RISING | > IRQF_TRIGGER_FALLING | > + IRQF_NO_AUTOEN | > IRQF_ONESHOT, > "HPD", conn); > if (ret) { > Reviewed-by: Neil Armstrong Thanks, Neil