[Intel-gfx] [PATCH v2] drm: also move DSI panels to the front of the connector list

Jani Nikula jani.nikula at intel.com
Thu Nov 17 12:21:32 UTC 2016


On Thu, 17 Nov 2016, Andrzej Hajda <a.hajda at samsung.com> wrote:
> On 17.11.2016 11:29, Jani Nikula wrote:
>> We've overlooked adding DSI panels to the front of the connector
>> list. This seems to be the right thing to do, and I suspect this might
>> fix some issues, although I currently have no evidence to support this.
>>
>> v2: also git add the comment change
>>
>> Cc: Daniel Vetter <daniel.vetter at ffwll.ch>
>> Signed-off-by: Jani Nikula <jani.nikula at intel.com>
>
> Reviewed-by: Andrzej Hajda <a.hajda at samsung.com>
>
> Out of curiosity, why driver (i915) do not create connectors
> just in proper order instead of sorting them later.

commit 270b30420c5e0d5f779aa76882367f9265c5aa7d
Author: Daniel Vetter <daniel.vetter at ffwll.ch>
Date:   Sat Oct 27 15:52:05 2012 +0200

    drm/i915: move panel connectors to the front
    
    This essentially reverts
    
    commit cb0953d734348e8862d6d7edc666cfb3bf6d8fae
    Author: Adam Jackson <ajax at redhat.com>
    Date:   Fri Jul 16 14:46:29 2010 -0400
    
        drm/i915: Initialize LVDS and eDP outputs before anything else
    
    simply because it doesn't scale: It misses SDVO and DVO panels,
    and now with DDI encoders on haswell this is becoming unmanageable.
    
    Instead we simply sort the connector list after everything is
    set up.
    
    Reviewed-by: Adam Jackson <ajax at redhat.com>
    Acked-by: Chris Wilson <chris at chris-wilson.co.uk>
    Signed-off-by: Daniel Vetter <daniel.vetter at ffwll.ch>

>
>
> --
> Regards
> Andrzej
>
>> ---
>>  drivers/gpu/drm/drm_modeset_helper.c | 5 +++--
>>  1 file changed, 3 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/drm_modeset_helper.c b/drivers/gpu/drm/drm_modeset_helper.c
>> index 2f452b3dd40e..eba1c6c72acd 100644
>> --- a/drivers/gpu/drm/drm_modeset_helper.c
>> +++ b/drivers/gpu/drm/drm_modeset_helper.c
>> @@ -38,7 +38,7 @@
>>   * Some userspace presumes that the first connected connector is the main
>>   * display, where it's supposed to display e.g. the login screen. For
>>   * laptops, this should be the main panel. Use this function to sort all
>> - * (eDP/LVDS) panels to the front of the connector list, instead of
>> + * (eDP/LVDS/DSI) panels to the front of the connector list, instead of
>>   * painstakingly trying to initialize them in the right order.
>>   */
>>  void drm_helper_move_panel_connectors_to_head(struct drm_device *dev)
>> @@ -51,7 +51,8 @@ void drm_helper_move_panel_connectors_to_head(struct drm_device *dev)
>>  	list_for_each_entry_safe(connector, tmp,
>>  				 &dev->mode_config.connector_list, head) {
>>  		if (connector->connector_type == DRM_MODE_CONNECTOR_LVDS ||
>> -		    connector->connector_type == DRM_MODE_CONNECTOR_eDP)
>> +		    connector->connector_type == DRM_MODE_CONNECTOR_eDP ||
>> +		    connector->connector_type == DRM_MODE_CONNECTOR_DSI)
>>  			list_move_tail(&connector->head, &panel_list);
>>  	}
>>  
>
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Jani Nikula, Intel Open Source Technology Center


More information about the Intel-gfx mailing list