diff mbox

drm: Move plane helpers into drm_kms_helper.ko

Message ID 1401802736-32065-1-git-send-email-daniel.vetter@ffwll.ch (mailing list archive)
State New, archived
Headers show

Commit Message

Daniel Vetter June 3, 2014, 1:38 p.m. UTC
The drm core shouldn't depend upon any helpers, and we make sure this
doesn't accidentally happen by moving them into the helper-only
drm_kms_helper.ko module.

Cc: Matt Roper <matthew.d.roper@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/Makefile | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

Comments

Matt Roper June 3, 2014, 2:44 p.m. UTC | #1
On Tue, Jun 03, 2014 at 03:38:56PM +0200, Daniel Vetter wrote:
> The drm core shouldn't depend upon any helpers, and we make sure this
> doesn't accidentally happen by moving them into the helper-only
> drm_kms_helper.ko module.
> 
> Cc: Matt Roper <matthew.d.roper@intel.com>
> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>

Are there any KMS drivers that don't 'select DRM_KMS_HELPER' in their
Kconfig today?  From a quick grep + cscope it looks like radeon and
vmwgfx don't select the helper library.

Since drm_crtc_init() is part of the helper library now (since it
creates a helper-created primary plane), I think those drivers either
need to select the helper in their Kconfig to get a proper build, or
they need to be updated to provide their own primary planes and call
drm_crtc_init_with_planes(), right?


Matt

> ---
>  drivers/gpu/drm/Makefile | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/gpu/drm/Makefile b/drivers/gpu/drm/Makefile
> index 48e38ba22783..863db8415c22 100644
> --- a/drivers/gpu/drm/Makefile
> +++ b/drivers/gpu/drm/Makefile
> @@ -13,8 +13,7 @@ drm-y       :=	drm_auth.o drm_buffer.o drm_bufs.o drm_cache.o \
>  		drm_crtc.o drm_modes.o drm_edid.o \
>  		drm_info.o drm_debugfs.o drm_encoder_slave.o \
>  		drm_trace_points.o drm_global.o drm_prime.o \
> -		drm_rect.o drm_vma_manager.o drm_flip_work.o \
> -		drm_plane_helper.o
> +		drm_rect.o drm_vma_manager.o drm_flip_work.o
>  
>  drm-$(CONFIG_COMPAT) += drm_ioc32.o
>  drm-$(CONFIG_DRM_GEM_CMA_HELPER) += drm_gem_cma_helper.o
> @@ -23,7 +22,8 @@ drm-$(CONFIG_DRM_PANEL) += drm_panel.o
>  
>  drm-usb-y   := drm_usb.o
>  
> -drm_kms_helper-y := drm_crtc_helper.o drm_dp_helper.o drm_probe_helper.o
> +drm_kms_helper-y := drm_crtc_helper.o drm_dp_helper.o drm_probe_helper.o \
> +		drm_plane_helper.o
>  drm_kms_helper-$(CONFIG_DRM_LOAD_EDID_FIRMWARE) += drm_edid_load.o
>  drm_kms_helper-$(CONFIG_DRM_KMS_FB_HELPER) += drm_fb_helper.o
>  drm_kms_helper-$(CONFIG_DRM_KMS_CMA_HELPER) += drm_fb_cma_helper.o
> -- 
> 2.0.0
>
Daniel Vetter June 3, 2014, 2:49 p.m. UTC | #2
On Tue, Jun 3, 2014 at 4:44 PM, Matt Roper <matthew.d.roper@intel.com> wrote:
> On Tue, Jun 03, 2014 at 03:38:56PM +0200, Daniel Vetter wrote:
>> The drm core shouldn't depend upon any helpers, and we make sure this
>> doesn't accidentally happen by moving them into the helper-only
>> drm_kms_helper.ko module.
>>
>> Cc: Matt Roper <matthew.d.roper@intel.com>
>> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
>
> Are there any KMS drivers that don't 'select DRM_KMS_HELPER' in their
> Kconfig today?  From a quick grep + cscope it looks like radeon and
> vmwgfx don't select the helper library.
>
> Since drm_crtc_init() is part of the helper library now (since it
> creates a helper-created primary plane), I think those drivers either
> need to select the helper in their Kconfig to get a proper build, or
> they need to be updated to provide their own primary planes and call
> drm_crtc_init_with_planes(), right?

