From patchwork Thu Apr 25 13:43:49 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Connor Abbott X-Patchwork-Id: 13643388 Received: from mail-wm1-f50.google.com (mail-wm1-f50.google.com [209.85.128.50]) (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 CD720149C7B; Thu, 25 Apr 2024 13:44:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.50 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1714052688; cv=none; b=aKFuV4H5xI6KRJHPqkOF6bQuldbzFf9hvsWqsZ6/AOQjitcRJyUnANY75DvSnoC4K8OBs77Gg6Ny2WGxnvgjE4lHeWtR/nUqDfi9tTSzlcExBduBW9eCaYUUyiHy2SAS4GOOBa1NSsxr2ETPx9JpK/MQuVi9XvtqDZuHbBmAM3U= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1714052688; c=relaxed/simple; bh=mfhXTx63YRyQApal1fduEVtcjwLjVBk/NUOJZpUC24g=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=fw+DIly9uHW9Fa5BddOGqggAqhpZWHxCb1bTVlOTJeXBF414um6mewV3ML/WjYoyjOaXVfHXPbdBs32cpnjEol5xj7HhgvE5BESTqyzuNrgs1EIB1lr3B9pP+YhLsV8jFdtmVViGLqTVw/PIEbUehfahxSfbcQrjaoAvHcazfRc= 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=Cd46CN/5; arc=none smtp.client-ip=209.85.128.50 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="Cd46CN/5" Received: by mail-wm1-f50.google.com with SMTP id 5b1f17b1804b1-41b39d38cf6so7270435e9.1; Thu, 25 Apr 2024 06:44:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1714052685; x=1714657485; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=bMHh8dl+jDwLvcv5T+6QyHvrz8jMqsBP3Ls5hViJrBM=; b=Cd46CN/5XnZmH3HoJ6b1FGaKIDVGZwtu6+NCL6uKJSCcFXwtEZm7fFBXTBSEvrXI93 8fEPUdbTZvMb4z4Jz3JYCVdRT66sd0STCyEdyHEmgyuNm94o3zZ9DZQkc503S7lEifES 3OYDrpyYU/XmhgGJGSP667Fd5pBOJaz8f5rIZqzzgiiB++ZJ/7gQUsDWXAM7dE8oUiSB ZVu9Jm+2z8xokL8P+ccQzt9c9ucOLpM5BbX71XIlTwgj4xttEdeEHQ8E9g6OpqL06s9C I9wNwelTu0Y9FjE9GkBDbl9LPKmT8Gr4ric06c0N3Bv9K8AU4+gDy7Wjlv9efunudsob 4foQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1714052685; x=1714657485; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=bMHh8dl+jDwLvcv5T+6QyHvrz8jMqsBP3Ls5hViJrBM=; b=MvronXpNcoZZLWDO10VfXsRhKWm0bodPUCV0AUNfhxswp/FyXgbBwKQw/dUbxMPUsf SACh7xsZ3npLKBTJoPaljBViXxqFFEN1bCJVXAl8dZXTakTPBH8TLNoP+6fehR+uMOnt foLj1m21Gzmu/eD230dOKISq9Um1u9pSWRxOfiEnRAC157O92wm2GjvtHSzx6sCTYuTb kOrISGHdT17+vQdAF9CbLQm9HjJaELCZEEDZvXBTWRqrasHaj53pGywLkAFXuGh2iH9y 8YtTd2WDZeTrCX5b5erWsk/e9671yiB3PDn5U7OxhTkMS7GwHclf7Yx0ErQR6TtqBQTr ZMog== X-Forwarded-Encrypted: i=1; AJvYcCXwWP/1kky4p+GkuCHbTgIuYpE2OW83xaJBMLwzfwaX755145rBTVSJ6Y6XU3YXiVigDNpFX9Q67gZCiDx96wwHQfYS1Zz9Ty+wAambQwerF1dBgQftt+uzMGJ845cZnCzLNsZk59ZQejo= X-Gm-Message-State: AOJu0YxKsKMCrxptZJ4EgUFN5mBj09+9FxTQtgAP6dvaFBYiOcXAcmFK wMa5K+BRfJnkdhQ6KvXDBl5oXpUW4TKKVTCl7vZTp8R9MclXnRhlcddW8VcK X-Google-Smtp-Source: AGHT+IE3IcNocrc6Z6xvaosFO1Ai3/6XvgFlHEDAllMt9fsY8O54B7Mmf9WoO6o7NZGzI7CdHWyt5A== X-Received: by 2002:a05:600c:1e0e:b0:41b:285:8417 with SMTP id ay14-20020a05600c1e0e00b0041b02858417mr3434944wmb.40.1714052685116; Thu, 25 Apr 2024 06:44:45 -0700 (PDT) Received: from lucy.. (cpc115152-dals23-2-0-cust532.20-2.cable.virginm.net. [86.12.82.21]) by smtp.gmail.com with ESMTPSA id bg11-20020a05600c3c8b00b0041a9c3444a6sm11235579wmb.28.2024.04.25.06.44.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 25 Apr 2024 06:44:44 -0700 (PDT) From: Connor Abbott To: Bjorn Andersson , Konrad Dybcio , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Neil Armstrong , linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org Cc: Connor Abbott Subject: [PATCH 1/6] arm64: dts: qcom: sm8650: Fix GPU cx_mem size Date: Thu, 25 Apr 2024 14:43:49 +0100 Message-Id: <20240425134354.1233862-2-cwabbott0@gmail.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20240425134354.1233862-1-cwabbott0@gmail.com> References: <20240425134354.1233862-1-cwabbott0@gmail.com> Precedence: bulk X-Mailing-List: linux-arm-msm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 This is doubled compared to previous GPUs. We can't access the new SW_FUSE_VALUE register without this. Fixes: db33633b05c0 ("arm64: dts: qcom: sm8650: add GPU nodes") Signed-off-by: Connor Abbott --- arch/arm64/boot/dts/qcom/sm8650.dtsi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm64/boot/dts/qcom/sm8650.dtsi b/arch/arm64/boot/dts/qcom/sm8650.dtsi index 658ad2b41c5a..78b8944eaab2 100644 --- a/arch/arm64/boot/dts/qcom/sm8650.dtsi +++ b/arch/arm64/boot/dts/qcom/sm8650.dtsi @@ -2607,7 +2607,7 @@ tcsr: clock-controller@1fc0000 { gpu: gpu@3d00000 { compatible = "qcom,adreno-43051401", "qcom,adreno"; reg = <0x0 0x03d00000 0x0 0x40000>, - <0x0 0x03d9e000 0x0 0x1000>, + <0x0 0x03d9e000 0x0 0x2000>, <0x0 0x03d61000 0x0 0x800>; reg-names = "kgsl_3d0_reg_memory", "cx_mem", From patchwork Thu Apr 25 15:13:46 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Connor Abbott X-Patchwork-Id: 13643479 Received: from mail-wm1-f49.google.com (mail-wm1-f49.google.com [209.85.128.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 27E0F5B1F8 for ; Thu, 25 Apr 2024 15:13:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.49 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1714058033; cv=none; b=uAUVsXwSjUajPqd47Pvx2yx3c4kXsBFQenn6hftkpB7fKcVvcN4a8UNHiZOG4qhEwNMlXNx9EzymGuvUthz6HJVpSlgkgL5RH2BwimefIcvD7C7RXwmTmW6JurCfaVl8Dezkmo5uEH82F7lE9c7CouG+SwKS8PYqbj56FcGzmhY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1714058033; c=relaxed/simple; bh=XUzRs0wXBmoO+YZhtSTXqxFtPZp+CajmtQ3Vq2OGRfs=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=hTEGG3q5mMCxWE5/He8XGGSUCVHddHzYw2nkz0vqeNHZYrwS6lHX8rFYjuV+oZTgvzIrjoHqgm+npGxFP4tedRFmmHPzaYvEtHTU1K+l0XJXgMRcR7SI4UOr2k3SEXF8gguo2tPwFm/WzUDZhydRgDzc6Hou/+6MZ3mfybqis+w= 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=WjvTEbU0; arc=none smtp.client-ip=209.85.128.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="WjvTEbU0" Received: by mail-wm1-f49.google.com with SMTP id 5b1f17b1804b1-41af670185fso8648455e9.0 for ; Thu, 25 Apr 2024 08:13:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1714058030; x=1714662830; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=6DmU29abcyY7CYTw3DnjonwAFGdqYAvt0U0EAWoXp+E=; b=WjvTEbU0TpJXl32ZoiIoJgdwz1XvunmjcZNRYwruBi8R0CwHmPf6wVcdOhdtSzh9aa dbVzEQ0iFVUPxn/w6NJ1gwGOIVgD03uIWQE4a1ePDp0XUqUJZNJK38fcxRtHCqHP9Z+H blIfi0HRBdX8A8km2fEs90K2rPp9610WeM1nWjXWvjJiRznJgEuNTTVJm6hmuMgE+Sim P9jrwZQR6TQbkmihHqm9Ey89GswhP0/beWVp3xla9MAvfzs58Av3utCvqGWSxchHL0Yy vioD21/ykmUBI1yHoSyzbvE4o3TOsbq2T1UTHp/O5fBhrlEwCpikRp5VRF8POazyZQk0 NVkA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1714058030; x=1714662830; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=6DmU29abcyY7CYTw3DnjonwAFGdqYAvt0U0EAWoXp+E=; b=AwZLJoWuQCe5Otr2VbFB5dy/x6NnUMpA4I4zGZ0RGhFmELB0uZ8tk5crkgPkBBDcuu qRvs1Zb+XLxPSO9Dto1CUvmXAmJZ3/26NSxdQGXb1DPJsdg/68rW5f/POk/+TFZS5Ks0 aoJeEOyPZB/qTlQ7eYZt99lbjVrn4/qyIn3DNzEYoCv/DnbKX6eQ3iU7adJb0zEFWM5D SpB8aBlru4Af0Z9+5Z+h4TscJ77tRgiyGYsBBKq8IydxT81Ui/28l3uKJAYIWC6BFbDA jm9ODXZWK7J/7N3eSy/9ko9cD6/+k/Xeof+/yvZKMO3ngrDTm1IvqbFOCOHIKfO9RU3n 7taA== X-Forwarded-Encrypted: i=1; AJvYcCU23czHMRdt6bJaY+cOH+pAaa++WD5a1AwsvOlPadeXQU610TXGscJdSdRzT9SqUmji/fwQeP1eDG2QD6DNsFKVFY/ikUZNOb4XMLz3qg== X-Gm-Message-State: AOJu0YybM68v5oBRGDoxHBSMugtBtYfZTTrg4XOlaggpzIaZUtm4lPde WEu/ApeXFMJELrLqo2CqeyqK07nb2sT1ygwnqaEVSLg93987s9qN X-Google-Smtp-Source: AGHT+IFFXYfdQYsPsqfNEjPFCn+04/lZ21MmuP1wB4vqmfruN/lavADhs3HDmd9y9onracT/rTsdAg== X-Received: by 2002:a05:600c:1f91:b0:41a:821b:37f7 with SMTP id je17-20020a05600c1f9100b0041a821b37f7mr4048108wmb.27.1714058030156; Thu, 25 Apr 2024 08:13:50 -0700 (PDT) Received: from lucy.. (cpc115152-dals23-2-0-cust532.20-2.cable.virginm.net. [86.12.82.21]) by smtp.gmail.com with ESMTPSA id z9-20020a05600c0a0900b00418916f5848sm27405136wmp.43.2024.04.25.08.13.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 25 Apr 2024 08:13:49 -0700 (PDT) From: Connor Abbott To: Bjorn Andersson , Konrad Dybcio , linux-arm-msm@vger.kernel.org Cc: Connor Abbott Subject: [PATCH 2/6] firmware: qcom_scm: Add gpu_init_regs call Date: Thu, 25 Apr 2024 16:13:46 +0100 Message-Id: <20240425151346.1258971-1-cwabbott0@gmail.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20240425134354.1233862-1-cwabbott0@gmail.com> References: <20240425134354.1233862-1-cwabbott0@gmail.com> Precedence: bulk X-Mailing-List: linux-arm-msm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 This will used by drm/msm. Signed-off-by: Connor Abbott --- drivers/firmware/qcom/qcom_scm.c | 14 ++++++++++++++ drivers/firmware/qcom/qcom_scm.h | 3 +++ include/linux/firmware/qcom/qcom_scm.h | 23 +++++++++++++++++++++++ 3 files changed, 40 insertions(+) diff --git a/drivers/firmware/qcom/qcom_scm.c b/drivers/firmware/qcom/qcom_scm.c index 06e46267161b..f8623ad0987c 100644 --- a/drivers/firmware/qcom/qcom_scm.c +++ b/drivers/firmware/qcom/qcom_scm.c @@ -1394,6 +1394,20 @@ int qcom_scm_lmh_dcvsh(u32 payload_fn, u32 payload_reg, u32 payload_val, } EXPORT_SYMBOL_GPL(qcom_scm_lmh_dcvsh); +int qcom_scm_gpu_init_regs(u32 gpu_req) +{ + struct qcom_scm_desc desc = { + .svc = QCOM_SCM_SVC_GPU, + .cmd = QCOM_SCM_SVC_GPU_INIT_REGS, + .arginfo = QCOM_SCM_ARGS(1), + .args[0] = gpu_req, + .owner = ARM_SMCCC_OWNER_SIP, + }; + + return qcom_scm_call(__scm->dev, &desc, NULL); +} +EXPORT_SYMBOL_GPL(qcom_scm_gpu_init_regs); + static int qcom_scm_find_dload_address(struct device *dev, u64 *addr) { struct device_node *tcsr; diff --git a/drivers/firmware/qcom/qcom_scm.h b/drivers/firmware/qcom/qcom_scm.h index 4532907e8489..484e030bcac9 100644 --- a/drivers/firmware/qcom/qcom_scm.h +++ b/drivers/firmware/qcom/qcom_scm.h @@ -138,6 +138,9 @@ int scm_legacy_call(struct device *dev, const struct qcom_scm_desc *desc, #define QCOM_SCM_WAITQ_RESUME 0x02 #define QCOM_SCM_WAITQ_GET_WQ_CTX 0x03 +#define QCOM_SCM_SVC_GPU 0x28 +#define QCOM_SCM_SVC_GPU_INIT_REGS 0x01 + /* common error codes */ #define QCOM_SCM_V2_EBUSY -12 #define QCOM_SCM_ENOMEM -5 diff --git a/include/linux/firmware/qcom/qcom_scm.h b/include/linux/firmware/qcom/qcom_scm.h index aaa19f93ac43..2c444c98682e 100644 --- a/include/linux/firmware/qcom/qcom_scm.h +++ b/include/linux/firmware/qcom/qcom_scm.h @@ -115,6 +115,29 @@ int qcom_scm_lmh_dcvsh(u32 payload_fn, u32 payload_reg, u32 payload_val, int qcom_scm_lmh_profile_change(u32 profile_id); bool qcom_scm_lmh_dcvsh_available(void); +/** + * Request TZ to program set of access controlled registers necessary + * irrespective of any features + */ +#define QCOM_SCM_GPU_ALWAYS_EN_REQ BIT(0) +/** + * Request TZ to program BCL id to access controlled register when BCL is + * enabled + */ +#define QCOM_SCM_GPU_BCL_EN_REQ BIT(1) +/** + * Request TZ to program set of access controlled register for CLX feature + * when enabled + */ +#define QCOM_SCM_GPU_CLX_EN_REQ BIT(2) +/** + * Request TZ to program tsense ids to access controlled registers for reading + * gpu temperature sensors + */ +#define QCOM_SCM_GPU_TSENSE_EN_REQ BIT(3) + +int qcom_scm_gpu_init_regs(u32 gpu_req); + #ifdef CONFIG_QCOM_QSEECOM int qcom_scm_qseecom_app_get_id(const char *app_name, u32 *app_id); From patchwork Thu Apr 25 13:43:51 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Connor Abbott X-Patchwork-Id: 13643389 Received: from mail-wm1-f54.google.com (mail-wm1-f54.google.com [209.85.128.54]) (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 10CA8149C7B for ; Thu, 25 Apr 2024 13:44:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1714052690; cv=none; b=CWVvB481eG1ormAa7DhIGgZB/GPrj7YussMFnLmMfrzHnYjAktAa/KuM6+qypwjiTtObO7aolsms/GuLTOdawCynQtjqSGxwkBgCpqoGU6MAJbFJsUCOGYVtegMsY+HpD0TDsKluVkXXI+SPH0gc/4Rw5lEHxn+iCunih87zgO0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1714052690; c=relaxed/simple; bh=5WZhqwbdGj3Sg68xaK4arCck6q23nSTMtnsPPcHS2yU=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=g1qGu+pzZVCo5/Ib6/Xpsb0JmP2pdvsTuR18iTJU0SUL2m1SzSWL7cVXYrbW2bKnVnEfSijwjd1kS6CT399NLyVX+2nei4Lr5ILL7RPr9LhK3BM4H6Bp60QybUsH0oGVUCnATt8tftriCgO2H4HVypAEBLcq424f7Pxzwvh0EVY= 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=Wcv2WN1x; arc=none smtp.client-ip=209.85.128.54 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="Wcv2WN1x" Received: by mail-wm1-f54.google.com with SMTP id 5b1f17b1804b1-41a72f3a20dso6585405e9.0 for ; Thu, 25 Apr 2024 06:44:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1714052687; x=1714657487; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=4RFVnmOo8A5tNCWQYVrv1gyOa6F8hSBqaR1nrZ9un+U=; b=Wcv2WN1xxNYmatndNvzkY63ECQeWBsom43zvOm9A9VVS9pVGoBHMIHGceYAMAQqjoG 17EkjhGagMR7iG0x0qOuw+Qrhn3QJBuDMC2WQEr8J0oeCNw+t4nYSMxIvtpfZlcsWZRc qN/INXu3aflQK6iMWhtStjphrXcS1nkKqT/UgN659hG0lZDiGwVCW1isrwnloh/x6TAA 2lDcdTiFmoktjCXeQrtEhJTrXsCfLmkSYgpJds6/tkESfIknmK+IEGTq+qOXdTqszC40 /sZWPKTiQXwyDJm4k8D0tJf7aVjcMaXsVb8Twa4uuEJurqAAu+xHHhNmSlLtXtqaop3j j8vQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1714052687; x=1714657487; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=4RFVnmOo8A5tNCWQYVrv1gyOa6F8hSBqaR1nrZ9un+U=; b=BTGFFZG/PVgrSP/UGOgAvzk78r78iCSm42LAt3rB5bEWka2AebeE4wvpTOUKcihlig mN5B3jpPJ2pKiuaUlkEjBpS3IQZ8LeT7nbe5A+RAMeBbxk1TVFRmFtFRYOmoF9LmAMo2 wr72EYFqCg/HUTOroVL+EpGuJuUWi8V4niAOq+2DCrIsmuNix3G3TJyNZeMVmsdLl0+e IYaPsRGJnrPRboY8BfticQ2KUzAQ3GiDuPn4Q52KNEbNIylumcjpNmjAv7XPdBwRL5Tr gHaKxVVfkVbMXaaTG6jJwCPeLhiJqVaygX5LW4tdvLJb3iLngoTU5jyggcswTSeq/Rw7 G+Sw== X-Forwarded-Encrypted: i=1; AJvYcCWYVDWhaMt2CF33npHaXjscCrYPK/nuKgZ3RSD3oQtNrGFpWRF3Jfut7uv2Tg4z+v7QlJpb0ZK1X4j0Lc5eP6o1vVu3aTxnUbVpdlRXQA== X-Gm-Message-State: AOJu0Yw6Sg34uEiNERchhwXzLVg/eDXuA/UKMLdUOFQdXrQ2Sn2+Mbpj YoRnBDsEevJeXH/KnWGHq6+UqTXkpzSRt2e1VITmlyVMK/4vT1+N X-Google-Smtp-Source: AGHT+IF/vzLeiuLcCVw2n0fBwad5kx+1qLvBsRs9a1VyKzFnQzt6YUgMuJbFTayG4LQSuxcQ3ZGn3g== X-Received: by 2002:a05:600c:4fc3:b0:419:87ab:f6da with SMTP id o3-20020a05600c4fc300b0041987abf6damr4553524wmq.3.1714052687207; Thu, 25 Apr 2024 06:44:47 -0700 (PDT) Received: from lucy.. (cpc115152-dals23-2-0-cust532.20-2.cable.virginm.net. [86.12.82.21]) by smtp.gmail.com with ESMTPSA id bg11-20020a05600c3c8b00b0041a9c3444a6sm11235579wmb.28.2024.04.25.06.44.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 25 Apr 2024 06:44:46 -0700 (PDT) From: Connor Abbott To: Rob Clark , Abhinav Kumar , Dmitry Baryshkov , Sean Paul , Marijn Suijten , linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org Cc: Connor Abbott Subject: [PATCH 3/6] drm/msm: Update a6xx registers Date: Thu, 25 Apr 2024 14:43:51 +0100 Message-Id: <20240425134354.1233862-4-cwabbott0@gmail.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20240425134354.1233862-1-cwabbott0@gmail.com> References: <20240425134354.1233862-1-cwabbott0@gmail.com> Precedence: bulk X-Mailing-List: linux-arm-msm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Update to mesa commit ff155f46a33 ("freedreno/a7xx: Register updates from kgsl"). Signed-off-by: Connor Abbott --- drivers/gpu/drm/msm/registers/adreno/a6xx.xml | 28 +++++++++++++++++-- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/msm/registers/adreno/a6xx.xml b/drivers/gpu/drm/msm/registers/adreno/a6xx.xml index 78524aaab9d4..43fe90c12679 100644 --- a/drivers/gpu/drm/msm/registers/adreno/a6xx.xml +++ b/drivers/gpu/drm/msm/registers/adreno/a6xx.xml @@ -1227,6 +1227,7 @@ to upconvert to 32b float internally? + @@ -1503,6 +1504,9 @@ to upconvert to 32b float internally? + + + @@ -2842,7 +2846,11 @@ to upconvert to 32b float internally? - + + RB_SAMPLE_COUNT_ADDR register is used up to (and including) a730. After that + the address is specified through CP_EVENT_WRITE7::WRITE_SAMPLE_COUNT. + + @@ -2950,7 +2958,7 @@ to upconvert to 32b float internally? - + @@ -3306,6 +3314,15 @@ to upconvert to 32b float internally? + + + + + @@ -4293,7 +4310,7 @@ to upconvert to 32b float internally? - + @@ -4965,6 +4982,11 @@ to upconvert to 32b float internally? + + + + + From patchwork Thu Apr 25 13:43:52 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Connor Abbott X-Patchwork-Id: 13643390 Received: from mail-wm1-f47.google.com (mail-wm1-f47.google.com [209.85.128.47]) (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 77B29149C4D for ; Thu, 25 Apr 2024 13:44:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.47 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1714052692; cv=none; b=edAXGIwpYLWCpNcTdztSl0lB0sgS4+RLZ3LzDWs/xNz3L3KoLOi9lvTddnIfpOZL5eo+ib3vlbHT/JUXjLsE7xfltBIqY+OSk5RMKSpXrb3Y1CRRT+XUSQDhGSx/IpuOSQhKFkUleozDUoEMVxPy0tf6oxLnR06Jt7s5mMDyodA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1714052692; c=relaxed/simple; bh=q+8vvV85Xt2kiI6v4uLqD484bTYDKTHjzQ5nlUt5WmI=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=NbwD8mTMjZTgo23GkdQdvoBbbMZBy90sUovnc0ltDjABfNH7pTKGv7aLnh5pv7/Q2g5/haJ3IybJXfEDx8yso2xc24n5WZ0sBS2fp3hPggcTTBXbqkn/VzGLXpmaJ2veVAxUEqMef0RLfPVMSjBgwVlWz95y2DC1+zesoAF1LFU= 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=LZKGKJ3p; arc=none smtp.client-ip=209.85.128.47 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="LZKGKJ3p" Received: by mail-wm1-f47.google.com with SMTP id 5b1f17b1804b1-41b5dd5aefaso2606995e9.2 for ; Thu, 25 Apr 2024 06:44:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1714052689; x=1714657489; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=rTihIX8sLmoVIkXH5QcNahk5MX8P8s9owUap3i41n88=; b=LZKGKJ3p4FCHpUnz4rUkl/KMp06Mz8Xgy3v1FK73pw/fxskgeY6P4D86260peifLP0 AWJlhGXh6jKaOzUYyv0RgsQGzXoCKFuL+JB6U4Z6SdfzqRU10ByJFsyqaTjebnJPnpli Br1Ukp+eAxurvNJkBOGyGls0WTyDLSMzdFEVMFIZVrUr1WeJPOsDjN40cSrIoddqBKuA zQbihr3nDrI32CXkdZ6UCzv4JWijZmcnrfHiKxBsVIKtIo7nAnyhS3NeuVXgt33YYDXk C6qgWolf+Fe1LG0Sbj4KqOnpARn+oXWwv6ljiTN0N/HcjA0dUDYVN7JwzwJGtsDHLLba /Mdg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1714052689; x=1714657489; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=rTihIX8sLmoVIkXH5QcNahk5MX8P8s9owUap3i41n88=; b=fSr5dPaUYtDxYNuRWMjUw8NsdVAlcI6Xs5h9xh+Yh+p1tixEKGCWX4GTibbdNknAhQ loTQPY0RxXOYrJweB3748APJNYC0lRLwbthQOiG4kHRk9b55GJHnjwQQ6k4Ltiv1f22s B40AZiAh4qb6QLLEFlfqouUHtUJIwWeNVryT5dmhrugO2l2FznC3A/vbDE4nPhq3WqmH 3kQjEr+fpeH4jHhq3NhqZ9BgLhqbar3aNwfHAOAcXfwcHTNeGTSWCShlHY117Fup1AG2 4cdKyeLUijDRK4zIxxlb3DN41zxLgagh3HQOxEibOoTCPYgy/YRNkJLZABcMoqYhfO7W FuJA== X-Forwarded-Encrypted: i=1; AJvYcCWHzuIGHiWwOXW2WRUvmUdEnESkPNnVswXRynFRTQd5RiEKjB8NgFsDL4rdOCgROc63dggVvqAkQN/QsIjkFGj4t9qhHYeAl8atG1QXVg== X-Gm-Message-State: AOJu0YxYys9Dauor+s4s6vpp/lGAfXG1HzwQVPTxab2lQ1TDOy8/gdAS FJNwdEgdePSfkaNGDSz0/sSNwKnEKTzonoNry4B1B9ndxSK7g7oE X-Google-Smtp-Source: AGHT+IFZ92tOkIQrO4aXjKukSWhhCUnA1Xin4NMwCj3oY3AYnvdhKhxqz09eLcO+ejeKoynapqIDTg== X-Received: by 2002:a05:600c:4691:b0:415:6daf:c626 with SMTP id p17-20020a05600c469100b004156dafc626mr5654356wmo.21.1714052688603; Thu, 25 Apr 2024 06:44:48 -0700 (PDT) Received: from lucy.. (cpc115152-dals23-2-0-cust532.20-2.cable.virginm.net. [86.12.82.21]) by smtp.gmail.com with ESMTPSA id bg11-20020a05600c3c8b00b0041a9c3444a6sm11235579wmb.28.2024.04.25.06.44.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 25 Apr 2024 06:44:47 -0700 (PDT) From: Connor Abbott To: Rob Clark , Abhinav Kumar , Dmitry Baryshkov , Sean Paul , Marijn Suijten , linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org Cc: Connor Abbott Subject: [PATCH 4/6] drm/msm/a7xx: Initialize a750 "software fuse" Date: Thu, 25 Apr 2024 14:43:52 +0100 Message-Id: <20240425134354.1233862-5-cwabbott0@gmail.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20240425134354.1233862-1-cwabbott0@gmail.com> References: <20240425134354.1233862-1-cwabbott0@gmail.com> Precedence: bulk X-Mailing-List: linux-arm-msm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 On all Qualcomm platforms with a7xx GPUs, qcom_scm provides a method to initialize cx_mem. Copy this from downstream (minus BCL which we currently don't support). On a750, this includes a new "fuse" register which can be used by qcom_scm to fuse off certain features like raytracing in software. The fuse is default off, and is initialized by calling the method. Afterwards we have to read it to find out which features were enabled. Signed-off-by: Connor Abbott --- drivers/gpu/drm/msm/adreno/a6xx_gpu.c | 89 ++++++++++++++++++++++++- drivers/gpu/drm/msm/adreno/adreno_gpu.h | 2 + 2 files changed, 90 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/msm/adreno/a6xx_gpu.c b/drivers/gpu/drm/msm/adreno/a6xx_gpu.c index cf0b1de1c071..fb2722574ae5 100644 --- a/drivers/gpu/drm/msm/adreno/a6xx_gpu.c +++ b/drivers/gpu/drm/msm/adreno/a6xx_gpu.c @@ -10,6 +10,7 @@ #include #include +#include #include #include @@ -1686,7 +1687,8 @@ static int a6xx_zap_shader_init(struct msm_gpu *gpu) A6XX_RBBM_INT_0_MASK_RBBM_HANG_DETECT | \ A6XX_RBBM_INT_0_MASK_UCHE_OOB_ACCESS | \ A6XX_RBBM_INT_0_MASK_UCHE_TRAP_INTR | \ - A6XX_RBBM_INT_0_MASK_TSBWRITEERROR) + A6XX_RBBM_INT_0_MASK_TSBWRITEERROR | \ + A6XX_RBBM_INT_0_MASK_SWFUSEVIOLATION) #define A7XX_APRIV_MASK (A6XX_CP_APRIV_CNTL_ICACHE | \ A6XX_CP_APRIV_CNTL_RBFETCH | \ @@ -2356,6 +2358,26 @@ static void a6xx_fault_detect_irq(struct msm_gpu *gpu) kthread_queue_work(gpu->worker, &gpu->recover_work); } +static void a7xx_sw_fuse_violation_irq(struct msm_gpu *gpu) +{ + u32 status; + + status = gpu_read(gpu, REG_A7XX_RBBM_SW_FUSE_INT_STATUS); + gpu_write(gpu, REG_A7XX_RBBM_SW_FUSE_INT_MASK, 0); + + dev_err_ratelimited(&gpu->pdev->dev, "SW fuse violation status=%8.8x\n", status); + + /* Ignore FASTBLEND violations, because the HW will silently fall back + * to legacy blending. + */ + if (status & (A7XX_CX_MISC_SW_FUSE_VALUE_RAYTRACING | + A7XX_CX_MISC_SW_FUSE_VALUE_LPAC)) { + del_timer(&gpu->hangcheck_timer); + + kthread_queue_work(gpu->worker, &gpu->recover_work); + } +} + static irqreturn_t a6xx_irq(struct msm_gpu *gpu) { struct msm_drm_private *priv = gpu->dev->dev_private; @@ -2384,6 +2406,9 @@ static irqreturn_t a6xx_irq(struct msm_gpu *gpu) if (status & A6XX_RBBM_INT_0_MASK_UCHE_OOB_ACCESS) dev_err_ratelimited(&gpu->pdev->dev, "UCHE | Out of bounds access\n"); + if (status & A6XX_RBBM_INT_0_MASK_SWFUSEVIOLATION) + a7xx_sw_fuse_violation_irq(gpu); + if (status & A6XX_RBBM_INT_0_MASK_CP_CACHE_FLUSH_TS) msm_gpu_retire(gpu); @@ -2525,6 +2550,60 @@ static void a6xx_llc_slices_init(struct platform_device *pdev, a6xx_gpu->llc_mmio = ERR_PTR(-EINVAL); } +static int a7xx_cx_mem_init(struct a6xx_gpu *a6xx_gpu) +{ + struct adreno_gpu *adreno_gpu = &a6xx_gpu->base; + struct msm_gpu *gpu = &adreno_gpu->base; + u32 gpu_req = QCOM_SCM_GPU_ALWAYS_EN_REQ; + u32 fuse_val; + int ret; + + if (adreno_is_a740(adreno_gpu)) { + /* Raytracing is always enabled on a740 */ + adreno_gpu->has_ray_tracing = true; + } + + if (!qcom_scm_is_available()) { + /* Assume that if qcom scm isn't available, that whatever + * replacement allows writing the fuse register ourselves. + * Users of alternative firmware need to make sure this + * register is writeable or indicate that it's not somehow. + * Print a warning because if you mess this up you're about to + * crash horribly. + */ + if (adreno_is_a750(adreno_gpu)) { + dev_warn_once(gpu->dev->dev, + "SCM is not available, poking fuse register\n"); + a6xx_llc_write(a6xx_gpu, REG_A7XX_CX_MISC_SW_FUSE_VALUE, + A7XX_CX_MISC_SW_FUSE_VALUE_RAYTRACING | + A7XX_CX_MISC_SW_FUSE_VALUE_FASTBLEND | + A7XX_CX_MISC_SW_FUSE_VALUE_LPAC); + adreno_gpu->has_ray_tracing = true; + } + + return 0; + } + + if (adreno_is_a750(adreno_gpu)) + gpu_req |= QCOM_SCM_GPU_TSENSE_EN_REQ; + + ret = qcom_scm_gpu_init_regs(gpu_req); + if (ret) + return ret; + + /* On a750 raytracing may be disabled by the firmware, find out whether + * that's the case. The scm call above sets the fuse register. + */ + if (adreno_is_a750(adreno_gpu)) { + fuse_val = a6xx_llc_read(a6xx_gpu, REG_A7XX_CX_MISC_SW_FUSE_VALUE); + adreno_gpu->has_ray_tracing = + !!(fuse_val & A7XX_CX_MISC_SW_FUSE_VALUE_RAYTRACING); + } + + return 0; +} + + #define GBIF_CLIENT_HALT_MASK BIT(0) #define GBIF_ARB_HALT_MASK BIT(1) #define VBIF_XIN_HALT_CTRL0_MASK GENMASK(3, 0) @@ -3094,6 +3173,14 @@ struct msm_gpu *a6xx_gpu_init(struct drm_device *dev) return ERR_PTR(ret); } + if (adreno_is_a7xx(adreno_gpu)) { + ret = a7xx_cx_mem_init(a6xx_gpu); + if (ret) { + a6xx_destroy(&(a6xx_gpu->base.base)); + return ERR_PTR(ret); + } + } + if (gpu->aspace) msm_mmu_set_fault_handler(gpu->aspace->mmu, gpu, a6xx_fault_handler); diff --git a/drivers/gpu/drm/msm/adreno/adreno_gpu.h b/drivers/gpu/drm/msm/adreno/adreno_gpu.h index 77526892eb8c..4180f3149dd8 100644 --- a/drivers/gpu/drm/msm/adreno/adreno_gpu.h +++ b/drivers/gpu/drm/msm/adreno/adreno_gpu.h @@ -182,6 +182,8 @@ struct adreno_gpu { */ const unsigned int *reg_offsets; bool gmu_is_wrapper; + + bool has_ray_tracing; }; #define to_adreno_gpu(x) container_of(x, struct adreno_gpu, base) From patchwork Thu Apr 25 13:43:53 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Connor Abbott X-Patchwork-Id: 13643391 Received: from mail-lj1-f180.google.com (mail-lj1-f180.google.com [209.85.208.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 5E22612BE8C for ; Thu, 25 Apr 2024 13:44:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.180 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1714052692; cv=none; b=ZP1gJB5FGcBjJJRcO6eUcKvoxeUWso6mPgSCwA+V0SHIYCG4k52cfjExh7a1WgANTrUWbVl7cdxRIcZ1nHFbrsjs44YxAWgFdgzhoG1xQgdNsw55+e6ufONYkH71/1b1Tpdhy3echztW1qFv9p6JdZ/IdMUEymlN+AyxfArfzG4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1714052692; c=relaxed/simple; bh=5G2gGeC+2SdWmykvnu29RbK5EuZqlDisbqb6kFMexV4=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=SX04kIXTrgNRq3SDLUHL3x8TtLin0jHe1lCzsO1zqbSuXePdQ/WXiSXJMKNifkuY4SjV/lmuupzWO0uZKC7kkxHvs+m4JqyYomn0hwBV9SCxxLc2bfjgTPIxryVuUI3Mo41NPrEO2p7MiQXEAIgcimwjahlbqIMsgJNFbDGi6pw= 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=aNokLbBC; arc=none smtp.client-ip=209.85.208.180 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="aNokLbBC" Received: by mail-lj1-f180.google.com with SMTP id 38308e7fff4ca-2def38477b8so6441231fa.2 for ; Thu, 25 Apr 2024 06:44:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1714052689; x=1714657489; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=uii1WjicEmGL6f3QVir6hJNE0qnpUgKBh+/oYZXrzo4=; b=aNokLbBCCswlPjz8ABOPQkddxG0SIh6eELfZfxbQWajKj58VlsGaNmrburgs1yhUuc u/QLWZP2yV4Z8ExJlJXMqB0HnJK7Vm1Ra6MJFLm6EqHcO0Kas57DQcVV/jrx6lh2BT0p WpypjUOG7FmRFNrnftmSyszz+R7ETKsvurobP54H9OdUVMSyZ5qr3C5/l25/ImCEDygW kvzn01hqklzs4WMpdyko9uYKJcTv5vc0DJU+2RHIrFge6Yn5G2pAHZ3YmUO0TdjWAHWm X/TV2zGYegT05OdPwiv4t+vS+VUUOPv0Mkc4b3uYQ4VBxIHgviMwE3a3Q1Ih/TS/n3pF e5OA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1714052689; x=1714657489; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=uii1WjicEmGL6f3QVir6hJNE0qnpUgKBh+/oYZXrzo4=; b=DK/Ylfx8cH2nJKLTY24vqI5qpfkyDT4tQHOPb8KFEXAvFbDMOf2pO+k9tZgYeOf20A 32QanhYSX5KsOMm7tFw3S/uSCGDkTxbRAZrldUX4bK7+TNX0qBYv5km0zeQyOTVIF2uf ud5J1xtUJ0d9sVrcvobzC3u9ZhhM8RJ7jDRwX/DzPS49CLSPorjkMLojn63dP2eIVJx0 eiLgcrh6DFtTyqndRiiqBj1N7WNxiU3xt2BxTIBBT8Z0Z0sdXXn1yeLh+QSfwyVd+hpM S2IvPoYqxw9+aeN41v5U5a/Rt6mMw8OLch/z05ExJaVqPmKPcegkXmFJcq8ncTv3+Y7T +D4w== X-Forwarded-Encrypted: i=1; AJvYcCWmTKSy4v65llpmXCS04Et7K6waFG0WCQuQNmO5MQOi64Zp5LoL03uxPuZEiJ9l1GaJLuexbAOADrmDD2F+J0g8fOT77NdVomxoN501UA== X-Gm-Message-State: AOJu0YwTYTD1LelOaMVyWJyST4tLg6DgZPeKUimslCU2tr5ciFaEvYme Fu8UQf26Tmxn0gRZiD5DsYmTb4uGi0HNH/RfheONsrfAIriaffa5 X-Google-Smtp-Source: AGHT+IE2EmqlnVwTULFEUA4rxZgGPXRdF6Z2BUzbVp53KcX0JmbF/uP2h1SDfiUZB4ZJULkt6nN9hg== X-Received: by 2002:a2e:b007:0:b0:2d3:2ecf:c26a with SMTP id y7-20020a2eb007000000b002d32ecfc26amr3808197ljk.13.1714052689456; Thu, 25 Apr 2024 06:44:49 -0700 (PDT) Received: from lucy.. (cpc115152-dals23-2-0-cust532.20-2.cable.virginm.net. [86.12.82.21]) by smtp.gmail.com with ESMTPSA id bg11-20020a05600c3c8b00b0041a9c3444a6sm11235579wmb.28.2024.04.25.06.44.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 25 Apr 2024 06:44:49 -0700 (PDT) From: Connor Abbott To: Rob Clark , Abhinav Kumar , Dmitry Baryshkov , Sean Paul , Marijn Suijten , linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org Cc: Connor Abbott Subject: [PATCH 5/6] drm/msm: Add MSM_PARAM_RAYTRACING uapi Date: Thu, 25 Apr 2024 14:43:53 +0100 Message-Id: <20240425134354.1233862-6-cwabbott0@gmail.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20240425134354.1233862-1-cwabbott0@gmail.com> References: <20240425134354.1233862-1-cwabbott0@gmail.com> Precedence: bulk X-Mailing-List: linux-arm-msm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Expose the value of the software fuse to userspace. Signed-off-by: Connor Abbott Reviewed-by: Dmitry Baryshkov --- drivers/gpu/drm/msm/adreno/adreno_gpu.c | 3 +++ include/uapi/drm/msm_drm.h | 1 + 2 files changed, 4 insertions(+) diff --git a/drivers/gpu/drm/msm/adreno/adreno_gpu.c b/drivers/gpu/drm/msm/adreno/adreno_gpu.c index 074fb498706f..99ad651857b2 100644 --- a/drivers/gpu/drm/msm/adreno/adreno_gpu.c +++ b/drivers/gpu/drm/msm/adreno/adreno_gpu.c @@ -376,6 +376,9 @@ int adreno_get_param(struct msm_gpu *gpu, struct msm_file_private *ctx, case MSM_PARAM_HIGHEST_BANK_BIT: *value = adreno_gpu->ubwc_config.highest_bank_bit; return 0; + case MSM_PARAM_RAYTRACING: + *value = adreno_gpu->has_ray_tracing; + return 0; default: DBG("%s: invalid param: %u", gpu->name, param); return -EINVAL; diff --git a/include/uapi/drm/msm_drm.h b/include/uapi/drm/msm_drm.h index d8a6b3472760..3fca72f73861 100644 --- a/include/uapi/drm/msm_drm.h +++ b/include/uapi/drm/msm_drm.h @@ -87,6 +87,7 @@ struct drm_msm_timespec { #define MSM_PARAM_VA_START 0x0e /* RO: start of valid GPU iova range */ #define MSM_PARAM_VA_SIZE 0x0f /* RO: size of valid GPU iova range (bytes) */ #define MSM_PARAM_HIGHEST_BANK_BIT 0x10 /* RO */ +#define MSM_PARAM_RAYTRACING 0x11 /* RO */ /* For backwards compat. The original support for preemption was based on * a single ring per priority level so # of priority levels equals the # From patchwork Thu Apr 25 13:43:54 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Connor Abbott X-Patchwork-Id: 13643392 Received: from mail-lj1-f174.google.com (mail-lj1-f174.google.com [209.85.208.174]) (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 6D4B8149DEF for ; Thu, 25 Apr 2024 13:44:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.174 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1714052694; cv=none; b=pzNT9q7oNAUBOlxVJxEB9A4jEMkmm/NsjtdZ4X9L+3h0JVFLIEcWQxsaoQssXbcwzoCHsrL4nwADlxkZpZKTFBm7itcLd7jOLcKpwiorepQJYYtDuthRNGLg2hERxxkiz5Y2GohWaIuPF7kyfCShw7wUAkt5TfFos1agceLTmZQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1714052694; c=relaxed/simple; bh=fxDpAQmnOtd35OeksyDO2Bwro4J0e+gCpi+QnMbCBQs=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=ombJPiNy+blLX4edpZZkzeMXUJ/r1830AYYeHMytNeuYKQFHrlzXowYzSgE0t63Kcu/SyFrCMi6m9VgfnkBkJ16dGovlh6PC1n2tLhdtWmscMjW+Y0jV3UFfDnoZFlgr56QhyUUYPXKwYlhbMygqTi/ijK0pjQiMNIxYBBWiB5Q= 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=UgL1+iyB; arc=none smtp.client-ip=209.85.208.174 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="UgL1+iyB" Received: by mail-lj1-f174.google.com with SMTP id 38308e7fff4ca-2d895e2c6efso14739581fa.0 for ; Thu, 25 Apr 2024 06:44:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1714052690; x=1714657490; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=80Mots/dK4gyAXTnhx+FHFnhKcgvoR1D8qAAi0ppbjM=; b=UgL1+iyBZVRYvr110aFQg2x1+/SFCd/snTNW4CQIahxRAnDXTeJJyfKssRIoonCigy 9V4xfFRfO1pidqsTBFDjCfdl8Jz62fMwWfY53SHibGsya25pji9tnV02cThWCahm79gr yqP0oqSYCiDgXXLAAWMTOWJLTPd/2lBxaq19PXu5HO4czN8dga8JiSrcq9ACXTH4FowC YVkdUA8/V1L7rZ2kuNc62RyihputBOqLXjOTcUPJI1O3SmvK588wp8d24f9d1Q4afHBW sPZTe8QGPwAEa6vEBw7kf71aD1rgwbZ802DI8F5Sr/6P8FAEbHEc0uMnjIc25nVrgviB VZCQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1714052690; x=1714657490; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=80Mots/dK4gyAXTnhx+FHFnhKcgvoR1D8qAAi0ppbjM=; b=e4v8sOmyf5wtVaNFTJ7NkJeKm0NodUQBOLUDTnqTcHyxXAdjlLb+xNsT8AU023o0/t xHInNKBl5YQJDDCoTAgnd9QSPHir4YBcqXJHXtooUHqej0DuwukY+ros8D57pQys9/oc L48W/sSXap3enzJxtXo8QwTuGmuFpkphHH+qgwJxAbwEjvOkolgkK6xW1vyU51OayEOP uY4okKUuln9DyQA2HEuS8xaaL0vlIUttBgCwyYdvTMo7HnzuhwKDJymtQx/+CBbASILg fW+x1Pntw9PjE0jNSNfFME4JCVv1ev/wH9AGMZnlkB6TQ2Y4yQYHEHpx3YYeb528OAaS VmEw== X-Forwarded-Encrypted: i=1; AJvYcCU33bSYUv/XrC5+U5HW+Sb3GQ28w7HMpb9pgz4zxVJo7pwKsS9zIlpynuFreJX4+eyYVRnaLckd6roLQiAvmklAX/fxyHRWkKgXFXkKLA== X-Gm-Message-State: AOJu0YwPGILgFHGjgJzllRp0osXuO6OTK33e+IXVHyPXBND5fNjLk4Ht vYYKEJaPJgPdRorhdcCrmf65SFKsAV7QIwjL+sr9E8Gm85AfOVdm X-Google-Smtp-Source: AGHT+IF+bKo8BjZt1JJiQvfXOypqRzU/qEPWlXRDnVtVzK2G4v48y1SV8lalDBDLMGdvxZxkHS7lxQ== X-Received: by 2002:a05:651c:222b:b0:2d8:d8b5:73c7 with SMTP id y43-20020a05651c222b00b002d8d8b573c7mr4403430ljq.23.1714052690462; Thu, 25 Apr 2024 06:44:50 -0700 (PDT) Received: from lucy.. (cpc115152-dals23-2-0-cust532.20-2.cable.virginm.net. [86.12.82.21]) by smtp.gmail.com with ESMTPSA id bg11-20020a05600c3c8b00b0041a9c3444a6sm11235579wmb.28.2024.04.25.06.44.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 25 Apr 2024 06:44:50 -0700 (PDT) From: Connor Abbott To: Rob Clark , Abhinav Kumar , Dmitry Baryshkov , Sean Paul , Marijn Suijten , linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org Cc: Connor Abbott Subject: [PATCH 6/6] drm/msm/a7xx: Add missing register writes from downstream Date: Thu, 25 Apr 2024 14:43:54 +0100 Message-Id: <20240425134354.1233862-7-cwabbott0@gmail.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20240425134354.1233862-1-cwabbott0@gmail.com> References: <20240425134354.1233862-1-cwabbott0@gmail.com> Precedence: bulk X-Mailing-List: linux-arm-msm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 This isn't known to fix anything yet, but it's a good idea to add it. Signed-off-by: Connor Abbott --- drivers/gpu/drm/msm/adreno/a6xx_gpu.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drivers/gpu/drm/msm/adreno/a6xx_gpu.c b/drivers/gpu/drm/msm/adreno/a6xx_gpu.c index fb2722574ae5..e015f3b43bac 100644 --- a/drivers/gpu/drm/msm/adreno/a6xx_gpu.c +++ b/drivers/gpu/drm/msm/adreno/a6xx_gpu.c @@ -1953,6 +1953,14 @@ static int hw_init(struct msm_gpu *gpu) BIT(6) | BIT(5) | BIT(3) | BIT(2) | BIT(1)); } + if (adreno_is_a750(adreno_gpu)) { + gpu_rmw(gpu, REG_A6XX_RB_CMP_DBG_ECO_CNTL, BIT(19), BIT(19)); + + gpu_write(gpu, REG_A6XX_TPL1_DBG_ECO_CNTL1, 0xc0700); + } else if (adreno_is_a7xx(adreno_gpu)) { + gpu_rmw(gpu, REG_A6XX_RB_CMP_DBG_ECO_CNTL, BIT(19), BIT(19)); + } + /* Enable interrupts */ gpu_write(gpu, REG_A6XX_RBBM_INT_0_MASK, adreno_is_a7xx(adreno_gpu) ? A7XX_INT_MASK : A6XX_INT_MASK);