On Sat, 23 Nov 2019, Uma Shankar <uma.shan...@intel.com> wrote:
> This reverts commit f25c7a006cd1c07254780e3406e45cee4842b933.
>
> 2p2c display configuration blows up dmesg when one connector is
> disconnected, causing issues in CI.
>
> Below are the sample errors thrown in logs:
>
> [IGT] core_getversion: executing
> [IGT] core_getversion: exiting, ret=0
> Setting dangerous option reset - tainting kernel
> drm:drm_atomic_helper_wait_for_dependencies] ERROR [CRTC:152:pipe B] 
> flip_done timed out
> drm:drm_atomic_helper_wait_for_dependencies] ERROR [CONNECTOR:299:DP-2] 
> flip_done timed out
> drm:drm_atomic_helper_wait_for_dependencies] ERROR [PLANE:92:plane 1B] 
> flip_done timed out
> [drm:drm_atomic_helper_wait_for_flip_done] ERROR [CRTC:152:pipe B] flip_done 
> timed out
> [drm:drm_atomic_helper_wait_for_dependencies] ERROR [CRTC:152:pipe B] 
> flip_done timed out
> [drm:drm_atomic_helper_wait_for_dependencies] ERROR [CONNECTOR:299:DP-2] 
> flip_done timed out
> [drm:drm_atomic_helper_wait_for_dependencies] ERROR [PLANE:92:plane 1B] 
> flip_done timed out
> [drm:drm_atomic_helper_wait_for_flip_done] ERROR [CRTC:152:pipe B] flip_done 
> timed out
> Console: switching to colour frame buffer device 480x135
> [drm:drm_atomic_helper_wait_for_dependencies] ERROR [CRTC:152:pipe B] 
> flip_done timed out
> [drm:drm_atomic_helper_wait_for_dependencies] ERROR [CONNECTOR:299:DP-2] 
> flip_done timed out
>
> Reverting the change for now to unblock CI execution.
>
> Cc: Ville Syrjälä <ville.syrj...@linux.intel.com>
> Cc: Dave Airlie <airl...@redhat.com>
> Cc: Jani Nikula <jani.nik...@intel.com>
> Cc: Manasi Navare <manasi.d.nav...@intel.com>
> Signed-off-by: Uma Shankar <uma.shan...@intel.com>

Pushed to drm-misc-next with Daniel's irc ack. Thanks for the
revert. Back to the drawing board.

I was about to add the Bugzilla: reference, but this being a gitlab
issue instead, I opted for the gitlab Closes: tag:

        Closes: https://gitlab.freedesktop.org/drm/intel/issues/6

We should probably align on what we want to use going forward. And do we
want to keep using Bugzilla for bugzilla bugs?

BR,
Jani.


