summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/gma500/psb_drv.c
diff options
context:
space:
mode:
authorAlan Cox <alan@linux.intel.com>2012-05-03 15:06:18 +0100
committerDave Airlie <airlied@redhat.com>2012-05-07 10:58:20 +0100
commitd839ede47a56ff5f316c88391818488f8e5913af (patch)
tree3c874685ccfa8eb690be547b805166372e592c83 /drivers/gpu/drm/gma500/psb_drv.c
parent9aba9d3a2ca42572c9c196e8be6cab59b7c078b6 (diff)
gma500: opregion and ACPI
Add the opregion support and bring us in line with the opregion functionality in the reference driver code. We can't share this with i915 currently because there are hardcoded assumptions about dev_priv etc in both versions. [airlied: include opregion.h fix] Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/gma500/psb_drv.c')
-rw-r--r--drivers/gpu/drm/gma500/psb_drv.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/gpu/drm/gma500/psb_drv.c b/drivers/gpu/drm/gma500/psb_drv.c
index 45bd0c78035d..fc6045f926d6 100644
--- a/drivers/gpu/drm/gma500/psb_drv.c
+++ b/drivers/gpu/drm/gma500/psb_drv.c
@@ -215,12 +215,11 @@ static int psb_driver_unload(struct drm_device *dev)
/* Kill vblank etc here */
gma_backlight_exit(dev);
-
psb_modeset_cleanup(dev);
if (dev_priv) {
+ psb_intel_opregion_fini(dev);
psb_lid_timer_takedown(dev_priv);
- gma_intel_opregion_exit(dev);
if (dev_priv->ops->chip_teardown)
dev_priv->ops->chip_teardown(dev);
@@ -310,6 +309,8 @@ static int psb_driver_load(struct drm_device *dev, unsigned long chipset)
if (!dev_priv->sgx_reg)
goto out_err;
+ psb_intel_opregion_setup(dev);
+
ret = dev_priv->ops->chip_setup(dev);
if (ret)
goto out_err;
@@ -349,8 +350,7 @@ static int psb_driver_load(struct drm_device *dev, unsigned long chipset)
PSB_WSGX32(0x20000000, PSB_CR_PDS_EXEC_BASE);
PSB_WSGX32(0x30000000, PSB_CR_BIF_3D_REQ_BASE);
-/* igd_opregion_init(&dev_priv->opregion_dev); */
-/* acpi_video_register(); */
+ acpi_video_register();
if (dev_priv->lid_state)
psb_lid_timer_init(dev_priv);