mbox series

[v2,00/12] drm/fb-helper: Move modesetting code to drm_client

Message ID 20190407165243.54043-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 7, 2019, 4:52 p.m. UTC
This moves the modesetting code from drm_fb_helper to drm_client so it
can be shared by all internal clients.

The main change this time is to attach the modeset array to
drm_client_dev and honour the drm_fb_helper MIT license. I've dropped
the display abstraction.

Noralf.

Cc: Emmanuel Vadot <manu@bidouilliste.com>

Noralf Trønnes (12):
  drm/atomic: Move __drm_atomic_helper_disable_plane/set_config()
  drm/fb-helper: Avoid race with DRM userspace
  drm/i915/fbdev: Move intel_fb_initial_config() to fbdev helper
  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/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     |  359 ++++++++
 drivers/gpu/drm/drm_client.c         |   17 +-
 drivers/gpu/drm/drm_client_modeset.c | 1086 +++++++++++++++++++++++
 drivers/gpu/drm/drm_crtc_internal.h  |    5 +
 drivers/gpu/drm/drm_drv.c            |    4 +
 drivers/gpu/drm/drm_fb_helper.c      | 1195 +++-----------------------
 drivers/gpu/drm/drm_internal.h       |    2 +
 drivers/gpu/drm/i915/intel_fbdev.c   |  218 -----
 include/drm/drm_atomic_helper.h      |    4 -
 include/drm/drm_client.h             |   48 ++
 include/drm/drm_fb_helper.h          |  125 +--
 17 files changed, 1859 insertions(+), 1574 deletions(-)
 create mode 100644 drivers/gpu/drm/drm_bootsplash.c
 create mode 100644 drivers/gpu/drm/drm_client_modeset.c

Comments

Daniel Vetter April 16, 2019, 8:41 a.m. UTC | #1
On Sun, Apr 07, 2019 at 06:52:31PM +0200, Noralf Trønnes wrote:
> This moves the modesetting code from drm_fb_helper to drm_client so it
> can be shared by all internal clients.
> 
> The main change this time is to attach the modeset array to
> drm_client_dev and honour the drm_fb_helper MIT license. I've dropped
> the display abstraction.
> 
> Noralf.
> 
> Cc: Emmanuel Vadot <manu@bidouilliste.com>
> 
> Noralf Trønnes (12):
>   drm/atomic: Move __drm_atomic_helper_disable_plane/set_config()
>   drm/fb-helper: Avoid race with DRM userspace
>   drm/i915/fbdev: Move intel_fb_initial_config() to fbdev helper
>   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

I like.

Reviewed some of the prep patches, plus some more suggestions for
drm_client_modeset api polishing ideas.

Maxime is working on some other fbdev helper features and your two patch
series will conflict badly I think. Probably best if you coordinate and
cross-review for final details and best coordination for merging into
drm-misc-next.

I think for the bootsplash good option would be to add it as a todo item,
with a link to patch of your latest proof of concept.

Cheers, Daniel

> 
>  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     |  359 ++++++++
>  drivers/gpu/drm/drm_client.c         |   17 +-
>  drivers/gpu/drm/drm_client_modeset.c | 1086 +++++++++++++++++++++++
>  drivers/gpu/drm/drm_crtc_internal.h  |    5 +
>  drivers/gpu/drm/drm_drv.c            |    4 +
>  drivers/gpu/drm/drm_fb_helper.c      | 1195 +++-----------------------
>  drivers/gpu/drm/drm_internal.h       |    2 +
>  drivers/gpu/drm/i915/intel_fbdev.c   |  218 -----
>  include/drm/drm_atomic_helper.h      |    4 -
>  include/drm/drm_client.h             |   48 ++
>  include/drm/drm_fb_helper.h          |  125 +--
>  17 files changed, 1859 insertions(+), 1574 deletions(-)
>  create mode 100644 drivers/gpu/drm/drm_bootsplash.c
>  create mode 100644 drivers/gpu/drm/drm_client_modeset.c
> 
> -- 
> 2.20.1
>
Daniel Vetter April 16, 2019, 8:46 a.m. UTC | #2
On Tue, Apr 16, 2019 at 10:41:06AM +0200, Daniel Vetter wrote:
> On Sun, Apr 07, 2019 at 06:52:31PM +0200, Noralf Trønnes wrote:
> > This moves the modesetting code from drm_fb_helper to drm_client so it
> > can be shared by all internal clients.
> > 
> > The main change this time is to attach the modeset array to
> > drm_client_dev and honour the drm_fb_helper MIT license. I've dropped
> > the display abstraction.
> > 
> > Noralf.
> > 
> > Cc: Emmanuel Vadot <manu@bidouilliste.com>
> > 
> > Noralf Trønnes (12):
> >   drm/atomic: Move __drm_atomic_helper_disable_plane/set_config()
> >   drm/fb-helper: Avoid race with DRM userspace
> >   drm/i915/fbdev: Move intel_fb_initial_config() to fbdev helper
> >   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
> 
> I like.
> 
> Reviewed some of the prep patches, plus some more suggestions for
> drm_client_modeset api polishing ideas.
> 
> Maxime is working on some other fbdev helper features and your two patch
> series will conflict badly I think. Probably best if you coordinate and
> cross-review for final details and best coordination for merging into
> drm-misc-next.

