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 79F8839D3C9 for ; Tue, 12 May 2026 13:22:52 +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=1778592173; cv=none; b=qrCnSqEI8hCwZ6bF0ttwFEBQdHNtj4xuI1DayENHzUAJ5WSWfAbQ2MHRKKDjIwsNt6kba0Se/W1167MeiPQIQeilXMjAj/JlRlEVDG9rQDnrsFqIOxes6LvbUUEuLfPoGZMNY1nz2F6h0QxRuY56FjZb+JQ6S+5uOwqwU3HYOkE= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778592173; c=relaxed/simple; bh=FsAJfiz7+rUzFlDb322roVTPaSjHKZ8K+N9wWDFX6TM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ibs2AlrKzMWslDcCP/h+iTTGLTtGUiSjJXe2IMY83bIJ91V1OzcYfosmYr/QefNyAgA3POxTGJ13zYp4HZ8M4U8qWx/LS75yQQtmoSY2kGVVQXKt0ch4w32I8CwbaL+dnUmGDBokx/whBT4Jt/O6BqUK9ODwE2MSKH/rOdmdB3M= 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=Ia07B/8x; dkim=pass (2048-bit key) header.d=redhat.com header.i=@redhat.com header.b=ecSpExj0; 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="Ia07B/8x"; dkim=pass (2048-bit key) header.d=redhat.com header.i=@redhat.com header.b="ecSpExj0" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1778592171; 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=8VxWGAY0yP7bAHYF8LAQ+cdD8qqoBU5/oRKqAKEcDgM=; b=Ia07B/8xndWAbFTIF5hle7i7wIFHO+FbEWONm6s0K5Tt2gDme+eckT+FHUNpRc8VuW1Uma g9hqYWo2SUqUxClQnKzhn5Xm7bJi5otXZjxnsUMyrXHxKu2m4DHxkKEvagoqnWw8qmRxY/ YlUIEmdqBvHQPRGGTfTTVquuP0rz4bo= Received: from mail-wr1-f72.google.com (mail-wr1-f72.google.com [209.85.221.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-375-PzUkmvEqON2LJJfGEeulYA-1; Tue, 12 May 2026 09:22:50 -0400 X-MC-Unique: PzUkmvEqON2LJJfGEeulYA-1 X-Mimecast-MFC-AGG-ID: PzUkmvEqON2LJJfGEeulYA_1778592169 Received: by mail-wr1-f72.google.com with SMTP id ffacd0b85a97d-44b2b38648eso4388597f8f.3 for ; Tue, 12 May 2026 06:22:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1778592168; x=1779196968; 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=8VxWGAY0yP7bAHYF8LAQ+cdD8qqoBU5/oRKqAKEcDgM=; b=ecSpExj0exjFdsTQ8HawFoB6x+BNgGEOhk9Ssdj2PEj560VWCqvVUFr3qD+6Z9jNbR jmRDWNiC3kOdy4MjDU1GnpJh2ZF6qyHwUD5rSr8LNdQCb+MUtieqJOM2wkZP59JGTdWH Vfm4vLRBgrWjB/IKIddm4M4ro0KuS0p35owynZjyWmTkhTNcL+uBHmP8L9K8iO4CmAEL QXpoGEygXzpjk++g69l+e90jS24R+cQHy8S7toTUEA1etkL7RLDVF0vpwHAq1oM8vGz5 4TmhyQLXXAbyPpat52sCd2QzYHJ+1fUeN1co5rYopAO18bhTx48iVAoCS0S9KJArzwh9 W0hw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778592168; x=1779196968; 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=8VxWGAY0yP7bAHYF8LAQ+cdD8qqoBU5/oRKqAKEcDgM=; b=hwjkF599N8vqC9N/yNhfe2v8KFw38IXduwrlO1iv6dRUUf3dT8sF7HX/0ywZ/Twj7y wSguwOIDV0wBlZkGY+wxcpgZTUPPhAlyjk+aHOFnYSKty2OBitcZe+DFynx5dSee4V/g REam6F6kGL83F0IkZvFblsA0e+DvWDgFlKKCzTPNjyGomN8olUyWGWhIEjFkbA+pcHyr dpoPhVOM7STd6zkCjM/O2h+3E8bCFyvJHKuTVnBubPpgobxs3kR38gev00Rk6Ql78rb5 doCkbPQ/bGvA/+bNQT1Cdc7sW5tlWMf+ByCFPlKHqgdvHniLS4sPwnCvO7pInILH/C+N YcYQ== X-Gm-Message-State: AOJu0Yyu4XGp1D32vjHfuok74BbS+HjMpseivo3wYhUkzVfdeB2IJyxu aGBBeGxPb+iQtKGtACQohHqGR1ygBqCmj3RqgiScCoP7KxbmGIar76SvgdM5EP2GL8hIdl1/urW ESJBSN5uO5a0N14whNqAuNEl1Mde/o51p6GwMGOUOmSOCrr7vIEelobu/b/l4haIE277du5G8Vz RMVrlLsmzswUIbfrrUa7zwuh6WruTyTxVOQr9DnKqbr2TMctgt74I= X-Gm-Gg: Acq92OGHNbgCkf8pNHo6S5vIwKW+nVQnoX0KIGgT2XKs8LvbS+hocJjDDTYkndQMymD fc6N8XmQZ2WRpzZk9p6DojdG3Iqzz1U4Mxvrh8rS27oJKx+5WG09Bha2xNWqqQS7hYDV8pzvnhf 2a+mMphBWRN4vTKu8z8CpaL1ciGGPn9537HbUnyrbP0Hm20qcLhO8kj27oKD/YWfPV8CFZu0gL7 TbjOm2zcYfSUolsrulHY5LboTOaeHKyr+1s6gnV6J3Hs4hgGev1+x3ZunRIzQZyLzG1/N0ahF6U GqJAGTWzKtknz+8e412i6okCFwVSBE988XFKaKGUVrQw3f7uv91Aa0qz91lq/NTd9NcahEfjBpU wa+mkbl0XX9wszmVh9KBEQX8aOMpmu3TtfyhnYQnV7rbFSUg= X-Received: by 2002:a05:6000:1869:b0:43d:1c21:ead5 with SMTP id ffacd0b85a97d-456a369055dmr21153583f8f.22.1778592168474; Tue, 12 May 2026 06:22:48 -0700 (PDT) X-Received: by 2002:a05:6000:1869:b0:43d:1c21:ead5 with SMTP id ffacd0b85a97d-456a369055dmr21153462f8f.22.1778592167556; Tue, 12 May 2026 06:22:47 -0700 (PDT) Received: from localhost (62-151-111-63.jazzfree.ya.com. [62.151.111.63]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-45491304387sm31943745f8f.21.2026.05.12.06.22.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 12 May 2026 06:22:44 -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 v3 2/2] drm/bridge: ite-it66121: Select HDMI or DVI mode based on sink type Date: Tue, 12 May 2026 15:22:16 +0200 Message-ID: <20260512132232.333654-3-javierm@redhat.com> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260512132232.333654-1-javierm@redhat.com> References: <20260512132232.333654-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 assumes that the sink type is always HDMI and unconditionally configures the bridge in this mode and enables the transmission of AVI infoframe packets. But this cause issues with DVI monitors, that can fail to interpret the video signal and lead to not having any display output. Check the connector display information sink type to decide whether DVI or HDMI mode should be set and if the AVI infoframes packets should be sent. Signed-off-by: Javier Martinez Canillas --- 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 | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/drivers/gpu/drm/bridge/ite-it66121.c b/drivers/gpu/drm/bridge/ite-it66121.c index 648ca50712df..94fd513481b5 100644 --- a/drivers/gpu/drm/bridge/ite-it66121.c +++ b/drivers/gpu/drm/bridge/ite-it66121.c @@ -182,6 +182,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) @@ -671,15 +672,23 @@ static int it66121_set_mute(struct it66121_ctx *ctx, bool mute) static void it66121_set_tx_mode(struct it66121_ctx *ctx) { + unsigned int avi_pkt = 0; + unsigned int mode = IT66121_HDMI_MODE_DVI; + struct drm_connector *connector = ctx->connector; + + if (connector->display_info.is_hdmi) { + mode = IT66121_HDMI_MODE_HDMI; + avi_pkt = IT66121_AVI_INFO_PKT_ON | IT66121_AVI_INFO_PKT_RPT; + } + mutex_lock(&ctx->lock); - /* Enable AVI infoframe */ - if (regmap_write(ctx->regmap, IT66121_AVI_INFO_PKT_REG, - IT66121_AVI_INFO_PKT_ON | IT66121_AVI_INFO_PKT_RPT)) + /* Enable or disable AVI infoframe */ + if (regmap_write(ctx->regmap, IT66121_AVI_INFO_PKT_REG, avi_pkt)) goto unlock; - /* Set TX mode to HDMI */ - regmap_write(ctx->regmap, IT66121_HDMI_MODE_REG, IT66121_HDMI_MODE_HDMI); + /* Set TX mode to DVI or HDMI */ + regmap_write(ctx->regmap, IT66121_HDMI_MODE_REG, mode); unlock: mutex_unlock(&ctx->lock); -- 2.54.0