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

drm/mgag200: Set .detect_ctx() and enable connector polling

Set .detect_ctx() in struct drm_connector_helper_funcs to the
common helper drm_connector_helper_detect_from_ddc() and enable
polling for the connector. Mgag200 will now test for the monitor's
presence by probing the DDC in regular intervals.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Jocelyn Falempe <jfalempe@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240610141141.29527-4-tzimmermann@suse.de

+13 -1
+1
drivers/gpu/drm/mgag200/mgag200_g200.c
··· 401 401 return ERR_PTR(ret); 402 402 403 403 drm_mode_config_reset(dev); 404 + drm_kms_helper_poll_init(dev); 404 405 405 406 return mdev; 406 407 }
+1
drivers/gpu/drm/mgag200/mgag200_g200eh.c
··· 277 277 return ERR_PTR(ret); 278 278 279 279 drm_mode_config_reset(dev); 280 + drm_kms_helper_poll_init(dev); 280 281 281 282 return mdev; 282 283 }
+1
drivers/gpu/drm/mgag200/mgag200_g200eh3.c
··· 182 182 return ERR_PTR(ret); 183 183 184 184 drm_mode_config_reset(dev); 185 + drm_kms_helper_poll_init(dev); 185 186 186 187 return mdev; 187 188 }
+1
drivers/gpu/drm/mgag200/mgag200_g200er.c
··· 316 316 return ERR_PTR(ret); 317 317 318 318 drm_mode_config_reset(dev); 319 + drm_kms_helper_poll_init(dev); 319 320 320 321 return mdev; 321 322 }
+1
drivers/gpu/drm/mgag200/mgag200_g200ev.c
··· 321 321 return ERR_PTR(ret); 322 322 323 323 drm_mode_config_reset(dev); 324 + drm_kms_helper_poll_init(dev); 324 325 325 326 return mdev; 326 327 }
+1
drivers/gpu/drm/mgag200/mgag200_g200ew3.c
··· 202 202 return ERR_PTR(ret); 203 203 204 204 drm_mode_config_reset(dev); 205 + drm_kms_helper_poll_init(dev); 205 206 206 207 return mdev; 207 208 }
+1
drivers/gpu/drm/mgag200/mgag200_g200se.c
··· 521 521 return ERR_PTR(ret); 522 522 523 523 drm_mode_config_reset(dev); 524 + drm_kms_helper_poll_init(dev); 524 525 525 526 return mdev; 526 527 }
+1
drivers/gpu/drm/mgag200/mgag200_g200wb.c
··· 326 326 return ERR_PTR(ret); 327 327 328 328 drm_mode_config_reset(dev); 329 + drm_kms_helper_poll_init(dev); 329 330 330 331 return mdev; 331 332 }
+5 -1
drivers/gpu/drm/mgag200/mgag200_vga.c
··· 12 12 }; 13 13 14 14 static const struct drm_connector_helper_funcs mgag200_vga_connector_helper_funcs = { 15 - .get_modes = drm_connector_helper_get_modes 15 + .get_modes = drm_connector_helper_get_modes, 16 + .detect_ctx = drm_connector_helper_detect_from_ddc 16 17 }; 17 18 18 19 static const struct drm_connector_funcs mgag200_vga_connector_funcs = { ··· 58 57 return ret; 59 58 } 60 59 drm_connector_helper_add(connector, &mgag200_vga_connector_helper_funcs); 60 + 61 + connector->polled = DRM_CONNECTOR_POLL_CONNECT | 62 + DRM_CONNECTOR_POLL_DISCONNECT; 61 63 62 64 ret = drm_connector_attach_encoder(connector, encoder); 63 65 if (ret) {