From nobody Tue Feb 10 01:59:54 2026 Received: from mail-ej1-f44.google.com (mail-ej1-f44.google.com [209.85.218.44]) (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 D87E7378D6B for ; Tue, 3 Feb 2026 18:56:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.44 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770145014; cv=none; b=mBtAheUFRf+ahzQvJ2p4sbl7qnn3vq7BA6dDx9/MGJXLhEiC4/ut5NaSpTNEkLWZBfHs+Y5gEZFd05Mjf3PP6osQB7jD2gBN97oLMrpADunD6kcRzzbUTn6zvfDPnZIXiFzTT7WIjr41gL5QqazW+uZtJz7yg5sPl2XEOn86dSA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770145014; c=relaxed/simple; bh=lGm4fqWbpjgj8AIsHTwuS4w9BK36p1bChOsQ1dVtD+c=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=SgeMdlUvhKeqO29BbN5JoKIz52Sw4XrH7JpMkaw0H4V0ewTIicUy+vjCWEC6S3uLj/QLC6gtNUPNrYnZsGf/03zHERaRObqUE+5sCrFvi+6IkK4EfJhnvcJ0fqUi90yB67wWNwr+OGThwQEzmBwj0omO8En3tpKahIbKaEmKIE4= 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=OS/lENfQ; arc=none smtp.client-ip=209.85.218.44 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="OS/lENfQ" Received: by mail-ej1-f44.google.com with SMTP id a640c23a62f3a-b8719f5a2b5so69363366b.3 for ; Tue, 03 Feb 2026 10:56:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1770145011; x=1770749811; 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=hHIURFG0mejGoKIh/9LYz0d07pIYeDt6QmhYawdCAFI=; b=OS/lENfQdU/SW8D69SAEVTou4gIPJ4IvUaGJ2JiOSil5jxj/hc++Z1lkeNGOTjSzET Wh5EManW86AqUph2fluhVrFk0XS2BJQEuTREWSvkYviMgbJXZ5Ri1/rvEG0VrYVo6oI8 bn3qc8IHHSEAFJhXQcHk/dB895x/8EP6eu1YnS0fYVCeBK2MjaiWET16Xw7Lj5C7nWB0 tL8+ZEAUiLjqqLzFFZz2mVxfPQoBDaMUlQ71M4jZDCrF3R0nbSdg+gHLJC9c/S8eOaOf 4qfjWUY6ts6/RXN6JHhTR8bBO/ZjtYb5npZg3yAMSwWpOiVhtP2Bw1dGMQiazT/ampd6 oqnQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1770145011; x=1770749811; 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=hHIURFG0mejGoKIh/9LYz0d07pIYeDt6QmhYawdCAFI=; b=KJj8bWeKBv5c4WLshDRNSwrNJA8kiiiD3h/PWnT+ljBTqe1gji1nFliWPuFVU0fU2F FjWX2XFrWBnPMaFjcY7My4vIkV+/WRu5B9ZfEIsNZ9ee7UKVzwuaShcuw32rYzh9zqsQ AagFRVoh6XumYjkOR4TBh+ZdvOhlkAMvjJHUU8qfNO7cUofbr01g02ZqwxnIX38QmkM3 PffBeqt/7BdynqeA3vbg31TlbVOmvnAGYMYxk93WFMzYELCU7FZwGQPvoOWuoy4KSYLs CPX8wpRD2bo6YidNzDUHMfcYvvkljwJgRQxA5eevLZwQz3wktyx6Iyco3lHWvXFPuV21 zUfA== X-Forwarded-Encrypted: i=1; AJvYcCVRlBE4zGyOQtPpKESkJVKz0KO+uOG4si6GDLzw6afRgYRkNuZTwxt6fGG3oe4LTqVONCSxpfyEYWBn2Go=@vger.kernel.org X-Gm-Message-State: AOJu0YwRqxKVc+r+IeNOd1VZDH5qelnjktHev04Bixu/c7x8FuJkk2yl LbWp5dZczqjXbbJaEbESQ64VYMtUVWpDJ8Fec/Wr3NDgDIjg+lYlXsGG X-Gm-Gg: AZuq6aJvrUMljEgzR23fsO26xyF7+tJMqtgCDa3I6TrvTJZ8fOgH78VXrpm6YZGr+Mk TUL9dHzJrVc4eRgcBHLNGd79iWnxugLBbTEMoCOYuYCxVk6TGDMelBT8cSTGHv1IF97F78ewpqr nNJREuWDWHig2IcbXEtyo1RJhFym7Jbi2PnaNJiCfK9fA15tB5Kzucr8tUZlZ3Ba5m6KCrr1Nmn TwDnfOC5XElsx/i2S9Fc6qPKLfbqgQNrOB8ZOtX+le4w1YP1o3jl3DQsAHCZEf0KvBYqETvn25r g2J0EUjgaq/QvjUZcoCrm3Py1AoVyPKCTLpNrsJ09VJ2l7mNinuGFobpDITQwYRDcK//pDI7+6R CPrYA811jeG0FoEbhQDESAUjH0kyG+adz9Fj1sHdPbOdfzMjO+wFQlfRcYhK66cfgLmgQoY2qG6 3nxoZ/eCUGa6EAQ0Qj1DV8hP8XGXPGPKsUdKhExQSv/7T9xSqGWlcl/kLiYkFLzsSs X-Received: by 2002:a17:907:3f08:b0:b8e:7dcb:7f23 with SMTP id a640c23a62f3a-b8e9ef22f6amr20500866b.2.1770145011116; Tue, 03 Feb 2026 10:56:51 -0800 (PST) Received: from laptok.lan (87-205-5-123.static.ip.netia.com.pl. [87.205.5.123]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b8e9fad97a7sm16715766b.0.2026.02.03.10.56.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Feb 2026 10:56:50 -0800 (PST) From: =?UTF-8?q?Tomasz=20Paku=C5=82a?= To: alexander.deucher@amd.com, harry.wentland@amd.com, sunpeng.li@amd.com Cc: maarten.lankhorst@linux.intel.com, mripard@kernel.org, tzimmermann@suse.de, airlied@gmail.com, simona@ffwll.ch, siqueira@igalia.com, dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, linux-kernel@vger.kernel.org, tomasz.pakula.oficjalny@gmail.com, bernhard.berger@gmail.com, michel.daenzer@mailbox.org, daniel@fooishbar.org, admin@ptr1337.dev Subject: [PATCH v3 15/19] drm/amd/display: Trigger ALLM if it's available Date: Tue, 3 Feb 2026 19:56:22 +0100 Message-ID: <20260203185626.55428-16-tomasz.pakula.oficjalny@gmail.com> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20260203185626.55428-1-tomasz.pakula.oficjalny@gmail.com> References: <20260203185626.55428-1-tomasz.pakula.oficjalny@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable [Why] ALLM automatically puts TVs into low latency modes (gaming modes) which we basically always want for PC use, be it gaming, or using precise inputs like mice and keyboards. [How] Read the ALLM info from HDMI caps and use it to determine if ALLM should be indicated in HDMI Forum vsif. Additionally, make sure VIC modes are translated in case of ALLM active as VIC cannot be used in conjunction with hf-vsif. I learned this the hard way... Signed-off-by: Tomasz Paku=C5=82a --- drivers/gpu/drm/amd/display/dc/core/dc_resource.c | 4 +++- .../gpu/drm/amd/display/modules/info_packet/info_packet.c | 7 ++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_resource.c b/drivers/gp= u/drm/amd/display/dc/core/dc_resource.c index 848c267ef11e..4a7c9f810e35 100644 --- a/drivers/gpu/drm/amd/display/dc/core/dc_resource.c +++ b/drivers/gpu/drm/amd/display/dc/core/dc_resource.c @@ -4504,6 +4504,7 @@ static void set_avi_info_frame( unsigned int rid =3D pipe_ctx->stream->timing.rid; unsigned int fr_ind =3D pipe_ctx->stream->timing.fr_index; enum dc_timing_3d_format format; + bool allm; =20 if (stream->avi_infopacket.valid) { *info_packet =3D stream->avi_infopacket; @@ -4658,8 +4659,9 @@ static void set_avi_info_frame( if (pipe_ctx->stream->timing.hdmi_vic !=3D 0) vic =3D 0; format =3D stream->timing.timing_3d_format; + allm =3D stream->link->local_sink->edid_caps.allm; /*todo, add 3DStereo support*/ - if (format !=3D TIMING_3D_FORMAT_NONE) { + if ((format !=3D TIMING_3D_FORMAT_NONE) || allm) { // Based on HDMI specs hdmi vic needs to be converted to cea vic when 3D= is enabled switch (pipe_ctx->stream->timing.hdmi_vic) { case 1: diff --git a/drivers/gpu/drm/amd/display/modules/info_packet/info_packet.c = b/drivers/gpu/drm/amd/display/modules/info_packet/info_packet.c index 8e110c86bdd4..53e488fdb4ea 100644 --- a/drivers/gpu/drm/amd/display/modules/info_packet/info_packet.c +++ b/drivers/gpu/drm/amd/display/modules/info_packet/info_packet.c @@ -541,9 +541,10 @@ void mod_build_hf_vsif_infopacket(const struct dc_stre= am_state *stream, =20 info_packet->valid =3D false; =20 - format =3D stream->timing.timing_3d_format; - if (stream->view_format =3D=3D VIEW_3D_FORMAT_NONE) - format =3D TIMING_3D_FORMAT_NONE; + allm =3D stream->link->local_sink->edid_caps.allm; + format =3D stream->view_format =3D=3D VIEW_3D_FORMAT_NONE ? + TIMING_3D_FORMAT_NONE : + stream->timing.timing_3d_format; stereo =3D format !=3D TIMING_3D_FORMAT_NONE; hdmi_vic_mode =3D is_hdmi_vic_mode(stream); =20 --=20 2.52.0