Dave Airlie mailto:airlied@gmail.com Tuesday, May 20, 2014 7:54 PM From: Dave Airlie airlied@redhat.com
This can be called to update things after dynamic connectors/encoders are created/deleted.
Signed-off-by: Dave Airlie airlied@redhat.com
drivers/gpu/drm/drm_crtc.c | 9 +++++++++ include/drm/drm_crtc.h | 1 + 2 files changed, 10 insertions(+)
diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c index f1753e6..8bf87a6 100644 --- a/drivers/gpu/drm/drm_crtc.c +++ b/drivers/gpu/drm/drm_crtc.c @@ -1421,6 +1421,15 @@ int drm_mode_group_init_legacy_group(struct drm_device *dev, } EXPORT_SYMBOL(drm_mode_group_init_legacy_group);
+void drm_reinit_primary_mode_group(struct drm_device *dev) +{
- drm_modeset_lock_all(dev);
- drm_mode_group_destroy(&dev->primary->mode_group);
- drm_mode_group_init_legacy_group(dev, &dev->primary->mode_group);
- drm_modeset_unlock_all(dev);
+} +EXPORT_SYMBOL(drm_reinit_primary_mode_group);
/**
- drm_crtc_convert_to_umode - convert a drm_display_mode into a modeinfo
- @out: drm_mode_modeinfo struct to return to the user
diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h index c6b9e8a..55bc523 100644 --- a/include/drm/drm_crtc.h +++ b/include/drm/drm_crtc.h @@ -916,6 +916,7 @@ extern const char *drm_get_tv_select_name(int val); extern void drm_fb_release(struct drm_file *file_priv); extern int drm_mode_group_init_legacy_group(struct drm_device *dev, struct drm_mode_group *group); extern void drm_mode_group_destroy(struct drm_mode_group *group); +extern void drm_reinit_primary_mode_group(struct drm_device *dev); extern bool drm_probe_ddc(struct i2c_adapter *adapter); extern struct edid *drm_get_edid(struct drm_connector *connector, struct i2c_adapter *adapter);
Reviewed-by: Todd Previte tprevite@gmail.com
Dave Airlie mailto:airlied@gmail.com Tuesday, May 20, 2014 7:54 PM Hey,
So this set is pretty close to what I think we should be merging initially,
Since the last set, it makes fbcon and suspend/resume work a lot better,
I've also fixed a couple of bugs in -intel that make things work a lot better.
I've bashed on this a bit using kms-flip from intel-gpu-tools, hacked to add 3 monitor support.
It still generates a fair few i915 state checker backtraces, and some of them are fairly hard to work out, it might be we should just tone down the state checker for encoders/connectors with no actual hw backing them.
Dave.
Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx