Commit 2390cd11bfbe8d2b1b28c4e0f01fe7e122f7196d
1 parent
40377ef2d9
Exists in
ti-lsk-linux-4.1.y
and in
10 other branches
drm/crtc: add interface to reinitialise the legacy mode group
This can be called to update things after dynamic connectors/encoders are created/deleted. Reviewed-by: Todd Previte <tprevite@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
Showing 2 changed files with 10 additions and 0 deletions Side-by-side Diff
drivers/gpu/drm/drm_crtc.c
... | ... | @@ -1513,6 +1513,15 @@ |
1513 | 1513 | } |
1514 | 1514 | EXPORT_SYMBOL(drm_mode_group_init_legacy_group); |
1515 | 1515 | |
1516 | +void drm_reinit_primary_mode_group(struct drm_device *dev) | |
1517 | +{ | |
1518 | + drm_modeset_lock_all(dev); | |
1519 | + drm_mode_group_destroy(&dev->primary->mode_group); | |
1520 | + drm_mode_group_init_legacy_group(dev, &dev->primary->mode_group); | |
1521 | + drm_modeset_unlock_all(dev); | |
1522 | +} | |
1523 | +EXPORT_SYMBOL(drm_reinit_primary_mode_group); | |
1524 | + | |
1516 | 1525 | /** |
1517 | 1526 | * drm_crtc_convert_to_umode - convert a drm_display_mode into a modeinfo |
1518 | 1527 | * @out: drm_mode_modeinfo struct to return to the user |
include/drm/drm_crtc.h
... | ... | @@ -942,6 +942,7 @@ |
942 | 942 | extern void drm_fb_release(struct drm_file *file_priv); |
943 | 943 | extern int drm_mode_group_init_legacy_group(struct drm_device *dev, struct drm_mode_group *group); |
944 | 944 | extern void drm_mode_group_destroy(struct drm_mode_group *group); |
945 | +extern void drm_reinit_primary_mode_group(struct drm_device *dev); | |
945 | 946 | extern bool drm_probe_ddc(struct i2c_adapter *adapter); |
946 | 947 | extern struct edid *drm_get_edid(struct drm_connector *connector, |
947 | 948 | struct i2c_adapter *adapter); |