Skip to content

Commit

Permalink
Merge branch 'drm-intel-fixes' into drm-intel-next
Browse files Browse the repository at this point in the history
  • Loading branch information
Keith Packard committed Jun 29, 2011
2 parents 1c70c0c + dc501fb commit e489bda
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 14 deletions.
16 changes: 10 additions & 6 deletions drivers/gpu/drm/i915/i915_debugfs.c
Original file line number Diff line number Diff line change
Expand Up @@ -1245,13 +1245,17 @@ static int i915_context_status(struct seq_file *m, void *unused)
if (ret)
return ret;

seq_printf(m, "power context ");
describe_obj(m, dev_priv->pwrctx);
seq_printf(m, "\n");
if (dev_priv->pwrctx) {
seq_printf(m, "power context ");
describe_obj(m, dev_priv->pwrctx);
seq_printf(m, "\n");
}

seq_printf(m, "render context ");
describe_obj(m, dev_priv->renderctx);
seq_printf(m, "\n");
if (dev_priv->renderctx) {
seq_printf(m, "render context ");
describe_obj(m, dev_priv->renderctx);
seq_printf(m, "\n");
}

mutex_unlock(&dev->mode_config.mutex);

Expand Down
2 changes: 0 additions & 2 deletions drivers/gpu/drm/i915/i915_drv.h
Original file line number Diff line number Diff line change
Expand Up @@ -998,8 +998,6 @@ extern bool i915_enable_hangcheck;

extern int i915_suspend(struct drm_device *dev, pm_message_t state);
extern int i915_resume(struct drm_device *dev);
extern void i915_save_display(struct drm_device *dev);
extern void i915_restore_display(struct drm_device *dev);
extern int i915_master_create(struct drm_device *dev, struct drm_master *master);
extern void i915_master_destroy(struct drm_device *dev, struct drm_master *master);

Expand Down
19 changes: 13 additions & 6 deletions drivers/gpu/drm/i915/i915_suspend.c
Original file line number Diff line number Diff line change
Expand Up @@ -597,7 +597,7 @@ static void i915_restore_modeset_reg(struct drm_device *dev)
return;
}

void i915_save_display(struct drm_device *dev)
static void i915_save_display(struct drm_device *dev)
{
struct drm_i915_private *dev_priv = dev->dev_private;

Expand Down Expand Up @@ -678,7 +678,6 @@ void i915_save_display(struct drm_device *dev)
}

/* VGA state */
mutex_lock(&dev->struct_mutex);
dev_priv->saveVGA0 = I915_READ(VGA0);
dev_priv->saveVGA1 = I915_READ(VGA1);
dev_priv->saveVGA_PD = I915_READ(VGA_PD);
Expand All @@ -688,10 +687,9 @@ void i915_save_display(struct drm_device *dev)
dev_priv->saveVGACNTRL = I915_READ(VGACNTRL);

i915_save_vga(dev);
mutex_unlock(&dev->struct_mutex);
}

void i915_restore_display(struct drm_device *dev)
static void i915_restore_display(struct drm_device *dev)
{
struct drm_i915_private *dev_priv = dev->dev_private;

Expand Down Expand Up @@ -783,15 +781,13 @@ void i915_restore_display(struct drm_device *dev)
else
I915_WRITE(VGACNTRL, dev_priv->saveVGACNTRL);

mutex_lock(&dev->struct_mutex);
I915_WRITE(VGA0, dev_priv->saveVGA0);
I915_WRITE(VGA1, dev_priv->saveVGA1);
I915_WRITE(VGA_PD, dev_priv->saveVGA_PD);
POSTING_READ(VGA_PD);
udelay(150);

i915_restore_vga(dev);
mutex_unlock(&dev->struct_mutex);
}

int i915_save_state(struct drm_device *dev)
Expand All @@ -801,6 +797,8 @@ int i915_save_state(struct drm_device *dev)

pci_read_config_byte(dev->pdev, LBB, &dev_priv->saveLBB);

mutex_lock(&dev->struct_mutex);

/* Hardware status page */
dev_priv->saveHWS = I915_READ(HWS_PGA);

Expand Down Expand Up @@ -840,6 +838,8 @@ int i915_save_state(struct drm_device *dev)
for (i = 0; i < 3; i++)
dev_priv->saveSWF2[i] = I915_READ(SWF30 + (i << 2));

mutex_unlock(&dev->struct_mutex);

return 0;
}

Expand All @@ -850,6 +850,8 @@ int i915_restore_state(struct drm_device *dev)

pci_write_config_byte(dev->pdev, LBB, dev_priv->saveLBB);

mutex_lock(&dev->struct_mutex);

/* Hardware status page */
I915_WRITE(HWS_PGA, dev_priv->saveHWS);

Expand All @@ -867,6 +869,7 @@ int i915_restore_state(struct drm_device *dev)
I915_WRITE(IER, dev_priv->saveIER);
I915_WRITE(IMR, dev_priv->saveIMR);
}
mutex_unlock(&dev->struct_mutex);

intel_init_clock_gating(dev);

Expand All @@ -880,6 +883,8 @@ int i915_restore_state(struct drm_device *dev)
gen6_update_ring_freq(dev_priv);
}

mutex_lock(&dev->struct_mutex);

/* Cache mode state */
I915_WRITE (CACHE_MODE_0, dev_priv->saveCACHE_MODE_0 | 0xffff0000);

Expand All @@ -893,6 +898,8 @@ int i915_restore_state(struct drm_device *dev)
for (i = 0; i < 3; i++)
I915_WRITE(SWF30 + (i << 2), dev_priv->saveSWF2[i]);

mutex_unlock(&dev->struct_mutex);

intel_i2c_reset(dev);

return 0;
Expand Down

0 comments on commit e489bda

Please sign in to comment.