[PATCH 05/14] drm: properly init/reset connector status

2012-05-24 Thread Daniel Vetter
We need this because otherwise the improved connector code has no idea
when it needs to run the ->detect callback after boot/resume on all
connectors.

Because drm/i915 is the only driver that properly calls
mode_config_reset at resume time, this will horribly blow up
everywhere else.

Signed-Off-by: Daniel Vetter 
---
 drivers/gpu/drm/drm_crtc.c |6 +-
 1 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c
index a177d0a..82eaff0 100644
--- a/drivers/gpu/drm/drm_crtc.c
+++ b/drivers/gpu/drm/drm_crtc.c
@@ -495,6 +495,7 @@ int drm_connector_init(struct drm_device *dev,
INIT_LIST_HEAD(>probed_modes);
INIT_LIST_HEAD(>modes);
connector->edid_blob_ptr = NULL;
+   connector->status = connector_status_unknown;

list_add_tail(>head, >mode_config.connector_list);
dev->mode_config.num_connector++;
@@ -3521,9 +3522,12 @@ void drm_mode_config_reset(struct drm_device *dev)
if (encoder->funcs->reset)
encoder->funcs->reset(encoder);

-   list_for_each_entry(connector, >mode_config.connector_list, head)
+   list_for_each_entry(connector, >mode_config.connector_list, head) {
+   connector->status = connector_status_unknown;
+
if (connector->funcs->reset)
connector->funcs->reset(connector);
+   }
 }
 EXPORT_SYMBOL(drm_mode_config_reset);

-- 
1.7.7.6



[PATCH 05/14] drm: properly init/reset connector status

2012-05-24 Thread Daniel Vetter
We need this because otherwise the improved connector code has no idea
when it needs to run the -detect callback after boot/resume on all
connectors.

Because drm/i915 is the only driver that properly calls
mode_config_reset at resume time, this will horribly blow up
everywhere else.

Signed-Off-by: Daniel Vetter daniel.vet...@ffwll.ch
---
 drivers/gpu/drm/drm_crtc.c |6 +-
 1 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c
index a177d0a..82eaff0 100644
--- a/drivers/gpu/drm/drm_crtc.c
+++ b/drivers/gpu/drm/drm_crtc.c
@@ -495,6 +495,7 @@ int drm_connector_init(struct drm_device *dev,
INIT_LIST_HEAD(connector-probed_modes);
INIT_LIST_HEAD(connector-modes);
connector-edid_blob_ptr = NULL;
+   connector-status = connector_status_unknown;
 
list_add_tail(connector-head, dev-mode_config.connector_list);
dev-mode_config.num_connector++;
@@ -3521,9 +3522,12 @@ void drm_mode_config_reset(struct drm_device *dev)
if (encoder-funcs-reset)
encoder-funcs-reset(encoder);
 
-   list_for_each_entry(connector, dev-mode_config.connector_list, head)
+   list_for_each_entry(connector, dev-mode_config.connector_list, head) {
+   connector-status = connector_status_unknown;
+
if (connector-funcs-reset)
connector-funcs-reset(connector);
+   }
 }
 EXPORT_SYMBOL(drm_mode_config_reset);
 
-- 
1.7.7.6

___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel