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 X-Spam-Level: X-Spam-Status: No, score=-0.6 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id A75CAC10DCE for ; Fri, 6 Mar 2020 10:57:06 +0000 (UTC) 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 mail.kernel.org (Postfix) with ESMTPS id 7855F20726 for ; Fri, 6 Mar 2020 10:57:06 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=ffwll.ch header.i=@ffwll.ch header.b="d2qudtTv" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 7855F20726 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=ffwll.ch Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 07DA66ECCF; Fri, 6 Mar 2020 10:57:06 +0000 (UTC) Received: from mail-wm1-x344.google.com (mail-wm1-x344.google.com [IPv6:2a00:1450:4864:20::344]) by gabe.freedesktop.org (Postfix) with ESMTPS id A828A6ECCF for ; Fri, 6 Mar 2020 10:57:04 +0000 (UTC) Received: by mail-wm1-x344.google.com with SMTP id p9so1880469wmc.2 for ; Fri, 06 Mar 2020 02:57:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ffwll.ch; s=google; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to; bh=7rrE7Mh/VC4v8EhKmWswWSWB2baVjxpmAL/nTxqthaY=; b=d2qudtTvQazENZdB0E1Ugs4TiEWdjEh+sF5HkI/qMuAz1lhVxP+7jJ7IMt5HaphPzP 5DxLj/MhLkdg2wPief+M95Xgo8kLO0XxU7PsK0Ih/1XNOcaBx0JTPt14bGOTe9dw2/L/ v80v+GtgQ0pM22uXV5txDnK85ki9Af31ZRI+s= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=7rrE7Mh/VC4v8EhKmWswWSWB2baVjxpmAL/nTxqthaY=; b=uJzfGbsDIPK0kmpC24aif8K57dnCEp11Rqg9pvtIzyC/oIi6cXaOtNRzsO0s7uq6nS krri/FtiqFkJ0arEMg8zAzaxTs0e/QW7VVuC/tqWFvEeuoBVnlUz5tBbB8Tfu3BW2gby vJcIDT93SgTxmz7YksYwJyJQ46A1cGtzcF9yuEixZmWXZLCeEjQAYJHlibzT0myy7jJr paGupqx4GebSnrZ3sGq04YDw73HiNewigLZhmvDZ+P0pQg12vydWCvEv80T1kplQ4vHy GJcWBs13ayD82+x9i7iYMrfdJTpS8JEYOJbTPd+hGCsnooyAjmRG1c7RDEWDo2oVEmL5 EVqQ== X-Gm-Message-State: ANhLgQ1SJoA/UrHpikEit6/mvw4aYFtozUTU8PybLVbTae09lnc2DAtu KNA+qqtkfdWeFFG5a0fOsANztg== X-Google-Smtp-Source: ADFU+vu8MQamXRdd0QBPum9kh+cSyHKPSAUhm+lD5hy3LLs4xarlv6b6xFmutidwsLBLwmFf5dsvQw== X-Received: by 2002:a1c:bd45:: with SMTP id n66mr3312185wmf.167.1583492223205; Fri, 06 Mar 2020 02:57:03 -0800 (PST) Received: from phenom.ffwll.local ([2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa]) by smtp.gmail.com with ESMTPSA id e7sm28718865wrt.70.2020.03.06.02.57.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 06 Mar 2020 02:57:01 -0800 (PST) Date: Fri, 6 Mar 2020 11:56:59 +0100 From: Daniel Vetter To: Thomas Zimmermann Subject: Re: [PATCH 00/22] drm: Convert drivers to drm_simple_encoder_init() Message-ID: <20200306105659.GY2363188@phenom.ffwll.local> References: <20200305155950.2705-1-tzimmermann@suse.de> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20200305155950.2705-1-tzimmermann@suse.de> X-Operating-System: Linux phenom 5.3.0-3-amd64 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: hamohammed.sa@gmail.com, alexandre.belloni@bootlin.com, airlied@linux.ie, linux@armlinux.org.uk, paul@crapouillou.net, thierry.reding@gmail.com, krzk@kernel.org, sam@ravnborg.org, sebastian.reichel@collabora.com, linux-samsung-soc@vger.kernel.org, jy0922.shim@samsung.com, hjc@rock-chips.com, abrodkin@synopsys.com, kong.kongxinwei@hisilicon.com, jonathanh@nvidia.com, xinliang.liu@linaro.org, ludovic.desroches@microchip.com, kgene@kernel.org, linux-imx@nxp.com, linux-rockchip@lists.infradead.org, virtualization@lists.linux-foundation.org, linux-tegra@vger.kernel.org, puck.chen@hisilicon.com, s.hauer@pengutronix.de, alison.wang@nxp.com, jsarha@ti.com, matthias.bgg@gmail.com, wens@csie.org, kernel@pengutronix.de, jernej.skrabec@siol.net, kraxel@redhat.com, rodrigosiqueiramelo@gmail.com, tomi.valkeinen@ti.com, bbrezillon@kernel.org, jingoohan1@gmail.com, dri-devel@lists.freedesktop.org, sw0312.kim@samsung.com, nicolas.ferre@microchip.com, kyungmin.park@samsung.com, kieran.bingham+renesas@ideasonboard.com, zourongrong@gmail.com, linux-mediatek@lists.infradead.org, shawnguo@kernel.org, laurent.pinchart@ideasonboard.com Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" On Thu, Mar 05, 2020 at 04:59:28PM +0100, Thomas Zimmermann wrote: > A call to drm_simple_encoder_init() initializes an encoder without > further functionality. It only provides the destroy callback to > cleanup the encoder's state. Only few drivers implement more > sophisticated encoders than that. Most drivers implement such a > simple encoder and can use drm_simple_encoder_init() instead. > > The patchset converts drivers where the encoder's instance is > embedded in a larger data structure. The driver releases the > memory during cleanup. Each patch replaces drm_encoder_init() with > drm_simple_encoder_init() and removes the (now unused) driver's > encoder functions. > > While the patchset is fairly large, the indiviual patches are self- > contained and can be merged independently from each other. The > simple-encoder functionality is currently in drm-misc-next, where > these patches could go as well. > > Future directions: There's another common case where the driver > calls kzalloc() plus drm_encoder_init(). Such drivers are not > handled by this patchset. The plan here is to use a simple encoder > with either managed memory allocation (once it's merged), or embed > the encoder in a larger data structure and drop kzalloc() entirely. > > The patchset has been compile-tested on x86-64, aarch64 and arm. So from a cursory look all these drivers get it wrong and devm_kzalloc their encoders. But I guess simplifying stuff like you do here will at least give us a nice list of things to look at once we get to the drmm_simple_encoder_init version of all this. On the series: Acked-by: Daniel Vetter > > Thomas Zimmermann (22): > drm/arc: Use simple encoder > drm/atmel-hlcdc: Use simple encoder > drm/exynos: Use simple encoder > drm/fsl-dcu: Use simple encoder > drm/gma500: Use simple encoder > drm/hisilicon/kirin: Use simple encoder > drm/i2c/tda998x: Use simple encoder > drm/imx: Use simple encoder > drm/ingenic: Use simple encoder > drm/mediatek: Use simple encoder > drm/rcar-du: Use simple encoder > drm/rockchip: Use simple encoder > drm/shmobile: Use simple encoder > drm/sun4i: Use simple encoder > drm/tegra: Use simple encoder > drm/tidss: Use simple encoder > drm/tilcdc: Use simple encoder > drm/vc4: Use simple encoder > drm/virtgpu: Use simple encoder > drm/vkms: Use simple encoder > drm/writeback: Use simple encoder > drm/zte: Use simple encoder > > drivers/gpu/drm/arc/arcpgu_hdmi.c | 10 +++------- > drivers/gpu/drm/arc/arcpgu_sim.c | 8 ++------ > .../gpu/drm/atmel-hlcdc/atmel_hlcdc_output.c | 12 ++++-------- > drivers/gpu/drm/drm_writeback.c | 10 +++------- > drivers/gpu/drm/exynos/exynos_dp.c | 8 ++------ > drivers/gpu/drm/exynos/exynos_drm_dpi.c | 8 ++------ > drivers/gpu/drm/exynos/exynos_drm_dsi.c | 8 ++------ > drivers/gpu/drm/exynos/exynos_drm_vidi.c | 8 ++------ > drivers/gpu/drm/exynos/exynos_hdmi.c | 8 ++------ > drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_rgb.c | 14 +++----------- > drivers/gpu/drm/gma500/cdv_intel_crt.c | 14 +++----------- > drivers/gpu/drm/gma500/cdv_intel_dp.c | 16 +++------------- > drivers/gpu/drm/gma500/cdv_intel_hdmi.c | 4 ++-- > drivers/gpu/drm/gma500/cdv_intel_lvds.c | 17 +++-------------- > drivers/gpu/drm/gma500/mdfld_dsi_dpi.c | 7 +++---- > drivers/gpu/drm/gma500/mdfld_output.h | 1 - > drivers/gpu/drm/gma500/mdfld_tmd_vid.c | 6 ------ > drivers/gpu/drm/gma500/mdfld_tpo_vid.c | 6 ------ > drivers/gpu/drm/gma500/oaktrail_hdmi.c | 14 ++------------ > drivers/gpu/drm/gma500/oaktrail_lvds.c | 5 +++-- > drivers/gpu/drm/gma500/psb_intel_drv.h | 1 - > drivers/gpu/drm/gma500/psb_intel_lvds.c | 18 +++--------------- > drivers/gpu/drm/gma500/tc35876x-dsi-lvds.c | 5 ----- > drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c | 8 ++------ > drivers/gpu/drm/i2c/tda998x_drv.c | 14 +++----------- > drivers/gpu/drm/imx/dw_hdmi-imx.c | 8 ++------ > drivers/gpu/drm/imx/imx-drm-core.c | 6 ------ > drivers/gpu/drm/imx/imx-drm.h | 1 - > drivers/gpu/drm/imx/imx-ldb.c | 8 ++------ > drivers/gpu/drm/imx/imx-tve.c | 8 ++------ > drivers/gpu/drm/imx/parallel-display.c | 8 ++------ > drivers/gpu/drm/ingenic/ingenic-drm.c | 9 +++------ > drivers/gpu/drm/mediatek/mtk_dpi.c | 14 +++----------- > drivers/gpu/drm/mediatek/mtk_dsi.c | 14 +++----------- > drivers/gpu/drm/rcar-du/rcar_du_encoder.c | 14 +++----------- > .../gpu/drm/rockchip/analogix_dp-rockchip.c | 9 +++------ > drivers/gpu/drm/rockchip/cdn-dp-core.c | 9 +++------ > .../gpu/drm/rockchip/dw-mipi-dsi-rockchip.c | 8 ++------ > drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c | 8 ++------ > drivers/gpu/drm/rockchip/inno_hdmi.c | 8 ++------ > drivers/gpu/drm/rockchip/rk3066_hdmi.c | 8 ++------ > drivers/gpu/drm/rockchip/rockchip_lvds.c | 10 +++------- > drivers/gpu/drm/rockchip/rockchip_rgb.c | 8 ++------ > drivers/gpu/drm/shmobile/shmob_drm_crtc.c | 14 +++----------- > drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c | 12 +++--------- > drivers/gpu/drm/sun4i/sun4i_lvds.c | 12 +++--------- > drivers/gpu/drm/sun4i/sun4i_rgb.c | 17 +++-------------- > drivers/gpu/drm/sun4i/sun4i_tv.c | 17 +++-------------- > drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c | 12 +++--------- > drivers/gpu/drm/sun4i/sun8i_dw_hdmi.c | 8 ++------ > drivers/gpu/drm/tegra/drm.h | 2 -- > drivers/gpu/drm/tegra/dsi.c | 10 +++------- > drivers/gpu/drm/tegra/hdmi.c | 9 +++------ > drivers/gpu/drm/tegra/output.c | 6 +----- > drivers/gpu/drm/tegra/rgb.c | 8 ++------ > drivers/gpu/drm/tegra/sor.c | 8 ++------ > drivers/gpu/drm/tidss/tidss_encoder.c | 10 +++------- > drivers/gpu/drm/tilcdc/tilcdc_external.c | 10 +++------- > drivers/gpu/drm/tilcdc/tilcdc_panel.c | 8 ++------ > drivers/gpu/drm/vc4/vc4_dpi.c | 8 ++------ > drivers/gpu/drm/vc4/vc4_dsi.c | 15 +++------------ > drivers/gpu/drm/vc4/vc4_hdmi.c | 17 ++++------------- > drivers/gpu/drm/vc4/vc4_vec.c | 8 ++------ > drivers/gpu/drm/virtio/virtgpu_display.c | 8 ++------ > drivers/gpu/drm/vkms/vkms_output.c | 8 ++------ > drivers/gpu/drm/zte/zx_hdmi.c | 8 ++------ > drivers/gpu/drm/zte/zx_tvenc.c | 8 ++------ > drivers/gpu/drm/zte/zx_vga.c | 8 ++------ > 68 files changed, 151 insertions(+), 488 deletions(-) > > -- > 2.25.1 > -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel