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.133.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 D55C3238150 for ; Sun, 10 May 2026 19:15:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.133.124 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778440536; cv=none; b=i91RFjzu7tF8IOKTCT0vmfFAZNu1JB/1drmZtUyTOjUmyofmRTvkb6hBo3ydsJNHP0LtUd4DkToT61n+D3vLSABdFUB1pCIJooeIcEQm2e7TSyBp/6fMY8LmtGtUEbVTmaKqG9jqDSIzUPoIkaswM1BamANG5BXg8ne6LQ1lOUE= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778440536; c=relaxed/simple; bh=Ycas6jyhkFIEFANM+2Zr6NXcUnTXZqEeWi0HdUuBU5Y=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=IjIdQvJGmeQhitLNuDHFnzBa+dOt82I4NLjvU58Km9qExA0/5khDkf+a3/VIjA6KhVORsJt0VUv28HsiOe93vnt8eppQ476dqW6ilZwsjd/APgnUjGLynSNKB4dV6Lux/snbo8+usGd54/2hI2fnS2DvbVjriZ6N/VJDz+49OgA= 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=OR8aIqcw; dkim=pass (2048-bit key) header.d=redhat.com header.i=@redhat.com header.b=UDSMQnSO; arc=none smtp.client-ip=170.10.133.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="OR8aIqcw"; dkim=pass (2048-bit key) header.d=redhat.com header.i=@redhat.com header.b="UDSMQnSO" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1778440533; 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=B5GqCf5R+p7fabe4GDp9/SkqKKTHiUv88WJZ+GaLKk0=; b=OR8aIqcwl1lxf/ry7LaCPW747H0Y4tMRPmrvwRquaNmagGvBE2961G/jgz/Vz/RMJfyVqg 6bH+VWnEMMqTYasjTNQ5XWXJcOVQnqRltMvpsRuKu9qPA0nEQ6uJFG1bQD+pQEjhxU9IXH vkIuHa4KapjH9zb4RMRcKnkGMnwG40A= Received: from mail-wm1-f70.google.com (mail-wm1-f70.google.com [209.85.128.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-294-M1p0rw_1NHinKjP8agHhNg-1; Sun, 10 May 2026 15:15:32 -0400 X-MC-Unique: M1p0rw_1NHinKjP8agHhNg-1 X-Mimecast-MFC-AGG-ID: M1p0rw_1NHinKjP8agHhNg_1778440531 Received: by mail-wm1-f70.google.com with SMTP id 5b1f17b1804b1-488bd1ee9e7so39229575e9.1 for ; Sun, 10 May 2026 12:15:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1778440531; x=1779045331; 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=B5GqCf5R+p7fabe4GDp9/SkqKKTHiUv88WJZ+GaLKk0=; b=UDSMQnSOEILi66TCGcnetvfGe2+hLz5stp8mTfasSFYXdQ52MzwSCaDPYQdfYAZu05 22L16AbWp5fwwgvqKgFGGAU9i1fx/PboX1sX+hEflWHfn/O9Dn/uMuTcddFwLw59lYzZ Hyv2BOQulJTaJBUjvV9n8OC0029UlhOohOGdd+ODJP+gfI6aWG4B3/ArMfPL6UfLGlST llHkfhR1l5CJWV/jZVuKklPqRDr7N/bR0PzWDPvtFBv/rN7QoVzcuO3lDGCiua3ysRhZ Mfj3hxMamFqfB8/9hwlnVPyK24y9512ZM9q6ouT1Yil+2JQ3Tmd5MTr3ThsrA4UCvSxM 6Rpw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778440531; x=1779045331; 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=B5GqCf5R+p7fabe4GDp9/SkqKKTHiUv88WJZ+GaLKk0=; b=n8dYLgKFS0YoVRpnJZ5/lMRKO7m8uoUmpRh/2/bwLwyIzDKqA/3FOhf0uW7jfzS2lm UmJ5rVZ7H3RCuD8No/Y8RJIXEcPAPV8eDkpxWlpbVqumz5PHesAdpiUMIXxk/vcB2ILd 2x0gFOkf2gBA5MamCGEjTFKnnOEfeph2tQPDrP2yTPyrRhfqfTjB8QEmjFhrT3s2CGxl dJHZBlL3jciS+ad4Fva/7/z1WNuWlPuH3glEDZH2it/COJDfUh4ArR6dCVE1y/pXiPL4 kbLj6TjaEJB3CPjdr7/x9Xggvmc+bokuf8hnlPTUfjJlJ+4Uz5o0xVcixJUqiolzgE/1 fRjQ== X-Gm-Message-State: AOJu0Yz8ZULcFOueO4FFgENjedGFeMx1XYyuwRW0Yyq4cVmFma3X4g3e ERejQH+k2IIX2zT2hGWsvCdPQOTfqIvql8xLKclfP5e3fA4DO975CgdalaNfOm8Kh/MzYANMVjm P303Tp/yO777XlWX3prO5GzPyvcPTnxjmKHvn4NG1plKui4Wt7fqJr3VtGsL+TBjJg3ZyvFiB2f hIXqZOhjo971IGwTVsrODx8rmVbfTseLPjmYCpn9cS0h6hkitp X-Gm-Gg: Acq92OGk0h681U5/yb2GmE3OnwPK+JjCiGrBtDE7grAR1mTOIfTNFsROcTyfpBJBw5e 2ojlw0i7DP4WiX2Hiam2mMXxD+EXWxj5hYnotOMwNZYCe+l3j8miSnd2ILa0v8VN6Y/krwIjmLD UnnLPpBD/K7a9/oqLeC7I9q/hzsMtRslUS8tbRfhaLcVMYd3Fo5UxG2bPuMFPAKcjDJzrSuHPDk 5A/iqgBPJ4/uJz6ni57TlUP6dExhYSMgNa9GvgguoYszNyPT3ae3SXEuy6+tFg56CbxrI3GEHmx SarH0kX9G0DqDU1d/AHNWnIKtrw5elpkcHHP0h7Caie1x/MbgJvvvCL+JYSU4KzrkeyjEW2xiCS ak1OXJbcp4Y0AwqeypHDhrF+c1G0aHi3FLdlhStKG27Re6Ha/fxfc4W7ngA== X-Received: by 2002:a05:600c:c11c:b0:48a:6315:da26 with SMTP id 5b1f17b1804b1-48e70804097mr77660785e9.26.1778440530849; Sun, 10 May 2026 12:15:30 -0700 (PDT) X-Received: by 2002:a05:600c:c11c:b0:48a:6315:da26 with SMTP id 5b1f17b1804b1-48e70804097mr77660435e9.26.1778440530284; Sun, 10 May 2026 12:15:30 -0700 (PDT) Received: from localhost (62-151-111-63.jazzfree.ya.com. [62.151.111.63]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-45492271510sm24198854f8f.37.2026.05.10.12.15.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 10 May 2026 12:15:28 -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 2/3] drm/bridge: it66121: Add bridge-private atomic state Date: Sun, 10 May 2026 21:14:48 +0200 Message-ID: <20260510191459.90769-3-javierm@redhat.com> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260510191459.90769-1-javierm@redhat.com> References: <20260510191459.90769-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 In preparation to support per-state configuration during atomic commits, add a private bridge state data structure and access helpers. This will be needed to store the display information sink mode, to determine if a connector is HDMI or DVI. No functional change. Assisted-by: Cursor:claude-4.6-opus Signed-off-by: Javier Martinez Canillas --- drivers/gpu/drm/bridge/ite-it66121.c | 42 ++++++++++++++++++++++++++-- 1 file changed, 40 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/bridge/ite-it66121.c b/drivers/gpu/drm/bridge/ite-it66121.c index 038a67a32e39..a203c94a27e5 100644 --- a/drivers/gpu/drm/bridge/ite-it66121.c +++ b/drivers/gpu/drm/bridge/ite-it66121.c @@ -320,6 +320,44 @@ static inline struct it66121_ctx *bridge_to_it66121_ctx(struct drm_bridge *bridg return container_of(bridge, struct it66121_ctx, bridge); } +struct it66121_bridge_state { + struct drm_bridge_state base; +}; + +static inline struct it66121_bridge_state * +to_it66121_bridge_state(struct drm_bridge_state *state) +{ + return container_of(state, struct it66121_bridge_state, base); +} + +static struct drm_bridge_state * +it66121_bridge_atomic_duplicate_state(struct drm_bridge *bridge) +{ + struct it66121_bridge_state *state; + + state = kzalloc_obj(*state); + if (!state) + return NULL; + + __drm_atomic_helper_bridge_duplicate_state(bridge, &state->base); + + return &state->base; +} + +static struct drm_bridge_state * +it66121_bridge_atomic_reset(struct drm_bridge *bridge) +{ + struct it66121_bridge_state *state; + + state = kzalloc_obj(*state); + if (!state) + return NULL; + + __drm_atomic_helper_bridge_reset(bridge, &state->base); + + return &state->base; +} + static const struct regmap_range_cfg it66121_regmap_banks[] = { { .name = "it66121", @@ -908,9 +946,9 @@ static const struct drm_edid *it66121_bridge_edid_read(struct drm_bridge *bridge } static const struct drm_bridge_funcs it66121_bridge_funcs = { - .atomic_duplicate_state = drm_atomic_helper_bridge_duplicate_state, + .atomic_duplicate_state = it66121_bridge_atomic_duplicate_state, .atomic_destroy_state = drm_atomic_helper_bridge_destroy_state, - .atomic_reset = drm_atomic_helper_bridge_reset, + .atomic_reset = it66121_bridge_atomic_reset, .attach = it66121_bridge_attach, .atomic_get_output_bus_fmts = it66121_bridge_atomic_get_output_bus_fmts, .atomic_get_input_bus_fmts = it66121_bridge_atomic_get_input_bus_fmts, -- 2.54.0