Re: [PATCH] drm/nouveau: handle -EACCES runtime PM return code

From: Thierry Reding
Date: Mon Feb 10 2014 - 07:34:41 EST


On Mon, Feb 10, 2014 at 02:58:12PM +0900, Alexandre Courbot wrote:
> pm_runtime_get*() may return -EACCESS to indicate a device does not have

s/-EACCESS/-EACCES/

> runtime PM enabled. This is the case when the nouveau.runpm parameter is
> set to 0, and is not an error in that context. Handle this case without
> failure.
>
> Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx>
> ---
> drivers/gpu/drm/nouveau/dispnv04/crtc.c | 2 +-
> drivers/gpu/drm/nouveau/nouveau_connector.c | 2 +-
> drivers/gpu/drm/nouveau/nouveau_drm.c | 4 ++--
> 3 files changed, 4 insertions(+), 4 deletions(-)

I'm not sure if the commit message is entirely accurate. Looking at the
various runtime power-management functions in nouveau_drm.c (such as
nouveau_pmops_runtime_suspend() for example), they seem to return
-EINVAL if the nouveau.runpm parameter is set to 0.

However it seems like -EACCES is indeed returned when runtime power-
management hasn't been enabled for a device. This is done automatically
for PCI devices, but not for platform devices. We don't support runtime
power-management on gk20a yet, therefore pm_runtime_enable() is never
called, causing disable_depth to remain at -1 and therefore runtime PM
helpers return -EACCES.

Thierry

Attachment: pgp00000.pgp
Description: PGP signature