From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-vs2-f1.google.com (mail-vs2-f1.google.com [74.125.227.1]) (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 A39A73126B9 for ; Sat, 25 Jul 2026 04:59:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.227.1 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784955555; cv=none; b=YiOVNR4VAHy9sys60ob+N+lMIQZAIJxJa6fgCJSksxDq/M0sEqL1koIdlkG+TCeSOTpmx69Uy8Y780YA8RNDw32yRks9OAgK8d1MI9CSENxWbLQ1bnAftUjBzD6gxS2Bxz5uydb5mGLHbzyZAvNMYUmhZmkXrnVnrrlc0opyu2A= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784955555; c=relaxed/simple; bh=4b18IUpxdUPuc2UR1fOBGWI/fWiMRSKOdqaqfhq7tZE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=OEgq/dyHLLRuoWgHW0cHN4qaqmsEOZn5tevK0cUiisMreYmM2nvrQxyDjT99Fn9pMNaFLX9miNWnV9UXATDodRjGwq4cyuWHmkhzFFFH2KXYnBzzD3L5ZqLVd9zchsaqcq1VoGvo/hBHA2R/ElnpUolMfFrmMVVKDsxGPCobSbY= 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=j95j6trn; arc=none smtp.client-ip=74.125.227.1 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="j95j6trn" Received: by mail-vs2-f1.google.com with SMTP id ada2fe7eead31-74acc945b83so1299778137.1 for ; Fri, 24 Jul 2026 21:59:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1784955551; x=1785560351; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=VIPHwSLp6lcC0AP74xPB0vpaoEHFgQhtWHcdVb1AdM0=; b=j95j6trnc+BneSoyQersoiO1cx3S5CCvoFMME681M9t6LdCFZEUqUXf4Tsy7KMa+dN Wm+A92vzjlML5EYQ2JWKYbKpcGgeFtEpvt7eV7rc3wnnRm+QhtKgAPNr0R3G5ultajsL FnWLck6NV48AX9m7AAaGtdAOWBxmovUfvPiO09FUP7kCbu44q535zEOuQhQ7+fnOM4Cq aUkHjm21xpWVPAi+wOnT3/sFE9h5KwewGlMXc8YRrdVxoPVw6RF+oPA3mfvJaqmMGMpM 5+gPzyKzE+A1JVw7w/SNClai/5n5IDEx9qe8OxMymttGe+ahV8uhQ0+2bs+Oj3qwtyAW IenA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784955551; x=1785560351; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=VIPHwSLp6lcC0AP74xPB0vpaoEHFgQhtWHcdVb1AdM0=; b=Hod33iNlcrCucF0dCoN2KixAV0iadB2/ErrWfiaY6ChW3SJVA+l8T07WMLn60z6VKL HX5jGyVnkZGxhwlrCAp866Gq3p+Zq9lReWNd0S66hpJmOBDiDBkq1iFKis/dmnS/3wSq i14lCQGJZqAp73JyKAtI8n6uxfnwN+5jk4Cfn1xp100I/KbsKGiuBo1S/+gvAxuijauF npH38oQAEqjz00Fip6uzpBb8HAbzdWjNeCE8M77b5hGuPqb5qsrugTQoOfng4XwfXTtZ ak4HtmO05b6s9N+d9dVQtJL9tJ1BLmoKNTEoP49ZiIwVvufQai9mCj5LCOiSrcEUj75q r8jw== X-Forwarded-Encrypted: i=1; AHgh+Rpp+3GrsylnZDS8ZqK9AjsUTTQmPdqTE2WJQWSoLjr+dz+qd0eftGaBF3G0WMqWzV5UlAwuEoJ2mh8=@vger.kernel.org X-Gm-Message-State: AOJu0Yw5lJqYoBm9q0VEjIJQASTWEf8XspfmTk+D5wC5p8+QJFkHP2X1 aMdPF34PNmAPQwPU8xf/VzfLwKGsMZRL/K4T1yHF9SRkyVl5qyg4UAM1XD0z9ZVkZnjuTg== X-Gm-Gg: AR+sD13iLivjA5tTj/wyYw+aDxWVgRPrtAOdiugaUjYrJ0KUD/qCLNfzGDR96RFpWvt pOoyLmPTzHES2t7KKF5jdYpvKd3nABZMoKPQ9IoLkpVWEoWT/R+RZ3/yMPgELNgGoupP6AN09Fr O40uj4pyEOK7CIvxekzD5txBlfhAV8mk4+uy0SmNcwElinTM3+9aAQhsJo9BEdnSRBIEebVhrEJ M/Q7jdcPXUyCESKVqdKUewRWeCvXTYyZB7fdwrbpADyZJV4+PgY1ha4xz9Jzg3Qqs/heOO1ZK4p uf8Us94EtQIzX0Ini7AV4bHd/08JXmbBqT1rosctiNNbky47KM2HQZpW4bx36SB8a+coss7Yft7 wo+NsbevwKuhP2ulsFH2QNToGCN//4NBGbRtk69kXJT56H9MkcCNy8us= X-Received: by 2002:a05:6a00:4b50:b0:84a:2ec8:fca6 with SMTP id d2e1a72fcca58-84e59593047mr592013b3a.52.1784949512185; Fri, 24 Jul 2026 20:18:32 -0700 (PDT) Received: from [127.0.1.1] ([2a12:a305:4::403c]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-84e53432834sm640542b3a.50.2026.07.24.20.18.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 24 Jul 2026 20:18:30 -0700 (PDT) From: Cody Kang Date: Fri, 24 Jul 2026 23:16:41 -0400 Subject: [PATCH 09/17] drm/spacemit: add Saturn DPU hardware backend Precedence: bulk X-Mailing-List: linux-clk@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <20260724-k3-display-v1-9-f22a10a52867@gmail.com> References: <20260724-k3-display-v1-0-f22a10a52867@gmail.com> In-Reply-To: <20260724-k3-display-v1-0-f22a10a52867@gmail.com> To: David Airlie , Simona Vetter , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Yixun Lan , Vinod Koul , Neil Armstrong , Haylen Chu , Michael Turquette , Stephen Boyd , Brian Masney , Philipp Zabel , Paul Walmsley , Palmer Dabbelt , Albert Ou , Alexandre Ghiti Cc: dri-devel@lists.freedesktop.org, linux-riscv@lists.infradead.org, devicetree@vger.kernel.org, spacemit@lists.linux.dev, linux-kernel@vger.kernel.org, linux-phy@lists.infradead.org, linux-clk@vger.kernel.org, Cody Kang X-Mailer: b4 0.15.1 Add the register-level programming of one Saturn instance: clock and reset bring-up, scene control and timing generator setup, RDMA channel and composer layer programming, FBC line-buffer budgeting, interrupt dispatch and the cfg-ready/vsync handshake that paces commits. The backend is exposed as an ops table and hardware descriptor to be aggregated by the KMS layer in an upcoming patch. Signed-off-by: Cody Kang --- drivers/gpu/drm/spacemit/dpu/dpu_saturn.c | 483 +++++++++++ drivers/gpu/drm/spacemit/dpu/dpu_saturn_hee.c | 896 +++++++++++++++++++++ drivers/gpu/drm/spacemit/dpu/saturn_fbcmem.c | 152 ++++ drivers/gpu/drm/spacemit/dpu/saturn_fbcmem.h | 21 + drivers/gpu/drm/spacemit/dpu/saturn_regs/ops_hee.h | 52 ++ 5 files changed, 1604 insertions(+) diff --git a/drivers/gpu/drm/spacemit/dpu/dpu_saturn.c b/drivers/gpu/drm/spacemit/dpu/dpu_saturn.c new file mode 100644 index 000000000000..8d5f13bc5373 --- /dev/null +++ b/drivers/gpu/drm/spacemit/dpu/dpu_saturn.c @@ -0,0 +1,483 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright (C) 2025-2026 SpacemiT Co., Ltd. + * + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "dpu_saturn.h" +#include "saturn_fbcmem.h" +#include "../spacemit_cmdlist.h" +#include "../spacemit_dmmu.h" +#include "../spacemit_dpu_reg.h" +#include "../spacemit_drm.h" +#include