From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wr1-f47.google.com (mail-wr1-f47.google.com [209.85.221.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 B78AA3D16EA for ; Tue, 19 May 2026 07:25:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.47 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779175559; cv=none; b=d0iERwDjhYY+lpZSGI4LbRc3pDoOLIzI/o+pG/Zgcfo2D/96gZpOn+nuJo+9LiU0AEJCSOf75ZdolW3R9BYK4vGM76Z3IKVFQYEgt1oGuUpjPDTjEyejlZ34JLhZZobXsHHbCBaKbJHdmAw+s8Z15CIK23OvaStsGKXt987gZn0= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779175559; c=relaxed/simple; bh=1fikcIq4iDBx2DA787A2z0UZ7pTcakAOIzrBhaoAjoo=; h=Message-ID:Date:MIME-Version:From:Subject:To:Cc:References: In-Reply-To:Content-Type; b=ErTuYyJnrneMFR/WFSb7PXrHvJRCV944kZhx/pMj4mr4EU5rX4ruzfkEJTY7rwK8M+V8p7s3S0kOYrd+xj4T4P/2FYS2rrJiPGemms3Nc7rxCebOCImNxttxhFnMJEEMEsHaHUYFsprqEWe/Il5SQT+3P/aVU434WS+qKLD1MWU= 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=QxnESqRQ; arc=none smtp.client-ip=209.85.221.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="QxnESqRQ" Received: by mail-wr1-f47.google.com with SMTP id ffacd0b85a97d-44ce78ab5feso2662495f8f.0 for ; Tue, 19 May 2026 00:25:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1779175556; x=1779780356; 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=U/UrhAX2VwHcFosaazEyQ389tsED90O5GiFK+5wV2WI=; b=QxnESqRQF0xp6xi8G/SI2Su1HR6rEr0Pcy8y3z8sQNxdaltZkJhQ29UYFNSOjXmrbt doH82b8OB+Zt5XkrXIcSw7nywRNlZItCqfS493VohCzTLHlgDuMub7Fz68r+jpD3K0AS popuJkQiJyVcGfixcDYfIhtFk9mRFLxNunoweZoJmACmVDVyQ9UYkK7Jx2LUhqYywf4x niGzCBtaG9lSERca4EFn0eh3vpJYdNSeIAc1XrFM++seXm2G59jymVE9lgq1ru5kgCiN jsXGofihd9EsjRTZ62D4Nu2LoBKgdWW8FVkiaelhmAX1KRywk6xhHPvUjfTpTWO11V9/ YaxA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779175556; x=1779780356; 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=U/UrhAX2VwHcFosaazEyQ389tsED90O5GiFK+5wV2WI=; b=j8X6amHA8KH/CUPRSBJWqtA9Gi6vKA/6GjxUhATCE7V3eSthPP1Sylx8Pkzlck7yWu NBu/vNGEzACt+31Paq0g/TOqNHFpp1JEypI6xQuWZmnENRF/kCXqCGQbM8UZCJZYoTJW oi4abetn/886sm2G/u7n+zkWeC+pPz5dOuYLb/tVXpYTJbTb6rJMJ5/OQRY7rgABaYZU 74sox3uaInX8EV0bUtLiKmVIzZ7N2on14blj3OEJ64vqrMUlnChtV/Sh4oT9C1xmZo5y IXnWKEZ/tVKhLqsJ9j44Xu4QOtRWh2LFKcWAW/yplih4li3aUfT1GblEkisVQekBp2Ll aLKg== X-Forwarded-Encrypted: i=1; AFNElJ/2jt8ZqOG+1RB1vJ2878mavBtRHOLZF1YRwIXaqEl8kTgCQiJNQckFQ/bhD8yLsVSUFnA2sFwokMHxI38=@vger.kernel.org X-Gm-Message-State: AOJu0YxfdZVmNkyzYpgOrso9kA/VN8l1c6Bg0SKOU75+WQcFrFoN4ExG ukmhHBzc4OwdDmNfFPCb8YXQSuDEEBoZiriexpIiPrtkH8hle7QFf5L/09QjeMAUBpI= X-Gm-Gg: Acq92OFC2/Y/oINUPYPvlToSvFdzLB2HdAXCUhSp4WBlZvs4AJJY6lOj3mQuEOK/Z3F Ellut4uTxMNWVhw/dWk6e7bPfT6+DvsQgXkVPIH8+vkWpLoJOnjEcTqdgmImu1HPfF6jUHrfqeZ 0ISGyH07Aw7tVd5vjTawTS/wKpZ2uWuPpVENaQtdGmTAXlc2dO2AI6629FWfFwc1wopLdgW6KMK JXHH6mEacK/CFjM/JIFVTH6s9CM/ShCzR2ONXFK+DgCy1JNxlFJsiL8em/iLDfWcd/3oAvy3rwX 5Qqzh01y0C6p3VxUZpsQU7H997lpLp+rvY9xJ/KcjKxaJGgx7cNHYxwWQs5zViRoN7MxxPnkbsH Gn3JY6Rjd8bB1s++iX/g9+FgltagVqM3nvqWNur0ujw1u5Y80Z8M0lNZAtp86wQ3ARWwlnQF/mR WUG7mIGm17O+P4tCIJtIZSvH0EyuJ4qrl3hDS0rZZtyCwsX5ch6aSuBa/g7L+aBve7Ie5QybCMD B/4pkQNFHdm0IE= X-Received: by 2002:a5d:5d0e:0:b0:44e:639b:7d0f with SMTP id ffacd0b85a97d-45e5c36bd17mr28618808f8f.12.1779175556033; Tue, 19 May 2026 00:25:56 -0700 (PDT) Received: from ?IPV6:2a01:e0a:106d:1080:1d4b:274c:94d:a69f? ([2a01:e0a:106d:1080:1d4b:274c:94d:a69f]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-45d9ed30110sm47358336f8f.13.2026.05.19.00.25.55 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 19 May 2026 00:25:55 -0700 (PDT) Message-ID: <0a91bf03-c94f-4519-a69c-b7f5e505ec1d@linaro.org> Date: Tue, 19 May 2026 09:25:55 +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 04/13] drm/meson: dw-hdmi: Drop call to drm_bridge_hpd_notify() To: Jonas Karlman , Kevin Hilman , Heiko Stuebner , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Jerome Brunet , Martin Blumenstingl Cc: dri-devel@lists.freedesktop.org, linux-amlogic@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-rockchip@lists.infradead.org References: <20260518194744.2483580-1-jonas@kwiboo.se> <20260518194744.2483580-5-jonas@kwiboo.se> 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: <20260518194744.2483580-5-jonas@kwiboo.se> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 5/18/26 21:47, Jonas Karlman wrote: > Calls to both drm_helper_hpd_irq_event() and drm_bridge_hpd_notify() in > the IRQ handler causes multiple hotplug uevents and modesets during an > HPD interrupt. > > Change to only call drm_helper_hpd_irq_event() in IRQ handler to ensure > only one hotplug uevent is triggered when the connection status or EDID > has changed. > > The bridge connectors detect() func help ensure that any hpd_notify() > func is called for all bridges in the chain. > > Signed-off-by: Jonas Karlman > --- > drivers/gpu/drm/meson/meson_dw_hdmi.c | 11 +---------- > 1 file changed, 1 insertion(+), 10 deletions(-) > > diff --git a/drivers/gpu/drm/meson/meson_dw_hdmi.c b/drivers/gpu/drm/meson/meson_dw_hdmi.c > index 9aafdc768f2b..30099bf71aad 100644 > --- a/drivers/gpu/drm/meson/meson_dw_hdmi.c > +++ b/drivers/gpu/drm/meson/meson_dw_hdmi.c > @@ -521,17 +521,8 @@ static irqreturn_t dw_hdmi_top_thread_irq(int irq, void *dev_id) > > /* HPD Events */ > if (stat & (HDMITX_TOP_INTR_HPD_RISE | HDMITX_TOP_INTR_HPD_FALL) && > - dw_hdmi->bridge) { > - bool hpd_connected = false; > - > - if (stat & HDMITX_TOP_INTR_HPD_RISE) > - hpd_connected = true; > - > + dw_hdmi->bridge) > drm_helper_hpd_irq_event(dw_hdmi->bridge->dev); > - drm_bridge_hpd_notify(dw_hdmi->bridge, > - hpd_connected ? connector_status_connected > - : connector_status_disconnected); > - } > > return IRQ_HANDLED; > } Reviewed-by: Neil Armstrong Thanks, Neil