From nobody Thu Apr 2 01:15:56 2026 Received: from mail-dl1-f49.google.com (mail-dl1-f49.google.com [74.125.82.49]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 55E0D1C860C for ; Tue, 31 Mar 2026 00:24:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.82.49 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774916657; cv=none; b=TN/lVKJVDPmfYX/9ka5Rhg3KQX90tPcSEJEIYtEndk+IpJlH/WItJZxdSJ3MVW0Hfq+QiYltH2fSETetYZjl74dZgF9vqvJdMAOBU1VFVneV6uaigc03SZEUd/aYErtsg91AFH4VBx7b3fpaSHluLVJZtoe/6DycC/39lthNTiI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774916657; c=relaxed/simple; bh=sMLrmoTyv2hRI+ph3T5mOOJflAhmtMhMaQuICUPi+EU=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=lNx9P4YSjgP64ZnjKu/8vWLLR59MvJ6R5wqEbsW8RrGnVqpT+CG5kkbHOYQ6KLgQqmk2ZB2d1krl+27W514Ff3Y/kc5V0M1wDjKqqBx0/9ZkFUBMwh7jQovaftog25dnzS9FmhP+LUTaEtCnzYWsOF9vzbueFKbZHNrpBbFYeP4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=p/fQpnz5; arc=none smtp.client-ip=74.125.82.49 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="p/fQpnz5" Received: by mail-dl1-f49.google.com with SMTP id a92af1059eb24-12776bebe9fso2037846c88.1 for ; Mon, 30 Mar 2026 17:24:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1774916655; x=1775521455; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=x6KkVZ6avnq5JZYkKR1K26BH30WGfxU6tLWicybER9M=; b=p/fQpnz5nf8WKTkdd7L1taLGLHQ2lxIqgni8X68DVcS2sKGCV0yE2v9+dgi9F1WuA8 BTROmEjFYkbyOAAGQCz0te5+T7EBk3ryJbG1/H27QHow/KcYdCgPSQCFLLDKzgkyIR81 9QBtnoktSxt8+d94j0oOPmaU+9BzoEGsB/R+XghvnEG8gTWrIKh9HaW1UBtzKgPZVDPL NDo6Yk/3vSkSqvIGqcarrHhdb2JY47VDvC05q3rJxhtAKCMf2xMDRfI1Rg9UhRGepa0A PDLTyaZ2LLJVSuGRgY8KEs9F0e6GTdd147sRRObBt54Yyn3qkODTYJV9u3n0gRgcAyYp Ffcg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774916655; x=1775521455; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=x6KkVZ6avnq5JZYkKR1K26BH30WGfxU6tLWicybER9M=; b=MU0v9opr69J+DP7zkvWAPDxL0tFUDYMCneNsVTrYEU8MlLUjqdNxSz7RmoQsMaUxZn SmYoRcbjLR1RMjJ1hkurASSwoFPeKisy/ZMry3B5ugFslxuKFDDCyZ9KBchjqCEA+K2Q pMCUmhl5czfTDK+Ev9634rfoaRnsY7xdF/jabiqRfJ8ZTn311OaYS2XBHLappA3MDCab nwQKsDw+SmnoPXx86upRVJpg/uPq+IhO09zfT5jeesYb3Zve+ZvQ4/6vzfxZTlAXXWLz amQKIC+B7MJsbMrW2e85cI60LpacagvTPCyubroPe8acKNWTqgS6bYqutR4oSsRy3qkX 1POw== X-Forwarded-Encrypted: i=1; AJvYcCVaGSPOTFPMsQh6LscRroFz9l2dkShHb9eA14+FPMigqYd0RfQ60U1eQ/KpmYu8dF/kK/r/fkRix9ZrY0E=@vger.kernel.org X-Gm-Message-State: AOJu0YwW+vJZM1zP8Vk+wd3fGBklwL/ry+MWRRH140Al5yk9qSAV3Vck p+9R4k+erhyLHnAFRcYqw9N4/eH8Qvde6pphre/aPLJp/xllmC+FiEc+ X-Gm-Gg: ATEYQzwDz4BeX+MYVwSvbApjav/RyR4qfXXLlFC6JnaflmY7+HzyRAYHbyYAIrS3mQy z+P24/jacFbnQgtwSdQAFCqkMLcf3wo915u5xmH2XJsrhIJIV9/I1hn05+JV8SSWLB/PFiSROi7 u1dwVjtlwrXc3bIxghURpJRu0HtFC3OGeML+9SbXgPMIQ7NbsRnoo5qFkYXo8cJQF8gVX7ZnXr6 sgVIJ0FhdvPlVIFrAC+Cs8MTO8Pf8k2CAs1zOtqHAEiPnSOo/JH5v422/qp8RQIyfSuSJCm7vFd ZgO9hJC2VA/BWUoJH0XpyhfkAaCnefcTfI6JN8Hpttfo7073q8icznRNFreHnR+LDPilDyTLt3h UHYstvekPJjCgyM/DdvrusUBasIQAN1IWMfOY2HIhXmiXukthb4b0xTZPMkla/HcIbIyqB03k+n fk17aR1og1teCxthE4v1OWeq7wipAdR/qTnURTwB9Qi/4bTnWkSlRKzKE= X-Received: by 2002:a05:7022:2221:b0:128:d2a5:709c with SMTP id a92af1059eb24-12ab28f3331mr8407522c88.33.1774916655278; Mon, 30 Mar 2026 17:24:15 -0700 (PDT) Received: from ryzen ([2601:644:8000:5b5d::8bd]) by smtp.gmail.com with ESMTPSA id a92af1059eb24-12ab983f9f3sm13195709c88.10.2026.03.30.17.24.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 30 Mar 2026 17:24:14 -0700 (PDT) From: Rosen Penev To: dri-devel@lists.freedesktop.org Cc: Chun-Kuang Hu , Philipp Zabel , David Airlie , Simona Vetter , Matthias Brugger , AngeloGioacchino Del Regno , linux-mediatek@lists.infradead.org (moderated list:DRM DRIVERS FOR MEDIATEK), linux-kernel@vger.kernel.org (open list:ARM/Mediatek SoC support), linux-arm-kernel@lists.infradead.org (moderated list:ARM/Mediatek SoC support) Subject: [PATCH] drm/mediatek: simplify mtk_crtc allocation Date: Mon, 30 Mar 2026 17:23:57 -0700 Message-ID: <20260331002357.7995-1-rosenp@gmail.com> X-Mailer: git-send-email 2.53.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Use a flexible array member to combine allocations. Signed-off-by: Rosen Penev --- drivers/gpu/drm/mediatek/mtk_crtc.c | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/drivers/gpu/drm/mediatek/mtk_crtc.c b/drivers/gpu/drm/mediatek= /mtk_crtc.c index fcb16f3f7b23..914841d2396e 100644 --- a/drivers/gpu/drm/mediatek/mtk_crtc.c +++ b/drivers/gpu/drm/mediatek/mtk_crtc.c @@ -62,7 +62,6 @@ struct mtk_crtc { struct device *dma_dev; struct mtk_mutex *mutex; unsigned int ddp_comp_nr; - struct mtk_ddp_comp **ddp_comp; unsigned int num_conn_routes; const struct mtk_drm_route *conn_routes; =20 @@ -71,6 +70,8 @@ struct mtk_crtc { bool config_updating; /* lock for config_updating to cmd buffer */ spinlock_t config_lock; + + struct mtk_ddp_comp *ddp_comp[]; }; =20 struct mtk_crtc_state { @@ -1048,18 +1049,12 @@ int mtk_crtc_create(struct drm_device *drm_dev, con= st unsigned int *path, } } =20 - mtk_crtc =3D devm_kzalloc(dev, sizeof(*mtk_crtc), GFP_KERNEL); + mtk_crtc =3D devm_kzalloc(dev, struct_size(mtk_crtc, ddp_comp, path_len += (conn_routes ? 1 : 0)), GFP_KERNEL); if (!mtk_crtc) return -ENOMEM; =20 - mtk_crtc->mmsys_dev =3D priv->mmsys_dev; mtk_crtc->ddp_comp_nr =3D path_len; - mtk_crtc->ddp_comp =3D devm_kcalloc(dev, - mtk_crtc->ddp_comp_nr + (conn_routes ? 1 : 0), - sizeof(*mtk_crtc->ddp_comp), - GFP_KERNEL); - if (!mtk_crtc->ddp_comp) - return -ENOMEM; + mtk_crtc->mmsys_dev =3D priv->mmsys_dev; =20 mtk_crtc->mutex =3D mtk_mutex_get(priv->mutex_dev); if (IS_ERR(mtk_crtc->mutex)) { --=20 2.53.0