From nobody Sun Feb 8 11:40:39 2026 Received: from mail-wm1-f48.google.com (mail-wm1-f48.google.com [209.85.128.48]) (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 A93E73358B2 for ; Fri, 6 Feb 2026 12:38:14 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.48 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770381494; cv=none; b=KZAPVU0HIVXLKo+xuwZy+To/Cbd5pQvvDhLK/DZxyCvb8bUip8HWc8Bk3oWXmZGqdE4F1nqq149VIzGaWLfLZHOrNJviKJVchbFABT0AVe2lim8vZS0O1jh7mD3sY++4Ybjrvq2gX1s30bG69W3teRza6Kr3U3JseO4fVGDwEdg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770381494; c=relaxed/simple; bh=97pdjl0bUPwA4JpV88LS+Yj1+rnWNpvemF9mpIQ6HSU=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=mQZcflrrQ3ZxBrXzjbmVaxF4HhqT+bhuMcFTeNpmYjvENUAfJ8bqRxd07wUrW48UL76nnD9iw3ImlROD1wWHXPYkHhuLYYt19cb35KqyjNmcc++HZ71vilxxEUt5HtcnGatUFZurnC8wflIGLxwumtJD6wVURQHXcT14pQdJ+WI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=hm2BoxU9; arc=none smtp.client-ip=209.85.128.48 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="hm2BoxU9" Received: by mail-wm1-f48.google.com with SMTP id 5b1f17b1804b1-47f5c2283b6so18599555e9.1 for ; Fri, 06 Feb 2026 04:38:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1770381493; x=1770986293; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=ns+MXhJukhn3KEMfjhaf0vuBQwUYwZFyGUUZrRy+AsE=; b=hm2BoxU9SCCJwhviqUiWk56B9VOYA6UGQ++CQIZFqdFU4hzV9IM8STKJNgX7zKRijx I4svAuKxauQa8aEPrtSbwgz9GzpFqTCQ+d2sEiIhuN/lXkvwCyI6Bh9+MUFj6iw4KWkK Y4mw/PFi4rR2z5IN7hxoKE0cQbZzkh+lmyI63mJ4FZ3Yd1NhlJ900BYXpaiVoZXMhC/z HBpHde2xq6kaAms6Zb6/U4OYG7bZTJSLCUwe1nDh8ShGkUzIQr9vu1G4Y0lLbkniSRhb 2Zz0b/DU0ZCfWAL4nR40MsZzXd49kKd5eh7k3KBaNCdNrcT7tAyDifGng8imIJ4J8268 fm/A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1770381493; x=1770986293; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=ns+MXhJukhn3KEMfjhaf0vuBQwUYwZFyGUUZrRy+AsE=; b=kz9FMWUHsaxJa6nkuWZuWx4omlW8NBJVOwSru/RL80Jon0eO+C5ITV/xNk1qxTeR+5 ylFWbJfKMdALyf56wD4lUV2fcuBvc1f5sPygjK1Ra/YlaTNYupqogz/ZYzUAMGvEUDM+ IjI38k3M1vngB2vvJ4PIazShYzhPymaFlJLx7xtme4LXHqr6cfO8LVGwsWwSBDeNRhhr MZwwHX5gBmfwfEJLRN8O6VfRnxs0rJcYSxLyCdUKaR4NkHCUCXBQFNqrGGvd0qH0iNhB l1PUlFuBXkGAZSELqaM7hKcAZhxaW6C+SxCx5njMY3+AYxB9L+szKja89LsFrL+FZZ3n oWuw== X-Forwarded-Encrypted: i=1; AJvYcCXyyihIu+Tyz9mobXvkpJ3E5tOax+QQeeDSBZsDVzWg7jHqBXnD5odRJLONOdlEhQaDuEzXkNQHU0BcWPU=@vger.kernel.org X-Gm-Message-State: AOJu0YxDx1XUzdlh7b0En4Zdbb1ANonnCqxUDJkUZoJenl5GwnZ53D/K K+JFilfvMOgE6oQ4CBwUkOs7d0QZzqaOF7/5x1thyOLJMXMVjwA0+MEY X-Gm-Gg: AZuq6aI5xWQ7ZXOeeADWvmGh3epF1v9bK8SfxtE27mTLvGt5LRjrwPSntigWylF2Tj2 3KYneE8t0lBh+xrE42ZuJbqJZKb8MeKK2UKzrPEjGuPWGHreoK1QH5hsr4WLyBBmqUvYNBl+4My OCTeSKkq/b0U56rMxLPhMN7fCUqX6AC+6UrThAPyoG2SFehHUFClFelWGu3902k6JoW/FhvCO2B OezL9ruPyPFfP4tgEcZXVVRTp3xckBPAtWVZOFj8YHWFAwUgFHIWOmh2UBJlTNKpwEpJrqiYsjb m6lWfA8/G4zwHm+yCJSkrITbSbS/5bVPdo0KeJ2pBJk0BdNzfdVeaSugNj4d8SBdBSHAPxbvHTL dWMBbpuPgybDYcQ/y36R3LvnOBO0fdUmLbnyqpVFAGs5msnpot3v0txFSOzCOFJawRkkoHiQysi cd5kL+TqJjfgTQHwdjnM2wwHoqCdlPsullvdz3kGCgqb3TiUZqu5AetyugBuA6uUdwxvJrdCMz5 EJGSY+8aCmpv6VW2YU1tCskhWX7PQVSOEH2WgrWUXhpC/gccfcB8xO7f/9+AxRJGkZvSNvPMg0b wiKtU6Dl X-Received: by 2002:a05:600c:8b6f:b0:477:7975:30ea with SMTP id 5b1f17b1804b1-48320236963mr35535055e9.29.1770381492800; Fri, 06 Feb 2026 04:38:12 -0800 (PST) Received: from franzs-nb.corp.toradex.com (248.201.173.83.static.wline.lns.sme.cust.swisscom.ch. [83.173.201.248]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4832040a3cesm32168955e9.3.2026.02.06.04.38.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 06 Feb 2026 04:38:12 -0800 (PST) From: Franz Schnyder To: Douglas Anderson , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter Cc: Franz Schnyder , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, Francesco Dolcini , stable@vger.kernel.org Subject: [PATCH v1] drm/bridge: ti-sn65dsi86: Enable HPD polling if IRQ is not used Date: Fri, 6 Feb 2026 13:37:36 +0100 Message-ID: <20260206123758.374555-1-fra.schnyder@gmail.com> X-Mailer: git-send-email 2.43.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Franz Schnyder Fallback to polling to detect hotplug events on systems without interrupts. On systems where the interrupt line of the bridge is not connected, the bridge cannot notify hotplug events. Only add the DRM_BRIDGE_OP_HPD flag if an interrupt has been registered otherwise remain in polling mode. Fixes: 9133bc3f0564 ("drm/bridge: ti-sn65dsi86: Add support for DisplayPort= mode with HPD") Fixes: 55e8ff842051 ("drm/bridge: ti-sn65dsi86: Add HPD for DisplayPort con= nector type") Cc: stable@vger.kernel.org Signed-off-by: Franz Schnyder Reviewed-by: Douglas Anderson --- drivers/gpu/drm/bridge/ti-sn65dsi86.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/bridge/ti-sn65dsi86.c b/drivers/gpu/drm/bridge= /ti-sn65dsi86.c index 276d05d25ad8..98d64ad791d0 100644 --- a/drivers/gpu/drm/bridge/ti-sn65dsi86.c +++ b/drivers/gpu/drm/bridge/ti-sn65dsi86.c @@ -1415,6 +1415,7 @@ static int ti_sn_bridge_probe(struct auxiliary_device= *adev, { struct ti_sn65dsi86 *pdata =3D dev_get_drvdata(adev->dev.parent); struct device_node *np =3D pdata->dev->of_node; + const struct i2c_client *client =3D to_i2c_client(pdata->dev); int ret; =20 pdata->next_bridge =3D devm_drm_of_get_bridge(&adev->dev, np, 1, 0); @@ -1433,8 +1434,9 @@ static int ti_sn_bridge_probe(struct auxiliary_device= *adev, ? DRM_MODE_CONNECTOR_DisplayPort : DRM_MODE_CONNECTOR_eDP; =20 if (pdata->bridge.type =3D=3D DRM_MODE_CONNECTOR_DisplayPort) { - pdata->bridge.ops =3D DRM_BRIDGE_OP_EDID | DRM_BRIDGE_OP_DETECT | - DRM_BRIDGE_OP_HPD; + pdata->bridge.ops =3D DRM_BRIDGE_OP_EDID | DRM_BRIDGE_OP_DETECT; + if (client->irq) + pdata->bridge.ops |=3D DRM_BRIDGE_OP_HPD; /* * If comms were already enabled they would have been enabled * with the wrong value of HPD_DISABLE. Update it now. Comms --=20 2.43.0