From nobody Thu Oct 2 11:48:21 2025 Received: from mail-pf1-f170.google.com (mail-pf1-f170.google.com [209.85.210.170]) (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 425EC2798E5 for ; Tue, 16 Sep 2025 21:08:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.170 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758056914; cv=none; b=fo5yGb/sEXlPDHNSd0O/F+syqfzvWmverwSI7WFOkMUjUUQaUuw2njTWP5TAdporxT6YtQ5DHOMmCe6Wya/CbfW152w3Jk4N0vAG5VBJIfQhxVuOQdA4Pv5+iFiQCyRxNlBkSZ+CMkLhfb0ulySKgxZ5sNVtOYelpyRBc9th+fM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758056914; c=relaxed/simple; bh=SuiPmK+Crh42Wn2BmX/TuMGhY6YmRUh+uPBkvuNcLk8=; h=From:To:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ZKGUwjGSEc9NGkTtcxbNeD1GcxwKmONvDIXgMbUS4VB4MRIhqIL6eKgmKBQslwRvexki9vNoE550TeIuLEYWnvod1XMVEdkFZfmEC8uSpNKkIA4TsfSsbV7t2c65AYyJdFl1RGZyK1lEftfWAs0FOn1q1y3QQJvTed3jH2QfBAQ= 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=C8umpCHb; arc=none smtp.client-ip=209.85.210.170 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="C8umpCHb" Received: by mail-pf1-f170.google.com with SMTP id d2e1a72fcca58-77619f3f41aso3489523b3a.2 for ; Tue, 16 Sep 2025 14:08:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1758056912; x=1758661712; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=JXlqsfnKLagrxPr3VzrTdqYzxgGnKLHikbQ3zw87L3c=; b=C8umpCHbwZZ2llAQ1djBycVECywlKd5mAd1G02oPuDt4hYOusHAsdriA084wbIHFkK 91eP+zDaGyanHdZ8W4h5uE+vy6ZXSlMWOpA2kAvyFJ847YgYUiWiw3OMXJEGDm2l51JG b4/m9x1c4ynmk7ZPWEhk2bQsxHDMbbHa3bcDSbT5CIsDyZEGc72J5gstBWlUdDAJhaRS m2AQn9Hmd8ke2vy4m7xmnmpP5cm6rtIxXKXIkiqu1ncowVja+a02bVEEMah7e7gNG6yr 6UYGdygIodxgcA7KwCVN0PXQX1SUn3On+JAJObjvwukIvyvWK5YYPMfml/iAYwcZROIF rRyA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1758056912; x=1758661712; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=JXlqsfnKLagrxPr3VzrTdqYzxgGnKLHikbQ3zw87L3c=; b=pkDZclCMLOQgfknfVk4T6XZ6ohHIc2CUZ2ooj+pP9ctqg5a8+L+R+Ah9eUgce7uZbL xBMdZEGqzrYOpG61+IEz4Kv4ZPK16OuqE5hokd9yXXrbCWuUMVqth2XHmXzS4dGWjD3r GOoU4gM1ZDhrCuJC/r84+OIq7w4Ez7m0EywDfYA2Z//VGcVrh2+Z/d0dWpxTgAaYg+Hx rsx8LRwOjMZU+sSSfIsdvFl5yNyLd4uRNjI/w1fDMO18KkVIh9j8DysRr4ljW8jzr/Ko mqK1KAPYjdqeFqCrSovB7vbpww3LA8I3YKZpC4UWXiZTSLDHQB0ujWoI4QMSQGlNn6xB eC5g== X-Forwarded-Encrypted: i=1; AJvYcCXLamdwKlesTNe9bAxsvO8MO2VYZUlauVX8dxDWwESX8Gz/EbYeoDViptdgkebeTSaSdkoeqA1zxze2SgM=@vger.kernel.org X-Gm-Message-State: AOJu0Yx6Zc+RxOD9ZJudysR944SNm4zSbovAAhe48cvsjiQ8c7wuz3AJ 4J4wZ/oAZ4wZq55WBj+k3AFQ32DrVa745hGseNIJW30Yfkxtq97I+pWV X-Gm-Gg: ASbGncvtqWJpw/LvkoQE7UAjM99cKwRIyOYQ48sU3ofmYIWy3shlB8T9Zh0g9R8sJr/ H3KKJM4aSFfTtFxnl69J8QCjnb9vhmTNedEwJx+0esrYZap5AWehBkn+LluRag7So8dBE123719 CNZOvyuXCpyTCwhlhKpI8W+oiDLd+0uuwBJmWJ75t3VYkp/tKWL9t2Iu0H+hg3qW++Cn1rht31j LYM7HqC8GBOG/yj5Znpm09dYN0ikw9w4SSxkTYDpdPlJk4NHpJDPAYj4D0h7U9B47b2LTtzyl8B P3XwwLnBp156hj9B72V6VjM8S/sCe6KYXiZJmk3bX8W1Tja+8/rbO3zqKKLmr0G/YwPrNb0Pk76 VXd5EDRp0Oek/wk6Y2c3jHwnDf75hRkEda2Jgin6y2X91RQzwpVYGJSo0eQ7BkvrA4d+KUWxOLX BfQx+44ht4uA== X-Google-Smtp-Source: AGHT+IGpEOt2m53Rpg1wAIXOJxhtQSEdxYW2LFFzym9M525oZbCACFLRLKzow9N2bwg0rZ2ZXol3rg== X-Received: by 2002:a17:903:19e8:b0:267:776b:a315 with SMTP id d9443c01a7336-267776ba382mr100151885ad.32.1758056912450; Tue, 16 Sep 2025 14:08:32 -0700 (PDT) Received: from localhost (185.3.125.34.bc.googleusercontent.com. [34.125.3.185]) by smtp.gmail.com with UTF8SMTPSA id d9443c01a7336-26711e5d42csm62779625ad.78.2025.09.16.14.08.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 16 Sep 2025 14:08:31 -0700 (PDT) From: Chia-I Wu To: Boris Brezillon , Steven Price , Liviu Dudau , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Grant Likely , Heiko Stuebner , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org Subject: [PATCH 01/10] drm/panthor: rename and document wait_ready Date: Tue, 16 Sep 2025 14:08:14 -0700 Message-ID: <20250916210823.4033529-2-olvaffe@gmail.com> X-Mailer: git-send-email 2.51.0.384.g4c02a37b29-goog In-Reply-To: <20250916210823.4033529-1-olvaffe@gmail.com> References: <20250916210823.4033529-1-olvaffe@gmail.com> 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" Rename wait_ready to mmu_hw_wait_ready. Signed-off-by: Chia-I Wu --- drivers/gpu/drm/panthor/panthor_mmu.c | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/panthor/panthor_mmu.c b/drivers/gpu/drm/pantho= r/panthor_mmu.c index 6dec4354e3789..d3af4f79012b4 100644 --- a/drivers/gpu/drm/panthor/panthor_mmu.c +++ b/drivers/gpu/drm/panthor/panthor_mmu.c @@ -503,7 +503,17 @@ static void free_pt(void *cookie, void *data, size_t s= ize) kmem_cache_free(pt_cache, data); } =20 -static int wait_ready(struct panthor_device *ptdev, u32 as_nr) +/** + * mmu_hw_wait_ready() - Wait until the AS is inactive + * @ptdev: Device. + * @as_nr: AS to wait. + * + * An AS can accept one command at a time. This function waits until the A= S is + * inactive and is ready to accept the next command. + * + * Return: 0 on success, a negative error code otherwise. + */ +static int mmu_hw_wait_ready(struct panthor_device *ptdev, u32 as_nr) { int ret; u32 val; @@ -528,7 +538,7 @@ static int write_cmd(struct panthor_device *ptdev, u32 = as_nr, u32 cmd) int status; =20 /* write AS_COMMAND when MMU is ready to accept another command */ - status =3D wait_ready(ptdev, as_nr); + status =3D mmu_hw_wait_ready(ptdev, as_nr); if (!status) gpu_write(ptdev, AS_COMMAND(as_nr), cmd); =20 @@ -601,7 +611,7 @@ static int mmu_hw_do_operation_locked(struct panthor_de= vice *ptdev, int as_nr, =20 lock_region(ptdev, as_nr, iova, size); =20 - ret =3D wait_ready(ptdev, as_nr); + ret =3D mmu_hw_wait_ready(ptdev, as_nr); if (ret) return ret; =20 @@ -617,7 +627,7 @@ static int mmu_hw_do_operation_locked(struct panthor_de= vice *ptdev, int as_nr, write_cmd(ptdev, as_nr, AS_COMMAND_UNLOCK); =20 /* Wait for the unlock command to complete */ - return wait_ready(ptdev, as_nr); + return mmu_hw_wait_ready(ptdev, as_nr); } =20 static int mmu_hw_do_operation(struct panthor_vm *vm, --=20 2.51.0.384.g4c02a37b29-goog From nobody Thu Oct 2 11:48:21 2025 Received: from mail-pf1-f181.google.com (mail-pf1-f181.google.com [209.85.210.181]) (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 5AA7A285406 for ; Tue, 16 Sep 2025 21:08:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.181 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758056915; cv=none; b=LbdUdhys+Y7oRR7oPyDDQLpLAsqJExzz5yDyO+PKGJ2uTeDPpSegNkYRxJSvSzH8WVGVqXdWYZ+ndDtjFKepvvyqKGoJo/sjhshxpuJ6Yta+nr47lmKLsK1iAkth+/D/XM2bVZ2Yz/vbhFoGWNvAbr/RcZSO7l11puOjNFzFpsk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758056915; c=relaxed/simple; bh=DlLhTKO7E6kipPFiDWDrXkdNVJqENLuVKM7fTBvX0cw=; h=From:To:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ZtStLlH/NL6+UI4Ov/weiV+wwQTA0qcyVLB0KgW36MAa9eHN/V+RF81xJpqxi1ZqtudfL1htaKroL7WcDqouM6pvP5/jECn8wms83WvLfyzaBT2LsdxXF/Qxndn66jDpmrWQSaOivnGJut2MxbW4hjmP39U/sCoKw/rWxnKSkuk= 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=U9N0xzyf; arc=none smtp.client-ip=209.85.210.181 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="U9N0xzyf" Received: by mail-pf1-f181.google.com with SMTP id d2e1a72fcca58-77287fb79d3so4555466b3a.1 for ; Tue, 16 Sep 2025 14:08:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1758056913; x=1758661713; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=3aO3jHV+TCdh3X4sNWUTMqSI+YaJsDjuOHp0znGhivY=; b=U9N0xzyfEQUBL8PK1losqd20q4K2VTGX7CBUYDv9hJu7fUwk9ecySeZl6FekaKeBnV xMeQJkMS+TF6874Bbjt0iTUl0yYkEsaX9tZWwiHjyOtCcUlfAVQFpxa2NN9FTm8OjsYz C1MYcfG+GlK0IZNGWHOQOQx+H4CunbkIEAvvWPUkrqXuJHZKCHciBgKVilg23o12G31M pD071wBahvmnJAk5a3Mi189akA/CCorbjIeFXLFk+r2PRVnryyiWIf42tCvC3Gpa3Kbf hDRYS9oPaznL9zaeGH8XwtPL2SjcfCVw2/bzvSbmg9Wmk3RbrVFwFatWuk8btQpHaMMI rBjw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1758056913; x=1758661713; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=3aO3jHV+TCdh3X4sNWUTMqSI+YaJsDjuOHp0znGhivY=; b=XI8TXgmIxsTn3yQm7dMphM/Hok/OdHhaNE4iPlIoKyCijU7HWoTiem6cfajM0cZyo3 moG4oRzD7a2XeU0//UklL7HemmPpihlMfgL5QDuXC18ZZqTyiuGjcZJcNRLUrbJAy85l RUW77qkz7kHM5tmAru9yUzdUQ1Wo/einrtjuGK6CSv32eTa576Q3ytUPNDPN8yTzBIzJ bYmlcfWziHdk0jFS5UOVbF7gaeiPpLGoouGNSvL93TZzYDdKu7UVES0UWheUWBj9LW5h 5IicSwgHNlcLNCYfUSkJoOFCBMMseZGqLRKrow4MvPsl+xYOh5YfmMqSPd6Pd6yN6RJ/ /t4w== X-Forwarded-Encrypted: i=1; AJvYcCUHgcjiBuXpBVVC417gFlFuzQuIFoudkKfG0yuZ9ZWUo8wjMgst5uZmDsR3nYCyObARMRqHWinxKMKs8K4=@vger.kernel.org X-Gm-Message-State: AOJu0YyYZcf/2jF+tkeqDPQsnBBEXUn7nWnz9WbdCCLPzaBb8jBy7M4/ 0dI55/JXXX92wteRxy3jCo9mUVsISelka1XyEpVoWUX2d2ZBF7ziAYlvpkp8/iiE X-Gm-Gg: ASbGncvRiiyLAP/7SOwx2ncq1sa+NSMfxWFs56yhvk9FVB3Osc56OXn7oJhvORAlTVx iNTIDt7z0xwedYI6fjf72R9DTSi1cXA4NEU1y2bunkJi9LcGQt5YmShyZAon1WGFmQWzecs2vlj JgX/qXdfs9htPu4vucM4IAf3HT9qUpAAdeSeRpGxWZksVulXyX+CqCkCjBNwpOOjKt9arMLDEOA WZqbAuLQieEqL8xFLLCShZ8X03ezLXn+6dk44h4DZo/WK0eL5kKXqbxC3LzhR/+b0sw1aYE01ps 197uWOdJp2V7HJ/xOkONi6raYWJGPEekBQz/JR65NnQ6D58PDWUzOTknX5jQProrfDu+nCl1xgI rIXmkKlVu88AjGT3FAObh0avETs5TJ4z/s+VD4dPzwZIFE7vmWdBbIVERWessTAo7m9ppYiZ6cB xGQEuVUd9+ieI0xfoAwapu X-Google-Smtp-Source: AGHT+IErllrXZhiuO08ZvjuaFN67hMPleqZ0DLgAdBUq+kGFJqCmxYGCY5kLycBvM6DB//Dz8cM39w== X-Received: by 2002:a05:6a00:1415:b0:776:1dbf:375b with SMTP id d2e1a72fcca58-7761dbf39f0mr18060001b3a.6.1758056913491; Tue, 16 Sep 2025 14:08:33 -0700 (PDT) Received: from localhost (185.3.125.34.bc.googleusercontent.com. [34.125.3.185]) by smtp.gmail.com with UTF8SMTPSA id d2e1a72fcca58-77607b392fcsm16649240b3a.87.2025.09.16.14.08.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 16 Sep 2025 14:08:33 -0700 (PDT) From: Chia-I Wu To: Boris Brezillon , Steven Price , Liviu Dudau , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Grant Likely , Heiko Stuebner , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org Subject: [PATCH 02/10] drm/panthor: rename and document lock_region Date: Tue, 16 Sep 2025 14:08:15 -0700 Message-ID: <20250916210823.4033529-3-olvaffe@gmail.com> X-Mailer: git-send-email 2.51.0.384.g4c02a37b29-goog In-Reply-To: <20250916210823.4033529-1-olvaffe@gmail.com> References: <20250916210823.4033529-1-olvaffe@gmail.com> 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" Rename lock_region to mmu_hw_cmd_lock. Signed-off-by: Chia-I Wu --- drivers/gpu/drm/panthor/panthor_mmu.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/panthor/panthor_mmu.c b/drivers/gpu/drm/pantho= r/panthor_mmu.c index d3af4f79012b4..8600d98842345 100644 --- a/drivers/gpu/drm/panthor/panthor_mmu.c +++ b/drivers/gpu/drm/panthor/panthor_mmu.c @@ -545,8 +545,17 @@ static int write_cmd(struct panthor_device *ptdev, u32= as_nr, u32 cmd) return status; } =20 -static void lock_region(struct panthor_device *ptdev, u32 as_nr, - u64 region_start, u64 size) +/** + * mmu_hw_cmd_lock() - Issue a LOCK command + * @ptdev: Device. + * @as_nr: AS to issue command to. + * @region_start: Start of the region. + * @size: Size of the region. + * + * Issue a LOCK command to invalidate MMU caches and block future transact= ions + * for a region. + */ +static void mmu_hw_cmd_lock(struct panthor_device *ptdev, u32 as_nr, u64 r= egion_start, u64 size) { u8 region_width; u64 region; @@ -609,7 +618,7 @@ static int mmu_hw_do_operation_locked(struct panthor_de= vice *ptdev, int as_nr, * power it up */ =20 - lock_region(ptdev, as_nr, iova, size); + mmu_hw_cmd_lock(ptdev, as_nr, iova, size); =20 ret =3D mmu_hw_wait_ready(ptdev, as_nr); if (ret) --=20 2.51.0.384.g4c02a37b29-goog From nobody Thu Oct 2 11:48:21 2025 Received: from mail-pg1-f181.google.com (mail-pg1-f181.google.com [209.85.215.181]) (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 50D9529BDBC for ; Tue, 16 Sep 2025 21:08:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.181 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758056916; cv=none; b=MDU0AjK6ABiyR1QuSFTdm4KHQPHVGFjhfiqv5rDhtc+FImvwRCYYDV+eZtyfMZDoZhF9j/pNxB+nuPMQpnGNdwilR94sYqlkK9Y1wgXgIVBf+ffxzBC2wNt051xdJjrcLQuFX6FH6xIWpSBGQ9B+FTf8+Cv1O5oJa2FPSskO3dw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758056916; c=relaxed/simple; bh=i5GnbfqmVnxkYXcn6CYjj6fTv/8HIbej9YLPdSgDdGw=; h=From:To:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=avv2Wdn267Ii5Hqi1IEm3YvTa1Wv8SFT7yUNGioVhhb1JGsCWT5fUIUaoaZ+aJ09zznUIboHfCvB7dzQyOc3CRFYASOeuTgI7icCRR6ZoaSaA2eZ+hRqsJub/6inmIuKO0YorJB+GEhc8WPSUGUjVaKkiPHRkXz6Xz6DAu5lqLI= 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=HuBinTVG; arc=none smtp.client-ip=209.85.215.181 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="HuBinTVG" Received: by mail-pg1-f181.google.com with SMTP id 41be03b00d2f7-b4c3d8bd21eso3895401a12.2 for ; Tue, 16 Sep 2025 14:08:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1758056914; x=1758661714; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=m2+AVyP8cdYBqUaKkF99fDBOfCpjrDMFd2oAZFqPACM=; b=HuBinTVG90IMNcpKXgiLSo2OB2WK1eAD3fwKH6S6Wmlhyqe2M+grUhKuWqz6Pqf4qK 1E6UwETSibQZ29DDTHs1vTqFkRAS1mblPo8ixAOYYar64s+XaL4oixD4qIWGwa7uOFts olj6Qgh0DZF5gYy+bNtNRghdGjFcD9M2grTi03tY6sc/iKYH/TKCa+MM0+OzUtAQ3w3F JMaRkaO6Wy2hwIknk1ruABaY+2D5LEkfJIwgFfhjVAiimLh367oei1JpN6qKGSURoYGM 0Me+6zmhjbzjLlJfaxOcBmkMZ6mTq0bgg15ycZf8/oyGjqdFlOwmexStRxIztRr5fw6f cufg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1758056914; x=1758661714; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=m2+AVyP8cdYBqUaKkF99fDBOfCpjrDMFd2oAZFqPACM=; b=k14qqf2zMxMqorMooIHEX2HAVwgoQgTOOK/rojzCBFmIEN66WpqX2OHZYBV9iZdrF0 AlskpGRn1Xt1RbzbiC9R0PV1yh8DCdSPI0aRpoCJkQrHdsJihU84ygc7ZkPMJ42D0k1U p9/FkiAAwukbdn/JyH4zw29mofjh02ZwM4Un0sc8bg1CDLrJmmR5zF43hlYFavL6HcR6 gSagcWOkXjqqKPeBfYXjZCdrvNndZBevnsw15BCPrDrz9KRClw9VWBumwx/91qDhKDS1 Gj3m5x5x/qTkb8p3RphtozOlmkSAkTaIhfs3OyMo9KyjmlL6RozNT9hJv2Gn8YfsS6FL bqMw== X-Forwarded-Encrypted: i=1; AJvYcCUC6l6LqrIFIwz3/lQu1KbFsRppQTd0vAu1YqEJwJ5wC1h5joO/ec91MA0WkHwb7DkX7s/iDGmMsWALVRI=@vger.kernel.org X-Gm-Message-State: AOJu0YwNEroKOY4vCUx3Dcrda9MEGNfKQnbyR4zdbbzHmfe3HuLvbXhA T9vpZ9OetSGElq62G8bYHVliYrftIYQJ7I1/TntwT+LyrrWYJq+wR2TG X-Gm-Gg: ASbGncvnTimuO+Jt5B4jFQwFmHWpng0yA8TnmRD4y1GOlCN14EDACurJqEITGcvXQcX rsuB+UTa92I0xkNAkO1UZqv25sT5pCGQwhWwGOijykAihAof2t9/2nqps5TZjR6Wejb7Af7JX/h FeNj/mYuTM2Tk0nT4UbDineQU/rY6jImGaw5k5GFCkURp7ABApJE0CBlmuLkQDVQfig4GXGWMLF tOltW+A/mil5AshBMmhXuieHEpA/U/kIqGXJ0Br7PpWw7//01uoHY+0ZlMHU6FhK1rt5k4HZhgI csgi6Ep3qIsSsCO/5ijqmGuquK4z/5Ge8UYhRksYOo55madrx31YjMAyeWtf4/g364PXvKJ+es2 nv91rbTYwJ0tErbiCW3BryihKhDLFiXtwkOCBXJKRMcEk2Ky5VLdAJoaMy4Qy4heZ+TVDpJxri/ Jad0vcgoALyw== X-Google-Smtp-Source: AGHT+IE30vWEscVxco130cSQzQXEWjfzODa+kIkYNIPjO8BENCWK1VbimiHaV06bj4bFJuwZm56sfQ== X-Received: by 2002:a17:90b:1649:b0:32e:1b1c:f8b8 with SMTP id 98e67ed59e1d1-32e1b1cfc95mr15610484a91.26.1758056914499; Tue, 16 Sep 2025 14:08:34 -0700 (PDT) Received: from localhost (185.3.125.34.bc.googleusercontent.com. [34.125.3.185]) by smtp.gmail.com with UTF8SMTPSA id 98e67ed59e1d1-32ed2705f71sm475216a91.28.2025.09.16.14.08.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 16 Sep 2025 14:08:34 -0700 (PDT) From: Chia-I Wu To: Boris Brezillon , Steven Price , Liviu Dudau , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Grant Likely , Heiko Stuebner , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org Subject: [PATCH 03/10] drm/panthor: add mmu_hw_cmd_unlock Date: Tue, 16 Sep 2025 14:08:16 -0700 Message-ID: <20250916210823.4033529-4-olvaffe@gmail.com> X-Mailer: git-send-email 2.51.0.384.g4c02a37b29-goog In-Reply-To: <20250916210823.4033529-1-olvaffe@gmail.com> References: <20250916210823.4033529-1-olvaffe@gmail.com> 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" Add a simple helper for the UNLOCK command. Signed-off-by: Chia-I Wu --- drivers/gpu/drm/panthor/panthor_mmu.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/panthor/panthor_mmu.c b/drivers/gpu/drm/pantho= r/panthor_mmu.c index 8600d98842345..953348f9afdb8 100644 --- a/drivers/gpu/drm/panthor/panthor_mmu.c +++ b/drivers/gpu/drm/panthor/panthor_mmu.c @@ -588,6 +588,19 @@ static void mmu_hw_cmd_lock(struct panthor_device *ptd= ev, u32 as_nr, u64 region_ write_cmd(ptdev, as_nr, AS_COMMAND_LOCK); } =20 +/** + * mmu_hw_cmd_unlock() - Issue an UNLOCK command + * @ptdev: Device. + * @as_nr: AS to issue command to. + * + * Issue an UNLOCK command to unblock transactions for a locked region. The + * region is implied by the last mmu_hw_cmd_lock call. + */ +static void mmu_hw_cmd_unlock(struct panthor_device *ptdev, u32 as_nr) +{ + write_cmd(ptdev, as_nr, AS_COMMAND_UNLOCK); +} + static int mmu_hw_do_operation_locked(struct panthor_device *ptdev, int as= _nr, u64 iova, u64 size, u32 op) { @@ -633,7 +646,7 @@ static int mmu_hw_do_operation_locked(struct panthor_de= vice *ptdev, int as_nr, * at the end of the GPU_CONTROL cache flush command, unlike * AS_COMMAND_FLUSH_MEM or AS_COMMAND_FLUSH_PT. */ - write_cmd(ptdev, as_nr, AS_COMMAND_UNLOCK); + mmu_hw_cmd_unlock(ptdev, as_nr); =20 /* Wait for the unlock command to complete */ return mmu_hw_wait_ready(ptdev, as_nr); --=20 2.51.0.384.g4c02a37b29-goog From nobody Thu Oct 2 11:48:21 2025 Received: from mail-pf1-f182.google.com (mail-pf1-f182.google.com [209.85.210.182]) (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 501C12E0927 for ; Tue, 16 Sep 2025 21:08:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.182 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758056917; cv=none; b=akibfAqXwthVFepLJmf0koqQy4rzKlemBD2fl3PRYb4ofl1SWPFZWetGyuXGMCtLiFTmx30US0ZljCCoItjWsUmsFmKzb/PpZy/57GpvB2eTCUYgkGxhDpBUm17tMwJ9m74hvPNMM38vtJkqa5IILfCZxhTAfa4iKhX+7mztzCs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758056917; c=relaxed/simple; bh=keetleYLbtbVy91k6dr/luSH+DnOKYGG3IugmPX2Jx8=; h=From:To:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=TBX6vfAJuAzKheuF/IEKfTbbt0ARwC0RubGYudEdr8lFjOjlbw9Yr82W0ILRe60Yqtm3mruuBAGOZCW+4x0bVqrUuPlkb4prrR/ieUqiWewvR02th23ExJ6yUFGQpV6RLhlvBXNaXFfj/50Q2oDtxuNpslFZEbVXff77ZhlT/Hc= 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=B0aS1tCn; arc=none smtp.client-ip=209.85.210.182 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="B0aS1tCn" Received: by mail-pf1-f182.google.com with SMTP id d2e1a72fcca58-76e2ea933b7so258540b3a.1 for ; Tue, 16 Sep 2025 14:08:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1758056916; x=1758661716; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=3qBTryJ9bSqwjcArHStS8Ii28Lxu8QftxwwZnxNDyHM=; b=B0aS1tCn1rqgACU/NIHZHbSSX6QutXdFWxAoAE7qBWbHTNvEDZqBx5HK0BBKWfzNn9 EIrVCBZCoPLs1t0OXTGiYfUOkILR5mzZIzphVMVyhc3mpy9BvfXafZ90V3kfSEgMHZAu xTkW4FHXGEqefu/pChI0UM0fy0XypY/uJT8mUrhpoZkGJEaOrU9gBwm7JlO+qsUh0/03 v5EA2bPxz7frr614/w8V3xvfIyQhH0ro8UtarPaGp0oh12i4aTeQPHzvbGSnB3wfwXzC DVI73+f+p1v5umZ/+CIiTfyaPnpTKHrZMT3vv6MNrPIt5yu8os3PUhwsc0rk88GiQ/iH MPqQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1758056916; x=1758661716; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=3qBTryJ9bSqwjcArHStS8Ii28Lxu8QftxwwZnxNDyHM=; b=GjQ9Gz4fpDT1RqtJq0zfYP2wwNy1zNnhsVs8Xui5ZK1zFC3nP7afHr6HIkAyjMInuS +ZTA66K0xPnVetPrH2EvAkxx7da9Geobz0pvXeoGNP5LXo5+nqVvJb0bcErZK3nqkOXl whYoknQhYaXkcdBCiCwGu5pLY+onzgVEw1kencBtZAG9xIUTi03plZVpbZ8P0RrJ0d6s FpDrU62qhJ1h9fPJw8f0SWGpyK1B/szYEI3NtlXZd/H/HJGfDPHbrnWmnVW5BODVbPK5 qNyA4SBvsqdI6es0mS5aNUCUKnY1NxjQjOWhsGxXLjHsESqljMKIHqmRDCyZdVKrKUwE XfXg== X-Forwarded-Encrypted: i=1; AJvYcCWT+4Tkzp92dxEyPFf4SY2XpFoDegXHK5T85puFPOW8YX/hKPDGogTLJTVqIXq+swmpctOIorxt7ujXq/E=@vger.kernel.org X-Gm-Message-State: AOJu0YzScxtEhtnA34biKdRZWFkoRkAqnuy7KrHOqoulfEkF1g+XSi4f jqahvNmnjv2D99093ZyTAQFcWldTk6Fkb1OjVICeFeVLFy0NnBzZvKvxJQEW+edn X-Gm-Gg: ASbGncvXHdIiSfO/tPJT165yNG8bgExrCeEtASzZaseu/7HFthpTjDwuTUW9J3KV698 W8QPsgG1/0LwUveg7RTlxfBizIpswJm8P4wPI7RNq9vxfyNGBNP/+p19V25IzzUJu559dSNQmYX aF7Qgr7SdisCTnioFUyhPTiDvVRKSb2BNoqpsC2QSazs2IhvctW9QBSbI7iZgy/WY2aPcckqIEd g2v2AkzbHtvq2P6OSTvjBy9GFnUTkWH2+2KYc1up5xJ0XHuV/S1gxQT2ywKgsnKS5LVahEGZk2a rpvf3nW9Owmlevs8c6VkpJKcPoNHSpInYNV30Z+fgDnHS1PvliJo4yUaFcqskl51eqteoGXaZAs wzMEgioI23ukj+5MrYj2SsGEEHstN9Hxwwzc3NpZMVlTAgL5NROgrKEQ+xnkr9azS/QkZWmVJ91 76U8J7SbJEDSwSkuxzvkhM X-Google-Smtp-Source: AGHT+IHWXv3+qPwh3jeyVqrxQ3AsWNAJSiHWtN1VPL8/0k/qsLEXEMTQqUrw+IdDG19B6HX27/F2QA== X-Received: by 2002:a05:6a00:f06:b0:770:4753:b984 with SMTP id d2e1a72fcca58-77a85f9fb2cmr4577695b3a.16.1758056915586; Tue, 16 Sep 2025 14:08:35 -0700 (PDT) Received: from localhost (185.3.125.34.bc.googleusercontent.com. [34.125.3.185]) by smtp.gmail.com with UTF8SMTPSA id d2e1a72fcca58-77607b18371sm17263851b3a.49.2025.09.16.14.08.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 16 Sep 2025 14:08:35 -0700 (PDT) From: Chia-I Wu To: Boris Brezillon , Steven Price , Liviu Dudau , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Grant Likely , Heiko Stuebner , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org Subject: [PATCH 04/10] drm/panthor: add mmu_hw_cmd_update Date: Tue, 16 Sep 2025 14:08:17 -0700 Message-ID: <20250916210823.4033529-5-olvaffe@gmail.com> X-Mailer: git-send-email 2.51.0.384.g4c02a37b29-goog In-Reply-To: <20250916210823.4033529-1-olvaffe@gmail.com> References: <20250916210823.4033529-1-olvaffe@gmail.com> 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" Add a simple helper for the UPDATE command. Signed-off-by: Chia-I Wu --- drivers/gpu/drm/panthor/panthor_mmu.c | 33 +++++++++++++++++++-------- 1 file changed, 23 insertions(+), 10 deletions(-) diff --git a/drivers/gpu/drm/panthor/panthor_mmu.c b/drivers/gpu/drm/pantho= r/panthor_mmu.c index 953348f9afdb8..727339d80d37e 100644 --- a/drivers/gpu/drm/panthor/panthor_mmu.c +++ b/drivers/gpu/drm/panthor/panthor_mmu.c @@ -545,6 +545,27 @@ static int write_cmd(struct panthor_device *ptdev, u32= as_nr, u32 cmd) return status; } =20 +/** + * mmu_hw_cmd_update() - Issue an UPDATE command + * @ptdev: Device. + * @as_nr: AS to issue command to. + * @transtab: Addr of the translation table. + * @transcfg: Bitmask of AS_TRANSCFG_*. + * @memattr: Bitmask of AS_MEMATTR_*. + * + * Issue an UPDATE command to invalidate MMU caches and update the transla= tion + * table. + */ +static int mmu_hw_cmd_update(struct panthor_device *ptdev, u32 as_nr, u64 = transtab, u64 transcfg, + u64 memattr) +{ + gpu_write64(ptdev, AS_TRANSTAB(as_nr), transtab); + gpu_write64(ptdev, AS_MEMATTR(as_nr), memattr); + gpu_write64(ptdev, AS_TRANSCFG(as_nr), transcfg); + + return write_cmd(ptdev, as_nr, AS_COMMAND_UPDATE); +} + /** * mmu_hw_cmd_lock() - Issue a LOCK command * @ptdev: Device. @@ -674,11 +695,7 @@ static int panthor_mmu_as_enable(struct panthor_device= *ptdev, u32 as_nr, if (ret) return ret; =20 - gpu_write64(ptdev, AS_TRANSTAB(as_nr), transtab); - gpu_write64(ptdev, AS_MEMATTR(as_nr), memattr); - gpu_write64(ptdev, AS_TRANSCFG(as_nr), transcfg); - - return write_cmd(ptdev, as_nr, AS_COMMAND_UPDATE); + return mmu_hw_cmd_update(ptdev, as_nr, transtab, transcfg, memattr); } =20 static int panthor_mmu_as_disable(struct panthor_device *ptdev, u32 as_nr) @@ -689,11 +706,7 @@ static int panthor_mmu_as_disable(struct panthor_devic= e *ptdev, u32 as_nr) if (ret) return ret; =20 - gpu_write64(ptdev, AS_TRANSTAB(as_nr), 0); - gpu_write64(ptdev, AS_MEMATTR(as_nr), 0); - gpu_write64(ptdev, AS_TRANSCFG(as_nr), AS_TRANSCFG_ADRMODE_UNMAPPED); - - return write_cmd(ptdev, as_nr, AS_COMMAND_UPDATE); + return mmu_hw_cmd_update(ptdev, as_nr, 0, AS_TRANSCFG_ADRMODE_UNMAPPED, 0= ); } =20 static u32 panthor_mmu_fault_mask(struct panthor_device *ptdev, u32 value) --=20 2.51.0.384.g4c02a37b29-goog From nobody Thu Oct 2 11:48:21 2025 Received: from mail-pf1-f177.google.com (mail-pf1-f177.google.com [209.85.210.177]) (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 5FC6E2E611B for ; Tue, 16 Sep 2025 21:08:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.177 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758056919; cv=none; b=XDoijXzEmmEcKqvgZnqwROvmQGY9/OqwR66fFYAeTOCw6sdleMXvpoX2wceP47ZkU7U9cdbB8dkP6YrY1MvyuSFLWj3iuYfe6FhZDnWvDuNVUwX3xS17i2q3chqq+hHOkIZDQNjWFVIHDSGyKzsvpXtr6wjZuaLNe5B20JKHxvs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758056919; c=relaxed/simple; bh=rUOe8IkoOXsmgpjJgtwR9upz3gOCN2NNsz7526Ug3YA=; h=From:To:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=eCleB1ngHjplIFe74KluV3wXMlRiKSynu6Ez1b0cdvkTMtNXlKbdNc21nLrVxj5ytscPHIlzxRMlrrcMt/t8JKMCoa39stfZPz4p1Jwg6eIPBMAlZXnWKgcI2Prx0tpMPLdg+x2QlIeKX4gZoQtBF033XB0lYEFCJaONvVySuZg= 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=eDWR8QtP; arc=none smtp.client-ip=209.85.210.177 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="eDWR8QtP" Received: by mail-pf1-f177.google.com with SMTP id d2e1a72fcca58-7723f0924a3so7286883b3a.2 for ; Tue, 16 Sep 2025 14:08:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1758056916; x=1758661716; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=MHrHFP5MPt+x13uBQjsAS3MLabqAvc4S+eyVJ4ZEW6M=; b=eDWR8QtPp11t504GNUeKFrLH8Oqhpopx/aNn7g7BLXuh4gthw9MsINROZBvjWMiRiB KUEpp9J3mRLDfVY9H+tRtvYQ7Z1E0vAqxCmke5MDpALiPlwpf/mIU87dGB6cSnvyISow jOsG6ejVXTAZLSaPskEPgQMMlXGC5CV5dsOyxdY77t8/ef9KjDcv27n3/h/UEqzUa+8N exYX1Er8OYp0n7lTkvrTNSPDyBtt9NFG0Yi9Zg2gOg4hdDezwGWFlVhn7d9hKUCokz5c Dja8Z2lEzuWrMKv4X6DmwrQlliptQ53MDTRnBzhiWNBqKgmA1mocx4BvbFhD2rEJC5pv RK6g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1758056916; x=1758661716; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=MHrHFP5MPt+x13uBQjsAS3MLabqAvc4S+eyVJ4ZEW6M=; b=UKBlsE0tTjmASRNJCFKhfcrAGIcY3/IjcUlXlXwxQVrnjjIrglBAr4Sz5qDefryesH SjXoRhBZmLopKKblshqFVxLWzDuynmjJR2Ahdr12qBkMfh9uiX85LxpmTaWjKeocceC5 rCi85dx7TMRWpcS+v20aQkiFliz8INbp3Z1OX9uvdiAMsOxNvBU/z3WBzOx408QrmGxy o7Tdk70rJaNrSKzRS9in+Y3tzj9LmrQNH5F+LZ3d+VJ9r3w+ddkbYzP7uAVSOEFBjvfi 9xlaYv7fyIxi/wQ+6JACkCB2TiDMApVw2azOlrQzErEbNH/uYatPGl0voWp4Ev53ln+K S7sw== X-Forwarded-Encrypted: i=1; AJvYcCXxNu0dmi6AdNd1e33IajTlhaxkdmeXljl6oFAhue/hlm4Jwj5PnM2iECx+mRvVcnVmwt5VOVIDmW1m1oE=@vger.kernel.org X-Gm-Message-State: AOJu0YxIgQDSSDeXr3r1OtjQSWBACbBCNXHjOgyNfoSpnPCXa4506zKT kkGSzl8JanAqvtBNi6fyAtr8AHWSzCQd+7hPZqi52+dN+Opa+yjtKprR X-Gm-Gg: ASbGncupsvKA28LreJTnZv7EmnHEeIxBYenb+SSTXbzos1k8QB/JBNtPnl/czUNs/Be ifI8PetkOYWeuLz17/kfjdKXEX0u473xV/84JMr9WUjLwdkXf9iKm0Cut7UF5wk0iv78Ltjd1cg kt6HYevnw6Z8vDRTW+bS22vCjKj778C0W24POCu2PwaX26TBg6MxZuI49jGy5SWFhEjGjHGema1 Jf0HhgJdlD5btrgGAScdgC3xhTJ9diwnxZe0x+DPHWgRB7OfFeBFLQYrrw9ok3KX6RefnHf1a/l AWxj4ug7RrJrwQXa1bl8DmN7NK/2NfHK5KhGZj76n5k9btAgOzAhzrDqek9FEM3kfzM/IprT4Gi lRD/J31LWxvRw8LTfuM3+0nVgIgRJaQaH9S9MwvDSMBghrM5rdD882fZ7UCAmbbMO0QN1XhTnls NvA8SJYZwbig== X-Google-Smtp-Source: AGHT+IEqBZc84JrKRfpK2hpWsRx1JO903hwP4K4WPYBZZa4WtL5bz4O/AOfS0bSJOZU43B5FoEPqfg== X-Received: by 2002:a05:6a00:23d3:b0:772:40ba:61c0 with SMTP id d2e1a72fcca58-776120790b5mr17649741b3a.5.1758056916607; Tue, 16 Sep 2025 14:08:36 -0700 (PDT) Received: from localhost (185.3.125.34.bc.googleusercontent.com. [34.125.3.185]) by smtp.gmail.com with UTF8SMTPSA id d2e1a72fcca58-7761f8b1bdasm11537334b3a.60.2025.09.16.14.08.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 16 Sep 2025 14:08:36 -0700 (PDT) From: Chia-I Wu To: Boris Brezillon , Steven Price , Liviu Dudau , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Grant Likely , Heiko Stuebner , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org Subject: [PATCH 05/10] drm/panthor: rename and document mmu_hw_do_operation_locked Date: Tue, 16 Sep 2025 14:08:18 -0700 Message-ID: <20250916210823.4033529-6-olvaffe@gmail.com> X-Mailer: git-send-email 2.51.0.384.g4c02a37b29-goog In-Reply-To: <20250916210823.4033529-1-olvaffe@gmail.com> References: <20250916210823.4033529-1-olvaffe@gmail.com> 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" Rename mmu_hw_do_operation_locked to mmu_hw_flush_caches. Signed-off-by: Chia-I Wu --- drivers/gpu/drm/panthor/panthor_mmu.c | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/drivers/gpu/drm/panthor/panthor_mmu.c b/drivers/gpu/drm/pantho= r/panthor_mmu.c index 727339d80d37e..7d1645a24129d 100644 --- a/drivers/gpu/drm/panthor/panthor_mmu.c +++ b/drivers/gpu/drm/panthor/panthor_mmu.c @@ -622,8 +622,20 @@ static void mmu_hw_cmd_unlock(struct panthor_device *p= tdev, u32 as_nr) write_cmd(ptdev, as_nr, AS_COMMAND_UNLOCK); } =20 -static int mmu_hw_do_operation_locked(struct panthor_device *ptdev, int as= _nr, - u64 iova, u64 size, u32 op) +/** + * mmu_hw_cmd_flush_caches() - Flush and invalidate L2/MMU/LSC caches + * @ptdev: Device. + * @as_nr: AS to issue command to. + * @iova: Start of the region. + * @size: Size of the region. + * @op: AS_COMMAND_FLUSH_* + * + * Issue LOCK/GPU_FLUSH_CACHES/UNLOCK commands in order to flush and + * invalidate L2/MMU/LSC caches for a region. + * + * Return: 0 on success, a negative error code otherwise. + */ +static int mmu_hw_flush_caches(struct panthor_device *ptdev, int as_nr, u6= 4 iova, u64 size, u32 op) { const u32 l2_flush_op =3D CACHE_CLEAN | CACHE_INV; u32 lsc_flush_op; @@ -680,7 +692,7 @@ static int mmu_hw_do_operation(struct panthor_vm *vm, int ret; =20 mutex_lock(&ptdev->mmu->as.slots_lock); - ret =3D mmu_hw_do_operation_locked(ptdev, vm->as.id, iova, size, op); + ret =3D mmu_hw_flush_caches(ptdev, vm->as.id, iova, size, op); mutex_unlock(&ptdev->mmu->as.slots_lock); =20 return ret; @@ -691,7 +703,7 @@ static int panthor_mmu_as_enable(struct panthor_device = *ptdev, u32 as_nr, { int ret; =20 - ret =3D mmu_hw_do_operation_locked(ptdev, as_nr, 0, ~0ULL, AS_COMMAND_FLU= SH_MEM); + ret =3D mmu_hw_flush_caches(ptdev, as_nr, 0, ~0ULL, AS_COMMAND_FLUSH_MEM); if (ret) return ret; =20 @@ -702,7 +714,7 @@ static int panthor_mmu_as_disable(struct panthor_device= *ptdev, u32 as_nr) { int ret; =20 - ret =3D mmu_hw_do_operation_locked(ptdev, as_nr, 0, ~0ULL, AS_COMMAND_FLU= SH_MEM); + ret =3D mmu_hw_flush_caches(ptdev, as_nr, 0, ~0ULL, AS_COMMAND_FLUSH_MEM); if (ret) return ret; =20 --=20 2.51.0.384.g4c02a37b29-goog From nobody Thu Oct 2 11:48:21 2025 Received: from mail-pf1-f179.google.com (mail-pf1-f179.google.com [209.85.210.179]) (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 3C4242EA49E for ; Tue, 16 Sep 2025 21:08:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.179 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758056919; cv=none; b=VKZC7sF8yo5j6OLW/9uOD2x9oGuccQuvCFs/dmB1RfAuyzg7UnDbQW/np+fwoNOy3AJ25tSsbU84yp2d+DXk4auWMBsU9hHvhdHM5KKTCrfYgpmpBK+JCJ5vaQ5y7cHMYrh2xiVeOuFxu4xVoRi8cBXUNE6/FfqblYHx6V8sN7w= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758056919; c=relaxed/simple; bh=lRiTjxprqSJ8kiHLjob7HydP68eV7ZSfYw02NKw6B50=; h=From:To:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=jIGxBcdLB0sX6QIuv7CpplbQXONKoEvA3n/cOWWvRw2UNkZdREf/LS9AYDTQfy/wPsyhH78FP7hkbUOxzhd4XwDy25+zt0Doo29zo0Uo+9+yWKIM4H3zsCVb4OiWjoHUhQ2Ho8nHvMqhZVb4NcEFSVCXVGuAO1efDN04ixtPiQM= 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=OY+WTfQT; arc=none smtp.client-ip=209.85.210.179 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="OY+WTfQT" Received: by mail-pf1-f179.google.com with SMTP id d2e1a72fcca58-7742adc1f25so4129416b3a.2 for ; Tue, 16 Sep 2025 14:08:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1758056918; x=1758661718; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=HDRqddRbWnSp212adkMMsF7xlrSYegdf6W4aAStaDzw=; b=OY+WTfQTOsuDDbkbXV7xWutSPH5YRAak6Za4w3x2HUYInc+KdnorAEMGV2DrmrxKbE LFbacEn6ZJXS+6613qiKYIbj3cgK5vWVNxdikxzDD7qUnbwFIO9asaY69SC4HNl2zXsy OVszLyUR57+DwznuHaIwtRG8+hpgnKqYncdJMgCrMJc0cuFhdHnrR8Zdo1szXSuM2Cst PLTqxVrDKznWawc2yTGwOImIaV/iaAGVOxjnGxoy2/w5YH+2uxARLtq68eLU8OlvhLm3 GeJDvxK3rsx5X5Cq8OCRMiphdkqH2SYQDghkAkcCXcddGqGEmNcLFD/nprNkIIO4liaF FYGQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1758056918; x=1758661718; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=HDRqddRbWnSp212adkMMsF7xlrSYegdf6W4aAStaDzw=; b=X8vT/CO/YEQaz/lBRn1jx3QgdFDM6RIHngBhyGxWZZWrCuUEkoMjfGJHHlZui2NF2h 6hKeXewYUE/n+1LJOVn1NTflY+lW8rZVnC9EydWr8PV5E8FGoJhnuGCjDwn+ATe5z7Mg GNQbjkcoyV9qu5yfUMjYube4gdotERlrdSDyL+xnmNFIB278XC8CA0GNDrMhUbdriRRS dAlrNqVF9b5jBsKdB/BZ9IEsWcT+UVoueS59QN0G5o4dKSYay3c/h+DeQ0j0NLrh8fQU HZE2hQtSDNv8/1G1bnEbhktS1vWOYVaB2OWu0pV02PmNnwfn5aGn1OlV+j7Fl9Z5x/ME eUtA== X-Forwarded-Encrypted: i=1; AJvYcCWOwuBiGXZfad4sDJxXc4cIvS/PPeGivk8cYZvvFNkPfs1mIJvqCdY0D5IfPXfmaY/0Ym8udapmsb3dqUg=@vger.kernel.org X-Gm-Message-State: AOJu0YwBVHnRtsFyfkJGz8iC9a0teYgQRwwGEYlwovbyvQb3NE5iltLr xYItp+hDXTqbuhtCZckhP7B+5MZ2pyPVln4/dQjFgOA0I6X0bS8ia4NO X-Gm-Gg: ASbGncuHi99AsEaV9qZmE+6RBNQKEXE6sgKVQ5nNsP1Ds7CPTYKuoUGlDZpO9pgvc8Q Xxh9qgbhjMteZvEWaPhRw0ShSf+AFmZ9LhHwAkeJJa7CMpC7UewfuwGs+zHMgH6BIZVI+tBqJy4 ye54DPQhhNuRL/KqCFtRwb20iTZy72XV7O0AFRlvNKkJgiBQ6I37djWbEAbN7YzbTOBhJT+4Geg 9RB864MpptPb8IROf947wMBoa5b48ccqiX/y+Kx+zQjjQj6BMA86aiMv1bhazRcZu87YUW+5oAG 4DUyE7xXxPKD4OFLyBb+j0OAV6nL6Sz/7g2qVl+8rvo6lkbHYq//Z4O4QKyWv04+vkKAniqcnEB uDv5X0NN09fPDVo9zs4sXffCw7Jg0IYAKcS9btOptCwkW5lkAOE3wN9buuETponI4rvg3TXobTE 3QelrI+Wt68Q== X-Google-Smtp-Source: AGHT+IFqIksmyW/Ei+gsNzE/y26dEL610pe2Xvan+bTy3nUCeeTaK31LsY9L5E5gLin/D821NBOB7w== X-Received: by 2002:a05:6a00:806:b0:771:edda:1b9c with SMTP id d2e1a72fcca58-77612093489mr21540222b3a.14.1758056917576; Tue, 16 Sep 2025 14:08:37 -0700 (PDT) Received: from localhost (185.3.125.34.bc.googleusercontent.com. [34.125.3.185]) by smtp.gmail.com with UTF8SMTPSA id d2e1a72fcca58-77607b18400sm16984805b3a.59.2025.09.16.14.08.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 16 Sep 2025 14:08:37 -0700 (PDT) From: Chia-I Wu To: Boris Brezillon , Steven Price , Liviu Dudau , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Grant Likely , Heiko Stuebner , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org Subject: [PATCH 06/10] drm/panthor: remove write_cmd Date: Tue, 16 Sep 2025 14:08:19 -0700 Message-ID: <20250916210823.4033529-7-olvaffe@gmail.com> X-Mailer: git-send-email 2.51.0.384.g4c02a37b29-goog In-Reply-To: <20250916210823.4033529-1-olvaffe@gmail.com> References: <20250916210823.4033529-1-olvaffe@gmail.com> 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" Call mmu_hw_wait_ready explicitly instead. Signed-off-by: Chia-I Wu --- drivers/gpu/drm/panthor/panthor_mmu.c | 46 +++++++++++++++------------ 1 file changed, 25 insertions(+), 21 deletions(-) diff --git a/drivers/gpu/drm/panthor/panthor_mmu.c b/drivers/gpu/drm/pantho= r/panthor_mmu.c index 7d1645a24129d..373871aeea9f4 100644 --- a/drivers/gpu/drm/panthor/panthor_mmu.c +++ b/drivers/gpu/drm/panthor/panthor_mmu.c @@ -533,18 +533,6 @@ static int mmu_hw_wait_ready(struct panthor_device *pt= dev, u32 as_nr) return ret; } =20 -static int write_cmd(struct panthor_device *ptdev, u32 as_nr, u32 cmd) -{ - int status; - - /* write AS_COMMAND when MMU is ready to accept another command */ - status =3D mmu_hw_wait_ready(ptdev, as_nr); - if (!status) - gpu_write(ptdev, AS_COMMAND(as_nr), cmd); - - return status; -} - /** * mmu_hw_cmd_update() - Issue an UPDATE command * @ptdev: Device. @@ -556,14 +544,14 @@ static int write_cmd(struct panthor_device *ptdev, u3= 2 as_nr, u32 cmd) * Issue an UPDATE command to invalidate MMU caches and update the transla= tion * table. */ -static int mmu_hw_cmd_update(struct panthor_device *ptdev, u32 as_nr, u64 = transtab, u64 transcfg, - u64 memattr) +static void mmu_hw_cmd_update(struct panthor_device *ptdev, u32 as_nr, u64= transtab, u64 transcfg, + u64 memattr) { gpu_write64(ptdev, AS_TRANSTAB(as_nr), transtab); gpu_write64(ptdev, AS_MEMATTR(as_nr), memattr); gpu_write64(ptdev, AS_TRANSCFG(as_nr), transcfg); =20 - return write_cmd(ptdev, as_nr, AS_COMMAND_UPDATE); + gpu_write(ptdev, AS_COMMAND(as_nr), AS_COMMAND_UPDATE); } =20 /** @@ -606,7 +594,7 @@ static void mmu_hw_cmd_lock(struct panthor_device *ptde= v, u32 as_nr, u64 region_ =20 /* Lock the region that needs to be updated */ gpu_write64(ptdev, AS_LOCKADDR(as_nr), region); - write_cmd(ptdev, as_nr, AS_COMMAND_LOCK); + gpu_write(ptdev, AS_COMMAND(as_nr), AS_COMMAND_LOCK); } =20 /** @@ -619,7 +607,7 @@ static void mmu_hw_cmd_lock(struct panthor_device *ptde= v, u32 as_nr, u64 region_ */ static void mmu_hw_cmd_unlock(struct panthor_device *ptdev, u32 as_nr) { - write_cmd(ptdev, as_nr, AS_COMMAND_UNLOCK); + gpu_write(ptdev, AS_COMMAND(as_nr), AS_COMMAND_UNLOCK); } =20 /** @@ -664,7 +652,9 @@ static int mmu_hw_flush_caches(struct panthor_device *p= tdev, int as_nr, u64 iova * power it up */ =20 - mmu_hw_cmd_lock(ptdev, as_nr, iova, size); + ret =3D mmu_hw_wait_ready(ptdev, as_nr); + if (!ret) + mmu_hw_cmd_lock(ptdev, as_nr, iova, size); =20 ret =3D mmu_hw_wait_ready(ptdev, as_nr); if (ret) @@ -679,7 +669,9 @@ static int mmu_hw_flush_caches(struct panthor_device *p= tdev, int as_nr, u64 iova * at the end of the GPU_CONTROL cache flush command, unlike * AS_COMMAND_FLUSH_MEM or AS_COMMAND_FLUSH_PT. */ - mmu_hw_cmd_unlock(ptdev, as_nr); + ret =3D mmu_hw_wait_ready(ptdev, as_nr); + if (!ret) + mmu_hw_cmd_unlock(ptdev, as_nr); =20 /* Wait for the unlock command to complete */ return mmu_hw_wait_ready(ptdev, as_nr); @@ -707,7 +699,13 @@ static int panthor_mmu_as_enable(struct panthor_device= *ptdev, u32 as_nr, if (ret) return ret; =20 - return mmu_hw_cmd_update(ptdev, as_nr, transtab, transcfg, memattr); + ret =3D mmu_hw_wait_ready(ptdev, as_nr); + if (ret) + return ret; + + mmu_hw_cmd_update(ptdev, as_nr, transtab, transcfg, memattr); + + return 0; } =20 static int panthor_mmu_as_disable(struct panthor_device *ptdev, u32 as_nr) @@ -718,7 +716,13 @@ static int panthor_mmu_as_disable(struct panthor_devic= e *ptdev, u32 as_nr) if (ret) return ret; =20 - return mmu_hw_cmd_update(ptdev, as_nr, 0, AS_TRANSCFG_ADRMODE_UNMAPPED, 0= ); + ret =3D mmu_hw_wait_ready(ptdev, as_nr); + if (ret) + return ret; + + mmu_hw_cmd_update(ptdev, as_nr, 0, AS_TRANSCFG_ADRMODE_UNMAPPED, 0); + + return 0; } =20 static u32 panthor_mmu_fault_mask(struct panthor_device *ptdev, u32 value) --=20 2.51.0.384.g4c02a37b29-goog From nobody Thu Oct 2 11:48:21 2025 Received: from mail-pl1-f182.google.com (mail-pl1-f182.google.com [209.85.214.182]) (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 86F6F2F28F8 for ; Tue, 16 Sep 2025 21:08:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.182 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758056921; cv=none; b=jBxu/8KVUeo7jbWZcIg9HV4FeZdNJznVPDIIN6yzGhUExzfHVgmUPJ9gUCWFbc7Sc4Li97nOrxYKIcCoVUObUhqL4sC7xsxWV28Rth7Z9Hz+cQnRus2RuiV07MKv3rwSXVYd1GVo4a17lB8rHdoaRIrhl6qAigZltADuRYuANdo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758056921; c=relaxed/simple; bh=EPitp67dkeS30o3szPKn6QZgJpEhFyOo+6e6g+VZ3CI=; h=From:To:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Si5SFbGl65Zc7Oabh0Sqv3foekQWSMvn4k+sKeZSk3r+nAFuy7qRINU9PE6hTO9kzgNXnEk6H66RuWUWheAL5U43ZrNwfQQCdrLaamt6KsgWEHj1dL/9FsuMQ2K+gqEsaGP+fVgLtGfvN+UVba7MdgESOPgpeG/Lhlw8+ZxsOmE= 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=IBqiw5Or; arc=none smtp.client-ip=209.85.214.182 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="IBqiw5Or" Received: by mail-pl1-f182.google.com with SMTP id d9443c01a7336-25d44908648so58272025ad.0 for ; Tue, 16 Sep 2025 14:08:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1758056919; x=1758661719; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=zp429VwRoqZJz0QZhuNSn/00UhicVBQdf9d9yD1+m0A=; b=IBqiw5OrT5+LqdzP5lTjIX2ShTK/B0MYedSn1gonaOuCh8/R27klS2v22wTaKgeWm3 GbT+Izfp+krP+K59hszgiAQN0VqBZu8F/U3qlm0a+nEeUU4QoUE8reuZ2s8lIfNe+9Lk zGhRjmrwKtzvkc7ZXz7q1nFH/Qk5bBlj0iD1hmedsUD9Es8Dw7fFNex4jaSWNv1J+3Is ycAORSmz+qd0GhizMozKxGcqKuy+6/z27OnNxYeFNx2Ae1cEjmPfjOZ4nqiznR1Q/iqM MMVlEuDJ/XNzVyRtBK7nuPY9uNf5P1TqbIj7TsZmAL0FMlz6rNuE+x1C2AILiADlzTvF MTLA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1758056919; x=1758661719; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=zp429VwRoqZJz0QZhuNSn/00UhicVBQdf9d9yD1+m0A=; b=IMH5Z4ZorDKPbC9Y58ea26rBktd4SNDGp3Ha8bmpLT0oH9OaAzLeeXzi1ROVTEQ8q7 O3pC9G57MTiawDvoNfbxOWwVanpRbAOJ/Ms0N0XSnqJEel1VEZ52fkVS1+D830w/Yrx6 kiuN/cPQM7h34I40U19k5FU0zIwycNH/WT1pu3GR4uBvNTmNhYItbEP/mv2IuL3k7lBy U9HvXm7+EMYtd2JWjoa6XROcD0ISf8o5XWWLVIqn0GT7eehxgOYM7hyDGWxfbgoRfZK9 IyJg8XJ2FaWCeJplucCMdX28fFS8n22lSQHQB2UmcHcVUIFEjZt1Fa0EOUHSgyXvdO8m iXsQ== X-Forwarded-Encrypted: i=1; AJvYcCXx82aYeO/kSNu1mrmIQZp6qwekP2ynDfSqXmWb+WPYZmu0LPMjQkycsAKGOIklV7dVHFykWNf89xE3l8I=@vger.kernel.org X-Gm-Message-State: AOJu0Yz6KbaYMQQwJgImHW65CqQ7N+hrmFAyZ/9tlB2YdR6txhf7Cokp 6f1pGGFxEfZbfxt/x649nOKaXZEAUZkO0LVJHADOjeOsdC818hALmzCA X-Gm-Gg: ASbGncvJA1HXYAQvFBqoTpvMp2+HQJgg7iW1exu4CJpx8MBn83z+LZ6qKGe5PR5obT1 xWWMeGc/LVz1FBH2j3c21pC7ZAo8VQylv1TpbwxnX0bUlwD0xFtQdp7TnxNGcbi30ZIt8u6PL27 S+OjJ2UYsQ/Gl2rtXW7k/txRktBtAzO7N6EC7Vrtq099v9Jwy0BxNpBVoHcV3ycSyzFV9YhThf+ Pd6bTwuHLsqZedDrnQ6rPSBI3S9JpkTOBj2BlUJpij4zllJMc2PIMUga9J4QTbYYuPy6+iFeWU4 p4ejWzwNtGb2fs1XDVwEpbEiLtKtvQF1v69pTAZ1HcASUsqBg9c1Clhompl4AZz5w5WY0W233dp fzozPA8XMLT7pxF8LrXoTbYQLHWbUyyDs65FhRIYEdXiAMYeM9Tv5vFq8p9ooXDFEjJUi+ZP5NY ObSwOCsHcD6w== X-Google-Smtp-Source: AGHT+IHWb5vz3chJSBX2CcOdVpb74MMd2l9HAF0/B3oCFgO2DuURnS3/3+EQM2BpeXdo7mOMhcq0Yw== X-Received: by 2002:a17:902:d4c1:b0:267:cdc8:b30b with SMTP id d9443c01a7336-267cdc8b588mr54724745ad.53.1758056918694; Tue, 16 Sep 2025 14:08:38 -0700 (PDT) Received: from localhost (185.3.125.34.bc.googleusercontent.com. [34.125.3.185]) by smtp.gmail.com with UTF8SMTPSA id d9443c01a7336-265819a61b3sm78487955ad.42.2025.09.16.14.08.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 16 Sep 2025 14:08:38 -0700 (PDT) From: Chia-I Wu To: Boris Brezillon , Steven Price , Liviu Dudau , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Grant Likely , Heiko Stuebner , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org Subject: [PATCH 07/10] drm/panthor: remove unnecessary mmu_hw_wait_ready calls Date: Tue, 16 Sep 2025 14:08:20 -0700 Message-ID: <20250916210823.4033529-8-olvaffe@gmail.com> X-Mailer: git-send-email 2.51.0.384.g4c02a37b29-goog In-Reply-To: <20250916210823.4033529-1-olvaffe@gmail.com> References: <20250916210823.4033529-1-olvaffe@gmail.com> 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" No need to call mmu_hw_wait_ready after panthor_gpu_flush_caches or before returning from mmu_hw_flush_caches. Signed-off-by: Chia-I Wu --- drivers/gpu/drm/panthor/panthor_mmu.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/drivers/gpu/drm/panthor/panthor_mmu.c b/drivers/gpu/drm/pantho= r/panthor_mmu.c index 373871aeea9f4..c223e3fadf92e 100644 --- a/drivers/gpu/drm/panthor/panthor_mmu.c +++ b/drivers/gpu/drm/panthor/panthor_mmu.c @@ -669,12 +669,9 @@ static int mmu_hw_flush_caches(struct panthor_device *= ptdev, int as_nr, u64 iova * at the end of the GPU_CONTROL cache flush command, unlike * AS_COMMAND_FLUSH_MEM or AS_COMMAND_FLUSH_PT. */ - ret =3D mmu_hw_wait_ready(ptdev, as_nr); - if (!ret) - mmu_hw_cmd_unlock(ptdev, as_nr); + mmu_hw_cmd_unlock(ptdev, as_nr); =20 - /* Wait for the unlock command to complete */ - return mmu_hw_wait_ready(ptdev, as_nr); + return 0; } =20 static int mmu_hw_do_operation(struct panthor_vm *vm, --=20 2.51.0.384.g4c02a37b29-goog From nobody Thu Oct 2 11:48:21 2025 Received: from mail-pf1-f181.google.com (mail-pf1-f181.google.com [209.85.210.181]) (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 6C6A32F9D8B for ; Tue, 16 Sep 2025 21:08:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.181 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758056921; cv=none; b=nbN5NF9YaOuTE0Kd8EoO0FBQHe6VZmK+P7f+NBYg+OOZoZUjRHcFwuKadxIGot690lMImj6iBxSy67j3b6llDIU+7aNOXKtwkYyoVHtOrhwK8sB9CiDYIB/3z6gTYhuBy/GN15+Yc2IrXwxsgXyBM9JMlviv+jUxIIvalEBtY+Q= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758056921; c=relaxed/simple; bh=g8r+ks54v9dybf2ViYkv2fAzghPaF8NZFWnTAX2RxJQ=; h=From:To:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=MwDF1J40lb8o0CWgJKj+uh41Gr8CPfPSZ2ReltYO23fc0iFbYGvO3p2mm5Jyu0bTWqJ39UyKSYac+ZkFvvrUi+H7QSyBpIyswFji5WL6lKNrvABXAGNocajyGQRXlXF4etyydPL58XoN09EGR9sNSMviXpoozHL1zLxO37g9jf0= 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=hPkBZrZX; arc=none smtp.client-ip=209.85.210.181 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="hPkBZrZX" Received: by mail-pf1-f181.google.com with SMTP id d2e1a72fcca58-772627dd50aso269167b3a.1 for ; Tue, 16 Sep 2025 14:08:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1758056920; x=1758661720; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=f/slzqlLJOnOVGiOw/1xh19ooiMbxqONBzW53uf/ZwU=; b=hPkBZrZXyENgVzm8JoO5E3Z0nE1GBJNcJbvsTKw2dZgBk0J5i/I4nlHKsrnpZ2d2x8 o9oPTuSfctj1Z1Dgk7EnEA2gt8G4++0Prj2JVd5tWpYd8mNOuOvcHoj1aUn2ClrZS3I3 oCjzkXzHZI9gn5iZQV9MkNCbgE0YrVn1f8gge6DarSYeoq2nzVseAC6KpP6eFkv8r6HH mGh8GICNMppU6LyEeIRfx9uaSidPQm+mW99dCztbwQ3HE/fsVLm9TCexNIk1bD5zojS5 d7ry/4qPjHrd3sEpaA+3RPX2+Y14pAn+87ll9FR8qNkAiQp0+dDCygkNLOF9UXcooG7b RgTA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1758056920; x=1758661720; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=f/slzqlLJOnOVGiOw/1xh19ooiMbxqONBzW53uf/ZwU=; b=ukak7Ens+blXX6Bk4eooSZK6ri8BNWLNQ4ABAn+aLq+I8u0NpiTxjp+24MNZ4H8fgQ zv7diBBibVp6fMOoOsXdh261OxgHDseHp227N7/iTCRrayWThmvhUWx926aT8N9dqB17 2SGgv2Fc/sUO/640h9xQwuMMvHoDrBrMgJvTcpOCa/MiEPYp+y9Lyfx97l4InwlLtL3R Q2MGC745WEHjLzDNe1tmuRin4yXY5UmZxdFaqri3rYABmcbFX0tIxYH8FCiFN2HO/d6/ eGlM4yNzEjSfTbCbFpAcnBitInMKtN/jf5oN9O/G+eP8oGZpbcrYY0To2UNlQmzVi86g FAJA== X-Forwarded-Encrypted: i=1; AJvYcCXmagfS7dFq7thcsN+Nqrl+xv7AdjmTY39k/kV74wq8Lz9J1B7un6QITXVpJk4XQsjXm8R85gwjZgWj8LI=@vger.kernel.org X-Gm-Message-State: AOJu0YwiHvesY3cB56qKhoxTzHTb6XsK997zgO8MhiGWu1AvYMrGJ74L 4lCjeCeHY6LzXd9ICIGpT1IAQI3mumR+XBoy0yC45FuzxwqqH1O3tcPs X-Gm-Gg: ASbGncvrsryzUIS6I7RmNMEVNUcAImy5lthih8692VUreikx+e8XZhIBFZibFJId6WX nDr1yf2fUVo/11yps1chhC4JkkS/Ubf8YBfx+KBVWmZe6GgtESB6TogOI+2rJsNwBe6nGI2BmFj JQX+0r2kr6hvPdAxrKpss2mGQLHvghDc6NeXga2n5QVI4LGs9iBrK8d49gZOwVEm2/C61oxT3IE U6Nnz4t3VBN/YYn/GF5h2nUwAE51ozehDNXiE5Mey9hFsiJehgiZg1oDETZW0uwq/7C+uNYqD2f GeTSb4IwrUMImjNoYOac1kjOeOJ4pJ8xFt/dh1d4Fai2LRRRYdGnauoocMWX4dPCSn8HVkpBmiS zU8BGgGYpqZcpVshnhez14njk87brkqLelWEYrDbfi9cNUQ6QRl2AnZuJKxcgq33316x+u7Rx3Y jRBqIRl3Remw== X-Google-Smtp-Source: AGHT+IGaSqCXmkCvWntJfdqwVvWglhlmjBWBo1jmfj47qk487u4brk9LesJPyS4nP34oL129zDzRrg== X-Received: by 2002:a05:6a20:7f83:b0:262:6310:3fd4 with SMTP id adf61e73a8af0-266f2877e86mr4416762637.22.1758056919730; Tue, 16 Sep 2025 14:08:39 -0700 (PDT) Received: from localhost (185.3.125.34.bc.googleusercontent.com. [34.125.3.185]) by smtp.gmail.com with UTF8SMTPSA id d2e1a72fcca58-7760793b65dsm16607420b3a.9.2025.09.16.14.08.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 16 Sep 2025 14:08:39 -0700 (PDT) From: Chia-I Wu To: Boris Brezillon , Steven Price , Liviu Dudau , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Grant Likely , Heiko Stuebner , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org Subject: [PATCH 08/10] drm/panthor: improve error handling for mmu_hw_flush_caches Date: Tue, 16 Sep 2025 14:08:21 -0700 Message-ID: <20250916210823.4033529-9-olvaffe@gmail.com> X-Mailer: git-send-email 2.51.0.384.g4c02a37b29-goog In-Reply-To: <20250916210823.4033529-1-olvaffe@gmail.com> References: <20250916210823.4033529-1-olvaffe@gmail.com> 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" Bail when the first mmu_hw_wait_ready call fails. Be sure to unlock the region when panthor_gpu_flush_caches fails. Signed-off-by: Chia-I Wu --- drivers/gpu/drm/panthor/panthor_mmu.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/gpu/drm/panthor/panthor_mmu.c b/drivers/gpu/drm/pantho= r/panthor_mmu.c index c223e3fadf92e..436a54e30a36d 100644 --- a/drivers/gpu/drm/panthor/panthor_mmu.c +++ b/drivers/gpu/drm/panthor/panthor_mmu.c @@ -653,16 +653,16 @@ static int mmu_hw_flush_caches(struct panthor_device = *ptdev, int as_nr, u64 iova */ =20 ret =3D mmu_hw_wait_ready(ptdev, as_nr); - if (!ret) - mmu_hw_cmd_lock(ptdev, as_nr, iova, size); + if (ret) + return ret; + + mmu_hw_cmd_lock(ptdev, as_nr, iova, size); =20 ret =3D mmu_hw_wait_ready(ptdev, as_nr); if (ret) return ret; =20 ret =3D panthor_gpu_flush_caches(ptdev, l2_flush_op, lsc_flush_op, 0); - if (ret) - return ret; =20 /* * Explicitly unlock the region as the AS is not unlocked automatically @@ -671,7 +671,7 @@ static int mmu_hw_flush_caches(struct panthor_device *p= tdev, int as_nr, u64 iova */ mmu_hw_cmd_unlock(ptdev, as_nr); =20 - return 0; + return ret; } =20 static int mmu_hw_do_operation(struct panthor_vm *vm, --=20 2.51.0.384.g4c02a37b29-goog From nobody Thu Oct 2 11:48:21 2025 Received: from mail-pg1-f176.google.com (mail-pg1-f176.google.com [209.85.215.176]) (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 84B312F9DB4 for ; Tue, 16 Sep 2025 21:08:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.176 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758056922; cv=none; b=BfUKMKuBWhTswl1YtvGCIXLD1ctXmZrv6SSnOXMpZnpwmZtkpdvOyGEvW9yLy5ckr09GqFKiz6BLtbuk5nxMvxh0ZA9saixgwODk/NotuHTegV8gqwpqOkz/UQNcOcBBSCgpwscwup0FgvX1EkcsqW6eZEeJUqBGI4cqBXHWx64= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758056922; c=relaxed/simple; bh=SP2sHPp0DkDMUcw5AMcR0cHu5SZWLKKZ3sGqnoWbl8A=; h=From:To:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=aMuQk6XQdq6ysZzpCbRQCbRn8LoLuySMfK/NsJfcN7RqM1Rz0TBu4hrOddpwljff8/5Wxhl/Fuyt5ZPQ9dXuCzK0VlDkCVyXx6yRJQFjRoz67EuyXTNbdNPPfb7Qi/QtJJzUn1ldPGzG5eYJfBQBvE+ZlzDwIzRZqxcSMfal2j0= 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=is7gZpT6; arc=none smtp.client-ip=209.85.215.176 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="is7gZpT6" Received: by mail-pg1-f176.google.com with SMTP id 41be03b00d2f7-b5229007f31so4048376a12.2 for ; Tue, 16 Sep 2025 14:08:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1758056921; x=1758661721; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=1ajRjJ63Iy7rbFQ9znyyl9iKKEEIo81WL5RMkNMmqG0=; b=is7gZpT6RV9XY10M6B442yAqGaYbYunChwL+JsAW7euVPNhz8v1Bg60LDeZ5FRkzkk 3GkxSpEYbx+KFvaeBPvJ2VHQnOL/PCJjsUkL04PmyfqVAk3dp0PvQ4RSD+30C0rvsF55 107SFj965yX1HZifkbrLEenMpHWBLx7ZgwjeEyTFSwAAiDGN6whXk1t2pQ26SvL1rpze tPb7UbmyI345Si4oLRKmtoY/pwiGRNeNH2Mwl4wv/c6OU/NNXoY8klPv1Y9gSSekT2yF cTpTMZMhi96ri5TrxNR2ZziWaH7gkjRXDBHEfUk3MjMExZbT4m33jKTMCOTaCzq8hHvN 5gAw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1758056921; x=1758661721; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=1ajRjJ63Iy7rbFQ9znyyl9iKKEEIo81WL5RMkNMmqG0=; b=JoZKLUK0SzcSSKs9wX1uvL1WGir2wE9rboXW7qXst1j6uxXVmlunbgXlSE0mexHeCq J5y9HaiN8KDD0+M4BRiPsfbYG65t298D+pnFqedfDSD8o04RJP3eGfnprKWMVoPztdcb pfWX3g2JL4kWRE9Sy69YgU6qfYI0WnsnIYp4Oyi0LO1822UuJg1ZFEOcoLSXbRW+e+qQ O+pQ7yYhXRiFpEijhGp/Q0aNnjwuHD90vLZBvPbxKY53yCUAtx3fwsyGDMk6UPcfMZ/P /32YQ1aKnYYQIGvKKqC7Pv1A/c6nmlGjEopjVH1GCaKyW6pwcWk0hIv2Luxr8kiJCG69 BbKQ== X-Forwarded-Encrypted: i=1; AJvYcCVp1WEjMZ5cl3cSXcqIjrKl/qeGo2zfcWZw2h/+jsjj5/kpL3B7rpTHd+Sgwl8UZIbkSb8Rh3m8gChqExE=@vger.kernel.org X-Gm-Message-State: AOJu0YwKv/xUjyL37LzhT2jQgnlhboc/01jQogkXM/0QYAeoncShxLRO GH2/SQrUc6ONojCmwG9Ylrj42a/rIg/SA9jjsRtBO9M3I8xVyZxY7SDS X-Gm-Gg: ASbGnctri+fJNyyAA2NGhbGdU1IDB5s4MAoJxFsOsPAx/YaC8czae8MzGQ8jM6/Atfl GVRMH2rd6u7If/7otu3LwWVoGp4fVPyJZuBeJTF81Mt7cIsphyBwsac3d7lUjP0bD0scLEYrLNP ySqpxa5+Mw4u5q3b7qTHRUMZLToMlyFkRylhm+SfOhzREHBfL9QCcY6UHrSNCetnikZji8DOyLQ auHnRhaCm6SgrYROP7doM74W7M8m/KUOW4i0h2iC91WjdWxv4Hwt0BWTzvqkymfo8LNH8DgWKrg /SEKzyObvhZqZf0iM6vlCGB7nbovIzfjejXyx6HUZ8aEWaM7L+S3zrP9IAaiLJst0Ep1Xjw+yT+ eDuNZlDaLBSGDMHETX8FVzE+7XX/HehOWm0lV0WpYeLSvDNkbM8gudnKpxah3rq4iLO2MqxpItG 4tWOamEnhraQ== X-Google-Smtp-Source: AGHT+IHhPDuS6+StVaolktNXBb79Xxy3Tz7vX4HDANHKZKnch8Zg/57u1MSLxGZamhZZWwIp1u8D3A== X-Received: by 2002:a17:903:3585:b0:246:b46b:1b09 with SMTP id d9443c01a7336-25d2686604amr200001855ad.30.1758056920763; Tue, 16 Sep 2025 14:08:40 -0700 (PDT) Received: from localhost (185.3.125.34.bc.googleusercontent.com. [34.125.3.185]) by smtp.gmail.com with UTF8SMTPSA id 98e67ed59e1d1-32ed26876ffsm492508a91.3.2025.09.16.14.08.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 16 Sep 2025 14:08:40 -0700 (PDT) From: Chia-I Wu To: Boris Brezillon , Steven Price , Liviu Dudau , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Grant Likely , Heiko Stuebner , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org Subject: [PATCH 09/10] drm/panthor: move size check to mmu_hw_flush_caches Date: Tue, 16 Sep 2025 14:08:22 -0700 Message-ID: <20250916210823.4033529-10-olvaffe@gmail.com> X-Mailer: git-send-email 2.51.0.384.g4c02a37b29-goog In-Reply-To: <20250916210823.4033529-1-olvaffe@gmail.com> References: <20250916210823.4033529-1-olvaffe@gmail.com> 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" We can early return from mmu_hw_flush_caches when size is 0. Signed-off-by: Chia-I Wu --- drivers/gpu/drm/panthor/panthor_mmu.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/drivers/gpu/drm/panthor/panthor_mmu.c b/drivers/gpu/drm/pantho= r/panthor_mmu.c index 436a54e30a36d..743e9342eece7 100644 --- a/drivers/gpu/drm/panthor/panthor_mmu.c +++ b/drivers/gpu/drm/panthor/panthor_mmu.c @@ -570,9 +570,6 @@ static void mmu_hw_cmd_lock(struct panthor_device *ptde= v, u32 as_nr, u64 region_ u64 region; u64 region_end =3D region_start + size; =20 - if (!size) - return; - /* * The locked region is a naturally aligned power of 2 block encoded as * log2 minus(1). @@ -643,7 +640,7 @@ static int mmu_hw_flush_caches(struct panthor_device *p= tdev, int as_nr, u64 iova return -EINVAL; } =20 - if (as_nr < 0) + if (as_nr < 0 || !size) return 0; =20 /* --=20 2.51.0.384.g4c02a37b29-goog From nobody Thu Oct 2 11:48:21 2025 Received: from mail-pf1-f174.google.com (mail-pf1-f174.google.com [209.85.210.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 7571C30648F for ; Tue, 16 Sep 2025 21:08:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.174 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758056924; cv=none; b=bKXDTvF0kgOwPioCCT8+CBlmZnHXOB6/gA1EP1PAKkgbCoS8CRpC2Y3wrUYNM9tLgSfGmWQXtka8muGbvwz+w3GO4J4qYWECIGNHAkV+1RujzjpqE1mpGfQ40BEE05EgqS0GlWNnwK3Yr65xHxByNZ+E3w6h6zeBntenr9f4214= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758056924; c=relaxed/simple; bh=qY7msXy/MP9JfKkgO6BWwtHtUS96caUQxQ1g+mMIzak=; h=From:To:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=UIWMRSPi0tPTBuFcXTWw3CAut9eMiOrSl4h1SxaLmZq4zuKK/wlw5TZv4jQmrxRw10KfUIAcZY8GQblJafzCsmKCllTM1cKQcMn5FHKrZyf5uco53jPZLFGboiZf4buj+NxpDPNxqrKY7CZaPVEgRk5tEQUgOEGEKsF0ElbWgWs= 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=Lj8CimeS; arc=none smtp.client-ip=209.85.210.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="Lj8CimeS" Received: by mail-pf1-f174.google.com with SMTP id d2e1a72fcca58-7726c7ff7e5so4781978b3a.3 for ; Tue, 16 Sep 2025 14:08:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1758056922; x=1758661722; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=5mKuDRdJJO0qDbnGjgA4rHMGy6EHP4eBLakbjsfvnkc=; b=Lj8CimeSFRfF1UChiy++u1Mi61Z6LHZNLmcisrs6UZWVKDPofR6vGCoTzmVk3xK5KR RDUyCpC44oK4tojPnSbob8jmo0KPsW1aUK1uckMCwEtVEHPxnS6fc17pHX350rP3J87b C7atIJiHAs0JhXiSyeagOzO8tx9cFFX8YRzSQGI9zXdcsdJi94Wb6o630pSyhga8+zHb tm1KebR0uZOKD0nNDW4JJbURnsHXj7i8Ba0A5IQX0JG2/zPXPyWuSQLsVYBvw+HfNxNv +qThq4GqwYTnZahFnegFQhfYaaF3Aci2iIwmQcypuomuCRhAFnFdxQbuYyZywPtJv+ML rGkA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1758056922; x=1758661722; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=5mKuDRdJJO0qDbnGjgA4rHMGy6EHP4eBLakbjsfvnkc=; b=p/KGhNeQ8ffLrOteUgC5akDf30Ag4ijVcW7l7xgvdp/JvYpav3v2jcKu9Ts93r2vvr QIoJMMC5YKCb+WgB9wxPYWPUhdO1EL0A6CV2pGKZ7IBvAP9MCnPt2lZXrxisL5uJ1Oa3 IUqo2/vtaQdy+yumYAyhxAjMpx57Ki00lfrQFO+isSZnxTA6NO+sLso9tW7OUPDZ2e+9 c8BAFUbZf1y9JiVyaxVP3XgdMODwZiPlGhYTBZ/iy5cLtQola5jWUbATi9aVyuxH05Z9 9aMFgQKFaKzJUbZJj6Ze8wzK/KxIjQRSypPbHrRqd1fMZM078Uu0re8dDdwk/EMdMCqD 5LDg== X-Forwarded-Encrypted: i=1; AJvYcCUN/K0OtzCj7njfCnLKLnhfv5EAHX4/MrNopG9wZGqp6vjGjdGlU7WfhGZ4anvhorkfiYQg7HBZ6vNTjkU=@vger.kernel.org X-Gm-Message-State: AOJu0YzsGYcK4etluVQQjQyn3aN7xr17179Buk3bzLWMRmth7WTQuzmH 4/UxWbFnimcI7JPD9BXRTg+93s8Y2xmSKr9YLGERLtQbfdBRi5toPMSl X-Gm-Gg: ASbGnctgTVT87sOb5UBJ1DrwR9XKuj924l+GOPaJ9FqKPvAVElqogB5Dgke3Nkv3tPp WccmeW+NbQ1PvBqed4Qcq58iZtb4E1NT8D3F4yLoXi8OzdSGuDLIvwzUSHWTCu83otv4ggEgYis af3AkuIAJkjk9esofFdjb/gy6ymS9fmp2whAj+y5A9pPoSQc7G721HJwbjjpZKNaqf0sXGL+AIK Hz5IyeUgCTIk7jycKSwLVu16vJqoIKpnrMGm+0R9GWoE72jb4V/V1xxCAKvAYGeHIQZv3YEVJZZ MFImk+0BC2nOwTpAvB/hqSpN1vhOqhIXS3xnkKreY2UsGDJvgLJjyFuY4k/5R3aXz2gNwvh7Kqh X20GYdmRjroDqotFoJVV6/EL30vondPE0bHJMSzj8hlHMsLi3jzI58g1X5z7izqk2XLNrwe7FqI hMSbcQgudQ7LjikMnKiG+i X-Google-Smtp-Source: AGHT+IEDixYIXoVhgvzO78eXbNMXUTFn5Eh7QdDPXuCG2AzTfJIo/tAuDVPaJEutqDntn6kKaRGWXA== X-Received: by 2002:a05:6a20:728e:b0:243:f5ba:aa9c with SMTP id adf61e73a8af0-2602b084850mr22828169637.25.1758056921753; Tue, 16 Sep 2025 14:08:41 -0700 (PDT) Received: from localhost (185.3.125.34.bc.googleusercontent.com. [34.125.3.185]) by smtp.gmail.com with UTF8SMTPSA id d2e1a72fcca58-77607a48c19sm17032735b3a.36.2025.09.16.14.08.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 16 Sep 2025 14:08:41 -0700 (PDT) From: Chia-I Wu To: Boris Brezillon , Steven Price , Liviu Dudau , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Grant Likely , Heiko Stuebner , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org Subject: [PATCH 10/10] drm/panthor: simplify mmu_hw_flush_caches Date: Tue, 16 Sep 2025 14:08:23 -0700 Message-ID: <20250916210823.4033529-11-olvaffe@gmail.com> X-Mailer: git-send-email 2.51.0.384.g4c02a37b29-goog In-Reply-To: <20250916210823.4033529-1-olvaffe@gmail.com> References: <20250916210823.4033529-1-olvaffe@gmail.com> 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" Simplify flush op to a bool to control whether LSC is flushed/invalidated. Remove mmu_hw_do_operation helper. Signed-off-by: Chia-I Wu --- drivers/gpu/drm/panthor/panthor_mmu.c | 42 ++++++--------------------- 1 file changed, 9 insertions(+), 33 deletions(-) diff --git a/drivers/gpu/drm/panthor/panthor_mmu.c b/drivers/gpu/drm/pantho= r/panthor_mmu.c index 743e9342eece7..5418f079444ce 100644 --- a/drivers/gpu/drm/panthor/panthor_mmu.c +++ b/drivers/gpu/drm/panthor/panthor_mmu.c @@ -613,33 +613,20 @@ static void mmu_hw_cmd_unlock(struct panthor_device *= ptdev, u32 as_nr) * @as_nr: AS to issue command to. * @iova: Start of the region. * @size: Size of the region. - * @op: AS_COMMAND_FLUSH_* + * @flush_lsc: True if LSC should be flushed/invalidated. * * Issue LOCK/GPU_FLUSH_CACHES/UNLOCK commands in order to flush and * invalidate L2/MMU/LSC caches for a region. * * Return: 0 on success, a negative error code otherwise. */ -static int mmu_hw_flush_caches(struct panthor_device *ptdev, int as_nr, u6= 4 iova, u64 size, u32 op) +static int mmu_hw_flush_caches(struct panthor_device *ptdev, int as_nr, u6= 4 iova, u64 size, + bool flush_lsc) { const u32 l2_flush_op =3D CACHE_CLEAN | CACHE_INV; - u32 lsc_flush_op; + const u32 lsc_flush_op =3D flush_lsc ? l2_flush_op : 0; int ret; =20 - lockdep_assert_held(&ptdev->mmu->as.slots_lock); - - switch (op) { - case AS_COMMAND_FLUSH_MEM: - lsc_flush_op =3D CACHE_CLEAN | CACHE_INV; - break; - case AS_COMMAND_FLUSH_PT: - lsc_flush_op =3D 0; - break; - default: - drm_WARN(&ptdev->base, 1, "Unexpected AS_COMMAND: %d", op); - return -EINVAL; - } - if (as_nr < 0 || !size) return 0; =20 @@ -671,25 +658,12 @@ static int mmu_hw_flush_caches(struct panthor_device = *ptdev, int as_nr, u64 iova return ret; } =20 -static int mmu_hw_do_operation(struct panthor_vm *vm, - u64 iova, u64 size, u32 op) -{ - struct panthor_device *ptdev =3D vm->ptdev; - int ret; - - mutex_lock(&ptdev->mmu->as.slots_lock); - ret =3D mmu_hw_flush_caches(ptdev, vm->as.id, iova, size, op); - mutex_unlock(&ptdev->mmu->as.slots_lock); - - return ret; -} - static int panthor_mmu_as_enable(struct panthor_device *ptdev, u32 as_nr, u64 transtab, u64 transcfg, u64 memattr) { int ret; =20 - ret =3D mmu_hw_flush_caches(ptdev, as_nr, 0, ~0ULL, AS_COMMAND_FLUSH_MEM); + ret =3D mmu_hw_flush_caches(ptdev, as_nr, 0, ~0ULL, true); if (ret) return ret; =20 @@ -706,7 +680,7 @@ static int panthor_mmu_as_disable(struct panthor_device= *ptdev, u32 as_nr) { int ret; =20 - ret =3D mmu_hw_flush_caches(ptdev, as_nr, 0, ~0ULL, AS_COMMAND_FLUSH_MEM); + ret =3D mmu_hw_flush_caches(ptdev, as_nr, 0, ~0ULL, true); if (ret) return ret; =20 @@ -962,7 +936,9 @@ static int panthor_vm_flush_range(struct panthor_vm *vm= , u64 iova, u64 size) if (!drm_dev_enter(&ptdev->base, &cookie)) return 0; =20 - ret =3D mmu_hw_do_operation(vm, iova, size, AS_COMMAND_FLUSH_PT); + mutex_lock(&ptdev->mmu->as.slots_lock); + ret =3D mmu_hw_flush_caches(ptdev, vm->as.id, iova, size, false); + mutex_unlock(&ptdev->mmu->as.slots_lock); =20 drm_dev_exit(cookie); return ret; --=20 2.51.0.384.g4c02a37b29-goog