[PATCH] drm/radeon: avoid bouncing connector status btw disconnected & unknown

Alex Deucher alexdeucher at gmail.com
Mon Oct 24 15:19:46 PDT 2011


On Mon, Oct 24, 2011 at 6:16 PM,  <j.glisse at gmail.com> wrote:
> From: Jerome Glisse <jglisse at redhat.com>
>
> Since force handling rework of d0d0a225e6ad43314c9aa7ea081f76adc5098ad4
> we could end up bouncing connector status btw disconnected and unknown.
> When connector status change a call to output_poll_changed happen which
> in turn ask again for detect but with force set.
>
> So set the load detect flags whenever we report the connector as
> connected or unknown this avoid bouncing btw disconnected and unknown.

Looks good.

Reviewed-by: Alex Deucher <alexander.deucher at amd.com>

>
> Signed-off-by: Jerome Glisse <jglisse at redhat.com>
> ---
>  drivers/gpu/drm/radeon/radeon_connectors.c |    5 +++--
>  1 files changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/radeon/radeon_connectors.c b/drivers/gpu/drm/radeon/radeon_connectors.c
> index dec6cbe..ff6a2e0 100644
> --- a/drivers/gpu/drm/radeon/radeon_connectors.c
> +++ b/drivers/gpu/drm/radeon/radeon_connectors.c
> @@ -764,7 +764,7 @@ radeon_vga_detect(struct drm_connector *connector, bool force)
>                if (radeon_connector->dac_load_detect && encoder) {
>                        encoder_funcs = encoder->helper_private;
>                        ret = encoder_funcs->detect(encoder, connector);
> -                       if (ret == connector_status_connected)
> +                       if (ret != connector_status_disconnected)
>                                radeon_connector->detected_by_load = true;
>                }
>        }
> @@ -1005,8 +1005,9 @@ radeon_dvi_detect(struct drm_connector *connector, bool force)
>                                        ret = encoder_funcs->detect(encoder, connector);
>                                        if (ret == connector_status_connected) {
>                                                radeon_connector->use_digital = false;
> -                                               radeon_connector->detected_by_load = true;
>                                        }
> +                                       if (ret != connector_status_disconnected)
> +                                               radeon_connector->detected_by_load = true;
>                                }
>                                break;
>                        }
> --
> 1.7.1
>
> _______________________________________________
> dri-devel mailing list
> dri-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel
>


More information about the dri-devel mailing list