From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 07CC8441048 for ; Fri, 15 May 2026 09:03:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.129.124 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778835814; cv=none; b=fXuo5RsXzOyWhMQCnO/7rAlSw0Gkl3kgsxVzMcCGeSk9bLui3FG6KqWiWSuoui5RXW7qwuZIbUOA9p50RvAkSSo0RzbJEA205NWe15/bd7BVV7BQz6XiJOu1/HWXw1jBm5l3KVFBjwtlKBrwY4uLyEG+W3Z8yNDI01VoL7F3qvQ= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778835814; c=relaxed/simple; bh=CtaWbfYuj869W0afjY5NZk2jejlfiwcVk7UmNYSaMQ0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=k7/50FN265/0J5E3Xjay6OEZqso1EbCh/uR8e8NkjpMq9cZLbJfkSLI8FPwWy7Zn2uWi5KKztC/vTCqZrOd+7z8mR6Gs6WeL9h6fV03X5ZoBjJE0yxcmi9Tl8pA8+uW+7UMo8PYMSRH0OoH264r0W1CMbEdO1vN0jKM9KN5LbbM= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=RDPGmyt2; dkim=pass (2048-bit key) header.d=redhat.com header.i=@redhat.com header.b=CjaPc/XD; arc=none smtp.client-ip=170.10.129.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="RDPGmyt2"; dkim=pass (2048-bit key) header.d=redhat.com header.i=@redhat.com header.b="CjaPc/XD" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1778835812; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=WkeuA98/IigyQUpPmD/BRx3zRBO+IRiFlemTbP/J4Yc=; b=RDPGmyt2qC4meZ7XwhSXP9EqqX+cFsXrGE9feV1bJguKVItq1aOODXHDCRfJfdcBaldyWf A/jMSJCCnrVp7ZQyF3D2pPqeZ+QzK6A/9hqQXqNKnBcFEtzB/Wtn6xwIIoXVclP+C189If bsvVK7UdObTjsooAK6aFv/j6BYPEy38= Received: from mail-wr1-f69.google.com (mail-wr1-f69.google.com [209.85.221.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-215-i8h5hxjQMDqDMPoV8RR3qQ-1; Fri, 15 May 2026 05:03:30 -0400 X-MC-Unique: i8h5hxjQMDqDMPoV8RR3qQ-1 X-Mimecast-MFC-AGG-ID: i8h5hxjQMDqDMPoV8RR3qQ_1778835810 Received: by mail-wr1-f69.google.com with SMTP id ffacd0b85a97d-44d83e45febso463078f8f.0 for ; Fri, 15 May 2026 02:03:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1778835809; x=1779440609; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=WkeuA98/IigyQUpPmD/BRx3zRBO+IRiFlemTbP/J4Yc=; b=CjaPc/XDee2+bXvAp5FB/+fa9MvwO3gU4npgjvfloowwhY06EcE96CxvbR7nS0KZgl TTM7wpKpEaHuF7xkbTvVVv/TMHolGHCaBrVVZvaaS4L4ULvvQELkwLL84dJqJKOmsc/e tAKaik/eWznCGw3g8teax/AxYtXAI5CN2kfjIdKpJnH2oHr/jDwmvWXtqPqd3UHU5aWO zja0FINN6yAd87ilOnlReO3Bo+GqoHfkP38ddNeNdd1wzSoOV2YGIni9ksE/4YfQ2tXt HN92YrdtBzrItgQ8J5YMZPj6/+d3aHzb+qtB5658JBYi+sP/Dbw5n+oNxae8vTh/dPEF 465g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778835809; x=1779440609; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=WkeuA98/IigyQUpPmD/BRx3zRBO+IRiFlemTbP/J4Yc=; b=V03Vx8ZumnU7XpL/kR9LVi4Cv8kBWnIR5utCdmrtg+HX8rgXM89HVSM1Nl02iw0DpG ZuGVAd5iAyOypPZu/Nye2Ow4NZCCfhVsMM/ati0pybMUxjnputSa449D9fdOK0kKiMhZ 8s4BJItEHoTaKJEKmjOdWPBGCgYmm74avmHx0YU3pWSMdB4AoSzW+kHXsj5pdlbr2z6n 4+T4+IYZGqCUtlYLIQbX0PeAPoFYx/OoOxbBl1IcdQh2OhwonmBSh7v5R0AwMtscqZ2R RtZ2NDzkmigjBXjPMH0lKL00X7jRC74WXnd4+0IOUBOom831oUGafDWZuxOehZ3Fu1Es JRoA== X-Gm-Message-State: AOJu0Yy5tAWhQtkjsufppWk2QwSc6xhG25mrJ/qJDF8fsonozv187SPX yO2IB08R7Mu97aIPd8IBBwpRatupnA87GtJyDSIhSaFIEYrHiFWe9tQSCis9YTtTUDjAaA9j9ml er2S22hCOxvLwCa91DmJqwZl2z74pJlSfv2rjAbCsNrzL7NMq3geeiSm2n/bfCoTpmDcn706pf7 wId4pyDoHXjSqFQpG9Hra/HuIVO3S1Pj9pcZPKgS2daj0x1R+1 X-Gm-Gg: Acq92OFN0TcJrxiIM+lkweJkcA0HRrMLqDBgTZl9IKd2fSN6ebth2fhHL9gpgJ72hnY 98mwYp4dOcprAl0+zfJLBm8fLnVeH5rWY/CIqYic30/qyd87qlGoLmLLmP0mCd7NKjclsV0lXuP Hec7eAAzGg2+9mpyxD3JgFOwcmIqQ0/Iai4goYuBui/tIulEXF90X+1seVRuccwS4gYTRsXoS06 HvDisaTNTG0KiG9KQtfrkz2g60TYEIPy5GTTyUS2+f6IMqIRRbzQk6rUaRyx1+4ukR+yPuzNplk Ue/+RDmUsrbQ8FOX5QaiZqI5a/k316YVIXXycxluS7GIZ9s+mit142N4itQZsqzaY0lV3uZSMhA 9VOZflkYtgiIVMKvR/FJ4zYedOILxDYcLzCBuqSogVUNKgVY= X-Received: by 2002:a5d:5f90:0:b0:441:2397:f40f with SMTP id ffacd0b85a97d-45d900ec71fmr11224029f8f.4.1778835808980; Fri, 15 May 2026 02:03:28 -0700 (PDT) X-Received: by 2002:a5d:5f90:0:b0:441:2397:f40f with SMTP id ffacd0b85a97d-45d900ec71fmr11223956f8f.4.1778835808317; Fri, 15 May 2026 02:03:28 -0700 (PDT) Received: from localhost (62-151-111-63.jazzfree.ya.com. [62.151.111.63]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-45da0fe13a7sm14053566f8f.29.2026.05.15.02.03.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 15 May 2026 02:03:26 -0700 (PDT) From: Javier Martinez Canillas To: linux-kernel@vger.kernel.org Cc: Javier Martinez Canillas , Andrzej Hajda , David Airlie , Jernej Skrabec , Jonas Karlman , Laurent Pinchart , Luca Ceresoli , Maarten Lankhorst , Maxime Ripard , Neil Armstrong , Phong LE , Robert Foss , Simona Vetter , Thomas Zimmermann , dri-devel@lists.freedesktop.org Subject: [PATCH v4 3/3] drm/bridge: ite-it66121: Select HDMI or DVI mode based on sink type Date: Fri, 15 May 2026 11:02:11 +0200 Message-ID: <20260515090220.809830-4-javierm@redhat.com> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260515090220.809830-1-javierm@redhat.com> References: <20260515090220.809830-1-javierm@redhat.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit The driver unconditionally sets the transmission mode to HDMI, which leads to display output not working with DVI monitors. Check connector's display information sink type to identify the correct mode to configure the bridge. Signed-off-by: Javier Martinez Canillas --- Changes in v4: - Convert the driver to use the HDMI helpers (Maxime Ripard). - Move .mode_set logic to .atomic_enable (Maxime Ripard). Changes in v3: - Move the HDMI/DVI mode set to the .atomic_enable handler (Maxime Ripard). Changes in v2: - Don't store the sink type in a per-commit bridge state (Maxime Ripard). drivers/gpu/drm/bridge/ite-it66121.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/bridge/ite-it66121.c b/drivers/gpu/drm/bridge/ite-it66121.c index c8795247cfa8..95ee98a4a8df 100644 --- a/drivers/gpu/drm/bridge/ite-it66121.c +++ b/drivers/gpu/drm/bridge/ite-it66121.c @@ -184,6 +184,7 @@ #define IT66121_HDMI_MODE_REG 0xC0 #define IT66121_HDMI_MODE_HDMI BIT(0) +#define IT66121_HDMI_MODE_DVI 0 #define IT66121_SYS_STATUS_REG 0x0E #define IT66121_SYS_STATUS_ACTIVE_IRQ BIT(7) @@ -658,6 +659,7 @@ static void it66121_set_mode(struct it66121_ctx *ctx, struct drm_atomic_commit *state) { struct drm_connector *connector = ctx->connector; + unsigned int tx_mode = IT66121_HDMI_MODE_HDMI; const struct drm_crtc_state *crtc_state; const struct drm_display_mode *mode; struct drm_crtc *crtc; @@ -666,10 +668,13 @@ static void it66121_set_mode(struct it66121_ctx *ctx, crtc_state = drm_atomic_get_new_crtc_state(state, crtc); mode = &crtc_state->adjusted_mode; + if (!connector->display_info.is_hdmi) + tx_mode = IT66121_HDMI_MODE_DVI; + mutex_lock(&ctx->lock); - /* Set TX mode to HDMI */ - if (regmap_write(ctx->regmap, IT66121_HDMI_MODE_REG, IT66121_HDMI_MODE_HDMI)) + /* Set TX mode to HDMI or DVI */ + if (regmap_write(ctx->regmap, IT66121_HDMI_MODE_REG, tx_mode)) goto unlock; if ((ctx->id == ID_IT66121 || ctx->id == ID_IT66122) && -- 2.54.0