mbox series

[v3,00/11] drm/fb-helper: Move modesetting code to drm_client

Message ID 20190420104556.31127-1-noralf@tronnes.org (mailing list archive)
Headers show
Series drm/fb-helper: Move modesetting code to drm_client | expand

Message

Noralf Trønnes April 20, 2019, 10:45 a.m. UTC
This moves the modesetting code from drm_fb_helper to drm_client so it
can be shared by all internal clients.

Changes this time:
- Use full drm_client_init/release for the modesets (Daniel Vetter)
- drm_client_for_each_modeset: use lockdep_assert_held (Daniel Vetter)
- Hook up to Documentation/gpu/drm-client.rst (Daniel Vetter)

Noralf.

Noralf Trønnes (11):
  drm/atomic: Move __drm_atomic_helper_disable_plane/set_config()
  drm/fb-helper: Avoid race with DRM userspace
  drm/fb-helper: No need to cache rotation and sw_rotations
  drm/fb-helper: Remove drm_fb_helper_crtc->{x,y,desired_mode}
  drm/fb-helper: Remove drm_fb_helper_crtc
  drm/fb-helper: Prepare to move out commit code
  drm/fb-helper: Move out commit code
  drm/fb-helper: Remove drm_fb_helper_connector
  drm/fb-helper: Prepare to move out modeset config code
  drm/fb-helper: Move out modeset config code
  drm/client: Hack: Add bootsplash example

 Documentation/gpu/drm-client.rst     |    3 +
 Documentation/gpu/todo.rst           |   10 +
 drivers/gpu/drm/Kconfig              |    5 +
 drivers/gpu/drm/Makefile             |    3 +-
 drivers/gpu/drm/drm_atomic.c         |  168 ++++
 drivers/gpu/drm/drm_atomic_helper.c  |  164 ---
 drivers/gpu/drm/drm_auth.c           |   20 +
 drivers/gpu/drm/drm_bootsplash.c     |  362 +++++++
 drivers/gpu/drm/drm_client.c         |   17 +-
 drivers/gpu/drm/drm_client_modeset.c | 1085 ++++++++++++++++++++
 drivers/gpu/drm/drm_crtc_internal.h  |    5 +
 drivers/gpu/drm/drm_drv.c            |    4 +
 drivers/gpu/drm/drm_fb_helper.c      | 1381 +++-----------------------
 drivers/gpu/drm/drm_internal.h       |    2 +
 include/drm/drm_atomic_helper.h      |    4 -
 include/drm/drm_client.h             |   49 +
 include/drm/drm_fb_helper.h          |  102 +-
 17 files changed, 1864 insertions(+), 1520 deletions(-)
 create mode 100644 drivers/gpu/drm/drm_bootsplash.c
 create mode 100644 drivers/gpu/drm/drm_client_modeset.c

Comments

Noralf Trønnes April 20, 2019, 5:24 p.m. UTC | #1
Den 20.04.2019 12.45, skrev Noralf Trønnes:
> This moves the modesetting code from drm_fb_helper to drm_client so it
> can be shared by all internal clients.
> 
> Changes this time:
> - Use full drm_client_init/release for the modesets (Daniel Vetter)
> - drm_client_for_each_modeset: use lockdep_assert_held (Daniel Vetter)
> - Hook up to Documentation/gpu/drm-client.rst (Daniel Vetter)
> 

I got Fi.CI.IGT failures on this one:

  * igt@kms_fbcon_fbt@psr:
    - shard-skl:          PASS -> FAIL

  * igt@kms_fbcon_fbt@psr-suspend:
    - shard-iclb:         PASS -> FAIL +1
    - shard-skl:          NOTRUN -> FAIL

https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12850/
https://patchwork.freedesktop.org/series/58597/

The previous version of this series reported success:
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12720/
But AFAICT those fbcon tests didn't succeed when I look at the details.

I'd appreciate if someone with Intel CI knowledge could have a look at this.

Noralf.

