2021-01-15 05:48:22

by ZhiJie.Zhang

[permalink] [raw]
Subject: [PATCH v2] drm: Improve the output_poll_changed description

From: zhangzhijie <[email protected]>

this callback was used by drm_kms_helper_hotplug_event()

V2: (Thanks for Daniel's suggestions)
- remove the FIXME below.since with the drm_client
- infrastructure and the generic fbdev emulation we've
- resolved this all very neatly now.

Signed-off-by: zhangzhijie <[email protected]>
Signed-off-by: ZhiJie.Zhang <[email protected]>
---
include/drm/drm_mode_config.h | 7 +------
1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/include/drm/drm_mode_config.h b/include/drm/drm_mode_config.h
index ab424ddd7665..50541980f7f2 100644
--- a/include/drm/drm_mode_config.h
+++ b/include/drm/drm_mode_config.h
@@ -104,13 +104,8 @@ struct drm_mode_config_funcs {
* changes.
*
* Drivers implementing fbdev emulation with the helpers can call
- * drm_fb_helper_hotplug_changed from this hook to inform the fbdev
+ * drm_kms_helper_hotplug_event() from this hook to inform the fbdev
* helper of output changes.
- *
- * FIXME:
- *
- * Except that there's no vtable for device-level helper callbacks
- * there's no reason this is a core function.
*/
void (*output_poll_changed)(struct drm_device *dev);

--
2.29.2


2021-01-15 14:08:13

by Daniel Vetter

[permalink] [raw]
Subject: Re: [PATCH v2] drm: Improve the output_poll_changed description

On Fri, Jan 15, 2021 at 11:33:28AM +0800, ZhiJie.Zhang wrote:
> From: zhangzhijie <[email protected]>
>
> this callback was used by drm_kms_helper_hotplug_event()
>
> V2: (Thanks for Daniel's suggestions)
> - remove the FIXME below.since with the drm_client
> - infrastructure and the generic fbdev emulation we've
> - resolved this all very neatly now.
>
> Signed-off-by: zhangzhijie <[email protected]>
> Signed-off-by: ZhiJie.Zhang <[email protected]>
> ---
> include/drm/drm_mode_config.h | 7 +------
> 1 file changed, 1 insertion(+), 6 deletions(-)
>
> diff --git a/include/drm/drm_mode_config.h b/include/drm/drm_mode_config.h
> index ab424ddd7665..50541980f7f2 100644
> --- a/include/drm/drm_mode_config.h
> +++ b/include/drm/drm_mode_config.h
> @@ -104,13 +104,8 @@ struct drm_mode_config_funcs {
> * changes.
> *
> * Drivers implementing fbdev emulation with the helpers can call
> - * drm_fb_helper_hotplug_changed from this hook to inform the fbdev
> + * drm_kms_helper_hotplug_event() from this hook to inform the fbdev

Hm I looked at this again, and this change is actually wrong. Both
functions exists, but calling drm_kms_helper_hotplug_event() from this hook
would result in an endless loop until we crash somewhere.

> * helper of output changes.

Ah I meant not just removing this, but explaining what to do now instead.
Suggestion:

* This hook is deprecated, drivers should instead use
* drm_fbdev_generic_setup() which takes care of any necessary
* hotplug event forwarding already without further involvement by
* the driver.

Can you pls respin, with the function change dropped and the fixme
replaced with the above?

Thanks, Daniel


> - *
> - * FIXME:
> - *
> - * Except that there's no vtable for device-level helper callbacks
> - * there's no reason this is a core function.
> */
> void (*output_poll_changed)(struct drm_device *dev);
>
> --
> 2.29.2
>

--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch