From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-ej1-f46.google.com (mail-ej1-f46.google.com [209.85.218.46]) (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 041F73CD8A2 for ; Sun, 3 May 2026 16:38:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.46 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777826340; cv=none; b=fQKOZvdgvxuctmcYSjG/R1tZ+Hy7ggF1Th4cR1DD8FIRI3CiSqvGc/7mGYloTlmfGZB32mYMyTq4BZyz+UohijHddjdQgccvx1+rNf4F7V8XrbjGAIPSnXa0NH7UTtTTfj8L3QIRuEtAow2HiaCNDZxUSHjqw5j9gbl1ItpO9Zw= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777826340; c=relaxed/simple; bh=AyWMMyopNlz3aLBzj+mvuEqAZeArX1R9CyGPe7VtR3M=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=rM7GpydDBZMLa7WZ3UTUh0BHBEItpoGnsdOaDtLykJXN9PQoeG2Ob4mLmAZdZbsnuBoLRNTPSta/tIRX0ISTjCE0+WivBeTG9IM8pwZW6YLgfQFmzyZHaqeCGMR2Mit82b7UBfsmPQcYJjox4M027aZogFROdjTAwa1oY5mNaLk= 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=SXKe65j3; arc=none smtp.client-ip=209.85.218.46 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="SXKe65j3" Received: by mail-ej1-f46.google.com with SMTP id a640c23a62f3a-b9c603ec2dfso438119866b.1 for ; Sun, 03 May 2026 09:38:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1777826337; x=1778431137; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=8zyB3mnhxYbuCPwW5Ny1cCWwB0U69BU8Ai2teNpQO6Y=; b=SXKe65j3rYeMQh+vogq0kCwKtpBTtYCy1d1T85Ddirt0jf715Kd+r5om2fcmkX8xum F708ZSx2i2/mDhuaj+V/VDWMu9Ar96kY8Y5959Qvlq5Pfuwx4rDN670eDkmQKxwHho38 xVBTXZNkDYClmvT+7X2KKh0JEINdqvT/fpiB+tlU79ypkhb/mVpxMuuGsk7h14v2V4sc FZ9Nx7cRhbVQgVgwj6lm8gzEDY7XUdAcXHjYi1MfKN+5ErDDNJT4gf8UTDmI1HJLjhlU 2QcRFDAjuSHFMsF2uB+//2O3m/h2xithJs88sTOb0KEPjDRjW3Rxj2Ub2r5sRRvwOY1H Y2YA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777826337; x=1778431137; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=8zyB3mnhxYbuCPwW5Ny1cCWwB0U69BU8Ai2teNpQO6Y=; b=snmuiUKJifoMonEfREbyYD1zsaFOotin5JfIIUWQ4Sgx6DXzeUvRXJq5jzk6Wj/5TW aaz1ykGB56UKx7YHqGfj5K6pnktrR6Fn6NRbY1+/w0hyyzrpwhAGs55U4840AdpKXRAP nMwkeHvYOakWbQXvvk0TovCQDWUWdovmO8Ax1q0fOoT/fi63qDeggreMNw8yzKBXFPHN DAfRtNULK0tlyCYqAMXTTxc4WldEzfUBbAuSt5nzxSUHorJ/Yd0l0cRqGIcwDe3Vgczx dyTmE0CgzW4KfvsWAR4fjcVf03vGQnNVilD54pVzTKS0OZcMsT0edhjRSOBffiECWGbQ OeZg== X-Forwarded-Encrypted: i=1; AFNElJ/zT9/hO0g/120/vcO9hlm1h6rhrkQQOL9FFc5SCOvzSxHhrABGKW4Bhd0iwJsne/0T7keIKGzSiHtRfpI=@vger.kernel.org X-Gm-Message-State: AOJu0YwvQ7jicch0wD2aMVXXbqUPglpqO2aAJPyVc/3CahSzJS+QgwNe XDc98jqnPoeahtr6yyD+QdgIbCt9kwERHEjdvFUW04LuyU6Dq9qLWBBT X-Gm-Gg: AeBDietZHgcI7g/deiETrW75GKlit92HBmPe7mOULbXjLGz1d1vGv4/XkTSbjWlu75Z RovYywbmrdzIEkbHV0GYKHMYF0UOnoN0E1NBS1qN36uP0ZyuA0JNqGKW1aruF0kH7Pq8tCgudxD Dh9U1yqnjwq9sTfPLMC/oUkGH9j2FiLhwZr9FF3Mlo12qSfehS7VsotDUzLSWXJHPdxq005nLo5 ERwNn1IiL3jsH6diOAtJIpeUebs1NObLaoW9Wyipf/az4cJnklbQjX7Nre4mvKPS5eRkB6DB5C2 efUsJyQ5AQpBCNQS05uE5u47kBSAYVHRnQqlC/DghorbaYDeKJDKh5RMTd5rrx1r/tZGwdA+4Zp yOAE6iTnbSyMxgG/zAVJCPzTGsivCAhe2+FqOgMZMu7F/iySPOSUWIXqYpzwS4G7ZKlr9Yj/2Hu abBaP5u48/UM5AUCldQc8xR8c= X-Received: by 2002:a17:907:1ca1:b0:bc1:baa8:1857 with SMTP id a640c23a62f3a-bc1bab76a36mr109324266b.36.1777826337001; Sun, 03 May 2026 09:38:57 -0700 (PDT) Received: from xeon ([188.163.112.56]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-bc1ffd6f8e9sm44126066b.13.2026.05.03.09.38.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 03 May 2026 09:38:56 -0700 (PDT) From: Svyatoslav Ryhel To: Thierry Reding , Mikko Perttunen , David Airlie , Simona Vetter , Jonathan Hunter , Ion Agorria , Svyatoslav Ryhel Cc: dri-devel@lists.freedesktop.org, linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v2 2/2] drm/tegra: gr2d/gr3d: Contain PM in the gr*d_probe/gr*d_remove Date: Sun, 3 May 2026 19:38:42 +0300 Message-ID: <20260503163842.213489-3-clamor95@gmail.com> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20260503163842.213489-1-clamor95@gmail.com> References: <20260503163842.213489-1-clamor95@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: 8bit From: Ion Agorria The current power management configuration causes GR2G/GR3D to malfunction after resume. Reconfigure all PM actions to be handled within the GR*D probe and remove operations to address this. Fixes: 62fa0a985e2c ("drm/tegra: Enable runtime PM during probe") Acked-by: Mikko Perttunen Signed-off-by: Ion Agorria Signed-off-by: Svyatoslav Ryhel --- drivers/gpu/drm/tegra/gr2d.c | 11 ++++------- drivers/gpu/drm/tegra/gr3d.c | 11 ++++------- 2 files changed, 8 insertions(+), 14 deletions(-) diff --git a/drivers/gpu/drm/tegra/gr2d.c b/drivers/gpu/drm/tegra/gr2d.c index e4148b034af7..ffcd076b5831 100644 --- a/drivers/gpu/drm/tegra/gr2d.c +++ b/drivers/gpu/drm/tegra/gr2d.c @@ -100,9 +100,6 @@ static int gr2d_exit(struct host1x_client *client) if (err < 0) return err; - pm_runtime_dont_use_autosuspend(client->dev); - pm_runtime_force_suspend(client->dev); - host1x_client_iommu_detach(client); host1x_syncpt_put(client->syncpts[0]); host1x_channel_put(gr2d->channel); @@ -286,6 +283,10 @@ static int gr2d_probe(struct platform_device *pdev) return err; } + pm_runtime_enable(dev); + pm_runtime_use_autosuspend(dev); + pm_runtime_set_autosuspend_delay(dev, 500); + return 0; } @@ -367,10 +368,6 @@ static int __maybe_unused gr2d_runtime_resume(struct device *dev) goto disable_clk; } - pm_runtime_enable(dev); - pm_runtime_use_autosuspend(dev); - pm_runtime_set_autosuspend_delay(dev, 500); - return 0; disable_clk: diff --git a/drivers/gpu/drm/tegra/gr3d.c b/drivers/gpu/drm/tegra/gr3d.c index 47b0c6c56bfd..cd5554e2117f 100644 --- a/drivers/gpu/drm/tegra/gr3d.c +++ b/drivers/gpu/drm/tegra/gr3d.c @@ -109,9 +109,6 @@ static int gr3d_exit(struct host1x_client *client) if (err < 0) return err; - pm_runtime_dont_use_autosuspend(client->dev); - pm_runtime_force_suspend(client->dev); - host1x_client_iommu_detach(client); host1x_syncpt_put(client->syncpts[0]); host1x_channel_put(gr3d->channel); @@ -517,6 +514,10 @@ static int gr3d_probe(struct platform_device *pdev) return err; } + pm_runtime_enable(&pdev->dev); + pm_runtime_use_autosuspend(&pdev->dev); + pm_runtime_set_autosuspend_delay(&pdev->dev, 500); + return 0; } @@ -578,10 +579,6 @@ static int __maybe_unused gr3d_runtime_resume(struct device *dev) goto disable_clk; } - pm_runtime_enable(dev); - pm_runtime_use_autosuspend(dev); - pm_runtime_set_autosuspend_delay(dev, 500); - return 0; disable_clk: -- 2.51.0