https://marc.info/?l=linux-arm-kernel&m=155498898611173&w=2

is what I meant.
-Daniel
> 
> I think for the bootsplash good option would be to add it as a todo item,
> with a link to patch of your latest proof of concept.
> 
> Cheers, Daniel
> 
> > 
> >  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     |  359 ++++++++
> >  drivers/gpu/drm/drm_client.c         |   17 +-
> >  drivers/gpu/drm/drm_client_modeset.c | 1086 +++++++++++++++++++++++
> >  drivers/gpu/drm/drm_crtc_internal.h  |    5 +
> >  drivers/gpu/drm/drm_drv.c            |    4 +
> >  drivers/gpu/drm/drm_fb_helper.c      | 1195 +++-----------------------
> >  drivers/gpu/drm/drm_internal.h       |    2 +
> >  drivers/gpu/drm/i915/intel_fbdev.c   |  218 -----
> >  include/drm/drm_atomic_helper.h      |    4 -
> >  include/drm/drm_client.h             |   48 ++
> >  include/drm/drm_fb_helper.h          |  125 +--
> >  17 files changed, 1859 insertions(+), 1574 deletions(-)
> >  create mode 100644 drivers/gpu/drm/drm_bootsplash.c
> >  create mode 100644 drivers/gpu/drm/drm_client_modeset.c
> > 
> > -- 
> > 2.20.1
> > 
> 
> -- 
> Daniel Vetter
> Software Engineer, Intel Corporation
> http://blog.ffwll.ch
Noralf Trønnes April 17, 2019, 6:06 p.m. UTC | #3
Den 16.04.2019 10.41, skrev Daniel Vetter:
> On Sun, Apr 07, 2019 at 06:52:31PM +0200, Noralf Trønnes wrote:
>> This moves the modesetting code from drm_fb_helper to drm_client so it
>> can be shared by all internal clients.
>>
>> The main change this time is to attach the modeset array to
>> drm_client_dev and honour the drm_fb_helper MIT license. I've dropped
>> the display abstraction.
>>
>> Noralf.
>>
>> Cc: Emmanuel Vadot <manu@bidouilliste.com>
>>
>> Noralf Trønnes (12):
>>   drm/atomic: Move __drm_atomic_helper_disable_plane/set_config()
>>   drm/fb-helper: Avoid race with DRM userspace
>>   drm/i915/fbdev: Move intel_fb_initial_config() to fbdev helper
>>   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
> 
> I like.
> 

Glad you like it, this turned out to be way more work than I first
imagined when I started toying with this generic fbdev emulation idea :-)

> Reviewed some of the prep patches, plus some more suggestions for
> drm_client_modeset api polishing ideas.
> 
> Maxime is working on some other fbdev helper features and your two patch
> series will conflict badly I think. Probably best if you coordinate and
> cross-review for final details and best coordination for merging into
> drm-misc-next.
> 

Yep, I'll coordinate with Maxime.

> I think for the bootsplash good option would be to add it as a todo item,
> with a link to patch of your latest proof of concept.
> 

Sure, I'll make a todo patch when stuff is applied and I know which
patchset is the last.

Noralf.

> Cheers, Daniel
> 
>>
>>  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     |  359 ++++++++
>>  drivers/gpu/drm/drm_client.c         |   17 +-
>>  drivers/gpu/drm/drm_client_modeset.c | 1086 +++++++++++++++++++++++
>>  drivers/gpu/drm/drm_crtc_internal.h  |    5 +
>>  drivers/gpu/drm/drm_drv.c            |    4 +
>>  drivers/gpu/drm/drm_fb_helper.c      | 1195 +++-----------------------
>>  drivers/gpu/drm/drm_internal.h       |    2 +
>>  drivers/gpu/drm/i915/intel_fbdev.c   |  218 -----
>>  include/drm/drm_atomic_helper.h      |    4 -
>>  include/drm/drm_client.h             |   48 ++
>>  include/drm/drm_fb_helper.h          |  125 +--
>>  17 files changed, 1859 insertions(+), 1574 deletions(-)
>>  create mode 100644 drivers/gpu/drm/drm_bootsplash.c
>>  create mode 100644 drivers/gpu/drm/drm_client_modeset.c
>>
>> -- 
>> 2.20.1
>>
>