Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 267988
b: refs/heads/master
c: cf9f115
h: refs/heads/master
v: v3
  • Loading branch information
Alan Cox authored and Greg Kroah-Hartman committed Aug 26, 2011
1 parent aa6a59b commit 46f457d
Show file tree
Hide file tree
Showing 4 changed files with 21 additions and 27 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 2a30cda7af24dc179d60f6343f065d6077f541f3
refs/heads/master: cf9f1155592091687b02e64a40c41d6a482985cd
6 changes: 4 additions & 2 deletions trunk/drivers/staging/gma500/power.c
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ static void gma_suspend_display(struct drm_device *dev)
{
struct drm_psb_private *dev_priv = dev->dev_private;

if (dev_priv->suspended)
if (!dev_priv->display_power)
return;
dev_priv->ops->save_regs(dev);
dev_priv->ops->power_down(dev);
Expand All @@ -101,7 +101,7 @@ static void gma_resume_display(struct pci_dev *pdev)
struct drm_device *dev = pci_get_drvdata(pdev);
struct drm_psb_private *dev_priv = dev->dev_private;

if (dev_priv->suspended == false)
if (dev_priv->display_power)
return;

/* turn on the display power island */
Expand Down Expand Up @@ -265,6 +265,8 @@ bool gma_power_begin(struct drm_device *dev, bool force_on)
/* Ok power up needed */
ret = gma_resume_pci(dev->pdev);
if (ret == 0) {
/* FIXME: we want to defer this for Medfield/Oaktrail */
gma_resume_display(dev);
psb_irq_preinstall(dev);
psb_irq_postinstall(dev);
pm_runtime_get(&dev->pdev->dev);
Expand Down
36 changes: 16 additions & 20 deletions trunk/drivers/staging/gma500/psb_drv.c
Original file line number Diff line number Diff line change
Expand Up @@ -448,12 +448,9 @@ static int psb_driver_load(struct drm_device *dev, unsigned long chipset)

if (ret)
return ret;
#if 0
/*enable runtime pm at last*/
pm_runtime_enable(&dev->pdev->dev);

/* Enable runtime pm at last */
pm_runtime_set_active(&dev->pdev->dev);
#endif
/*Intel drm driver load is done, continue doing pvr load*/
return 0;
out_err:
psb_driver_unload(dev);
Expand All @@ -470,23 +467,21 @@ static int psb_sizes_ioctl(struct drm_device *dev, void *data,
struct drm_file *file_priv)
{
struct drm_psb_private *dev_priv = psb_priv(dev);
struct drm_psb_sizes_arg *arg =
(struct drm_psb_sizes_arg *) data;
struct drm_psb_sizes_arg *arg = data;

*arg = dev_priv->sizes;
return 0;
}

static int psb_dc_state_ioctl(struct drm_device *dev, void * data,
static int psb_dc_state_ioctl(struct drm_device *dev, void *data,
struct drm_file *file_priv)
{
uint32_t flags;
uint32_t obj_id;
struct drm_mode_object *obj;
struct drm_connector *connector;
struct drm_crtc *crtc;
struct drm_psb_dc_state_arg *arg =
(struct drm_psb_dc_state_arg *)data;
struct drm_psb_dc_state_arg *arg = data;


/* Double check MRST case */
Expand Down Expand Up @@ -1114,15 +1109,12 @@ static long psb_unlocked_ioctl(struct file *filp, unsigned int cmd,
{
struct drm_file *file_priv = filp->private_data;
struct drm_device *dev = file_priv->minor->dev;
struct drm_psb_private *dev_priv = dev->dev_private;
static unsigned int runtime_allowed;

if (runtime_allowed == 1 && dev_priv->is_lvds_on) {
runtime_allowed++;
pm_runtime_allow(&dev->pdev->dev);
dev_priv->rpm_enabled = 1;
}
return drm_ioctl(filp, cmd, arg);
int ret;

pm_runtime_forbid(dev->dev);
ret = drm_ioctl(filp, cmd, arg);
pm_runtime_allow(dev->dev);
return ret;
/* FIXME: do we need to wrap the other side of this */
}

Expand All @@ -1141,8 +1133,12 @@ static void psb_remove(struct pci_dev *pdev)
}

static const struct dev_pm_ops psb_pm_ops = {
.resume = gma_power_resume,
.suspend = gma_power_suspend,
.resume = gma_power_resume,
.freeze = gma_power_suspend,
.thaw = gma_power_resume,
.poweroff = gma_power_suspend,
.restore = gma_power_resume,
.runtime_suspend = psb_runtime_suspend,
.runtime_resume = psb_runtime_resume,
.runtime_idle = psb_runtime_idle,
Expand Down
4 changes: 0 additions & 4 deletions trunk/drivers/staging/gma500/psb_intel_display.c
Original file line number Diff line number Diff line change
Expand Up @@ -1102,10 +1102,6 @@ static int psb_crtc_set_config(struct drm_mode_set *set)
{
int ret;
struct drm_device *dev = set->crtc->dev;
struct drm_psb_private *dev_priv = dev->dev_private;

if (!dev_priv->rpm_enabled)
return drm_crtc_helper_set_config(set);

pm_runtime_forbid(&dev->pdev->dev);
ret = drm_crtc_helper_set_config(set);
Expand Down

0 comments on commit 46f457d

Please sign in to comment.