> Noralf.
> 
> Noralf Trønnes (11):
>   drm/atomic: Move __drm_atomic_helper_disable_plane/set_config()
>   drm/fb-helper: Avoid race with DRM userspace
>   drm/fb-helper: No need to cache rotation and sw_rotations
>   drm/fb-helper: Remove drm_fb_helper_crtc->{x,y,desired_mode}
>   drm/fb-helper: Remove drm_fb_helper_crtc
>   drm/fb-helper: Prepare to move out commit code
>   drm/fb-helper: Move out commit code
>   drm/fb-helper: Remove drm_fb_helper_connector
>   drm/fb-helper: Prepare to move out modeset config code
>   drm/fb-helper: Move out modeset config code
>   drm/client: Hack: Add bootsplash example
> 
>  Documentation/gpu/drm-client.rst     |    3 +
>  Documentation/gpu/todo.rst           |   10 +
>  drivers/gpu/drm/Kconfig              |    5 +
>  drivers/gpu/drm/Makefile             |    3 +-
>  drivers/gpu/drm/drm_atomic.c         |  168 ++++
>  drivers/gpu/drm/drm_atomic_helper.c  |  164 ---
>  drivers/gpu/drm/drm_auth.c           |   20 +
>  drivers/gpu/drm/drm_bootsplash.c     |  362 +++++++
>  drivers/gpu/drm/drm_client.c         |   17 +-
>  drivers/gpu/drm/drm_client_modeset.c | 1085 ++++++++++++++++++++
>  drivers/gpu/drm/drm_crtc_internal.h  |    5 +
>  drivers/gpu/drm/drm_drv.c            |    4 +
>  drivers/gpu/drm/drm_fb_helper.c      | 1381 +++-----------------------
>  drivers/gpu/drm/drm_internal.h       |    2 +
>  include/drm/drm_atomic_helper.h      |    4 -
>  include/drm/drm_client.h             |   49 +
>  include/drm/drm_fb_helper.h          |  102 +-
>  17 files changed, 1864 insertions(+), 1520 deletions(-)
>  create mode 100644 drivers/gpu/drm/drm_bootsplash.c
>  create mode 100644 drivers/gpu/drm/drm_client_modeset.c
>
Martin Peres April 23, 2019, 11:04 a.m. UTC | #2
On 20/04/2019 20:24, Noralf Trønnes wrote:
> 
> 
> Den 20.04.2019 12.45, skrev Noralf Trønnes:
>> This moves the modesetting code from drm_fb_helper to drm_client so it
>> can be shared by all internal clients.
>>
>> Changes this time:
>> - Use full drm_client_init/release for the modesets (Daniel Vetter)
>> - drm_client_for_each_modeset: use lockdep_assert_held (Daniel Vetter)
>> - Hook up to Documentation/gpu/drm-client.rst (Daniel Vetter)
>>
> 
> I got Fi.CI.IGT failures on this one:
> 
>   * igt@kms_fbcon_fbt@psr:
>     - shard-skl:          PASS -> FAIL
> 
>   * igt@kms_fbcon_fbt@psr-suspend:
>     - shard-iclb:         PASS -> FAIL +1
>     - shard-skl:          NOTRUN -> FAIL
> 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12850/
> https://patchwork.freedesktop.org/series/58597/
> 
> The previous version of this series reported success:
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12720/
> But AFAICT those fbcon tests didn't succeed when I look at the details.
> 
> I'd appreciate if someone with Intel CI knowledge could have a look at this.

The issue is real, but I honestly can't tell if this is due to your
patches or not. There was a regression last week and we reworked some
filters that may not apply anymore to the base that was selected to test
your patches.

I queued a re-run! We should have the results in the next 6-12 hours.

Sorry for the delay!
Martin

> 
> Noralf.
> 
>> Noralf.
>>
>> Noralf Trønnes (11):
>>   drm/atomic: Move __drm_atomic_helper_disable_plane/set_config()
>>   drm/fb-helper: Avoid race with DRM userspace
>>   drm/fb-helper: No need to cache rotation and sw_rotations
>>   drm/fb-helper: Remove drm_fb_helper_crtc->{x,y,desired_mode}
>>   drm/fb-helper: Remove drm_fb_helper_crtc
>>   drm/fb-helper: Prepare to move out commit code
>>   drm/fb-helper: Move out commit code
>>   drm/fb-helper: Remove drm_fb_helper_connector
>>   drm/fb-helper: Prepare to move out modeset config code
>>   drm/fb-helper: Move out modeset config code
>>   drm/client: Hack: Add bootsplash example
>>
>>  Documentation/gpu/drm-client.rst     |    3 +
>>  Documentation/gpu/todo.rst           |   10 +
>>  drivers/gpu/drm/Kconfig              |    5 +
>>  drivers/gpu/drm/Makefile             |    3 +-
>>  drivers/gpu/drm/drm_atomic.c         |  168 ++++
>>  drivers/gpu/drm/drm_atomic_helper.c  |  164 ---
>>  drivers/gpu/drm/drm_auth.c           |   20 +
>>  drivers/gpu/drm/drm_bootsplash.c     |  362 +++++++
>>  drivers/gpu/drm/drm_client.c         |   17 +-
>>  drivers/gpu/drm/drm_client_modeset.c | 1085 ++++++++++++++++++++
>>  drivers/gpu/drm/drm_crtc_internal.h  |    5 +
>>  drivers/gpu/drm/drm_drv.c            |    4 +
>>  drivers/gpu/drm/drm_fb_helper.c      | 1381 +++-----------------------
>>  drivers/gpu/drm/drm_internal.h       |    2 +
>>  include/drm/drm_atomic_helper.h      |    4 -
>>  include/drm/drm_client.h             |   49 +
>>  include/drm/drm_fb_helper.h          |  102 +-
>>  17 files changed, 1864 insertions(+), 1520 deletions(-)
>>  create mode 100644 drivers/gpu/drm/drm_bootsplash.c
>>  create mode 100644 drivers/gpu/drm/drm_client_modeset.c
>>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
>
Noralf Trønnes April 24, 2019, 5:18 p.m. UTC | #3
Den 23.04.2019 13.04, skrev Martin Peres:
> On 20/04/2019 20:24, Noralf Trønnes wrote:
>>
>>
>> Den 20.04.2019 12.45, skrev Noralf Trønnes:
>>> This moves the modesetting code from drm_fb_helper to drm_client so it
>>> can be shared by all internal clients.
>>>
>>> Changes this time:
>>> - Use full drm_client_init/release for the modesets (Daniel Vetter)
>>> - drm_client_for_each_modeset: use lockdep_assert_held (Daniel Vetter)
>>> - Hook up to Documentation/gpu/drm-client.rst (Daniel Vetter)
>>>
>>
>> I got Fi.CI.IGT failures on this one:
>>
>>   * igt@kms_fbcon_fbt@psr:
>>     - shard-skl:          PASS -> FAIL
>>
>>   * igt@kms_fbcon_fbt@psr-suspend:
>>     - shard-iclb:         PASS -> FAIL +1
>>     - shard-skl:          NOTRUN -> FAIL
>>
>> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12850/
>> https://patchwork.freedesktop.org/series/58597/
>>
>> The previous version of this series reported success:
>> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12720/
>> But AFAICT those fbcon tests didn't succeed when I look at the details.
>>
>> I'd appreciate if someone with Intel CI knowledge could have a look at this.
> 
> The issue is real, but I honestly can't tell if this is due to your
> patches or not. There was a regression last week and we reworked some
> filters that may not apply anymore to the base that was selected to test
> your patches.
> 
> I queued a re-run! We should have the results in the next 6-12 hours.
> 

