All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] drm: Move plane helpers into drm_kms_helper.ko
@ 2014-06-03 13:38 Daniel Vetter
  2014-06-03 14:44 ` Matt Roper
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Daniel Vetter @ 2014-06-03 13:38 UTC (permalink / raw)
  To: DRI Development; +Cc: Daniel Vetter, Intel Graphics Development

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(-)

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

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH] drm: Move plane helpers into drm_kms_helper.ko
  2014-06-03 13:38 [PATCH] drm: Move plane helpers into drm_kms_helper.ko Daniel Vetter
@ 2014-06-03 14:44 ` Matt Roper
  2014-06-03 14:49   ` Daniel Vetter
  2014-06-03 14:57 ` Daniel Vetter
  2014-06-03 17:30 ` Daniel Vetter
  2 siblings, 1 reply; 7+ messages in thread
From: Matt Roper @ 2014-06-03 14:44 UTC (permalink / raw)
  To: Daniel Vetter; +Cc: Intel Graphics Development, DRI Development

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
> 

-- 
Matt Roper
Graphics Software Engineer
IoTG Platform Enabling & Development
Intel Corporation
(916) 356-2795

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] drm: Move plane helpers into drm_kms_helper.ko
  2014-06-03 14:44 ` Matt Roper
@ 2014-06-03 14:49   ` Daniel Vetter
  2014-06-03 14:55     ` Matt Roper
  0 siblings, 1 reply; 7+ messages in thread
From: Daniel Vetter @ 2014-06-03 14:49 UTC (permalink / raw)
  To: Matt Roper; +Cc: Intel Graphics Development, DRI Development

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
-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] drm: Move plane helpers into drm_kms_helper.ko
  2014-06-03 14:49   ` Daniel Vetter
@ 2014-06-03 14:55     ` Matt Roper
  0 siblings, 0 replies; 7+ messages in thread
From: Matt Roper @ 2014-06-03 14:55 UTC (permalink / raw)
  To: Daniel Vetter; +Cc: Intel Graphics Development, DRI Development

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

-- 
Matt Roper
Graphics Software Engineer
IoTG Platform Enabling & Development
Intel Corporation
(916) 356-2795

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH] drm: Move plane helpers into drm_kms_helper.ko
  2014-06-03 13:38 [PATCH] drm: Move plane helpers into drm_kms_helper.ko Daniel Vetter
  2014-06-03 14:44 ` Matt Roper
@ 2014-06-03 14:57 ` Daniel Vetter
  2014-06-03 17:30 ` Daniel Vetter
  2 siblings, 0 replies; 7+ messages in thread
From: Daniel Vetter @ 2014-06-03 14:57 UTC (permalink / raw)
  To: DRI Development
  Cc: Daniel Vetter, Intel Graphics Development, Thomas Hellstrom

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.

v2: Don't break the build for vmwgfx, spotted by Matt.

Cc: Matt Roper <matthew.d.roper@intel.com>
Cc: Thomas Hellstrom <thellstrom@vmware.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/Makefile       | 6 +++---
 drivers/gpu/drm/vmwgfx/Kconfig | 3 +++
 2 files changed, 6 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
diff --git a/drivers/gpu/drm/vmwgfx/Kconfig b/drivers/gpu/drm/vmwgfx/Kconfig
index b71bcd0bfbbf..653800e7bc7a 100644
--- a/drivers/gpu/drm/vmwgfx/Kconfig
+++ b/drivers/gpu/drm/vmwgfx/Kconfig
@@ -6,6 +6,9 @@ config DRM_VMWGFX
 	select FB_CFB_COPYAREA
 	select FB_CFB_IMAGEBLIT
 	select DRM_TTM
+	# Only needed for the transitional use of drm_crtc_init - can be removed
+	# again once vmwgfx sets up the primary plane itself.
+	select DRM_KMS_HELPER
 	help
 	  Choose this option if you would like to run 3D acceleration
 	  in a VMware virtual machine.
-- 
2.0.0

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH] drm: Move plane helpers into drm_kms_helper.ko
  2014-06-03 13:38 [PATCH] drm: Move plane helpers into drm_kms_helper.ko Daniel Vetter
  2014-06-03 14:44 ` Matt Roper
  2014-06-03 14:57 ` Daniel Vetter
@ 2014-06-03 17:30 ` Daniel Vetter
  2014-06-04  3:36   ` Dave Airlie
  2 siblings, 1 reply; 7+ messages in thread
From: Daniel Vetter @ 2014-06-03 17:30 UTC (permalink / raw)
  To: DRI Development
  Cc: Daniel Vetter, Intel Graphics Development, Thomas Hellstrom

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.

v2: Don't break the build for vmwgfx, spotted by Matt.

v3: Unbreak the depency loop around CONFIG_FB (not actually a loop
since it involves select). Reported by Chris.

Cc: Matt Roper <matthew.d.roper@intel.com>
Cc: Thomas Hellstrom <thellstrom@vmware.com>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/Makefile       | 6 +++---
 drivers/gpu/drm/vmwgfx/Kconfig | 7 +++++--
 2 files changed, 8 insertions(+), 5 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
diff --git a/drivers/gpu/drm/vmwgfx/Kconfig b/drivers/gpu/drm/vmwgfx/Kconfig
index b71bcd0bfbbf..67720f70fe29 100644
--- a/drivers/gpu/drm/vmwgfx/Kconfig
+++ b/drivers/gpu/drm/vmwgfx/Kconfig
@@ -1,11 +1,14 @@
 config DRM_VMWGFX
 	tristate "DRM driver for VMware Virtual GPU"
-	depends on DRM && PCI && FB
+	depends on DRM && PCI
 	select FB_DEFERRED_IO
 	select FB_CFB_FILLRECT
 	select FB_CFB_COPYAREA
 	select FB_CFB_IMAGEBLIT
 	select DRM_TTM
+	# Only needed for the transitional use of drm_crtc_init - can be removed
+	# again once vmwgfx sets up the primary plane itself.
+	select DRM_KMS_HELPER
 	help
 	  Choose this option if you would like to run 3D acceleration
 	  in a VMware virtual machine.
@@ -14,7 +17,7 @@ config DRM_VMWGFX
 	  The compiled module will be called "vmwgfx.ko".
 
 config DRM_VMWGFX_FBCON
-	depends on DRM_VMWGFX
+	depends on DRM_VMWGFX && FB
 	bool "Enable framebuffer console under vmwgfx by default"
 	help
 	   Choose this option if you are shipping a new vmwgfx
-- 
2.0.0

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH] drm: Move plane helpers into drm_kms_helper.ko
  2014-06-03 17:30 ` Daniel Vetter
