From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-vs2-f0.google.com (mail-vs2-f0.google.com [74.125.227.0]) (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 23DCE28541A for ; Sat, 25 Jul 2026 05:16:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.227.0 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784956587; cv=none; b=HyI5b98EfJj8CNyDp75ZHiHpYY1K+NgRy67Py0u3EfKt+csMSX+bXDU0nJAuIVZIukipPJStt9Q7lh+GuhDB6m9NwhKL18XWm78k7jwuVgZvst8zCgW9NwOJXAX1cC8pDPSgL0iBLwUfDQJIH4MKbToUgctlFJokZ2Mi+ytYKTw= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784956587; c=relaxed/simple; bh=4b18IUpxdUPuc2UR1fOBGWI/fWiMRSKOdqaqfhq7tZE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=GhHwplG0PhPkU514MovBNV9C7c+dy/ubxtoiVLYJLRG0Xo11+cOEM0Hm6Z0EWkp/7JBMpcxJwE53akAC/wxu2/mKAdbGA/RBS4d1NN/WU5ESvCsOBFjaMOi8bxeta7AyRTL5BIDy2fPDMOrWC3PsNpLzYiC3NYDJ6YuPi8zKBtM= 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=pXH9sjWT; arc=none smtp.client-ip=74.125.227.0 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="pXH9sjWT" Received: by mail-vs2-f0.google.com with SMTP id ada2fe7eead31-74a8ac7cfd8so1162750137.0 for ; Fri, 24 Jul 2026 22:16:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1784956583; x=1785561383; 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=pXH9sjWTCluJkPQ6iatiWLjZC0F0zw4PMUAfxb1SpIkbQNDRFgMxdUVwogaCB2G1sH bwZZfMnAJovfqah/6jEMNu6C9e4XpRdK31PYAMNpBqh4tQ5b87XCBtfls+MczRhA0VT8 +BFN9uSUxewaQP4tfOCm30IV6S9G00ujOfeNiakplYipvgq/bBGFjC1rSXuXHu2KhK93 9nmEy4f4nHa6Mpb8LYBELBwh43V2is5K+B39NoJZVLCsQcjyWe5/qRyJNcENDgOeZ3fN UXpXJILwoTsHi/ep+hg4CRYQhh9yIMW1HuntMHpFb+/2cyE8teS9ZMJQdTLl8wEZZpwQ eWCg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784956583; x=1785561383; 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=PHr7AK4NNQvt5grVDSSd7RUfoM5jO+/s67D+AuKPH8ZZMEy/g5QzAZrqITztecZOb+ xelMqk2FJY28zWC0XhmFI2U8TWZWDzVFqZWV1J3/GRO/VZIO8hlXiZjtTkX4Z/eaEFQ1 S582N4yxVYuLtoOYK8hKaOcY5XppnBOuMG8nlSoA0VpIhXAZRJzLsgxH2LL2plaAlgIu Jtmrttt2Lbg9vr4pmPsU8EHLOYNirWF66dT5KZqeP9dwNWJ8z9o5KeixStxx2GAWU7mu ZRPGdhH0YMJSY/SCQjhN4AW35yLM5frv6wsiVRZ0Jne1MHA7I/zY6Tw2ul9Hni8oPAnf jVuQ== X-Forwarded-Encrypted: i=1; AHgh+RpG8h6tXOgm/IR3nMqmAaJ8s00SAzIv0JLKbmKl5Rswk5xlAWCY4fb8x+Xsi1/D3/5AaKLZ4+nNBL0VgiE=@vger.kernel.org X-Gm-Message-State: AOJu0YyK4Vkm8LMTlco1BHCJqTN8vZszfgNXlgjuITQHh4m4tygaPu0y /F8vyo8MXZkO+ewpkBVfzJh3gcN7vbffnUDkGmdNdQPTnd1pcPuQakjLw7nlWRYhtBlfxg== X-Gm-Gg: AR+sD11EHeqIdpDQJpPP8CtuOyD4eF02/uVR77lLxURS64Ki1sQjrn91yW5UCgHsWNu JmYW9TS56dOI7R6rguGr5+U+eGGoctxH5fOg9QzkZ7fwmbTpuHZN75RO4VeJiCHbC9MQtn9KTpE F2lDgOXMbBH7CwNLuJJ4VikKs6yXLAQts94eGewZkdxkmytry+o4vLlzQ+ePhPdKWGf2HRdM5IR j0IiB0HMA1V8KTB/VtEwlum78n8CV2N8Y3aQcZKv3LrMnm7+cBvg/OpUKMmv12D/QzdEpGiaKB1 kcJiwwbvrMBlOJym9W2OgaES8R3KVecSo5yMwXTZFN4YleGKwModbBkJQtQLq/JRP/179bDYVsX pobQH2niBMGIN3Jcp3N5y+9w2Mrs0EGesYRHqH4Ytmw/mhsAbaqj0yjA= 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-kernel@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