[Nouveau] [PATCH] drm/nouveau/pm: fix oops on get/set_perflvl

Ben Skeggs skeggsb at gmail.com
Tue May 29 04:15:29 PDT 2012


On Sun, May 27, 2012 at 10:00:41PM +0200, Marcin Slusarz wrote:
> Regression from "drm/nouveau: very scary looking cleanup commit"
Thanks, pushed.

> 
> Signed-off-by: Marcin Slusarz <marcin.slusarz at gmail.com>
> ---
>  drivers/gpu/drm/nouveau/nouveau_pm.c |    6 ++++--
>  1 files changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/nouveau/nouveau_pm.c b/drivers/gpu/drm/nouveau/nouveau_pm.c
> index 9dd34fe..5539482 100644
> --- a/drivers/gpu/drm/nouveau/nouveau_pm.c
> +++ b/drivers/gpu/drm/nouveau/nouveau_pm.c
> @@ -306,7 +306,8 @@ nouveau_pm_get_perflvl_info(struct device *d,
>  static ssize_t
>  nouveau_pm_get_perflvl(struct device *d, struct device_attribute *a, char *buf)
>  {
> -	struct nouveau_device *ndev = pci_get_drvdata(to_pci_dev(d));
> +	struct drm_device *dev = pci_get_drvdata(to_pci_dev(d));
> +	struct nouveau_device *ndev = nouveau_device(dev);
>  	struct nouveau_pm_engine *pm = &ndev->subsys.pm;
>  	struct nouveau_pm_level cur;
>  	int len = PAGE_SIZE, ret;
> @@ -327,7 +328,8 @@ static ssize_t
>  nouveau_pm_set_perflvl(struct device *d, struct device_attribute *a,
>  		       const char *buf, size_t count)
>  {
> -	struct nouveau_device *ndev = pci_get_drvdata(to_pci_dev(d));
> +	struct drm_device *dev = pci_get_drvdata(to_pci_dev(d));
> +	struct nouveau_device *ndev = nouveau_device(dev);
>  	int ret;
>  
>  	ret = nouveau_pm_profile_set(ndev, buf);
> -- 
> 1.7.8.6
> 


More information about the Nouveau mailing list