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

Alexandre Courbot gnurou at gmail.com
Mon Feb 10 20:14:53 PST 2014


On Mon, Feb 10, 2014 at 9:34 PM, Thierry Reding
<thierry.reding at gmail.com> wrote:
> 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/

Oops.

>> 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 at nvidia.com>
>> ---
>>  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.

I will fix the commit message, as indeed the -EACCES code is not
directly related to the runpm parameter, but rather to the fact
pm_runtime_enable() is not called for platform devices yet.

Do we however agree on the issue that this patch addresses, and the
way it addresses it?

Thanks,
Alex.


More information about the dri-devel mailing list