* 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