Radeon definitely uses the crtc helpers, so should have the dependency
somewhere. vmwgfx might indeed be broken now a bit. I'll wait for the
0-day kernel test build farm to confirm that ;-)
-Daniel
Matt Roper June 3, 2014, 2:55 p.m. UTC | #3
On Tue, Jun 03, 2014 at 04:49:25PM +0200, Daniel Vetter wrote:
> On Tue, Jun 3, 2014 at 4:44 PM, Matt Roper <matthew.d.roper@intel.com> wrote:
> > On Tue, Jun 03, 2014 at 03:38:56PM +0200, Daniel Vetter wrote:
> >> The drm core shouldn't depend upon any helpers, and we make sure this
> >> doesn't accidentally happen by moving them into the helper-only
> >> drm_kms_helper.ko module.
> >>
> >> Cc: Matt Roper <matthew.d.roper@intel.com>
> >> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
> >
> > Are there any KMS drivers that don't 'select DRM_KMS_HELPER' in their
> > Kconfig today?  From a quick grep + cscope it looks like radeon and
> > vmwgfx don't select the helper library.
> >
> > Since drm_crtc_init() is part of the helper library now (since it
> > creates a helper-created primary plane), I think those drivers either
> > need to select the helper in their Kconfig to get a proper build, or
> > they need to be updated to provide their own primary planes and call
> > drm_crtc_init_with_planes(), right?
> 
> Radeon definitely uses the crtc helpers, so should have the dependency
> somewhere. vmwgfx might indeed be broken now a bit. I'll wait for the
> 0-day kernel test build farm to confirm that ;-)
> -Daniel

Yeah, you're right; now that I look closer radeon pulls it in from the
main drm directory Kconfig and only has ums stuff in its driver
directory Kconfig.  But I think vmwgfx probably still needs to select
the helper library.

If vmwgfx gets a kconfig update to pull in the helper library, then this
is
Reviewed-by: Matt Roper <matthew.d.roper@intel.com>


Matt


> -- 
> Daniel Vetter
> Software Engineer, Intel Corporation
> +41 (0) 79 365 57 48 - http://blog.ffwll.ch
diff mbox

Patch

diff --git a/drivers/gpu/drm/Makefile b/drivers/gpu/drm/Makefile
index 48e38ba22783..863db8415c22 100644
--- a/drivers/gpu/drm/Makefile
+++ b/drivers/gpu/drm/Makefile
@@ -13,8 +13,7 @@  drm-y       :=	drm_auth.o drm_buffer.o drm_bufs.o drm_cache.o \
 		drm_crtc.o drm_modes.o drm_edid.o \
 		drm_info.o drm_debugfs.o drm_encoder_slave.o \
 		drm_trace_points.o drm_global.o drm_prime.o \
-		drm_rect.o drm_vma_manager.o drm_flip_work.o \
-		drm_plane_helper.o
+		drm_rect.o drm_vma_manager.o drm_flip_work.o
 
 drm-$(CONFIG_COMPAT) += drm_ioc32.o
 drm-$(CONFIG_DRM_GEM_CMA_HELPER) += drm_gem_cma_helper.o
@@ -23,7 +22,8 @@  drm-$(CONFIG_DRM_PANEL) += drm_panel.o
 
 drm-usb-y   := drm_usb.o
 
-drm_kms_helper-y := drm_crtc_helper.o drm_dp_helper.o drm_probe_helper.o
+drm_kms_helper-y := drm_crtc_helper.o drm_dp_helper.o drm_probe_helper.o \
+		drm_plane_helper.o
 drm_kms_helper-$(CONFIG_DRM_LOAD_EDID_FIRMWARE) += drm_edid_load.o
 drm_kms_helper-$(CONFIG_DRM_KMS_FB_HELPER) += drm_fb_helper.o
 drm_kms_helper-$(CONFIG_DRM_KMS_CMA_HELPER) += drm_fb_cma_helper.o