> ---
>  drivers/gpu/drm/drm_client_modeset.c | 70 ----------------------------
>  1 file changed, 70 deletions(-)
>
> diff --git a/drivers/gpu/drm/drm_client_modeset.c 
> b/drivers/gpu/drm/drm_client_modeset.c
> index f2150a0bac4c..895b73f23079 100644
> --- a/drivers/gpu/drm/drm_client_modeset.c
> +++ b/drivers/gpu/drm/drm_client_modeset.c
> @@ -114,33 +114,6 @@ drm_client_find_modeset(struct drm_client_dev *client, 
> struct drm_crtc *crtc)
>       return NULL;
>  }
>  
> -static struct drm_display_mode *
> -drm_connector_get_tiled_mode(struct drm_connector *connector)
> -{
> -     struct drm_display_mode *mode;
> -
> -     list_for_each_entry(mode, &connector->modes, head) {
> -             if (mode->hdisplay == connector->tile_h_size &&
> -                 mode->vdisplay == connector->tile_v_size)
> -                     return mode;
> -     }
> -     return NULL;
> -}
> -
> -static struct drm_display_mode *
> -drm_connector_fallback_non_tiled_mode(struct drm_connector *connector)
> -{
> -     struct drm_display_mode *mode;
> -
> -     list_for_each_entry(mode, &connector->modes, head) {
> -             if (mode->hdisplay == connector->tile_h_size &&
> -                 mode->vdisplay == connector->tile_v_size)
> -                     continue;
> -             return mode;
> -     }
> -     return NULL;
> -}
> -
>  static struct drm_display_mode *
>  drm_connector_has_preferred_mode(struct drm_connector *connector, int width, 
> int height)
>  {
> @@ -375,14 +348,8 @@ static bool drm_client_target_preferred(struct 
> drm_connector **connectors,
>       struct drm_connector *connector;
>       u64 conn_configured = 0;
>       int tile_pass = 0;
> -     int num_tiled_conns = 0;
>       int i;
>  
> -     for (i = 0; i < connector_count; i++) {
> -             if (connectors[i]->has_tile)
> -                     num_tiled_conns++;
> -     }
> -
>  retry:
>       for (i = 0; i < connector_count; i++) {
>               connector = connectors[i];
> @@ -432,28 +399,6 @@ static bool drm_client_target_preferred(struct 
> drm_connector **connectors,
>                       list_for_each_entry(modes[i], &connector->modes, head)
>                               break;
>               }
> -             /*
> -              * In case of tiled mode if all tiles not present fallback to
> -              * first available non tiled mode.
> -              * After all tiles are present, try to find the tiled mode
> -              * for all and if tiled mode not present due to fbcon size
> -              * limitations, use first non tiled mode only for
> -              * tile 0,0 and set to no mode for all other tiles.
> -              */
> -             if (connector->has_tile) {
> -                     if (num_tiled_conns <
> -                         connector->num_h_tile * connector->num_v_tile ||
> -                         (connector->tile_h_loc == 0 &&
> -                          connector->tile_v_loc == 0 &&
> -                          !drm_connector_get_tiled_mode(connector))) {
> -                             DRM_DEBUG_KMS("Falling back to non tiled mode 
> on Connector %d\n",
> -                                           connector->base.id);
> -                             modes[i] = 
> drm_connector_fallback_non_tiled_mode(connector);
> -                     } else {
> -                             modes[i] = 
> drm_connector_get_tiled_mode(connector);
> -                     }
> -             }
> -
>               DRM_DEBUG_KMS("found mode %s\n", modes[i] ? modes[i]->name :
>                         "none");
>               conn_configured |= BIT_ULL(i);
> @@ -570,7 +515,6 @@ static bool drm_client_firmware_config(struct 
> drm_client_dev *client,
>       bool fallback = true, ret = true;
>       int num_connectors_enabled = 0;
>       int num_connectors_detected = 0;
> -     int num_tiled_conns = 0;
>       struct drm_modeset_acquire_ctx ctx;
>  
>       if (!drm_drv_uses_atomic_modeset(dev))
> @@ -588,10 +532,6 @@ static bool drm_client_firmware_config(struct 
> drm_client_dev *client,
>       memcpy(save_enabled, enabled, count);
>       mask = GENMASK(count - 1, 0);
>       conn_configured = 0;
> -     for (i = 0; i < count; i++) {
> -             if (connectors[i]->has_tile)
> -                     num_tiled_conns++;
> -     }
>  retry:
>       conn_seq = conn_configured;
>       for (i = 0; i < count; i++) {
> @@ -691,16 +631,6 @@ static bool drm_client_firmware_config(struct 
> drm_client_dev *client,
>                                     connector->name);
>                       modes[i] = &connector->state->crtc->mode;
>               }
> -             /*
> -              * In case of tiled modes, if all tiles are not present
> -              * then fallback to a non tiled mode.
> -              */
> -             if (connector->has_tile &&
> -                 num_tiled_conns < connector->num_h_tile * 
> connector->num_v_tile) {
> -                     DRM_DEBUG_KMS("Falling back to non tiled mode on 
> Connector %d\n",
> -                                   connector->base.id);
> -                     modes[i] = 
> drm_connector_fallback_non_tiled_mode(connector);
> -             }
>               crtcs[i] = new_crtc;
>  
>               DRM_DEBUG_KMS("connector %s on [CRTC:%d:%s]: %dx%d%s\n",

-- 
Jani Nikula, Intel Open Source Graphics Center
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to