igt@kms_fbcon_fbt@psr doesn't regress anymore, but @psr-suspend still does:

  * igt@kms_fbcon_fbt@psr-suspend:
    - shard-iclb:         [PASS][1] -> [FAIL][2] +1 similar issue
   [1]:
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_5971/shard-iclb5/igt@kms_fbcon_fbt@psr-suspend.html
   [2]:
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12854/shard-iclb2/igt@kms_fbcon_fbt@psr-suspend.html
    - shard-skl:          [PASS][3] -> [FAIL][4] +1 similar issue
   [3]:
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_5971/shard-skl4/igt@kms_fbcon_fbt@psr-suspend.html
   [4]:
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12854/shard-skl4/igt@kms_fbcon_fbt@psr-suspend.html

I think I'll split up the series and feed it to the CI piece by piece so
I can find the offending patch.

Thanks for taking a look.

Noralf.

> Sorry for the delay!
> Martin
> 
>>
>> Noralf.
>>
>>> Noralf.
>>>
>>> Noralf Trønnes (11):
>>>   drm/atomic: Move __drm_atomic_helper_disable_plane/set_config()
>>>   drm/fb-helper: Avoid race with DRM userspace
>>>   drm/fb-helper: No need to cache rotation and sw_rotations
>>>   drm/fb-helper: Remove drm_fb_helper_crtc->{x,y,desired_mode}
>>>   drm/fb-helper: Remove drm_fb_helper_crtc
>>>   drm/fb-helper: Prepare to move out commit code
>>>   drm/fb-helper: Move out commit code
>>>   drm/fb-helper: Remove drm_fb_helper_connector
>>>   drm/fb-helper: Prepare to move out modeset config code
>>>   drm/fb-helper: Move out modeset config code
>>>   drm/client: Hack: Add bootsplash example
>>>
>>>  Documentation/gpu/drm-client.rst     |    3 +
>>>  Documentation/gpu/todo.rst           |   10 +
>>>  drivers/gpu/drm/Kconfig              |    5 +
>>>  drivers/gpu/drm/Makefile             |    3 +-
>>>  drivers/gpu/drm/drm_atomic.c         |  168 ++++
>>>  drivers/gpu/drm/drm_atomic_helper.c  |  164 ---
>>>  drivers/gpu/drm/drm_auth.c           |   20 +
>>>  drivers/gpu/drm/drm_bootsplash.c     |  362 +++++++
>>>  drivers/gpu/drm/drm_client.c         |   17 +-
>>>  drivers/gpu/drm/drm_client_modeset.c | 1085 ++++++++++++++++++++
>>>  drivers/gpu/drm/drm_crtc_internal.h  |    5 +
>>>  drivers/gpu/drm/drm_drv.c            |    4 +
>>>  drivers/gpu/drm/drm_fb_helper.c      | 1381 +++-----------------------
>>>  drivers/gpu/drm/drm_internal.h       |    2 +
>>>  include/drm/drm_atomic_helper.h      |    4 -
>>>  include/drm/drm_client.h             |   49 +
>>>  include/drm/drm_fb_helper.h          |  102 +-
>>>  17 files changed, 1864 insertions(+), 1520 deletions(-)
>>>  create mode 100644 drivers/gpu/drm/drm_bootsplash.c
>>>  create mode 100644 drivers/gpu/drm/drm_client_modeset.c
>>>
>> _______________________________________________
>> Intel-gfx mailing list
>> Intel-gfx@lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
>>