From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id F0D80C54EED for ; Wed, 25 Jan 2023 21:04:41 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 8DCEC10E168; Wed, 25 Jan 2023 21:04:41 +0000 (UTC) Received: from mailrelay1-1.pub.mailoutpod2-cph3.one.com (mailrelay1-1.pub.mailoutpod2-cph3.one.com [46.30.211.176]) by gabe.freedesktop.org (Postfix) with ESMTPS id 3777310E168 for ; Wed, 25 Jan 2023 21:04:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ravnborg.org; s=rsa2; h=in-reply-to:content-type:mime-version:references:message-id:subject:cc:to: from:date:from; bh=r06bpllZ30BN5nw2fF6dgAcQNrEN0bwvs34HHHR0x90=; b=lOQASzRXku++3L0Tc0qGb+h+Kx1uKtws9h+yo98f2FqVui9YPs/BU5za90WVZqmk22FxAUilW2LwI a56mgtI/giS56adFnV7EoQRJidS3r4Gw4lG15tc+AwUuoacTh8Hm/96giQ7urIM75LFn1mDImgA47a q91TUHD+n3M1Bxdfe1KnxeLqUSQpHx6b3g1EVPdAkeAFF42LsocUiVxEFUlWglsW5n+z515fhFUErp jRFMiqID41LwjVEyogv+u9qGVFwC1X5v9Oa65UucrN7nswugetyGFgIM6pTn/RrsxQgWlOErx2fseC /hMlDR8Ef/u6uF4pup1cKYqqpRcEN0g== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=ravnborg.org; s=ed2; h=in-reply-to:content-type:mime-version:references:message-id:subject:cc:to: from:date:from; bh=r06bpllZ30BN5nw2fF6dgAcQNrEN0bwvs34HHHR0x90=; b=avkE8s1HkDYg7ZYMXlQ4Kw3Z5qWwXIas79ZgkelIohpjH/sdW5NrDzL2tNM4PRL45JRGjMmKhtUx9 UUPvgWECg== X-HalOne-ID: ba1794f8-9cf3-11ed-908c-11abd97b9443 Received: from ravnborg.org (2-105-2-98-cable.dk.customer.tdc.net [2.105.2.98]) by mailrelay1 (Halon) with ESMTPSA id ba1794f8-9cf3-11ed-908c-11abd97b9443; Wed, 25 Jan 2023 21:03:34 +0000 (UTC) Date: Wed, 25 Jan 2023 22:03:33 +0100 From: Sam Ravnborg To: Thomas Zimmermann Subject: Re: [PATCH v3 04/10] drm/fbdev-generic: Initialize fb-helper structure in generic setup Message-ID: References: <20230125200415.14123-1-tzimmermann@suse.de> <20230125200415.14123-5-tzimmermann@suse.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20230125200415.14123-5-tzimmermann@suse.de> X-BeenThere: amd-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: freedreno@lists.freedesktop.org, linux-samsung-soc@vger.kernel.org, amd-gfx@lists.freedesktop.org, linux-arm-msm@vger.kernel.org, intel-gfx@lists.freedesktop.org, maarten.lankhorst@linux.intel.com, javierm@redhat.com, mripard@kernel.org, dri-devel@lists.freedesktop.org, daniel@ffwll.ch, linux-tegra@vger.kernel.org, airlied@gmail.com, linux-arm-kernel@lists.infradead.org Errors-To: amd-gfx-bounces@lists.freedesktop.org Sender: "amd-gfx" Hi Thomas, On Wed, Jan 25, 2023 at 09:04:09PM +0100, Thomas Zimmermann wrote: > Initialize the fb-helper structure immediately after its allocation > in drm_fbdev_generic_setup(). That will make it easier to fill it with > driver-specific values, such as the preferred BPP. > > Signed-off-by: Thomas Zimmermann > Reviewed-by: Javier Martinez Canillas > --- > drivers/gpu/drm/drm_fbdev_generic.c | 13 +++++++++---- > 1 file changed, 9 insertions(+), 4 deletions(-) > > diff --git a/drivers/gpu/drm/drm_fbdev_generic.c b/drivers/gpu/drm/drm_fbdev_generic.c > index 135d58b8007b..63f66325a8a5 100644 > --- a/drivers/gpu/drm/drm_fbdev_generic.c > +++ b/drivers/gpu/drm/drm_fbdev_generic.c > @@ -385,8 +385,6 @@ static int drm_fbdev_client_hotplug(struct drm_client_dev *client) > if (dev->fb_helper) > return drm_fb_helper_hotplug_event(dev->fb_helper); > > - drm_fb_helper_prepare(dev, fb_helper, &drm_fb_helper_generic_funcs); > - > ret = drm_fb_helper_init(dev, fb_helper); > if (ret) > goto err; >From the documentation: The drm_fb_helper_prepare() helper must be called first to initialize the minimum required to make hotplug detection work. ... To finish up the fbdev helper initialization, the drm_fb_helper_init() function is called. So this change do not follow the documentation as drm_fb_helper_init() is now called before drm_fb_helper_prepare() I did not follow all the code - but my gut feeling is that the documentation is right. Sam > @@ -456,12 +454,12 @@ void drm_fbdev_generic_setup(struct drm_device *dev, > fb_helper = kzalloc(sizeof(*fb_helper), GFP_KERNEL); > if (!fb_helper) > return; > + drm_fb_helper_prepare(dev, fb_helper, &drm_fb_helper_generic_funcs); > > ret = drm_client_init(dev, &fb_helper->client, "fbdev", &drm_fbdev_client_funcs); > if (ret) { > - kfree(fb_helper); > drm_err(dev, "Failed to register client: %d\n", ret); > - return; > + goto err_drm_client_init; > } > > /* > @@ -484,5 +482,12 @@ void drm_fbdev_generic_setup(struct drm_device *dev, > drm_dbg_kms(dev, "client hotplug ret=%d\n", ret); > > drm_client_register(&fb_helper->client); > + > + return; > + > +err_drm_client_init: > + drm_fb_helper_unprepare(fb_helper); > + kfree(fb_helper); > + return; > } > EXPORT_SYMBOL(drm_fbdev_generic_setup); > -- > 2.39.0 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 3267CC27C76 for ; Wed, 25 Jan 2023 21:03:40 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 8943510E185; Wed, 25 Jan 2023 21:03:39 +0000 (UTC) Received: from mailrelay1-1.pub.mailoutpod2-cph3.one.com (mailrelay1-1.pub.mailoutpod2-cph3.one.com [IPv6:2a02:2350:5:400::1]) by gabe.freedesktop.org (Postfix) with ESMTPS id 9C2ED10E168 for ; Wed, 25 Jan 2023 21:03:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ravnborg.org; s=rsa2; h=in-reply-to:content-type:mime-version:references:message-id:subject:cc:to: from:date:from; bh=r06bpllZ30BN5nw2fF6dgAcQNrEN0bwvs34HHHR0x90=; b=lOQASzRXku++3L0Tc0qGb+h+Kx1uKtws9h+yo98f2FqVui9YPs/BU5za90WVZqmk22FxAUilW2LwI a56mgtI/giS56adFnV7EoQRJidS3r4Gw4lG15tc+AwUuoacTh8Hm/96giQ7urIM75LFn1mDImgA47a q91TUHD+n3M1Bxdfe1KnxeLqUSQpHx6b3g1EVPdAkeAFF42LsocUiVxEFUlWglsW5n+z515fhFUErp jRFMiqID41LwjVEyogv+u9qGVFwC1X5v9Oa65UucrN7nswugetyGFgIM6pTn/RrsxQgWlOErx2fseC /hMlDR8Ef/u6uF4pup1cKYqqpRcEN0g== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=ravnborg.org; s=ed2; h=in-reply-to:content-type:mime-version:references:message-id:subject:cc:to: from:date:from; bh=r06bpllZ30BN5nw2fF6dgAcQNrEN0bwvs34HHHR0x90=; b=avkE8s1HkDYg7ZYMXlQ4Kw3Z5qWwXIas79ZgkelIohpjH/sdW5NrDzL2tNM4PRL45JRGjMmKhtUx9 UUPvgWECg== X-HalOne-ID: ba1794f8-9cf3-11ed-908c-11abd97b9443 Received: from ravnborg.org (2-105-2-98-cable.dk.customer.tdc.net [2.105.2.98]) by mailrelay1 (Halon) with ESMTPSA id ba1794f8-9cf3-11ed-908c-11abd97b9443; Wed, 25 Jan 2023 21:03:34 +0000 (UTC) Date: Wed, 25 Jan 2023 22:03:33 +0100 From: Sam Ravnborg To: Thomas Zimmermann Message-ID: References: <20230125200415.14123-1-tzimmermann@suse.de> <20230125200415.14123-5-tzimmermann@suse.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20230125200415.14123-5-tzimmermann@suse.de> Subject: Re: [Intel-gfx] [PATCH v3 04/10] drm/fbdev-generic: Initialize fb-helper structure in generic setup X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: freedreno@lists.freedesktop.org, linux-samsung-soc@vger.kernel.org, amd-gfx@lists.freedesktop.org, linux-arm-msm@vger.kernel.org, intel-gfx@lists.freedesktop.org, javierm@redhat.com, mripard@kernel.org, dri-devel@lists.freedesktop.org, daniel@ffwll.ch, linux-tegra@vger.kernel.org, airlied@gmail.com, linux-arm-kernel@lists.infradead.org Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" Hi Thomas, On Wed, Jan 25, 2023 at 09:04:09PM +0100, Thomas Zimmermann wrote: > Initialize the fb-helper structure immediately after its allocation > in drm_fbdev_generic_setup(). That will make it easier to fill it with > driver-specific values, such as the preferred BPP. > > Signed-off-by: Thomas Zimmermann > Reviewed-by: Javier Martinez Canillas > --- > drivers/gpu/drm/drm_fbdev_generic.c | 13 +++++++++---- > 1 file changed, 9 insertions(+), 4 deletions(-) > > diff --git a/drivers/gpu/drm/drm_fbdev_generic.c b/drivers/gpu/drm/drm_fbdev_generic.c > index 135d58b8007b..63f66325a8a5 100644 > --- a/drivers/gpu/drm/drm_fbdev_generic.c > +++ b/drivers/gpu/drm/drm_fbdev_generic.c > @@ -385,8 +385,6 @@ static int drm_fbdev_client_hotplug(struct drm_client_dev *client) > if (dev->fb_helper) > return drm_fb_helper_hotplug_event(dev->fb_helper); > > - drm_fb_helper_prepare(dev, fb_helper, &drm_fb_helper_generic_funcs); > - > ret = drm_fb_helper_init(dev, fb_helper); > if (ret) > goto err; >From the documentation: The drm_fb_helper_prepare() helper must be called first to initialize the minimum required to make hotplug detection work. ... To finish up the fbdev helper initialization, the drm_fb_helper_init() function is called. So this change do not follow the documentation as drm_fb_helper_init() is now called before drm_fb_helper_prepare() I did not follow all the code - but my gut feeling is that the documentation is right. Sam > @@ -456,12 +454,12 @@ void drm_fbdev_generic_setup(struct drm_device *dev, > fb_helper = kzalloc(sizeof(*fb_helper), GFP_KERNEL); > if (!fb_helper) > return; > + drm_fb_helper_prepare(dev, fb_helper, &drm_fb_helper_generic_funcs); > > ret = drm_client_init(dev, &fb_helper->client, "fbdev", &drm_fbdev_client_funcs); > if (ret) { > - kfree(fb_helper); > drm_err(dev, "Failed to register client: %d\n", ret); > - return; > + goto err_drm_client_init; > } > > /* > @@ -484,5 +482,12 @@ void drm_fbdev_generic_setup(struct drm_device *dev, > drm_dbg_kms(dev, "client hotplug ret=%d\n", ret); > > drm_client_register(&fb_helper->client); > + > + return; > + > +err_drm_client_init: > + drm_fb_helper_unprepare(fb_helper); > + kfree(fb_helper); > + return; > } > EXPORT_SYMBOL(drm_fbdev_generic_setup); > -- > 2.39.0 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 84F3AC27C76 for ; Wed, 25 Jan 2023 21:04:41 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236330AbjAYVEk (ORCPT ); Wed, 25 Jan 2023 16:04:40 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59632 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235842AbjAYVEj (ORCPT ); Wed, 25 Jan 2023 16:04:39 -0500 Received: from mailrelay1-1.pub.mailoutpod2-cph3.one.com (mailrelay1-1.pub.mailoutpod2-cph3.one.com [46.30.211.176]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C50492F791 for ; Wed, 25 Jan 2023 13:04:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ravnborg.org; s=rsa2; h=in-reply-to:content-type:mime-version:references:message-id:subject:cc:to: from:date:from; bh=r06bpllZ30BN5nw2fF6dgAcQNrEN0bwvs34HHHR0x90=; b=lOQASzRXku++3L0Tc0qGb+h+Kx1uKtws9h+yo98f2FqVui9YPs/BU5za90WVZqmk22FxAUilW2LwI a56mgtI/giS56adFnV7EoQRJidS3r4Gw4lG15tc+AwUuoacTh8Hm/96giQ7urIM75LFn1mDImgA47a q91TUHD+n3M1Bxdfe1KnxeLqUSQpHx6b3g1EVPdAkeAFF42LsocUiVxEFUlWglsW5n+z515fhFUErp jRFMiqID41LwjVEyogv+u9qGVFwC1X5v9Oa65UucrN7nswugetyGFgIM6pTn/RrsxQgWlOErx2fseC /hMlDR8Ef/u6uF4pup1cKYqqpRcEN0g== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=ravnborg.org; s=ed2; h=in-reply-to:content-type:mime-version:references:message-id:subject:cc:to: from:date:from; bh=r06bpllZ30BN5nw2fF6dgAcQNrEN0bwvs34HHHR0x90=; b=avkE8s1HkDYg7ZYMXlQ4Kw3Z5qWwXIas79ZgkelIohpjH/sdW5NrDzL2tNM4PRL45JRGjMmKhtUx9 UUPvgWECg== X-HalOne-ID: ba1794f8-9cf3-11ed-908c-11abd97b9443 Received: from ravnborg.org (2-105-2-98-cable.dk.customer.tdc.net [2.105.2.98]) by mailrelay1 (Halon) with ESMTPSA id ba1794f8-9cf3-11ed-908c-11abd97b9443; Wed, 25 Jan 2023 21:03:34 +0000 (UTC) Date: Wed, 25 Jan 2023 22:03:33 +0100 From: Sam Ravnborg To: Thomas Zimmermann Cc: airlied@gmail.com, daniel@ffwll.ch, maarten.lankhorst@linux.intel.com, mripard@kernel.org, javierm@redhat.com, linux-samsung-soc@vger.kernel.org, linux-arm-msm@vger.kernel.org, intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, linux-tegra@vger.kernel.org, freedreno@lists.freedesktop.org, linux-arm-kernel@lists.infradead.org Subject: Re: [PATCH v3 04/10] drm/fbdev-generic: Initialize fb-helper structure in generic setup Message-ID: References: <20230125200415.14123-1-tzimmermann@suse.de> <20230125200415.14123-5-tzimmermann@suse.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20230125200415.14123-5-tzimmermann@suse.de> Precedence: bulk List-ID: X-Mailing-List: linux-arm-msm@vger.kernel.org Hi Thomas, On Wed, Jan 25, 2023 at 09:04:09PM +0100, Thomas Zimmermann wrote: > Initialize the fb-helper structure immediately after its allocation > in drm_fbdev_generic_setup(). That will make it easier to fill it with > driver-specific values, such as the preferred BPP. > > Signed-off-by: Thomas Zimmermann > Reviewed-by: Javier Martinez Canillas > --- > drivers/gpu/drm/drm_fbdev_generic.c | 13 +++++++++---- > 1 file changed, 9 insertions(+), 4 deletions(-) > > diff --git a/drivers/gpu/drm/drm_fbdev_generic.c b/drivers/gpu/drm/drm_fbdev_generic.c > index 135d58b8007b..63f66325a8a5 100644 > --- a/drivers/gpu/drm/drm_fbdev_generic.c > +++ b/drivers/gpu/drm/drm_fbdev_generic.c > @@ -385,8 +385,6 @@ static int drm_fbdev_client_hotplug(struct drm_client_dev *client) > if (dev->fb_helper) > return drm_fb_helper_hotplug_event(dev->fb_helper); > > - drm_fb_helper_prepare(dev, fb_helper, &drm_fb_helper_generic_funcs); > - > ret = drm_fb_helper_init(dev, fb_helper); > if (ret) > goto err; >From the documentation: The drm_fb_helper_prepare() helper must be called first to initialize the minimum required to make hotplug detection work. ... To finish up the fbdev helper initialization, the drm_fb_helper_init() function is called. So this change do not follow the documentation as drm_fb_helper_init() is now called before drm_fb_helper_prepare() I did not follow all the code - but my gut feeling is that the documentation is right. Sam > @@ -456,12 +454,12 @@ void drm_fbdev_generic_setup(struct drm_device *dev, > fb_helper = kzalloc(sizeof(*fb_helper), GFP_KERNEL); > if (!fb_helper) > return; > + drm_fb_helper_prepare(dev, fb_helper, &drm_fb_helper_generic_funcs); > > ret = drm_client_init(dev, &fb_helper->client, "fbdev", &drm_fbdev_client_funcs); > if (ret) { > - kfree(fb_helper); > drm_err(dev, "Failed to register client: %d\n", ret); > - return; > + goto err_drm_client_init; > } > > /* > @@ -484,5 +482,12 @@ void drm_fbdev_generic_setup(struct drm_device *dev, > drm_dbg_kms(dev, "client hotplug ret=%d\n", ret); > > drm_client_register(&fb_helper->client); > + > + return; > + > +err_drm_client_init: > + drm_fb_helper_unprepare(fb_helper); > + kfree(fb_helper); > + return; > } > EXPORT_SYMBOL(drm_fbdev_generic_setup); > -- > 2.39.0 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id A2EF1C54E94 for ; Wed, 25 Jan 2023 21:04:53 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=yYDR2ixjroIx2eq5tpGaesxKOiKvnNjlE8lWqsr+ZSU=; b=qzAX/E2HjysING djqF2DTS3VffcF5YuHoq4nrxYoOtaT7aSTqAF9cjlqpW7S9euXXzOPrv7rjDZ6xjAT8tjoRrQOy2A +ZKofKmDq/ngotAyYA3GYgMLafQUW2IRdy5zpA/25yBAa6SBxcUSNi4ghd21hpdLySSC7mTE58i21 NvPGjD12UZvhJYI+HEo7q2baC+gUgm73D29YrYGUUAXV6JY5Fal/DzYg2E6RhpYxtUU+VsoIL3hPr OcPouVcbzBYD8NdVJ7LSbDLIlRaj9o7gH3PsWKr1qJ6DVcQor6AgQpOeTWdciV7jCHngo9r/Yd0Hf 49e15Ra/J0TUDO0um4DA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1pKmvo-008n7M-Vn; Wed, 25 Jan 2023 21:03:45 +0000 Received: from mailrelay1-1.pub.mailoutpod2-cph3.one.com ([2a02:2350:5:400::1]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1pKmvl-008n5g-AY for linux-arm-kernel@lists.infradead.org; Wed, 25 Jan 2023 21:03:42 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ravnborg.org; s=rsa2; h=in-reply-to:content-type:mime-version:references:message-id:subject:cc:to: from:date:from; bh=r06bpllZ30BN5nw2fF6dgAcQNrEN0bwvs34HHHR0x90=; b=lOQASzRXku++3L0Tc0qGb+h+Kx1uKtws9h+yo98f2FqVui9YPs/BU5za90WVZqmk22FxAUilW2LwI a56mgtI/giS56adFnV7EoQRJidS3r4Gw4lG15tc+AwUuoacTh8Hm/96giQ7urIM75LFn1mDImgA47a q91TUHD+n3M1Bxdfe1KnxeLqUSQpHx6b3g1EVPdAkeAFF42LsocUiVxEFUlWglsW5n+z515fhFUErp jRFMiqID41LwjVEyogv+u9qGVFwC1X5v9Oa65UucrN7nswugetyGFgIM6pTn/RrsxQgWlOErx2fseC /hMlDR8Ef/u6uF4pup1cKYqqpRcEN0g== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=ravnborg.org; s=ed2; h=in-reply-to:content-type:mime-version:references:message-id:subject:cc:to: from:date:from; bh=r06bpllZ30BN5nw2fF6dgAcQNrEN0bwvs34HHHR0x90=; b=avkE8s1HkDYg7ZYMXlQ4Kw3Z5qWwXIas79ZgkelIohpjH/sdW5NrDzL2tNM4PRL45JRGjMmKhtUx9 UUPvgWECg== X-HalOne-ID: ba1794f8-9cf3-11ed-908c-11abd97b9443 Received: from ravnborg.org (2-105-2-98-cable.dk.customer.tdc.net [2.105.2.98]) by mailrelay1 (Halon) with ESMTPSA id ba1794f8-9cf3-11ed-908c-11abd97b9443; Wed, 25 Jan 2023 21:03:34 +0000 (UTC) Date: Wed, 25 Jan 2023 22:03:33 +0100 From: Sam Ravnborg To: Thomas Zimmermann Cc: airlied@gmail.com, daniel@ffwll.ch, maarten.lankhorst@linux.intel.com, mripard@kernel.org, javierm@redhat.com, linux-samsung-soc@vger.kernel.org, linux-arm-msm@vger.kernel.org, intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, linux-tegra@vger.kernel.org, freedreno@lists.freedesktop.org, linux-arm-kernel@lists.infradead.org Subject: Re: [PATCH v3 04/10] drm/fbdev-generic: Initialize fb-helper structure in generic setup Message-ID: References: <20230125200415.14123-1-tzimmermann@suse.de> <20230125200415.14123-5-tzimmermann@suse.de> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20230125200415.14123-5-tzimmermann@suse.de> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230125_130341_526751_7A28F1A2 X-CRM114-Status: GOOD ( 22.06 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Hi Thomas, On Wed, Jan 25, 2023 at 09:04:09PM +0100, Thomas Zimmermann wrote: > Initialize the fb-helper structure immediately after its allocation > in drm_fbdev_generic_setup(). That will make it easier to fill it with > driver-specific values, such as the preferred BPP. > > Signed-off-by: Thomas Zimmermann > Reviewed-by: Javier Martinez Canillas > --- > drivers/gpu/drm/drm_fbdev_generic.c | 13 +++++++++---- > 1 file changed, 9 insertions(+), 4 deletions(-) > > diff --git a/drivers/gpu/drm/drm_fbdev_generic.c b/drivers/gpu/drm/drm_fbdev_generic.c > index 135d58b8007b..63f66325a8a5 100644 > --- a/drivers/gpu/drm/drm_fbdev_generic.c > +++ b/drivers/gpu/drm/drm_fbdev_generic.c > @@ -385,8 +385,6 @@ static int drm_fbdev_client_hotplug(struct drm_client_dev *client) > if (dev->fb_helper) > return drm_fb_helper_hotplug_event(dev->fb_helper); > > - drm_fb_helper_prepare(dev, fb_helper, &drm_fb_helper_generic_funcs); > - > ret = drm_fb_helper_init(dev, fb_helper); > if (ret) > goto err; >From the documentation: The drm_fb_helper_prepare() helper must be called first to initialize the minimum required to make hotplug detection work. ... To finish up the fbdev helper initialization, the drm_fb_helper_init() function is called. So this change do not follow the documentation as drm_fb_helper_init() is now called before drm_fb_helper_prepare() I did not follow all the code - but my gut feeling is that the documentation is right. Sam > @@ -456,12 +454,12 @@ void drm_fbdev_generic_setup(struct drm_device *dev, > fb_helper = kzalloc(sizeof(*fb_helper), GFP_KERNEL); > if (!fb_helper) > return; > + drm_fb_helper_prepare(dev, fb_helper, &drm_fb_helper_generic_funcs); > > ret = drm_client_init(dev, &fb_helper->client, "fbdev", &drm_fbdev_client_funcs); > if (ret) { > - kfree(fb_helper); > drm_err(dev, "Failed to register client: %d\n", ret); > - return; > + goto err_drm_client_init; > } > > /* > @@ -484,5 +482,12 @@ void drm_fbdev_generic_setup(struct drm_device *dev, > drm_dbg_kms(dev, "client hotplug ret=%d\n", ret); > > drm_client_register(&fb_helper->client); > + > + return; > + > +err_drm_client_init: > + drm_fb_helper_unprepare(fb_helper); > + kfree(fb_helper); > + return; > } > EXPORT_SYMBOL(drm_fbdev_generic_setup); > -- > 2.39.0 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 3C5EAC27C76 for ; Wed, 25 Jan 2023 21:03:44 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id A2CED10E18C; Wed, 25 Jan 2023 21:03:39 +0000 (UTC) Received: from mailrelay1-1.pub.mailoutpod2-cph3.one.com (mailrelay1-1.pub.mailoutpod2-cph3.one.com [IPv6:2a02:2350:5:400::1]) by gabe.freedesktop.org (Postfix) with ESMTPS id 9C96410E185 for ; Wed, 25 Jan 2023 21:03:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ravnborg.org; s=rsa2; h=in-reply-to:content-type:mime-version:references:message-id:subject:cc:to: from:date:from; bh=r06bpllZ30BN5nw2fF6dgAcQNrEN0bwvs34HHHR0x90=; b=lOQASzRXku++3L0Tc0qGb+h+Kx1uKtws9h+yo98f2FqVui9YPs/BU5za90WVZqmk22FxAUilW2LwI a56mgtI/giS56adFnV7EoQRJidS3r4Gw4lG15tc+AwUuoacTh8Hm/96giQ7urIM75LFn1mDImgA47a q91TUHD+n3M1Bxdfe1KnxeLqUSQpHx6b3g1EVPdAkeAFF42LsocUiVxEFUlWglsW5n+z515fhFUErp jRFMiqID41LwjVEyogv+u9qGVFwC1X5v9Oa65UucrN7nswugetyGFgIM6pTn/RrsxQgWlOErx2fseC /hMlDR8Ef/u6uF4pup1cKYqqpRcEN0g== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=ravnborg.org; s=ed2; h=in-reply-to:content-type:mime-version:references:message-id:subject:cc:to: from:date:from; bh=r06bpllZ30BN5nw2fF6dgAcQNrEN0bwvs34HHHR0x90=; b=avkE8s1HkDYg7ZYMXlQ4Kw3Z5qWwXIas79ZgkelIohpjH/sdW5NrDzL2tNM4PRL45JRGjMmKhtUx9 UUPvgWECg== X-HalOne-ID: ba1794f8-9cf3-11ed-908c-11abd97b9443 Received: from ravnborg.org (2-105-2-98-cable.dk.customer.tdc.net [2.105.2.98]) by mailrelay1 (Halon) with ESMTPSA id ba1794f8-9cf3-11ed-908c-11abd97b9443; Wed, 25 Jan 2023 21:03:34 +0000 (UTC) Date: Wed, 25 Jan 2023 22:03:33 +0100 From: Sam Ravnborg To: Thomas Zimmermann Subject: Re: [PATCH v3 04/10] drm/fbdev-generic: Initialize fb-helper structure in generic setup Message-ID: References: <20230125200415.14123-1-tzimmermann@suse.de> <20230125200415.14123-5-tzimmermann@suse.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20230125200415.14123-5-tzimmermann@suse.de> X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: freedreno@lists.freedesktop.org, linux-samsung-soc@vger.kernel.org, amd-gfx@lists.freedesktop.org, linux-arm-msm@vger.kernel.org, intel-gfx@lists.freedesktop.org, javierm@redhat.com, dri-devel@lists.freedesktop.org, linux-tegra@vger.kernel.org, linux-arm-kernel@lists.infradead.org Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Hi Thomas, On Wed, Jan 25, 2023 at 09:04:09PM +0100, Thomas Zimmermann wrote: > Initialize the fb-helper structure immediately after its allocation > in drm_fbdev_generic_setup(). That will make it easier to fill it with > driver-specific values, such as the preferred BPP. > > Signed-off-by: Thomas Zimmermann > Reviewed-by: Javier Martinez Canillas > --- > drivers/gpu/drm/drm_fbdev_generic.c | 13 +++++++++---- > 1 file changed, 9 insertions(+), 4 deletions(-) > > diff --git a/drivers/gpu/drm/drm_fbdev_generic.c b/drivers/gpu/drm/drm_fbdev_generic.c > index 135d58b8007b..63f66325a8a5 100644 > --- a/drivers/gpu/drm/drm_fbdev_generic.c > +++ b/drivers/gpu/drm/drm_fbdev_generic.c > @@ -385,8 +385,6 @@ static int drm_fbdev_client_hotplug(struct drm_client_dev *client) > if (dev->fb_helper) > return drm_fb_helper_hotplug_event(dev->fb_helper); > > - drm_fb_helper_prepare(dev, fb_helper, &drm_fb_helper_generic_funcs); > - > ret = drm_fb_helper_init(dev, fb_helper); > if (ret) > goto err; >From the documentation: The drm_fb_helper_prepare() helper must be called first to initialize the minimum required to make hotplug detection work. ... To finish up the fbdev helper initialization, the drm_fb_helper_init() function is called. So this change do not follow the documentation as drm_fb_helper_init() is now called before drm_fb_helper_prepare() I did not follow all the code - but my gut feeling is that the documentation is right. Sam > @@ -456,12 +454,12 @@ void drm_fbdev_generic_setup(struct drm_device *dev, > fb_helper = kzalloc(sizeof(*fb_helper), GFP_KERNEL); > if (!fb_helper) > return; > + drm_fb_helper_prepare(dev, fb_helper, &drm_fb_helper_generic_funcs); > > ret = drm_client_init(dev, &fb_helper->client, "fbdev", &drm_fbdev_client_funcs); > if (ret) { > - kfree(fb_helper); > drm_err(dev, "Failed to register client: %d\n", ret); > - return; > + goto err_drm_client_init; > } > > /* > @@ -484,5 +482,12 @@ void drm_fbdev_generic_setup(struct drm_device *dev, > drm_dbg_kms(dev, "client hotplug ret=%d\n", ret); > > drm_client_register(&fb_helper->client); > + > + return; > + > +err_drm_client_init: > + drm_fb_helper_unprepare(fb_helper); > + kfree(fb_helper); > + return; > } > EXPORT_SYMBOL(drm_fbdev_generic_setup); > -- > 2.39.0