Marcin Slusarz
2012-May-27 20:00 UTC
[Nouveau] [PATCH] drm/nouveau/pm: fix oops on get/set_perflvl
Regression from "drm/nouveau: very scary looking cleanup commit" 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
Ben Skeggs
2012-May-29 11:15 UTC
[Nouveau] [PATCH] drm/nouveau/pm: fix oops on get/set_perflvl
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 >