From nobody Fri Oct 2 12:40:52 2026 Received: from mail-pl1-f180.google.com (mail-pl1-f180.google.com [209.85.214.180]) (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 1C35A35C193 for ; Mon, 3 Aug 2026 11:13:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.180 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785755613; cv=none; b=jCqNy02xjY2ADtkYxj6N2wQNkaOIWxuiazfymX1kz+tMmnLYfpYx7TSxs14QAW1X48YI4QK0WMVcJ425EtohVoBqeDLNg0hfI5iTHGjdk3Fhti6SMwPEOBYA5OxcbYY2vdSz34OpoewGuvJcG/bgBV6Z8IgIGvMlfF19EBAqZUo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785755613; c=relaxed/simple; bh=ngR4pF8ZR4otDzXCtBy7fHvpHy+h0I18lkR5iYFkB5k=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=fYTa9msSNto0+mzgFm+Su2ouulG7ZDrlcthGyG9Ub/CIKJJgT5iHCjL2TNodFRbOKV2NnCIqp2BTof1FUfQfbna0sXh/y8d7Uiik6AwHnBuxtWhgoAAxwdXc0Fw7NS+tzojxmHTmgm7vHKlKtBeuk+qeP19hEk3cDvk2ZkeYRgE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=chromium.org; spf=pass smtp.mailfrom=chromium.org; dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b=jXd3b8oX; arc=none smtp.client-ip=209.85.214.180 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=chromium.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=chromium.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b="jXd3b8oX" Received: by mail-pl1-f180.google.com with SMTP id d9443c01a7336-2ceab75934dso36764795ad.2 for ; Mon, 03 Aug 2026 04:13:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1785755611; x=1786360411; 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:content-type; bh=I6Kz68yYAXo6+FxgCcZ8xt2d27kzI8ELfLUFCtIDH5c=; b=jXd3b8oX2oYR/4rzXsgLhTQ7TKpUtQe9K0kztXPlwnREGR+8MM8STEm1UpLbn4qMkG vyH4QJBcq9gKzmgFx/Un2okPCZpic/LiUo9TMMXiLUSEAc9gp8FUgahR1UXQiNso0rEZ ZE3Om/pNZbXDRQF1Fo+wSNIWvnsv75nINZYBw= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785755611; x=1786360411; 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:content-type; bh=I6Kz68yYAXo6+FxgCcZ8xt2d27kzI8ELfLUFCtIDH5c=; b=qRpiheulvgMw54aL799CC7r5xJQHQUJ0Ox/AjkJX7Iu3TGmIMuyFo4m5NAR8KPLihc l26FSK+ib/xucQlCgMMm4qV5VyEkq+By2q0fs5xWoGMX4Hs3JIIE306T3fD23GBRNpld Cig8jstd/0epwETnlThBHaVOj710q9oYGX0SuNYKfpKlwgMo9IdnbynTKYUyEHF2MQ+v SVwYl9/QOi7paTvk4rdZ8noOm2EXgPQIU8gvrJ4txW/xAYTt5vZJcOFc2Decp7K7GOiG 0aH5R+nVovo0dSO9tQLx0tLpfxEc47uJNfxP+Cb6Xh7/jKGgeqWJVv3HsVu9AHkcejZN Iaxg== X-Forwarded-Encrypted: i=1; AHgh+RqK+vHVlgIc1Zt+bCumNnqRYpfBn4U6RJJLygRqKza7/ca1QqgtZ3MuR7+zD2D3+X2vZ5zd6mijZG7J/Gg=@vger.kernel.org X-Gm-Message-State: AOJu0YwWXAYbbqk6ILdcIt/IBoX5BWs8pBG1GtIR3UJKCkD8Xm2jkG7t SwQAkp7vCwSsQB326oRRdyDLRwMrg1PGOK0Z+piMsE/jDa8B/7paF36SuZiBMcCDjA== X-Gm-Gg: AR+sD13VODt5HKFqbExfxwgCMuIi+ASqtm5Ox2Iu/LUbdC+guoWLXkF/fMs5bX4mc/f zv8BrOoJ3gbC8sv7e6pB/8ILJZH8q6/XiNtni6kay5Kh8VYkoW/GGUvdqC+789oj0RGtlA026Kf vFybTKPQUFMHmHxInUasa+zgo8UzDm6r23DE8pwiSApceTS1MzLQtiIGc5vFJKnRZfFjeLKfSiq sqjaWtGbjrtysxJ03a8lAhYCgKIuoS/ZIeEsh+qRnATzUuHcD8xUl036JPeEY6coeg1fvGPlGf4 g3endYFPR5VZ0dLCppXR9cWupCbg5nI6z4jYsVz8ftWznla5WqwBz7FIFU6ny31YNi0ZM8ueK0e pbx5oR085dsSFQP1+b8vPUdofkJgXacbN62nXtl+4pXq3E8I5c/tqPSIC96yC29DmICMzvUQTRK c4aRhop/uNY234+nKVyK/CwifbQkSkxYlAIT7rcsW5pFFswDGvZ3F78z3XG2/mYPYjGHjyrPAAY OWrpBDlBpKDfWwT4M/yoYRfmmoZmm8QjSatrFY7JaSoIw== X-Received: by 2002:a17:903:1b50:b0:2ca:17e2:2acc with SMTP id d9443c01a7336-2d052297a68mr94429995ad.21.1785755611549; Mon, 03 Aug 2026 04:13:31 -0700 (PDT) Received: from wenstp920.tpe.corp.google.com ([2a00:79e0:201d:8:1c0b:57ba:92e2:e178]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2d04b11e69asm36171805ad.56.2026.08.03.04.13.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 03 Aug 2026 04:13:30 -0700 (PDT) From: Chen-Yu Tsai To: Chen-Yu Tsai , Jernej Skrabec , Samuel Holland , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann Cc: Chen-Yu Tsai , linux-sunxi@lists.linux.dev, dri-devel@lists.freedesktop.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH] drm/sun4i: framebuffer: Set mode_config.normalize_zpos Date: Mon, 3 Aug 2026 19:13:18 +0800 Message-ID: <20260803111319.2836240-1-wenst@chromium.org> X-Mailer: git-send-email 2.55.0.571.g244d577d93-goog 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" Back when support for zpos was added in commit 47a05f4a68f9 ("drm/sun4i: backend: Add support for zpos"), a custom atomic_check callback was also added in commit b8f1230dd3bf ("drm/sun4i: framebuffer: Add a custom atomic_check") to have a place to call drm_atomic_normalize_zpos(). Commit 49efffc7fbd4 ("drm: Add drm_mode_config->normalize_zpos boolean") added drm_atomic_normalize_zpos() to the standard atomic_check function. Set mode_config.normalize_zpos and drop the custom atomic_check implementation, which at this point is just a simplified copy of the standard one. The standard one also checks whether async updates are valid and updates the self refresh state, but neither feature is supported by this driver. Signed-off-by: Chen-Yu Tsai Acked-by: Jernej Skrabec --- drivers/gpu/drm/sun4i/sun4i_framebuffer.c | 19 ++----------------- 1 file changed, 2 insertions(+), 17 deletions(-) diff --git a/drivers/gpu/drm/sun4i/sun4i_framebuffer.c b/drivers/gpu/drm/su= n4i/sun4i_framebuffer.c index 9c8ef927d929..fc822bc2c62b 100644 --- a/drivers/gpu/drm/sun4i/sun4i_framebuffer.c +++ b/drivers/gpu/drm/sun4i/sun4i_framebuffer.c @@ -14,24 +14,8 @@ #include "sun4i_drv.h" #include "sun4i_framebuffer.h" =20 -static int sun4i_de_atomic_check(struct drm_device *dev, - struct drm_atomic_commit *state) -{ - int ret; - - ret =3D drm_atomic_helper_check_modeset(dev, state); - if (ret) - return ret; - - ret =3D drm_atomic_normalize_zpos(dev, state); - if (ret) - return ret; - - return drm_atomic_helper_check_planes(dev, state); -} - static const struct drm_mode_config_funcs sun4i_de_mode_config_funcs =3D { - .atomic_check =3D sun4i_de_atomic_check, + .atomic_check =3D drm_atomic_helper_check, .atomic_commit =3D drm_atomic_helper_commit, .fb_create =3D drm_gem_fb_create, }; @@ -46,6 +30,7 @@ void sun4i_framebuffer_init(struct drm_device *drm) =20 drm->mode_config.max_width =3D 8192; drm->mode_config.max_height =3D 8192; + drm->mode_config.normalize_zpos =3D true; =20 drm->mode_config.funcs =3D &sun4i_de_mode_config_funcs; drm->mode_config.helper_private =3D &sun4i_de_mode_config_helpers; --=20 2.55.0.571.g244d577d93-goog