Received: by 2002:a05:7412:8d10:b0:f3:1519:9f41 with SMTP id bj16csp4574747rdb; Tue, 12 Dec 2023 03:41:38 -0800 (PST) X-Google-Smtp-Source: AGHT+IGS+XFDeKgLzdyq3bGux8dWf1/lCVGa7VH83hwYca4Yn8hgjnPUmGnbEoTvV8+Cgltcs7mP X-Received: by 2002:a17:902:7fcd:b0:1d3:45b7:bc1f with SMTP id t13-20020a1709027fcd00b001d345b7bc1fmr72025plb.47.1702381298266; Tue, 12 Dec 2023 03:41:38 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1702381298; cv=none; d=google.com; s=arc-20160816; b=RS95mfWYT78lnyBrOJwTMtev80j8+xCLBLD5PEm8xt7Ye2KPTNlvdR7sSWmKxsHL7E MEDscdzRTeQqp2gdqyavBIWVkBQu+UpezxHe76IcDU5KJ8vXbnRDOT58TB82XrxhaO/T 4R1rsuMMVpSZb2MKtRR8xQkWsHQtihtzrqFoW1iC1uikQm8ZStj9Z2NxlNaOuWqZqGCk 5acIc31sMLBwblly260jOZb0oaRLYyLMgg1SjwMvDrqi6XWOOrOi26uUYu4MaTHcRvAY L1g/9K4hPQ+apMbqdDK+A9csSUgLsWDxTJXCJbizBDDsjGLHT1AalyYzRQLCVbxDMGoj y7Lg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=0iUPBvo8eOmT//4vl8DQjGC5UmJmCx85Al5r4t/jUw0=; fh=zQ9/wNmcVHWu4SuPOylBxCR7EoDQI9lVwbYU0s8q4Hc=; b=G9OPt6Pc3NBcm6WDjLN1lc8M7nX/x0lIhfz786ps8bpJZwRdkBGTHKZFuqXNa/MVqu IhO0zgZ81V0O/AuC0JsfcVv/Sf54E86JkTVVXbB9Ws3K1JHuF3PuJzT1wPRn2HjwITgd EMHAMwPIE7d8DfgBSlMo5SypMKT0eJCvhLufRr9RmATP8z1fuJ3ITNDose5BBKzPxjaQ KTUKnkLZBffOmP2VeuLzWm4OmIg8chKVw9Hlr9PpQB21UbGTugO5XIrbSUWbW9K3+KV+ mtAvEF1EyYsSe81qB4RIKDOFSyPY7Jyp3NPid1fNcXmdoIeFQBVc4GX77/B4MnXEYGr4 TGQA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@raspberrypi.com header.s=google header.b=ADzG07U8; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.38 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=NONE dis=NONE) header.from=raspberrypi.com Return-Path: Received: from fry.vger.email (fry.vger.email. [23.128.96.38]) by mx.google.com with ESMTPS id y18-20020a170902b49200b001d07d6916fesi7590404plr.88.2023.12.12.03.41.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 12 Dec 2023 03:41:38 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.38 as permitted sender) client-ip=23.128.96.38; Authentication-Results: mx.google.com; dkim=pass header.i=@raspberrypi.com header.s=google header.b=ADzG07U8; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.38 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=NONE dis=NONE) header.from=raspberrypi.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by fry.vger.email (Postfix) with ESMTP id B188F8077808; Tue, 12 Dec 2023 03:41:25 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at fry.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231748AbjLLLki (ORCPT + 99 others); Tue, 12 Dec 2023 06:40:38 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49300 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229775AbjLLLkh (ORCPT ); Tue, 12 Dec 2023 06:40:37 -0500 Received: from mail-yb1-xb2b.google.com (mail-yb1-xb2b.google.com [IPv6:2607:f8b0:4864:20::b2b]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id CCA87CD for ; Tue, 12 Dec 2023 03:40:42 -0800 (PST) Received: by mail-yb1-xb2b.google.com with SMTP id 3f1490d57ef6-db7d198e791so4126026276.3 for ; Tue, 12 Dec 2023 03:40:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=raspberrypi.com; s=google; t=1702381242; x=1702986042; darn=vger.kernel.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=0iUPBvo8eOmT//4vl8DQjGC5UmJmCx85Al5r4t/jUw0=; b=ADzG07U8MZzVm7biIm5aHAbXumTWnvHUl+oNS/+GIup3vnxEqT+ndCr41WZRAKQHHL ScGjPd0F//kXvvuN09xkgQ46CSKKxCcSTkyjNjjc/gbjFXel0YTWYvRL0AXJyZNH+EWj VJOLlU93T6a1pBTV3BngOZ/0jhoEfJLsqvMzRUC6+W+44Qi7X3Zb9WbuQji45MkMJfOu EoVS6oWEpNtc/MfXa/OfBQ0HnS7gO2BEP+098XWhJWkCpI3eKhTbzA7Fxdkitj7osKJi //BNLT1cZ4oly25Zk+wjbZ7raBvIiOwCgW6MQIyTvdo+mg2qgLbp4xYAd5PPoTs3yMq9 dfYA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1702381242; x=1702986042; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=0iUPBvo8eOmT//4vl8DQjGC5UmJmCx85Al5r4t/jUw0=; b=Yf2RdFJHqtBGR0HRhPpZimnBbBwet6Fzf6pjLlnrOtTUSNnPXAHvpbs+zA1EscLbdx bMijzsjEZlVPCZZ6GJ4T9iNkgdv3ZCH21ZuFzOlM07X8YXF9RBae6cuO8qplv6oJjR+P i/CtX+3pYkjFkDFPd6xs2rE12FeqqHMglSLJ87odcW6qVpuIH9krJAgefkxTXTMvJF7P YvIqATQhkvogvc8ZNk+C/hOUnI2fetZjN9Sp2MRMfjS39dHWup/h6UqfQmFbQCXeXnW8 7JbrOZkgluaRBStp58UPlHx3r0q5pSvc1gyWY4nBEz5zXoprct5ENZmZy/px3LLjyN8A BLgw== X-Gm-Message-State: AOJu0YxDyQh0nkJJhpKu+yMQbgOu+l827JvxwO4stgIuSARByElfPLHx dLFjtZBrimYj4ZvqmpE14Ooz7lLsYGMvhwprIWbtHW1invOEQxB1 X-Received: by 2002:a25:ce8a:0:b0:db5:47ee:47c4 with SMTP id x132-20020a25ce8a000000b00db547ee47c4mr2442389ybe.53.1702381242014; Tue, 12 Dec 2023 03:40:42 -0800 (PST) MIME-Version: 1.0 References: <20231207-kms-hdmi-connector-state-v5-0-6538e19d634d@kernel.org> <20231207-kms-hdmi-connector-state-v5-18-6538e19d634d@kernel.org> In-Reply-To: <20231207-kms-hdmi-connector-state-v5-18-6538e19d634d@kernel.org> From: Dave Stevenson Date: Tue, 12 Dec 2023 11:40:26 +0000 Message-ID: Subject: Re: [PATCH v5 18/44] drm/vc4: hdmi: Create destroy state implementation To: Maxime Ripard Cc: Maarten Lankhorst , Thomas Zimmermann , David Airlie , Daniel Vetter , Emma Anholt , Jonathan Corbet , Sandy Huang , =?UTF-8?Q?Heiko_St=C3=BCbner?= , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland , linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Hans Verkuil , linux-rockchip@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-media@vger.kernel.org Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-0.9 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on fry.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (fry.vger.email [0.0.0.0]); Tue, 12 Dec 2023 03:41:25 -0800 (PST) On Thu, 7 Dec 2023 at 15:50, Maxime Ripard wrote: > > Even though we were rolling our own custom state for the vc4 HDMI > controller driver, we were still using the generic helper to destroy > that state. > > It was mostly working since the underlying state is the first member of > our state so the pointers are probably equal in all relevant cases, but > it's still fragile so let's fix this properly. > > Signed-off-by: Maxime Ripard Reviewed-by: Dave Stevenson > --- > drivers/gpu/drm/vc4/vc4_hdmi.c | 12 +++++++++++- > 1 file changed, 11 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c > index 25c9c71256d3..f05e2c95a60d 100644 > --- a/drivers/gpu/drm/vc4/vc4_hdmi.c > +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c > @@ -672,11 +672,21 @@ vc4_hdmi_connector_duplicate_state(struct drm_connector *connector) > return &new_state->base; > } > > +static void vc4_hdmi_connector_destroy_state(struct drm_connector *connector, > + struct drm_connector_state *state) > +{ > + struct vc4_hdmi_connector_state *vc4_state = > + conn_state_to_vc4_hdmi_conn_state(state); > + > + __drm_atomic_helper_connector_destroy_state(state); > + kfree(vc4_state); > +} > + > static const struct drm_connector_funcs vc4_hdmi_connector_funcs = { > .fill_modes = drm_helper_probe_single_connector_modes, > .reset = vc4_hdmi_connector_reset, > .atomic_duplicate_state = vc4_hdmi_connector_duplicate_state, > - .atomic_destroy_state = drm_atomic_helper_connector_destroy_state, > + .atomic_destroy_state = vc4_hdmi_connector_destroy_state, > .atomic_get_property = vc4_hdmi_connector_get_property, > .atomic_set_property = vc4_hdmi_connector_set_property, > }; > > -- > 2.43.0 >