Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

+10
+9
drivers/gpu/drm/drm_crtc.c
··· 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
+1
include/drm/drm_crtc.h
··· 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);