Received: by 2002:ab2:6857:0:b0:1ef:ffd0:ce49 with SMTP id l23csp2596830lqp; Mon, 25 Mar 2024 04:03:18 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCWLpaTnRd6dWtt5KDtr6T/YvP4WPSoLgQNyYflTSZqCyxdtCbMSBivH4Vqxl05OPaioGWEqoU7ItLbyTq3YbI2K2gmh1hLRynpGTDurHQ== X-Google-Smtp-Source: AGHT+IEz3ayyc0FX+V98ccCWU1RaaMwkFVLsSlaNUp0WAP8ZBlpxgm0oA8ahMno/4BXDMDWKYnoZ X-Received: by 2002:a50:d608:0:b0:568:c621:c496 with SMTP id x8-20020a50d608000000b00568c621c496mr4330101edi.42.1711364598464; Mon, 25 Mar 2024 04:03:18 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1711364598; cv=pass; d=google.com; s=arc-20160816; b=qJXJpjfRqxa1Np2JqyRCBOyDlLJO1Mnsq3GzBnw2iwrUBRAmCJuSd9BkVm6y5Zn33w zVJiMqGe4jllBWoQw1Bd4fxdtkHyNp/EcMWEE5bwYzd1FK/Fieaw+eQtdJW6Qs9KzzWb K1oSt5tzKCbC6pWirJlgruGgengFHI3kF0G59YnydDjIScYnYDrXJ897LlFlzH1AcTlL AUvPCg17UykYlRVeeRZG1TlKj3A6RIZuWZc1RceTQYl9wzQpXdJVaJualZ0+A+qK3Soq mmExicoM8DVEGJtgzxFgQkZaSQjNlz9q8gGSDlTjcGy98s8Lt5KUfhZcRBe8kqJqJuKn usUQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=9q24Jkpws8ViaLnXrw5DXXwPoJ/SfUae61SLGJXdBwY=; fh=MM4CpFvVjfuyC49lUiQ5l4ZMGRxv/qjGhN7tpsKQvdo=; b=LqisYEQEM6UBx0Ta7vDpt9tnFXNT/BHtRkpgzPbVmw7ZiVWUuGmJT3nn1Cqkab5+vq jlyEXpt/1yeyGNRVST467NO5XRoCL7DfZtEk7bWnXM8ZnjMXU374TtHkKfqTVYwVU3+V N0FkH+1lkR4u5XsezRxq2PVwT3euEzXv0RC6egaqMRJd+jcPqBqWqy2WoTlfMYXCPuUh dv5rTo1Wow47Tuf5PyrsCc0Qy0B/YciMrE9vP3tPQY0QbgiyF/3p1k7oA5kQbvNlzeJu 8o4dUO/XsWmgcD/Zax0FjvcEDo6IHC9vwaNwxPysfjI+l+On+BjSr6UDEJds6SQ5Q/xv VX4A==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=Nauzi6er; arc=pass (i=1 dkim=pass dkdomain=kernel.org); spf=pass (google.com: domain of linux-kernel+bounces-115477-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-115477-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [147.75.80.249]) by mx.google.com with ESMTPS id j11-20020a05640211cb00b0056c15ba8da2si580360edw.516.2024.03.25.04.03.18 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 25 Mar 2024 04:03:18 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-115477-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) client-ip=147.75.80.249; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=Nauzi6er; arc=pass (i=1 dkim=pass dkdomain=kernel.org); spf=pass (google.com: domain of linux-kernel+bounces-115477-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-115477-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by am.mirrors.kernel.org (Postfix) with ESMTPS id 33C411F34749 for ; Mon, 25 Mar 2024 11:03:18 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id A9F3E2251F8; Mon, 25 Mar 2024 02:40:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="Nauzi6er" Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 08C911DCC9E; Sun, 24 Mar 2024 22:55:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711320913; cv=none; b=WfdLWSXRLJb5PDwH/tfyUvP5HItCOEnVBkCGCJhY1Vofoekh5XeOk0VK6lIE89Un7J8ek8JDpzw/fRpp5LjuV5l7YlJVnB/akQU2t+fyd3vDvrMh+jtXA404PF8cAKXG7/bPWwSZJZgW7ElMjDRpVugSnQYeyrTDjjieZw4xovs= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711320913; c=relaxed/simple; bh=f4HoEm/jJLOVkhki0FySfBbmVsMCB9yvdbLreAfw8cE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=RQ81n6p1KgcJm07BrAvuIjBz9ibAT1xl4kiHDJ555swYGTGxxT9/2gGNQqe6Lpms0VV1zjOlfeYnjV+5R4afgtDGYGMj/rnOgDw6fAUJ4++KLjea+znq/lQQ/pAuQYQET59296txNfnfsFxoLbosyiJWMDgtpgA4w9C+a/vRBqA= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Nauzi6er; arc=none smtp.client-ip=10.30.226.201 Received: by smtp.kernel.org (Postfix) with ESMTPSA id 49284C433A6; Sun, 24 Mar 2024 22:55:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711320912; bh=f4HoEm/jJLOVkhki0FySfBbmVsMCB9yvdbLreAfw8cE=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Nauzi6ercD+VxsH7egq7vFFHLxJFmvLRAKW5K5mMSGNs+LV8dQgdFXDq81NRVV9HK hLs9f40gox3mr2A+tw0pOBqTUVzm9Hr+cdj+2u4bkF8ZxaZ6/ZlC21MsUl0Hs4l+kV RIDHQLc0NKRDLkS2v8bfO2CpV7FQ/kYbfS04p3hw8o+sb5Jv1D4kuP50Try9kr9/IK Ci1FkxwyyGzNjRc3kWsUbGoWrhzLIqsRlgZWMX6HHLilxBFFIYpeuWQwCwbg3SFESH FuvUm9u9vcZXSg3+jYV718EDUn/+nCO8DsHJ9Hdj/UDKm7GE7j6jnWUIj7BDKvmZ3q AAgV3NkmSGIcQ== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Dmitry Baryshkov , Jessica Zhang , Sasha Levin Subject: [PATCH 6.7 476/713] drm/msm/dpu: use devres-managed allocation for MDP TOP Date: Sun, 24 Mar 2024 18:43:22 -0400 Message-ID: <20240324224720.1345309-477-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324224720.1345309-1-sashal@kernel.org> References: <20240324224720.1345309-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: 8bit From: Dmitry Baryshkov [ Upstream commit 1e897dcc4c673b9d585c09ddcdbe7fab0934e64f ] Use devm_kzalloc to create MDP TOP structure. This allows us to remove corresponding kfree and drop dpu_hw_mdp_destroy() function. Reviewed-by: Jessica Zhang Signed-off-by: Dmitry Baryshkov Patchwork: https://patchwork.freedesktop.org/patch/570047/ Link: https://lore.kernel.org/r/20231201211845.1026967-6-dmitry.baryshkov@linaro.org Stable-dep-of: 49e27d3c9cd6 ("drm/msm/dpu: finalise global state object") Signed-off-by: Sasha Levin --- drivers/gpu/drm/msm/disp/dpu1/dpu_hw_top.c | 17 +++++++---------- drivers/gpu/drm/msm/disp/dpu1/dpu_hw_top.h | 8 +++++--- drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c | 5 ++--- 3 files changed, 14 insertions(+), 16 deletions(-) diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_top.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_top.c index 24e734768a727..05e48cf4ec1d2 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_top.c +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_top.c @@ -2,6 +2,8 @@ /* Copyright (c) 2015-2018, The Linux Foundation. All rights reserved. */ +#include + #include "dpu_hwio.h" #include "dpu_hw_catalog.h" #include "dpu_hw_top.h" @@ -247,16 +249,17 @@ static void _setup_mdp_ops(struct dpu_hw_mdp_ops *ops, ops->intf_audio_select = dpu_hw_intf_audio_select; } -struct dpu_hw_mdp *dpu_hw_mdptop_init(const struct dpu_mdp_cfg *cfg, - void __iomem *addr, - const struct dpu_mdss_cfg *m) +struct dpu_hw_mdp *dpu_hw_mdptop_init(struct drm_device *dev, + const struct dpu_mdp_cfg *cfg, + void __iomem *addr, + const struct dpu_mdss_cfg *m) { struct dpu_hw_mdp *mdp; if (!addr) return ERR_PTR(-EINVAL); - mdp = kzalloc(sizeof(*mdp), GFP_KERNEL); + mdp = drmm_kzalloc(dev, sizeof(*mdp), GFP_KERNEL); if (!mdp) return ERR_PTR(-ENOMEM); @@ -271,9 +274,3 @@ struct dpu_hw_mdp *dpu_hw_mdptop_init(const struct dpu_mdp_cfg *cfg, return mdp; } - -void dpu_hw_mdp_destroy(struct dpu_hw_mdp *mdp) -{ - kfree(mdp); -} - diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_top.h b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_top.h index 8b1463d2b2f0b..6f3dc98087dfe 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_top.h +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_top.h @@ -145,13 +145,15 @@ struct dpu_hw_mdp { /** * dpu_hw_mdptop_init - initializes the top driver for the passed config + * @dev: Corresponding device for devres management * @cfg: MDP TOP configuration from catalog * @addr: Mapped register io address of MDP * @m: Pointer to mdss catalog data */ -struct dpu_hw_mdp *dpu_hw_mdptop_init(const struct dpu_mdp_cfg *cfg, - void __iomem *addr, - const struct dpu_mdss_cfg *m); +struct dpu_hw_mdp *dpu_hw_mdptop_init(struct drm_device *dev, + const struct dpu_mdp_cfg *cfg, + void __iomem *addr, + const struct dpu_mdss_cfg *m); void dpu_hw_mdp_destroy(struct dpu_hw_mdp *mdp); diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c index fe7267b3bff53..a7ae4479e12e9 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c @@ -828,8 +828,6 @@ static void _dpu_kms_hw_destroy(struct dpu_kms *dpu_kms) dpu_kms->catalog = NULL; - if (dpu_kms->hw_mdp) - dpu_hw_mdp_destroy(dpu_kms->hw_mdp); dpu_kms->hw_mdp = NULL; } @@ -1112,7 +1110,8 @@ static int dpu_kms_hw_init(struct msm_kms *kms) dpu_kms->rm_init = true; - dpu_kms->hw_mdp = dpu_hw_mdptop_init(dpu_kms->catalog->mdp, + dpu_kms->hw_mdp = dpu_hw_mdptop_init(dev, + dpu_kms->catalog->mdp, dpu_kms->mmio, dpu_kms->catalog); if (IS_ERR(dpu_kms->hw_mdp)) { -- 2.43.0