|
@@ -219,6 +219,16 @@ nouveau_display_init(struct drm_device *dev)
|
|
|
if (ret)
|
|
|
return ret;
|
|
|
|
|
|
+ /* power on internal panel if it's not already. the init tables of
|
|
|
+ * some vbios default this to off for some reason, causing the
|
|
|
+ * panel to not work after resume
|
|
|
+ */
|
|
|
+ if (nouveau_gpio_func_get(dev, DCB_GPIO_PANEL_POWER) == 0) {
|
|
|
+ nouveau_gpio_func_set(dev, DCB_GPIO_PANEL_POWER, true);
|
|
|
+ msleep(300);
|
|
|
+ }
|
|
|
+
|
|
|
+ /* enable polling for external displays */
|
|
|
drm_kms_helper_poll_enable(dev);
|
|
|
|
|
|
/* enable hotplug interrupts */
|