From: Sakari Ailus <sakari.ailus@linux.intel.com>
To: "Alex Deucher" <alexander.deucher@amd.com>,
"Christian König" <christian.koenig@amd.com>,
"David Airlie" <airlied@gmail.com>,
"Simona Vetter" <simona@ffwll.ch>,
"Felix Kuehling" <Felix.Kuehling@amd.com>,
"Kenneth Feng" <kenneth.feng@amd.com>,
"Mario Limonciello" <mario.limonciello@amd.com>,
"Alex Hung" <alex.hung@amd.com>,
"Antonio Quartulli" <antonio@mandelbit.com>,
"Pratap Nirujogi" <pratap.nirujogi@amd.com>,
"Sakari Ailus" <sakari.ailus@linux.intel.com>,
"Liviu Dudau" <liviu.dudau@arm.com>,
"Harry Wentland" <harry.wentland@amd.com>,
"Dmitry Baryshkov" <lumag@kernel.org>,
"Jani Nikula" <jani.nikula@intel.com>,
"Thomas Weißschuh" <linux@weissschuh.net>,
"Ma Ke" <make24@iscas.ac.cn>,
"Yang Wang" <kevinyang.wang@amd.com>,
"Jesse Zhang" <jesse.zhang@amd.com>,
"Lijo Lazar" <lijo.lazar@amd.com>,
"Sathishkumar S" <sathishkumar.sundararaju@amd.com>,
"André Almeida" <andrealmeid@igalia.com>,
"Hamza Mahfooz" <hamzamahfooz@linux.microsoft.com>,
"Thomas Zimmermann" <tzimmermann@suse.de>,
"Tim Huang" <tim.huang@amd.com>,
"Marek Olšák" <marek.olsak@amd.com>,
"Ingo Molnar" <mingo@kernel.org>,
"Thomas Gleixner" <tglx@linutronix.de>,
"Asad Kamal" <asad.kamal@amd.com>,
"Srinivasan Shanmugam" <srinivasan.shanmugam@amd.com>,
"Jack Xiao" <Jack.Xiao@amd.com>,
"Prike Liang" <Prike.Liang@amd.com>,
"Shashank Sharma" <shashank.sharma@amd.com>,
"Victor Skvortsov" <victor.skvortsov@amd.com>,
"Hawking Zhang" <Hawking.Zhang@amd.com>,
"Tao Zhou" <tao.zhou1@amd.com>, ganglxie <ganglxie@amd.com>,
"YiPeng Chai" <YiPeng.Chai@amd.com>,
"Arunpravin Paneer Selvam" <Arunpravin.PaneerSelvam@amd.com>
Cc: amd-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org,
linux-kernel@vger.kernel.org
Subject: [PATCH 16/80] drm/amd: Remove redundant pm_runtime_mark_last_busy() calls
Date: Fri, 4 Jul 2025 10:54:09 +0300 [thread overview]
Message-ID: <20250704075409.3217885-1-sakari.ailus@linux.intel.com> (raw)
In-Reply-To: <20250704075225.3212486-1-sakari.ailus@linux.intel.com>
pm_runtime_put_autosuspend(), pm_runtime_put_sync_autosuspend(),
pm_runtime_autosuspend() and pm_request_autosuspend() now include a call
to pm_runtime_mark_last_busy(). Remove the now-reduntant explicit call to
pm_runtime_mark_last_busy().
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
---
The cover letter of the set can be found here
<URL:https://lore.kernel.org/linux-pm/20250704075225.3212486-1-sakari.ailus@linux.intel.com>.
In brief, this patch depends on PM runtime patches adding marking the last
busy timestamp in autosuspend related functions. The patches are here, on
rc2:
git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git \
pm-runtime-6.17-rc1
drivers/gpu/drm/amd/amdgpu/amdgpu_acpi.c | 1 -
.../gpu/drm/amd/amdgpu/amdgpu_connectors.c | 4 ---
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c | 25 -------------------
drivers/gpu/drm/amd/amdgpu/amdgpu_display.c | 2 --
drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 4 ---
drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c | 2 --
drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c | 1 -
drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c | 2 --
drivers/gpu/drm/amd/amdgpu/amdgpu_rap.c | 1 -
drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c | 1 -
.../gpu/drm/amd/amdgpu/amdgpu_securedisplay.c | 1 -
drivers/gpu/drm/amd/amdgpu/amdgpu_userq.c | 1 -
drivers/gpu/drm/amd/amdkfd/kfd_process.c | 1 -
drivers/gpu/drm/amd/pm/amdgpu_pm.c | 1 -
14 files changed, 47 deletions(-)
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_acpi.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_acpi.c
index f5466c592d94..9e4f135b9173 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_acpi.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_acpi.c
@@ -507,7 +507,6 @@ static int amdgpu_atif_handler(struct amdgpu_device *adev,
pm_runtime_get_sync(adev_to_drm(adev)->dev);
/* Just fire off a uevent and let userspace tell us what to do */
drm_helper_hpd_irq_event(adev_to_drm(adev));
- pm_runtime_mark_last_busy(adev_to_drm(adev)->dev);
pm_runtime_put_autosuspend(adev_to_drm(adev)->dev);
}
}
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c
index 5e375e9c4f5d..7220ecb93ff7 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c
@@ -738,7 +738,6 @@ amdgpu_connector_lvds_detect(struct drm_connector *connector, bool force)
amdgpu_connector_update_scratch_regs(connector, ret);
if (!drm_kms_helper_is_poll_worker()) {
- pm_runtime_mark_last_busy(connector->dev->dev);
pm_runtime_put_autosuspend(connector->dev->dev);
}
@@ -923,7 +922,6 @@ amdgpu_connector_vga_detect(struct drm_connector *connector, bool force)
out:
if (!drm_kms_helper_is_poll_worker()) {
- pm_runtime_mark_last_busy(connector->dev->dev);
pm_runtime_put_autosuspend(connector->dev->dev);
}
@@ -1150,7 +1148,6 @@ amdgpu_connector_dvi_detect(struct drm_connector *connector, bool force)
exit:
if (!drm_kms_helper_is_poll_worker()) {
- pm_runtime_mark_last_busy(connector->dev->dev);
pm_runtime_put_autosuspend(connector->dev->dev);
}
@@ -1450,7 +1447,6 @@ amdgpu_connector_dp_detect(struct drm_connector *connector, bool force)
amdgpu_connector_update_scratch_regs(connector, ret);
out:
if (!drm_kms_helper_is_poll_worker()) {
- pm_runtime_mark_last_busy(connector->dev->dev);
pm_runtime_put_autosuspend(connector->dev->dev);
}
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c
index 83f211903425..2c724e8354de 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c
@@ -129,7 +129,6 @@ static int amdgpu_debugfs_process_reg_op(bool read, struct file *f,
if (use_bank) {
if ((sh_bank != 0xFFFFFFFF && sh_bank >= adev->gfx.config.max_sh_per_se) ||
(se_bank != 0xFFFFFFFF && se_bank >= adev->gfx.config.max_shader_engines)) {
- pm_runtime_mark_last_busy(adev_to_drm(adev)->dev);
pm_runtime_put_autosuspend(adev_to_drm(adev)->dev);
amdgpu_virt_disable_access_debugfs(adev);
return -EINVAL;
@@ -179,7 +178,6 @@ static int amdgpu_debugfs_process_reg_op(bool read, struct file *f,
if (pm_pg_lock)
mutex_unlock(&adev->pm.mutex);
- pm_runtime_mark_last_busy(adev_to_drm(adev)->dev);
pm_runtime_put_autosuspend(adev_to_drm(adev)->dev);
amdgpu_virt_disable_access_debugfs(adev);
@@ -255,7 +253,6 @@ static ssize_t amdgpu_debugfs_regs2_op(struct file *f, char __user *buf, u32 off
if (rd->id.use_grbm) {
if ((rd->id.grbm.sh != 0xFFFFFFFF && rd->id.grbm.sh >= adev->gfx.config.max_sh_per_se) ||
(rd->id.grbm.se != 0xFFFFFFFF && rd->id.grbm.se >= adev->gfx.config.max_shader_engines)) {
- pm_runtime_mark_last_busy(adev_to_drm(adev)->dev);
pm_runtime_put_autosuspend(adev_to_drm(adev)->dev);
amdgpu_virt_disable_access_debugfs(adev);
mutex_unlock(&rd->lock);
@@ -310,7 +307,6 @@ static ssize_t amdgpu_debugfs_regs2_op(struct file *f, char __user *buf, u32 off
mutex_unlock(&rd->lock);
- pm_runtime_mark_last_busy(adev_to_drm(adev)->dev);
pm_runtime_put_autosuspend(adev_to_drm(adev)->dev);
amdgpu_virt_disable_access_debugfs(adev);
@@ -446,7 +442,6 @@ static ssize_t amdgpu_debugfs_gprwave_read(struct file *f, char __user *buf, siz
amdgpu_gfx_select_se_sh(adev, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, rd->id.xcc_id);
mutex_unlock(&adev->grbm_idx_mutex);
- pm_runtime_mark_last_busy(adev_to_drm(adev)->dev);
pm_runtime_put_autosuspend(adev_to_drm(adev)->dev);
if (!x) {
@@ -557,7 +552,6 @@ static ssize_t amdgpu_debugfs_regs_pcie_read(struct file *f, char __user *buf,
r = result;
out:
- pm_runtime_mark_last_busy(adev_to_drm(adev)->dev);
pm_runtime_put_autosuspend(adev_to_drm(adev)->dev);
amdgpu_virt_disable_access_debugfs(adev);
return r;
@@ -617,7 +611,6 @@ static ssize_t amdgpu_debugfs_regs_pcie_write(struct file *f, const char __user
r = result;
out:
- pm_runtime_mark_last_busy(adev_to_drm(adev)->dev);
pm_runtime_put_autosuspend(adev_to_drm(adev)->dev);
amdgpu_virt_disable_access_debugfs(adev);
return r;
@@ -676,7 +669,6 @@ static ssize_t amdgpu_debugfs_regs_didt_read(struct file *f, char __user *buf,
r = result;
out:
- pm_runtime_mark_last_busy(adev_to_drm(adev)->dev);
pm_runtime_put_autosuspend(adev_to_drm(adev)->dev);
amdgpu_virt_disable_access_debugfs(adev);
return r;
@@ -736,7 +728,6 @@ static ssize_t amdgpu_debugfs_regs_didt_write(struct file *f, const char __user
r = result;
out:
- pm_runtime_mark_last_busy(adev_to_drm(adev)->dev);
pm_runtime_put_autosuspend(adev_to_drm(adev)->dev);
amdgpu_virt_disable_access_debugfs(adev);
return r;
@@ -795,7 +786,6 @@ static ssize_t amdgpu_debugfs_regs_smc_read(struct file *f, char __user *buf,
r = result;
out:
- pm_runtime_mark_last_busy(adev_to_drm(adev)->dev);
pm_runtime_put_autosuspend(adev_to_drm(adev)->dev);
amdgpu_virt_disable_access_debugfs(adev);
return r;
@@ -855,7 +845,6 @@ static ssize_t amdgpu_debugfs_regs_smc_write(struct file *f, const char __user *
r = result;
out:
- pm_runtime_mark_last_busy(adev_to_drm(adev)->dev);
pm_runtime_put_autosuspend(adev_to_drm(adev)->dev);
amdgpu_virt_disable_access_debugfs(adev);
return r;
@@ -1003,7 +992,6 @@ static ssize_t amdgpu_debugfs_sensor_read(struct file *f, char __user *buf,
r = amdgpu_dpm_read_sensor(adev, idx, &values[0], &valuesize);
- pm_runtime_mark_last_busy(adev_to_drm(adev)->dev);
pm_runtime_put_autosuspend(adev_to_drm(adev)->dev);
if (r) {
@@ -1094,7 +1082,6 @@ static ssize_t amdgpu_debugfs_wave_read(struct file *f, char __user *buf,
amdgpu_gfx_select_se_sh(adev, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0);
mutex_unlock(&adev->grbm_idx_mutex);
- pm_runtime_mark_last_busy(adev_to_drm(adev)->dev);
pm_runtime_put_autosuspend(adev_to_drm(adev)->dev);
if (!x) {
@@ -1192,7 +1179,6 @@ static ssize_t amdgpu_debugfs_gpr_read(struct file *f, char __user *buf,
amdgpu_gfx_select_se_sh(adev, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0);
mutex_unlock(&adev->grbm_idx_mutex);
- pm_runtime_mark_last_busy(adev_to_drm(adev)->dev);
pm_runtime_put_autosuspend(adev_to_drm(adev)->dev);
while (size) {
@@ -1266,7 +1252,6 @@ static ssize_t amdgpu_debugfs_gfxoff_residency_read(struct file *f, char __user
r = result;
out:
- pm_runtime_mark_last_busy(adev_to_drm(adev)->dev);
pm_runtime_put_autosuspend(adev_to_drm(adev)->dev);
return r;
@@ -1315,7 +1300,6 @@ static ssize_t amdgpu_debugfs_gfxoff_residency_write(struct file *f, const char
r = result;
out:
- pm_runtime_mark_last_busy(adev_to_drm(adev)->dev);
pm_runtime_put_autosuspend(adev_to_drm(adev)->dev);
return r;
@@ -1365,7 +1349,6 @@ static ssize_t amdgpu_debugfs_gfxoff_count_read(struct file *f, char __user *buf
r = result;
out:
- pm_runtime_mark_last_busy(adev_to_drm(adev)->dev);
pm_runtime_put_autosuspend(adev_to_drm(adev)->dev);
return r;
@@ -1414,7 +1397,6 @@ static ssize_t amdgpu_debugfs_gfxoff_write(struct file *f, const char __user *bu
r = result;
out:
- pm_runtime_mark_last_busy(adev_to_drm(adev)->dev);
pm_runtime_put_autosuspend(adev_to_drm(adev)->dev);
return r;
@@ -1460,7 +1442,6 @@ static ssize_t amdgpu_debugfs_gfxoff_read(struct file *f, char __user *buf,
r = result;
out:
- pm_runtime_mark_last_busy(adev_to_drm(adev)->dev);
pm_runtime_put_autosuspend(adev_to_drm(adev)->dev);
return r;
@@ -1501,7 +1482,6 @@ static ssize_t amdgpu_debugfs_gfxoff_status_read(struct file *f, char __user *bu
r = result;
out:
- pm_runtime_mark_last_busy(adev_to_drm(adev)->dev);
pm_runtime_put_autosuspend(adev_to_drm(adev)->dev);
return r;
@@ -1701,7 +1681,6 @@ static int amdgpu_debugfs_test_ib_show(struct seq_file *m, void *unused)
up_write(&adev->reset_domain->sem);
- pm_runtime_mark_last_busy(dev->dev);
pm_runtime_put_autosuspend(dev->dev);
return 0;
@@ -1721,7 +1700,6 @@ static int amdgpu_debugfs_evict_vram(void *data, u64 *val)
*val = amdgpu_ttm_evict_resources(adev, TTM_PL_VRAM);
- pm_runtime_mark_last_busy(dev->dev);
pm_runtime_put_autosuspend(dev->dev);
return 0;
@@ -1742,7 +1720,6 @@ static int amdgpu_debugfs_evict_gtt(void *data, u64 *val)
*val = amdgpu_ttm_evict_resources(adev, TTM_PL_TT);
- pm_runtime_mark_last_busy(dev->dev);
pm_runtime_put_autosuspend(dev->dev);
return 0;
@@ -1762,7 +1739,6 @@ static int amdgpu_debugfs_benchmark(void *data, u64 val)
r = amdgpu_benchmark(adev, val);
- pm_runtime_mark_last_busy(dev->dev);
pm_runtime_put_autosuspend(dev->dev);
return r;
@@ -2014,7 +1990,6 @@ static int amdgpu_debugfs_sclk_set(void *data, u64 val)
ret = -EINVAL;
out:
- pm_runtime_mark_last_busy(adev_to_drm(adev)->dev);
pm_runtime_put_autosuspend(adev_to_drm(adev)->dev);
return ret;
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c
index 9e463d3ee927..d5844fee7204 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c
@@ -332,8 +332,6 @@ int amdgpu_display_crtc_set_config(struct drm_mode_set *set,
if (crtc->enabled)
active = true;
- pm_runtime_mark_last_busy(dev->dev);
-
adev = drm_to_adev(dev);
/* if we have active crtcs and we don't have a power ref,
* take the current one
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
index b299e15bb5e5..24edb5a327c2 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
@@ -2228,7 +2228,6 @@ static void amdgpu_get_secondary_funcs(struct amdgpu_device *adev)
adev->pdev->bus->number, i);
if (p) {
pm_runtime_get_sync(&p->dev);
- pm_runtime_mark_last_busy(&p->dev);
pm_runtime_put_autosuspend(&p->dev);
pci_dev_put(p);
}
@@ -2469,7 +2468,6 @@ static int amdgpu_pci_probe(struct pci_dev *pdev,
pm_runtime_allow(ddev->dev);
- pm_runtime_mark_last_busy(ddev->dev);
pm_runtime_put_autosuspend(ddev->dev);
pci_wake_from_d3(pdev, TRUE);
@@ -2907,7 +2905,6 @@ static int amdgpu_pmops_runtime_idle(struct device *dev)
ret = amdgpu_runtime_idle_check_userq(dev);
done:
- pm_runtime_mark_last_busy(dev);
pm_runtime_autosuspend(dev);
return ret;
}
@@ -2926,7 +2923,6 @@ long amdgpu_drm_ioctl(struct file *filp,
ret = drm_ioctl(filp, cmd, arg);
- pm_runtime_mark_last_busy(dev->dev);
out:
pm_runtime_put_autosuspend(dev->dev);
return ret;
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c
index 2c3547f4cea4..5e52ac2f9206 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c
@@ -267,7 +267,6 @@ bool amdgpu_fence_process(struct amdgpu_ring *ring)
dma_fence_signal(fence);
dma_fence_put(fence);
- pm_runtime_mark_last_busy(adev_to_drm(adev)->dev);
pm_runtime_put_autosuspend(adev_to_drm(adev)->dev);
} while (last_seq != seq);
@@ -920,7 +919,6 @@ static int gpu_recover_get(void *data, u64 *val)
*val = atomic_read(&adev->reset_domain->reset_res);
- pm_runtime_mark_last_busy(dev->dev);
pm_runtime_put_autosuspend(dev->dev);
return 0;
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c
index c80c8f543532..c922e141f4c6 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c
@@ -1594,7 +1594,6 @@ static ssize_t amdgpu_gfx_set_run_cleaner_shader(struct device *dev,
ret = amdgpu_gfx_run_cleaner_shader(adev, value);
- pm_runtime_mark_last_busy(ddev->dev);
pm_runtime_put_autosuspend(ddev->dev);
if (ret)
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
index 195ed81d39ff..c7233f30a29f 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
@@ -1450,7 +1450,6 @@ int amdgpu_driver_open_kms(struct drm_device *dev, struct drm_file *file_priv)
kfree(fpriv);
out_suspend:
- pm_runtime_mark_last_busy(dev->dev);
pm_put:
pm_runtime_put_autosuspend(dev->dev);
@@ -1521,7 +1520,6 @@ void amdgpu_driver_postclose_kms(struct drm_device *dev,
kfree(fpriv);
file_priv->driver_priv = NULL;
- pm_runtime_mark_last_busy(dev->dev);
pm_runtime_put_autosuspend(dev->dev);
}
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_rap.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_rap.c
index 123bcf5c2bb1..bacf888735db 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_rap.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_rap.c
@@ -101,7 +101,6 @@ static ssize_t amdgpu_rap_debugfs_write(struct file *f, const char __user *buf,
}
amdgpu_gfx_off_ctrl(adev, true);
- pm_runtime_mark_last_busy(dev->dev);
pm_runtime_put_autosuspend(dev->dev);
return size;
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c
index dd37d8815ba5..258acce7db8f 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c
@@ -3869,7 +3869,6 @@ static void amdgpu_ras_counte_dw(struct work_struct *work)
atomic_set(&con->ras_ue_count, ue_count);
}
- pm_runtime_mark_last_busy(dev->dev);
Out:
pm_runtime_put_autosuspend(dev->dev);
}
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_securedisplay.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_securedisplay.c
index 41ebe690eeff..3739be1b71e0 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_securedisplay.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_securedisplay.c
@@ -159,7 +159,6 @@ static ssize_t amdgpu_securedisplay_debugfs_write(struct file *f, const char __u
dev_err(adev->dev, "Invalid input: %s\n", str);
}
- pm_runtime_mark_last_busy(dev->dev);
pm_runtime_put_autosuspend(dev->dev);
return size;
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_userq.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_userq.c
index 295e7186e156..5e939ea8ea42 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_userq.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_userq.c
@@ -322,7 +322,6 @@ amdgpu_userq_destroy(struct drm_file *filp, int queue_id)
amdgpu_userq_cleanup(uq_mgr, queue, queue_id);
mutex_unlock(&uq_mgr->userq_mutex);
- pm_runtime_mark_last_busy(adev_to_drm(adev)->dev);
pm_runtime_put_autosuspend(adev_to_drm(adev)->dev);
return r;
diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_process.c b/drivers/gpu/drm/amd/amdkfd/kfd_process.c
index 5be28c6c4f6a..04b1abd8e80a 100644
--- a/drivers/gpu/drm/amd/amdkfd/kfd_process.c
+++ b/drivers/gpu/drm/amd/amdkfd/kfd_process.c
@@ -1083,7 +1083,6 @@ static void kfd_process_destroy_pdds(struct kfd_process *p)
* for auto suspend
*/
if (pdd->runtime_inuse) {
- pm_runtime_mark_last_busy(adev_to_drm(pdd->dev->adev)->dev);
pm_runtime_put_autosuspend(adev_to_drm(pdd->dev->adev)->dev);
pdd->runtime_inuse = false;
}
diff --git a/drivers/gpu/drm/amd/pm/amdgpu_pm.c b/drivers/gpu/drm/amd/pm/amdgpu_pm.c
index edd9895b46c0..728b3982df57 100644
--- a/drivers/gpu/drm/amd/pm/amdgpu_pm.c
+++ b/drivers/gpu/drm/amd/pm/amdgpu_pm.c
@@ -172,7 +172,6 @@ static int amdgpu_pm_get_access_if_active(struct amdgpu_device *adev)
*/
static inline void amdgpu_pm_put_access(struct amdgpu_device *adev)
{
- pm_runtime_mark_last_busy(adev->dev);
pm_runtime_put_autosuspend(adev->dev);
}
--
2.39.5
next prev parent reply other threads:[~2025-07-04 7:54 UTC|newest]
Thread overview: 165+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-07-04 7:52 [PATCH 00/80] treewide: " Sakari Ailus
2025-07-04 7:53 ` [PATCH 01/80] accel/ivpu: " Sakari Ailus
2025-07-07 8:29 ` Jacek Lawrynowicz
2025-07-04 7:53 ` [PATCH 02/80] accel/amdxdna: " Sakari Ailus
2025-07-07 16:52 ` Lizhi Hou
2025-07-04 7:53 ` [PATCH 03/80] Bluetooth: " Sakari Ailus
2025-07-04 7:53 ` [PATCH 04/80] bus: sunxi-rsb: " Sakari Ailus
2025-07-15 16:33 ` Chen-Yu Tsai
2025-07-04 7:53 ` [PATCH 05/80] hwrng: " Sakari Ailus
2025-07-07 9:35 ` AngeloGioacchino Del Regno
2025-07-18 10:58 ` Herbert Xu
2025-07-04 7:54 ` [PATCH 06/80] clk: imx: " Sakari Ailus
2025-07-07 8:30 ` Peng Fan
2025-07-24 21:37 ` Stephen Boyd
2025-07-04 7:54 ` [PATCH 07/80] clk: qcom: " Sakari Ailus
2025-07-24 21:46 ` Stephen Boyd
2025-07-04 7:54 ` [PATCH 08/80] crypto: " Sakari Ailus
2025-07-18 10:59 ` Herbert Xu
2025-07-04 7:54 ` [PATCH 09/80] dmaengine: at_xdmac: " Sakari Ailus
2025-07-04 7:54 ` [PATCH 10/80] dmaengine: pl330: " Sakari Ailus
2025-07-04 7:54 ` [PATCH 11/80] dmaengine: qcom: " Sakari Ailus
2025-07-04 7:54 ` [PATCH 12/80] dmaengine: ste_dma40: " Sakari Ailus
2025-07-04 8:41 ` Linus Walleij
2025-07-04 7:54 ` [PATCH 13/80] dmaengine: ti: " Sakari Ailus
2025-07-04 7:54 ` [PATCH 14/80] dmaengine: zynqmp_dma: " Sakari Ailus
2025-07-04 7:54 ` [PATCH 15/80] gpio: arizona: " Sakari Ailus
2025-07-07 8:46 ` Charles Keepax
2025-07-04 7:54 ` Sakari Ailus [this message]
2025-07-04 7:54 ` [PATCH 17/80] drm/nouveau: " Sakari Ailus
2025-07-04 9:24 ` Danilo Krummrich
2025-07-04 7:54 ` [PATCH 18/80] drm/radeon: " Sakari Ailus
2025-07-04 7:54 ` [PATCH 19/80] drm/panfrost: " Sakari Ailus
2025-07-04 9:18 ` Steven Price
2025-08-15 14:22 ` Steven Price
2025-07-04 7:54 ` [PATCH 21/80] HSI: omap_ssi_port: " Sakari Ailus
2025-07-05 0:37 ` Sebastian Reichel
2025-07-04 7:54 ` [PATCH 20/80] drivers: drm: " Sakari Ailus
2025-07-04 8:11 ` Jani Nikula
2025-07-04 8:58 ` Laurent Pinchart
2025-07-04 9:12 ` Thierry Reding
2025-07-04 9:18 ` Steven Price
2025-07-04 10:24 ` Maíra Canal
2025-07-08 14:01 ` Luca Ceresoli
2025-07-04 7:54 ` [PATCH 22/80] stm class: " Sakari Ailus
2025-07-04 7:54 ` [PATCH 23/80] i2c: " Sakari Ailus
2025-07-10 20:49 ` Andi Shyti
2025-10-14 11:52 ` Wolfram Sang
2025-07-04 7:54 ` [PATCH 24/80] i3c: master: svc: " Sakari Ailus
2025-07-15 14:00 ` Frank Li
2025-07-04 7:54 ` [PATCH 25/80] i3c: dw: " Sakari Ailus
2025-07-04 7:54 ` [PATCH 26/80] HID: intel-thc-hid: " Sakari Ailus
2025-07-07 5:11 ` Xu, Even
2025-07-04 7:54 ` [PATCH 27/80] iio: accel: " Sakari Ailus
2025-07-04 9:05 ` Jonathan Cameron
2025-07-10 6:46 ` Matti Vaittinen
2025-07-13 13:43 ` Jonathan Cameron
2025-07-04 7:54 ` [PATCH 28/80] iio: adc: " Sakari Ailus
2025-07-04 8:42 ` Linus Walleij
2025-07-04 9:09 ` Jonathan Cameron
2025-07-04 7:54 ` [PATCH 29/80] iio: chemical: " Sakari Ailus
2025-07-04 7:54 ` [PATCH 30/80] iio: common: " Sakari Ailus
2025-07-04 7:54 ` [PATCH 31/80] iio: dac: " Sakari Ailus
2025-07-04 7:54 ` [PATCH 32/80] iio: gyro: " Sakari Ailus
2025-07-04 8:41 ` Linus Walleij
2025-07-04 15:25 ` Rui Miguel Silva
2025-07-04 7:54 ` [PATCH 33/80] iio: imu: " Sakari Ailus
2025-07-04 10:26 ` Waqar Hameed
2025-07-04 7:54 ` [PATCH 34/80] iio: light: " Sakari Ailus
2025-07-04 8:42 ` Linus Walleij
2025-07-06 10:31 ` Jonathan Cameron
2025-07-04 7:54 ` [PATCH 35/80] iio: magnetometer: " Sakari Ailus
2025-07-04 8:43 ` Linus Walleij
2025-07-06 10:28 ` Jonathan Cameron
2025-07-04 7:54 ` [PATCH 36/80] iio: pressure: " Sakari Ailus
2025-07-04 7:54 ` [PATCH 37/80] iio: proximity: " Sakari Ailus
2025-07-06 10:27 ` Jonathan Cameron
2025-07-04 7:54 ` [PATCH 38/80] iio: temperature: " Sakari Ailus
2025-07-04 16:00 ` Crt Mori
2025-07-06 10:25 ` Jonathan Cameron
2025-07-06 10:26 ` Jonathan Cameron
2025-07-08 10:52 ` Sakari Ailus
2025-07-04 7:54 ` [PATCH 39/80] Input: omap4-keypad: " Sakari Ailus
2025-07-04 7:54 ` [PATCH 40/80] Input: cs40l50: " Sakari Ailus
2025-07-04 7:54 ` [PATCH 41/80] media: " Sakari Ailus
2025-07-04 8:56 ` Laurent Pinchart
2025-07-04 9:07 ` Thierry Reding
2025-07-04 9:32 ` Tommaso Merciai
2025-07-04 11:30 ` Dikshita Agarwal
2025-07-04 15:16 ` Sean Young
2025-07-07 15:57 ` Dave Stevenson
2025-07-09 8:43 ` Benjamin Gaignard
2025-07-04 7:54 ` [PATCH 42/80] mfd: " Sakari Ailus
2025-07-07 8:47 ` Charles Keepax
2025-07-23 8:42 ` (subset) " Lee Jones
2025-07-04 7:54 ` [PATCH 43/80] mei: " Sakari Ailus
2025-07-04 7:54 ` [PATCH 45/80] mtd: rawnand: gpmi: " Sakari Ailus
2025-07-04 7:54 ` [PATCH 44/80] mmc: " Sakari Ailus
2025-07-09 14:02 ` Ulf Hansson
2025-07-04 7:54 ` [PATCH 46/80] net: ethernet: " Sakari Ailus
2025-07-04 8:57 ` Niklas Söderlund
2025-07-04 7:54 ` [PATCH 47/80] net: ipa: " Sakari Ailus
2025-07-04 7:54 ` [PATCH 48/80] net: wireless: " Sakari Ailus
2025-07-04 7:54 ` [PATCH 49/80] net: wwan: " Sakari Ailus
2025-07-05 9:51 ` Sergey Ryazanov
2025-07-04 7:54 ` [PATCH 50/80] nfc: trf7970a: " Sakari Ailus
2025-07-04 8:03 ` Krzysztof Kozlowski
2025-07-15 8:18 ` Sakari Ailus
2025-07-04 7:54 ` [PATCH 52/80] phy: motorola: phy-mapphone-mdm6600: " Sakari Ailus
2025-07-04 7:54 ` [PATCH 51/80] PCI/portdrv: " Sakari Ailus
2025-07-04 7:54 ` [PATCH 53/80] phy: ti: phy-twl4030-usb: " Sakari Ailus
2025-07-04 7:54 ` [PATCH 54/80] power: supply: bq24190: " Sakari Ailus
2025-07-04 7:54 ` [PATCH 55/80] power: supply: twl4030_charger: " Sakari Ailus
2025-07-04 7:54 ` [PATCH 56/80] pwm: img: " Sakari Ailus
2025-07-09 8:55 ` Uwe Kleine-König
2025-07-04 7:54 ` [PATCH 57/80] regulator: stm32-vrefbuf: " Sakari Ailus
2025-07-04 7:54 ` [PATCH 58/80] remoteproc: omap: " Sakari Ailus
2025-07-04 7:54 ` [PATCH 59/80] slimbus: " Sakari Ailus
2025-07-09 6:41 ` Srinivas Kandagatla
2025-07-04 7:54 ` [PATCH 60/80] soundwire: " Sakari Ailus
2025-07-04 7:54 ` [PATCH 61/80] spi: " Sakari Ailus
2025-07-07 9:35 ` AngeloGioacchino Del Regno
2025-07-04 7:54 ` [PATCH 62/80] staging: greybus: " Sakari Ailus
2025-07-04 7:54 ` [PATCH 63/80] " Sakari Ailus
2025-07-04 7:54 ` [PATCH 64/80] media: rkvdec: " Sakari Ailus
2025-07-04 13:05 ` Nicolas Dufresne
2025-08-11 13:48 ` Nicolas Dufresne
2025-07-04 7:54 ` [PATCH 65/80] thunderbolt: " Sakari Ailus
2025-07-04 7:54 ` [PATCH 66/80] serial: " Sakari Ailus
2025-07-04 7:54 ` [PATCH 67/80] usb: " Sakari Ailus
2025-07-04 9:11 ` Thierry Reding
2025-07-07 9:35 ` AngeloGioacchino Del Regno
2025-07-21 2:25 ` Peter Chen (CIX)
2025-07-04 7:54 ` [PATCH 68/80] w1: omap-hdq: " Sakari Ailus
2025-07-04 7:54 ` [PATCH 70/80] ASoC: atmel: " Sakari Ailus
2025-07-04 7:54 ` [PATCH 69/80] ALSA: hda: " Sakari Ailus
2025-07-04 11:47 ` Takashi Iwai
2025-07-04 11:52 ` Mark Brown
2025-07-04 11:58 ` Takashi Iwai
2025-07-06 8:27 ` Takashi Iwai
2025-07-04 7:54 ` [PATCH 71/80] ASoC: codecs: " Sakari Ailus
2025-07-07 9:16 ` Charles Keepax
2025-07-04 7:54 ` [PATCH 72/80] ASoC: Intel: " Sakari Ailus
2025-07-04 7:54 ` [PATCH 73/80] ASoC: component: " Sakari Ailus
2025-07-04 7:54 ` [PATCH 74/80] ASoC: SOF: " Sakari Ailus
2025-07-04 8:26 ` Péter Ujfalusi
2025-07-04 7:55 ` [PATCH 76/80] soc: apple: mailbox: " Sakari Ailus
2025-07-04 7:55 ` [PATCH 75/80] ALSA: intel_hdmi: " Sakari Ailus
2025-07-04 11:45 ` Takashi Iwai
2025-07-06 8:26 ` Takashi Iwai
2025-07-04 7:55 ` [PATCH 77/80] block: pm: " Sakari Ailus
2025-07-07 5:59 ` Christoph Hellwig
2025-07-04 7:55 ` [PATCH 78/80] Input: cyapa - " Sakari Ailus
2025-07-04 7:55 ` [PATCH 79/80] mei: " Sakari Ailus
2025-07-04 7:55 ` [PATCH 80/80] scsi: block: pm: " Sakari Ailus
2025-07-04 9:03 ` [PATCH 00/80] treewide: " Jonathan Cameron
2025-07-04 12:04 ` Mark Brown
2025-07-08 10:01 ` Sakari Ailus
2025-07-04 18:15 ` (subset) " Mark Brown
2025-07-04 23:39 ` Mark Brown
2025-07-06 23:04 ` Sebastian Reichel
2025-07-07 8:03 ` Bartosz Golaszewski
2025-07-07 16:29 ` Mark Brown
2025-07-30 23:40 ` Alexandre Belloni
2025-09-05 21:08 ` Sebastian Reichel
2025-11-26 20:10 ` Bjorn Andersson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250704075409.3217885-1-sakari.ailus@linux.intel.com \
--to=sakari.ailus@linux.intel.com \
--cc=Arunpravin.PaneerSelvam@amd.com \
--cc=Felix.Kuehling@amd.com \
--cc=Hawking.Zhang@amd.com \
--cc=Jack.Xiao@amd.com \
--cc=Prike.Liang@amd.com \
--cc=YiPeng.Chai@amd.com \
--cc=airlied@gmail.com \
--cc=alex.hung@amd.com \
--cc=alexander.deucher@amd.com \
--cc=amd-gfx@lists.freedesktop.org \
--cc=andrealmeid@igalia.com \
--cc=antonio@mandelbit.com \
--cc=asad.kamal@amd.com \
--cc=christian.koenig@amd.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=ganglxie@amd.com \
--cc=hamzamahfooz@linux.microsoft.com \
--cc=harry.wentland@amd.com \
--cc=jani.nikula@intel.com \
--cc=jesse.zhang@amd.com \
--cc=kenneth.feng@amd.com \
--cc=kevinyang.wang@amd.com \
--cc=lijo.lazar@amd.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@weissschuh.net \
--cc=liviu.dudau@arm.com \
--cc=lumag@kernel.org \
--cc=make24@iscas.ac.cn \
--cc=marek.olsak@amd.com \
--cc=mario.limonciello@amd.com \
--cc=mingo@kernel.org \
--cc=pratap.nirujogi@amd.com \
--cc=sathishkumar.sundararaju@amd.com \
--cc=shashank.sharma@amd.com \
--cc=simona@ffwll.ch \
--cc=srinivasan.shanmugam@amd.com \
--cc=tao.zhou1@amd.com \
--cc=tglx@linutronix.de \
--cc=tim.huang@amd.com \
--cc=tzimmermann@suse.de \
--cc=victor.skvortsov@amd.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®