@ 2014-06-04  3:36   ` Dave Airlie
  0 siblings, 0 replies; 7+ messages in thread
From: Dave Airlie @ 2014-06-04  3:36 UTC (permalink / raw)
  To: Daniel Vetter
  Cc: Intel Graphics Development, Thomas Hellstrom, DRI Development

On 4 June 2014 03:30, Daniel Vetter <daniel.vetter@ffwll.ch> 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.
>
> v2: Don't break the build for vmwgfx, spotted by Matt.
>
> v3: Unbreak the depency loop around CONFIG_FB (not actually a loop
> since it involves select). Reported by Chris.
>
> Cc: Matt Roper <matthew.d.roper@intel.com>
> Cc: Thomas Hellstrom <thellstrom@vmware.com>
> Cc: Chris Wilson <chris@chris-wilson.co.uk>
> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
> ---
>  drivers/gpu/drm/Makefile       | 6 +++---
>  drivers/gpu/drm/vmwgfx/Kconfig | 7 +++++--
>  2 files changed, 8 insertions(+), 5 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
> diff --git a/drivers/gpu/drm/vmwgfx/Kconfig b/drivers/gpu/drm/vmwgfx/Kconfig
> index b71bcd0bfbbf..67720f70fe29 100644
> --- a/drivers/gpu/drm/vmwgfx/Kconfig
> +++ b/drivers/gpu/drm/vmwgfx/Kconfig
> @@ -1,11 +1,14 @@
>  config DRM_VMWGFX
>         tristate "DRM driver for VMware Virtual GPU"
> -       depends on DRM && PCI && FB
> +       depends on DRM && PCI
>         select FB_DEFERRED_IO
>         select FB_CFB_FILLRECT
>         select FB_CFB_COPYAREA
>         select FB_CFB_IMAGEBLIT
>         select DRM_TTM
> +       # Only needed for the transitional use of drm_crtc_init - can be removed
> +       # again once vmwgfx sets up the primary plane itself.
> +       select DRM_KMS_HELPER
>         help
>           Choose this option if you would like to run 3D acceleration
>           in a VMware virtual machine.
> @@ -14,7 +17,7 @@ config DRM_VMWGFX
>           The compiled module will be called "vmwgfx.ko".
>
>  config DRM_VMWGFX_FBCON
> -       depends on DRM_VMWGFX
> +       depends on DRM_VMWGFX && FB
>         bool "Enable framebuffer console under vmwgfx by default"
>         help
>            Choose this option if you are shipping a new vmwgfx

Applied thanks,

Dave.

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2014-06-04  3:36 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-06-03 13:38 [PATCH] drm: Move plane helpers into drm_kms_helper.ko Daniel Vetter
2014-06-03 14:44 ` Matt Roper
2014-06-03 14:49   ` Daniel Vetter
2014-06-03 14:55     ` Matt Roper
2014-06-03 14:57 ` Daniel Vetter
2014-06-03 17:30 ` Daniel Vetter
2014-06-04  3:36   ` Dave Airlie

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.