All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] drm: Reject dumb buffers when driver/device doesn't support modesetting
@ 2020-03-18 15:49 ` Ville Syrjala
  0 siblings, 0 replies; 8+ messages in thread
From: Ville Syrjala @ 2020-03-18 15:49 UTC (permalink / raw)
  To: dri-devel; +Cc: intel-gfx

From: Ville Syrjälä <ville.syrjala@linux.intel.com>

Currently a driver must not provide a .dumb_create() hook in the
drm_driver structure if it wants to declare dumb buffers as not
supported. So if the same driver wants to support both modeset
and non-modeset devices it would require two distinct drm_driver
structures in order to reject the dumb buffer operations on the
non-modeset devices. That's rather tedious, so let's make life
easier for such drivers by also checking for the DRIVER_MODESET
flag before we declare dumb buffers as supported. Now all the
driver has to do is clear the flag for any device that can't
do modesetting.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 drivers/gpu/drm/drm_client.c        |  2 +-
 drivers/gpu/drm/drm_crtc_internal.h |  1 +
 drivers/gpu/drm/drm_dumb_buffers.c  | 12 +++++++++---
 drivers/gpu/drm/drm_ioctl.c         |  2 +-
 4 files changed, 12 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/drm_client.c b/drivers/gpu/drm/drm_client.c
index 6b0c6ef8b9b3..cf61d87b434d 100644
--- a/drivers/gpu/drm/drm_client.c
+++ b/drivers/gpu/drm/drm_client.c
@@ -80,7 +80,7 @@ int drm_client_init(struct drm_device *dev, struct drm_client_dev *client,
 {
 	int ret;
 
-	if (!drm_core_check_feature(dev, DRIVER_MODESET) || !dev->driver->dumb_create)
+	if (!drm_has_dumb_buffers(dev))
 		return -EOPNOTSUPP;
 
 	if (funcs && !try_module_get(funcs->owner))
diff --git a/drivers/gpu/drm/drm_crtc_internal.h b/drivers/gpu/drm/drm_crtc_internal.h
index 16f2413403aa..c08ff0b7a509 100644
--- a/drivers/gpu/drm/drm_crtc_internal.h
+++ b/drivers/gpu/drm/drm_crtc_internal.h
@@ -92,6 +92,7 @@ int drm_mode_getresources(struct drm_device *dev,
 
 
 /* drm_dumb_buffers.c */
+bool drm_has_dumb_buffers(struct drm_device *dev);
 int drm_mode_create_dumb(struct drm_device *dev,
 			 struct drm_mode_create_dumb *args,
 			 struct drm_file *file_priv);
diff --git a/drivers/gpu/drm/drm_dumb_buffers.c b/drivers/gpu/drm/drm_dumb_buffers.c
index d18a740fe0f1..9859530362e2 100644
--- a/drivers/gpu/drm/drm_dumb_buffers.c
+++ b/drivers/gpu/drm/drm_dumb_buffers.c
@@ -55,13 +55,19 @@
  * a hardware-specific ioctl to allocate suitable buffer objects.
  */
 
+bool drm_has_dumb_buffers(struct drm_device *dev)
+{
+	return dev->driver->dumb_create &&
+		drm_core_check_feature(dev, DRIVER_MODESET);
+}
+
 int drm_mode_create_dumb(struct drm_device *dev,
 			 struct drm_mode_create_dumb *args,
 			 struct drm_file *file_priv)
 {
 	u32 cpp, stride, size;
 
-	if (!dev->driver->dumb_create)
+	if (!drm_has_dumb_buffers(dev))
 		return -ENOSYS;
 	if (!args->width || !args->height || !args->bpp)
 		return -EINVAL;
@@ -119,7 +125,7 @@ int drm_mode_mmap_dumb_ioctl(struct drm_device *dev,
 {
 	struct drm_mode_map_dumb *args = data;
 
-	if (!dev->driver->dumb_create)
+	if (!drm_has_dumb_buffers(dev))
 		return -ENOSYS;
 
 	if (dev->driver->dumb_map_offset)
@@ -134,7 +140,7 @@ int drm_mode_mmap_dumb_ioctl(struct drm_device *dev,
 int drm_mode_destroy_dumb(struct drm_device *dev, u32 handle,
 			  struct drm_file *file_priv)
 {
-	if (!dev->driver->dumb_create)
+	if (!drm_has_dumb_buffers(dev))
 		return -ENOSYS;
 
 	if (dev->driver->dumb_destroy)
diff --git a/drivers/gpu/drm/drm_ioctl.c b/drivers/gpu/drm/drm_ioctl.c
index 9e41972c4bbc..437f1bee6869 100644
--- a/drivers/gpu/drm/drm_ioctl.c
+++ b/drivers/gpu/drm/drm_ioctl.c
@@ -262,7 +262,7 @@ static int drm_getcap(struct drm_device *dev, void *data, struct drm_file *file_
 
 	switch (req->capability) {
 	case DRM_CAP_DUMB_BUFFER:
-		if (dev->driver->dumb_create)
+		if (drm_has_dumb_buffers(dev))
 			req->value = 1;
 		break;
 	case DRM_CAP_VBLANK_HIGH_CRTC:
-- 
2.24.1

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

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

* [Intel-gfx] [PATCH] drm: Reject dumb buffers when driver/device doesn't support modesetting
@ 2020-03-18 15:49 ` Ville Syrjala
  0 siblings, 0 replies; 8+ messages in thread
From: Ville Syrjala @ 2020-03-18 15:49 UTC (permalink / raw)
  To: dri-devel; +Cc: intel-gfx

From: Ville Syrjälä <ville.syrjala@linux.intel.com>

Currently a driver must not provide a .dumb_create() hook in the
drm_driver structure if it wants to declare dumb buffers as not
supported. So if the same driver wants to support both modeset
and non-modeset devices it would require two distinct drm_driver
structures in order to reject the dumb buffer operations on the
non-modeset devices. That's rather tedious, so let's make life
easier for such drivers by also checking for the DRIVER_MODESET
flag before we declare dumb buffers as supported. Now all the
driver has to do is clear the flag for any device that can't
do modesetting.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 drivers/gpu/drm/drm_client.c        |  2 +-
 drivers/gpu/drm/drm_crtc_internal.h |  1 +
 drivers/gpu/drm/drm_dumb_buffers.c  | 12 +++++++++---
 drivers/gpu/drm/drm_ioctl.c         |  2 +-
 4 files changed, 12 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/drm_client.c b/drivers/gpu/drm/drm_client.c
index 6b0c6ef8b9b3..cf61d87b434d 100644
--- a/drivers/gpu/drm/drm_client.c
+++ b/drivers/gpu/drm/drm_client.c
@@ -80,7 +80,7 @@ int drm_client_init(struct drm_device *dev, struct drm_client_dev *client,
 {
 	int ret;
 
-	if (!drm_core_check_feature(dev, DRIVER_MODESET) || !dev->driver->dumb_create)
+	if (!drm_has_dumb_buffers(dev))
 		return -EOPNOTSUPP;
 
 	if (funcs && !try_module_get(funcs->owner))
diff --git a/drivers/gpu/drm/drm_crtc_internal.h b/drivers/gpu/drm/drm_crtc_internal.h
index 16f2413403aa..c08ff0b7a509 100644
--- a/drivers/gpu/drm/drm_crtc_internal.h
+++ b/drivers/gpu/drm/drm_crtc_internal.h
@@ -92,6 +92,7 @@ int drm_mode_getresources(struct drm_device *dev,
 
 
 /* drm_dumb_buffers.c */
+bool drm_has_dumb_buffers(struct drm_device *dev);
 int drm_mode_create_dumb(struct drm_device *dev,
 			 struct drm_mode_create_dumb *args,
 			 struct drm_file *file_priv);
diff --git a/drivers/gpu/drm/drm_dumb_buffers.c b/drivers/gpu/drm/drm_dumb_buffers.c
index d18a740fe0f1..9859530362e2 100644
--- a/drivers/gpu/drm/drm_dumb_buffers.c
+++ b/drivers/gpu/drm/drm_dumb_buffers.c
@@ -55,13 +55,19 @@
  * a hardware-specific ioctl to allocate suitable buffer objects.
  */
 
+bool drm_has_dumb_buffers(struct drm_device *dev)
+{
+	return dev->driver->dumb_create &&
+		drm_core_check_feature(dev, DRIVER_MODESET);
+}
+
 int drm_mode_create_dumb(struct drm_device *dev,
 			 struct drm_mode_create_dumb *args,
 			 struct drm_file *file_priv)
 {
 	u32 cpp, stride, size;
 
-	if (!dev->driver->dumb_create)
+	if (!drm_has_dumb_buffers(dev))
 		return -ENOSYS;
 	if (!args->width || !args->height || !args->bpp)
 		return -EINVAL;
@@ -119,7 +125,7 @@ int drm_mode_mmap_dumb_ioctl(struct drm_device *dev,
 {
 	struct drm_mode_map_dumb *args = data;
 
-	if (!dev->driver->dumb_create)
+	if (!drm_has_dumb_buffers(dev))
 		return -ENOSYS;
 
 	if (dev->driver->dumb_map_offset)
@@ -134,7 +140,7 @@ int drm_mode_mmap_dumb_ioctl(struct drm_device *dev,
 int drm_mode_destroy_dumb(struct drm_device *dev, u32 handle,
 			  struct drm_file *file_priv)
 {
-	if (!dev->driver->dumb_create)
+	if (!drm_has_dumb_buffers(dev))
 		return -ENOSYS;
 
 	if (dev->driver->dumb_destroy)
diff --git a/drivers/gpu/drm/drm_ioctl.c b/drivers/gpu/drm/drm_ioctl.c
index 9e41972c4bbc..437f1bee6869 100644
--- a/drivers/gpu/drm/drm_ioctl.c
+++ b/drivers/gpu/drm/drm_ioctl.c
@@ -262,7 +262,7 @@ static int drm_getcap(struct drm_device *dev, void *data, struct drm_file *file_
 
 	switch (req->capability) {
 	case DRM_CAP_DUMB_BUFFER:
-		if (dev->driver->dumb_create)
+		if (drm_has_dumb_buffers(dev))
 			req->value = 1;
 		break;
 	case DRM_CAP_VBLANK_HIGH_CRTC:
-- 
2.24.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* [Intel-gfx] ✗ Fi.CI.BAT: failure for drm: Reject dumb buffers when driver/device doesn't support modesetting
  2020-03-18 15:49 ` [Intel-gfx] " Ville Syrjala
  (?)
@ 2020-03-18 18:17 ` Patchwork
  -1 siblings, 0 replies; 8+ messages in thread
From: Patchwork @ 2020-03-18 18:17 UTC (permalink / raw)
  To: Ville Syrjala; +Cc: intel-gfx

== Series Details ==

Series: drm: Reject dumb buffers when driver/device doesn't support modesetting
URL   : https://patchwork.freedesktop.org/series/74841/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_8151 -> Patchwork_17010
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with Patchwork_17010 absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_17010, please notify your bug team to allow them
  to document this new failure mode, which will reduce false positives in CI.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17010/index.html

Possible new issues
-------------------

  Here are the unknown changes that may have been introduced in Patchwork_17010:

### IGT changes ###

#### Possible regressions ####

  * igt@gem_exec_fence@basic-busy@vcs0:
    - fi-elk-e7500:       NOTRUN -> [DMESG-WARN][1]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17010/fi-elk-e7500/igt@gem_exec_fence@basic-busy@vcs0.html
    - fi-ilk-650:         NOTRUN -> [DMESG-WARN][2]
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17010/fi-ilk-650/igt@gem_exec_fence@basic-busy@vcs0.html

  * igt@gem_exec_fence@basic-busy@vecs0:
    - fi-hsw-peppy:       NOTRUN -> [DMESG-WARN][3]
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17010/fi-hsw-peppy/igt@gem_exec_fence@basic-busy@vecs0.html
    - fi-skl-guc:         NOTRUN -> [DMESG-WARN][4]
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17010/fi-skl-guc/igt@gem_exec_fence@basic-busy@vecs0.html

  * igt@runner@aborted:
    - fi-ilk-650:         NOTRUN -> [FAIL][5]
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17010/fi-ilk-650/igt@runner@aborted.html
    - fi-hsw-peppy:       NOTRUN -> [FAIL][6]
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17010/fi-hsw-peppy/igt@runner@aborted.html
    - fi-elk-e7500:       NOTRUN -> [FAIL][7]
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17010/fi-elk-e7500/igt@runner@aborted.html

  


Participating hosts (41 -> 38)
------------------------------

  Additional (6): fi-hsw-peppy fi-skl-guc fi-bdw-gvtdvm fi-ilk-650 fi-elk-e7500 fi-snb-2600 
  Missing    (9): fi-ilk-m540 fi-byt-squawks fi-glk-dsi fi-bsw-cyan fi-ctg-p8600 fi-ivb-3770 fi-cfl-8109u fi-bsw-kefka fi-byt-clapper 


Build changes
-------------

  * CI: CI-20190529 -> None
  * Linux: CI_DRM_8151 -> Patchwork_17010

  CI-20190529: 20190529
  CI_DRM_8151: 20887f81adb13a9ff582aa079bb5a7e7fc36b7f5 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_5522: bd2b01af69c9720d54e68a8702a23e4ff3637746 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_17010: a77d1080eb589fe2a2178dbada738b8dcd4e9b57 @ git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

a77d1080eb58 drm: Reject dumb buffers when driver/device doesn't support modesetting

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17010/index.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [PATCH] drm: Reject dumb buffers when driver/device doesn't support modesetting
  2020-03-18 15:49 ` [Intel-gfx] " Ville Syrjala
@ 2020-03-18 20:31   ` Matt Roper
  -1 siblings, 0 replies; 8+ messages in thread
From: Matt Roper @ 2020-03-18 20:31 UTC (permalink / raw)
  To: Ville Syrjala; +Cc: intel-gfx, dri-devel

On Wed, Mar 18, 2020 at 05:49:59PM +0200, Ville Syrjala wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> 
> Currently a driver must not provide a .dumb_create() hook in the
> drm_driver structure if it wants to declare dumb buffers as not
> supported. So if the same driver wants to support both modeset
> and non-modeset devices it would require two distinct drm_driver
> structures in order to reject the dumb buffer operations on the
> non-modeset devices. That's rather tedious, so let's make life
> easier for such drivers by also checking for the DRIVER_MODESET
> flag before we declare dumb buffers as supported. Now all the
> driver has to do is clear the flag for any device that can't
> do modesetting.

Will this be a problem for vgem?  I thought it exposed dumb buffers
without modesetting support?


Matt

> 
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> ---
>  drivers/gpu/drm/drm_client.c        |  2 +-
>  drivers/gpu/drm/drm_crtc_internal.h |  1 +
>  drivers/gpu/drm/drm_dumb_buffers.c  | 12 +++++++++---
>  drivers/gpu/drm/drm_ioctl.c         |  2 +-
>  4 files changed, 12 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/gpu/drm/drm_client.c b/drivers/gpu/drm/drm_client.c
> index 6b0c6ef8b9b3..cf61d87b434d 100644
> --- a/drivers/gpu/drm/drm_client.c
> +++ b/drivers/gpu/drm/drm_client.c
> @@ -80,7 +80,7 @@ int drm_client_init(struct drm_device *dev, struct drm_client_dev *client,
>  {
>  	int ret;
>  
> -	if (!drm_core_check_feature(dev, DRIVER_MODESET) || !dev->driver->dumb_create)
> +	if (!drm_has_dumb_buffers(dev))
>  		return -EOPNOTSUPP;
>  
>  	if (funcs && !try_module_get(funcs->owner))
> diff --git a/drivers/gpu/drm/drm_crtc_internal.h b/drivers/gpu/drm/drm_crtc_internal.h
> index 16f2413403aa..c08ff0b7a509 100644
> --- a/drivers/gpu/drm/drm_crtc_internal.h
> +++ b/drivers/gpu/drm/drm_crtc_internal.h
> @@ -92,6 +92,7 @@ int drm_mode_getresources(struct drm_device *dev,
>  
>  
>  /* drm_dumb_buffers.c */
> +bool drm_has_dumb_buffers(struct drm_device *dev);
>  int drm_mode_create_dumb(struct drm_device *dev,
>  			 struct drm_mode_create_dumb *args,
>  			 struct drm_file *file_priv);
> diff --git a/drivers/gpu/drm/drm_dumb_buffers.c b/drivers/gpu/drm/drm_dumb_buffers.c
> index d18a740fe0f1..9859530362e2 100644
> --- a/drivers/gpu/drm/drm_dumb_buffers.c
> +++ b/drivers/gpu/drm/drm_dumb_buffers.c
> @@ -55,13 +55,19 @@
>   * a hardware-specific ioctl to allocate suitable buffer objects.
>   */
>  
> +bool drm_has_dumb_buffers(struct drm_device *dev)
> +{
> +	return dev->driver->dumb_create &&
> +		drm_core_check_feature(dev, DRIVER_MODESET);
> +}
> +
>  int drm_mode_create_dumb(struct drm_device *dev,
>  			 struct drm_mode_create_dumb *args,
>  			 struct drm_file *file_priv)
>  {
>  	u32 cpp, stride, size;
>  
> -	if (!dev->driver->dumb_create)
> +	if (!drm_has_dumb_buffers(dev))
>  		return -ENOSYS;
>  	if (!args->width || !args->height || !args->bpp)
>  		return -EINVAL;
> @@ -119,7 +125,7 @@ int drm_mode_mmap_dumb_ioctl(struct drm_device *dev,
>  {
>  	struct drm_mode_map_dumb *args = data;
>  
> -	if (!dev->driver->dumb_create)
> +	if (!drm_has_dumb_buffers(dev))
>  		return -ENOSYS;
>  
>  	if (dev->driver->dumb_map_offset)
> @@ -134,7 +140,7 @@ int drm_mode_mmap_dumb_ioctl(struct drm_device *dev,
>  int drm_mode_destroy_dumb(struct drm_device *dev, u32 handle,
>  			  struct drm_file *file_priv)
>  {
> -	if (!dev->driver->dumb_create)
> +	if (!drm_has_dumb_buffers(dev))
>  		return -ENOSYS;
>  
>  	if (dev->driver->dumb_destroy)
> diff --git a/drivers/gpu/drm/drm_ioctl.c b/drivers/gpu/drm/drm_ioctl.c
> index 9e41972c4bbc..437f1bee6869 100644
> --- a/drivers/gpu/drm/drm_ioctl.c
> +++ b/drivers/gpu/drm/drm_ioctl.c
> @@ -262,7 +262,7 @@ static int drm_getcap(struct drm_device *dev, void *data, struct drm_file *file_
>  
>  	switch (req->capability) {
>  	case DRM_CAP_DUMB_BUFFER:
> -		if (dev->driver->dumb_create)
> +		if (drm_has_dumb_buffers(dev))
>  			req->value = 1;
>  		break;
>  	case DRM_CAP_VBLANK_HIGH_CRTC:
> -- 
> 2.24.1
> 
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel

-- 
Matt Roper
Graphics Software Engineer
VTT-OSGC Platform Enablement
Intel Corporation
(916) 356-2795
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

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

* Re: [Intel-gfx] [PATCH] drm: Reject dumb buffers when driver/device doesn't support modesetting
@ 2020-03-18 20:31   ` Matt Roper
  0 siblings, 0 replies; 8+ messages in thread
From: Matt Roper @ 2020-03-18 20:31 UTC (permalink / raw)
  To: Ville Syrjala; +Cc: intel-gfx, dri-devel

On Wed, Mar 18, 2020 at 05:49:59PM +0200, Ville Syrjala wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> 
> Currently a driver must not provide a .dumb_create() hook in the
> drm_driver structure if it wants to declare dumb buffers as not
> supported. So if the same driver wants to support both modeset
> and non-modeset devices it would require two distinct drm_driver
> structures in order to reject the dumb buffer operations on the
> non-modeset devices. That's rather tedious, so let's make life
> easier for such drivers by also checking for the DRIVER_MODESET
> flag before we declare dumb buffers as supported. Now all the
> driver has to do is clear the flag for any device that can't
> do modesetting.

Will this be a problem for vgem?  I thought it exposed dumb buffers
without modesetting support?


Matt

> 
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> ---
>  drivers/gpu/drm/drm_client.c        |  2 +-
>  drivers/gpu/drm/drm_crtc_internal.h |  1 +
>  drivers/gpu/drm/drm_dumb_buffers.c  | 12 +++++++++---
>  drivers/gpu/drm/drm_ioctl.c         |  2 +-
>  4 files changed, 12 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/gpu/drm/drm_client.c b/drivers/gpu/drm/drm_client.c
> index 6b0c6ef8b9b3..cf61d87b434d 100644
> --- a/drivers/gpu/drm/drm_client.c
> +++ b/drivers/gpu/drm/drm_client.c
> @@ -80,7 +80,7 @@ int drm_client_init(struct drm_device *dev, struct drm_client_dev *client,
>  {
>  	int ret;
>  
> -	if (!drm_core_check_feature(dev, DRIVER_MODESET) || !dev->driver->dumb_create)
> +	if (!drm_has_dumb_buffers(dev))
>  		return -EOPNOTSUPP;
>  
>  	if (funcs && !try_module_get(funcs->owner))
> diff --git a/drivers/gpu/drm/drm_crtc_internal.h b/drivers/gpu/drm/drm_crtc_internal.h
> index 16f2413403aa..c08ff0b7a509 100644
> --- a/drivers/gpu/drm/drm_crtc_internal.h
> +++ b/drivers/gpu/drm/drm_crtc_internal.h
> @@ -92,6 +92,7 @@ int drm_mode_getresources(struct drm_device *dev,
>  
>  
>  /* drm_dumb_buffers.c */
> +bool drm_has_dumb_buffers(struct drm_device *dev);
>  int drm_mode_create_dumb(struct drm_device *dev,
>  			 struct drm_mode_create_dumb *args,
>  			 struct drm_file *file_priv);
> diff --git a/drivers/gpu/drm/drm_dumb_buffers.c b/drivers/gpu/drm/drm_dumb_buffers.c
> index d18a740fe0f1..9859530362e2 100644
> --- a/drivers/gpu/drm/drm_dumb_buffers.c
> +++ b/drivers/gpu/drm/drm_dumb_buffers.c
> @@ -55,13 +55,19 @@
>   * a hardware-specific ioctl to allocate suitable buffer objects.
>   */
>  
> +bool drm_has_dumb_buffers(struct drm_device *dev)
> +{
> +	return dev->driver->dumb_create &&
> +		drm_core_check_feature(dev, DRIVER_MODESET);
> +}
> +
>  int drm_mode_create_dumb(struct drm_device *dev,
>  			 struct drm_mode_create_dumb *args,
>  			 struct drm_file *file_priv)
>  {
>  	u32 cpp, stride, size;
>  
> -	if (!dev->driver->dumb_create)
> +	if (!drm_has_dumb_buffers(dev))
>  		return -ENOSYS;
>  	if (!args->width || !args->height || !args->bpp)
>  		return -EINVAL;
> @@ -119,7 +125,7 @@ int drm_mode_mmap_dumb_ioctl(struct drm_device *dev,
>  {
>  	struct drm_mode_map_dumb *args = data;
>  
> -	if (!dev->driver->dumb_create)
> +	if (!drm_has_dumb_buffers(dev))
>  		return -ENOSYS;
>  
>  	if (dev->driver->dumb_map_offset)
> @@ -134,7 +140,7 @@ int drm_mode_mmap_dumb_ioctl(struct drm_device *dev,
>  int drm_mode_destroy_dumb(struct drm_device *dev, u32 handle,
>  			  struct drm_file *file_priv)
>  {
> -	if (!dev->driver->dumb_create)
> +	if (!drm_has_dumb_buffers(dev))
>  		return -ENOSYS;
>  
>  	if (dev->driver->dumb_destroy)
> diff --git a/drivers/gpu/drm/drm_ioctl.c b/drivers/gpu/drm/drm_ioctl.c
> index 9e41972c4bbc..437f1bee6869 100644
> --- a/drivers/gpu/drm/drm_ioctl.c
> +++ b/drivers/gpu/drm/drm_ioctl.c
> @@ -262,7 +262,7 @@ static int drm_getcap(struct drm_device *dev, void *data, struct drm_file *file_
>  
>  	switch (req->capability) {
>  	case DRM_CAP_DUMB_BUFFER:
> -		if (dev->driver->dumb_create)
> +		if (drm_has_dumb_buffers(dev))
>  			req->value = 1;
>  		break;
>  	case DRM_CAP_VBLANK_HIGH_CRTC:
> -- 
> 2.24.1
> 
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel

-- 
Matt Roper
Graphics Software Engineer
VTT-OSGC Platform Enablement
Intel Corporation
(916) 356-2795
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [PATCH] drm: Reject dumb buffers when driver/device doesn't support modesetting
  2020-03-18 20:31   ` [Intel-gfx] " Matt Roper
@ 2020-03-18 20:44     ` Ville Syrjälä
  -1 siblings, 0 replies; 8+ messages in thread
From: Ville Syrjälä @ 2020-03-18 20:44 UTC (permalink / raw)
  To: Matt Roper; +Cc: intel-gfx, dri-devel

On Wed, Mar 18, 2020 at 01:31:07PM -0700, Matt Roper wrote:
> On Wed, Mar 18, 2020 at 05:49:59PM +0200, Ville Syrjala wrote:
> > From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> > 
> > Currently a driver must not provide a .dumb_create() hook in the
> > drm_driver structure if it wants to declare dumb buffers as not
> > supported. So if the same driver wants to support both modeset
> > and non-modeset devices it would require two distinct drm_driver
> > structures in order to reject the dumb buffer operations on the
> > non-modeset devices. That's rather tedious, so let's make life
> > easier for such drivers by also checking for the DRIVER_MODESET
> > flag before we declare dumb buffers as supported. Now all the
> > driver has to do is clear the flag for any device that can't
> > do modesetting.
> 
> Will this be a problem for vgem?  I thought it exposed dumb buffers
> without modesetting support?

Well that's disappointing.

-- 
Ville Syrjälä
Intel
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

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

* Re: [Intel-gfx] [PATCH] drm: Reject dumb buffers when driver/device doesn't support modesetting
@ 2020-03-18 20:44     ` Ville Syrjälä
  0 siblings, 0 replies; 8+ messages in thread
From: Ville Syrjälä @ 2020-03-18 20:44 UTC (permalink / raw)
  To: Matt Roper; +Cc: intel-gfx, dri-devel

On Wed, Mar 18, 2020 at 01:31:07PM -0700, Matt Roper wrote:
> On Wed, Mar 18, 2020 at 05:49:59PM +0200, Ville Syrjala wrote:
> > From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> > 
> > Currently a driver must not provide a .dumb_create() hook in the
> > drm_driver structure if it wants to declare dumb buffers as not
> > supported. So if the same driver wants to support both modeset
> > and non-modeset devices it would require two distinct drm_driver
> > structures in order to reject the dumb buffer operations on the
> > non-modeset devices. That's rather tedious, so let's make life
> > easier for such drivers by also checking for the DRIVER_MODESET
> > flag before we declare dumb buffers as supported. Now all the
> > driver has to do is clear the flag for any device that can't
> > do modesetting.
> 
> Will this be a problem for vgem?  I thought it exposed dumb buffers
> without modesetting support?

Well that's disappointing.

-- 
Ville Syrjälä
Intel
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* [Intel-gfx] ✗ Fi.CI.BAT: failure for drm: Reject dumb buffers when driver/device doesn't support modesetting (rev2)
  2020-03-18 15:49 ` [Intel-gfx] " Ville Syrjala
                   ` (2 preceding siblings ...)
  (?)
@ 2020-03-18 22:58 ` Patchwork
  -1 siblings, 0 replies; 8+ messages in thread
From: Patchwork @ 2020-03-18 22:58 UTC (permalink / raw)
  To: Ville Syrjälä; +Cc: intel-gfx

== Series Details ==

Series: drm: Reject dumb buffers when driver/device doesn't support modesetting (rev2)
URL   : https://patchwork.freedesktop.org/series/74841/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_8154 -> Patchwork_17015
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with Patchwork_17015 absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_17015, please notify your bug team to allow them
  to document this new failure mode, which will reduce false positives in CI.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17015/index.html

Possible new issues
-------------------

  Here are the unknown changes that may have been introduced in Patchwork_17015:

### IGT changes ###

#### Possible regressions ####

  * igt@amdgpu/amd_prime@amd-to-i915:
    - fi-kbl-8809g:       NOTRUN -> [FAIL][1]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17015/fi-kbl-8809g/igt@amdgpu/amd_prime@amd-to-i915.html

  * igt@gem_ringfill@basic-default-forked:
    - fi-hsw-peppy:       [PASS][2] -> [FAIL][3] +17 similar issues
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8154/fi-hsw-peppy/igt@gem_ringfill@basic-default-forked.html
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17015/fi-hsw-peppy/igt@gem_ringfill@basic-default-forked.html
    - fi-kbl-x1275:       [PASS][4] -> [FAIL][5] +18 similar issues
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8154/fi-kbl-x1275/igt@gem_ringfill@basic-default-forked.html
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17015/fi-kbl-x1275/igt@gem_ringfill@basic-default-forked.html

  * igt@i915_selftest@live@blt:
    - fi-snb-2520m:       [PASS][6] -> [DMESG-FAIL][7]
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8154/fi-snb-2520m/igt@i915_selftest@live@blt.html
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17015/fi-snb-2520m/igt@i915_selftest@live@blt.html

  * igt@prime_vgem@basic-fence-flip:
    - fi-kbl-7500u:       [PASS][8] -> [FAIL][9] +18 similar issues
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8154/fi-kbl-7500u/igt@prime_vgem@basic-fence-flip.html
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17015/fi-kbl-7500u/igt@prime_vgem@basic-fence-flip.html

  * igt@prime_vgem@basic-fence-mmap:
    - fi-byt-j1900:       [PASS][10] -> [FAIL][11] +18 similar issues
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8154/fi-byt-j1900/igt@prime_vgem@basic-fence-mmap.html
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17015/fi-byt-j1900/igt@prime_vgem@basic-fence-mmap.html

  * igt@prime_vgem@basic-fence-read:
    - fi-bsw-kefka:       [PASS][12] -> [FAIL][13] +17 similar issues
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8154/fi-bsw-kefka/igt@prime_vgem@basic-fence-read.html
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17015/fi-bsw-kefka/igt@prime_vgem@basic-fence-read.html
    - fi-cml-s:           [PASS][14] -> [FAIL][15] +18 similar issues
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8154/fi-cml-s/igt@prime_vgem@basic-fence-read.html
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17015/fi-cml-s/igt@prime_vgem@basic-fence-read.html

  * igt@prime_vgem@basic-fence-wait-default:
    - fi-cfl-8109u:       [PASS][16] -> [FAIL][17] +18 similar issues
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8154/fi-cfl-8109u/igt@prime_vgem@basic-fence-wait-default.html
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17015/fi-cfl-8109u/igt@prime_vgem@basic-fence-wait-default.html
    - fi-bsw-nick:        [PASS][18] -> [FAIL][19] +17 similar issues
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8154/fi-bsw-nick/igt@prime_vgem@basic-fence-wait-default.html
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17015/fi-bsw-nick/igt@prime_vgem@basic-fence-wait-default.html

  * igt@prime_vgem@basic-gtt:
    - fi-ilk-650:         [PASS][20] -> [FAIL][21] +18 similar issues
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8154/fi-ilk-650/igt@prime_vgem@basic-gtt.html
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17015/fi-ilk-650/igt@prime_vgem@basic-gtt.html

  * igt@prime_vgem@basic-read:
    - fi-kbl-guc:         [PASS][22] -> [FAIL][23] +17 similar issues
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8154/fi-kbl-guc/igt@prime_vgem@basic-read.html
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17015/fi-kbl-guc/igt@prime_vgem@basic-read.html
    - fi-icl-guc:         [PASS][24] -> [FAIL][25] +18 similar issues
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8154/fi-icl-guc/igt@prime_vgem@basic-read.html
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17015/fi-icl-guc/igt@prime_vgem@basic-read.html
    - fi-bwr-2160:        [PASS][26] -> [FAIL][27] +13 similar issues
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8154/fi-bwr-2160/igt@prime_vgem@basic-read.html
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17015/fi-bwr-2160/igt@prime_vgem@basic-read.html
    - fi-bdw-5557u:       [PASS][28] -> [FAIL][29] +18 similar issues
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8154/fi-bdw-5557u/igt@prime_vgem@basic-read.html
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17015/fi-bdw-5557u/igt@prime_vgem@basic-read.html

  * igt@prime_vgem@basic-sync-default:
    - fi-hsw-4770:        [PASS][30] -> [FAIL][31] +18 similar issues
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8154/fi-hsw-4770/igt@prime_vgem@basic-sync-default.html
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17015/fi-hsw-4770/igt@prime_vgem@basic-sync-default.html
    - fi-bxt-dsi:         [PASS][32] -> [FAIL][33] +18 similar issues
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8154/fi-bxt-dsi/igt@prime_vgem@basic-sync-default.html
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17015/fi-bxt-dsi/igt@prime_vgem@basic-sync-default.html
    - fi-cml-u2:          [PASS][34] -> [FAIL][35] +18 similar issues
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8154/fi-cml-u2/igt@prime_vgem@basic-sync-default.html
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17015/fi-cml-u2/igt@prime_vgem@basic-sync-default.html

  * igt@prime_vgem@basic-wait-default:
    - fi-icl-dsi:         [PASS][36] -> [FAIL][37] +18 similar issues
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8154/fi-icl-dsi/igt@prime_vgem@basic-wait-default.html
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17015/fi-icl-dsi/igt@prime_vgem@basic-wait-default.html
    - fi-pnv-d510:        [PASS][38] -> [FAIL][39] +18 similar issues
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8154/fi-pnv-d510/igt@prime_vgem@basic-wait-default.html
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17015/fi-pnv-d510/igt@prime_vgem@basic-wait-default.html

  * igt@prime_vgem@basic-write:
    - fi-skl-lmem:        [PASS][40] -> [FAIL][41] +18 similar issues
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8154/fi-skl-lmem/igt@prime_vgem@basic-write.html
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17015/fi-skl-lmem/igt@prime_vgem@basic-write.html
    - fi-bsw-n3050:       [PASS][42] -> [FAIL][43] +17 similar issues
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8154/fi-bsw-n3050/igt@prime_vgem@basic-write.html
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17015/fi-bsw-n3050/igt@prime_vgem@basic-write.html
    - fi-kbl-soraka:      [PASS][44] -> [FAIL][45] +18 similar issues
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8154/fi-kbl-soraka/igt@prime_vgem@basic-write.html
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17015/fi-kbl-soraka/igt@prime_vgem@basic-write.html
    - fi-skl-6600u:       [PASS][46] -> [FAIL][47] +18 similar issues
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8154/fi-skl-6600u/igt@prime_vgem@basic-write.html
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17015/fi-skl-6600u/igt@prime_vgem@basic-write.html

  * igt@vgem_basic@dmabuf-export:
    - fi-glk-dsi:         [PASS][48] -> [FAIL][49] +18 similar issues
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8154/fi-glk-dsi/igt@vgem_basic@dmabuf-export.html
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17015/fi-glk-dsi/igt@vgem_basic@dmabuf-export.html
    - fi-apl-guc:         [PASS][50] -> [FAIL][51] +18 similar issues
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8154/fi-apl-guc/igt@vgem_basic@dmabuf-export.html
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17015/fi-apl-guc/igt@vgem_basic@dmabuf-export.html
    - fi-kbl-8809g:       [PASS][52] -> [FAIL][53] +17 similar issues
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8154/fi-kbl-8809g/igt@vgem_basic@dmabuf-export.html
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17015/fi-kbl-8809g/igt@vgem_basic@dmabuf-export.html
    - fi-snb-2520m:       [PASS][54] -> [FAIL][55] +17 similar issues
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8154/fi-snb-2520m/igt@vgem_basic@dmabuf-export.html
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17015/fi-snb-2520m/igt@vgem_basic@dmabuf-export.html
    - fi-cfl-8700k:       [PASS][56] -> [FAIL][57] +18 similar issues
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8154/fi-cfl-8700k/igt@vgem_basic@dmabuf-export.html
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17015/fi-cfl-8700k/igt@vgem_basic@dmabuf-export.html
    - fi-gdg-551:         [PASS][58] -> [FAIL][59] +13 similar issues
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8154/fi-gdg-551/igt@vgem_basic@dmabuf-export.html
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17015/fi-gdg-551/igt@vgem_basic@dmabuf-export.html

  * igt@vgem_basic@dmabuf-fence:
    - fi-cfl-guc:         [PASS][60] -> [FAIL][61] +18 similar issues
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8154/fi-cfl-guc/igt@vgem_basic@dmabuf-fence.html
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17015/fi-cfl-guc/igt@vgem_basic@dmabuf-fence.html
    - fi-skl-guc:         NOTRUN -> [FAIL][62] +18 similar issues
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17015/fi-skl-guc/igt@vgem_basic@dmabuf-fence.html

  * igt@vgem_basic@dmabuf-mmap:
    - fi-ivb-3770:        [PASS][63] -> [FAIL][64] +18 similar issues
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8154/fi-ivb-3770/igt@vgem_basic@dmabuf-mmap.html
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17015/fi-ivb-3770/igt@vgem_basic@dmabuf-mmap.html

  * igt@vgem_basic@mmap:
    - fi-skl-6700k2:      [PASS][65] -> [FAIL][66] +18 similar issues
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8154/fi-skl-6700k2/igt@vgem_basic@mmap.html
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17015/fi-skl-6700k2/igt@vgem_basic@mmap.html
    - fi-elk-e7500:       [PASS][67] -> [FAIL][68] +18 similar issues
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8154/fi-elk-e7500/igt@vgem_basic@mmap.html
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17015/fi-elk-e7500/igt@vgem_basic@mmap.html
    - fi-blb-e6850:       [PASS][69] -> [FAIL][70] +18 similar issues
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8154/fi-blb-e6850/igt@vgem_basic@mmap.html
   [70]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17015/fi-blb-e6850/igt@vgem_basic@mmap.html
    - fi-icl-y:           [PASS][71] -> [FAIL][72] +18 similar issues
   [71]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8154/fi-icl-y/igt@vgem_basic@mmap.html
   [72]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17015/fi-icl-y/igt@vgem_basic@mmap.html

  
#### Warnings ####

  * igt@amdgpu/amd_prime@i915-to-amd:
    - fi-kbl-8809g:       [DMESG-WARN][73] ([i915#1209]) -> [FAIL][74]
   [73]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8154/fi-kbl-8809g/igt@amdgpu/amd_prime@i915-to-amd.html
   [74]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17015/fi-kbl-8809g/igt@amdgpu/amd_prime@i915-to-amd.html

  * igt@prime_vgem@basic-fence-flip:
    - fi-hsw-peppy:       [SKIP][75] ([fdo#109271]) -> [FAIL][76]
   [75]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8154/fi-hsw-peppy/igt@prime_vgem@basic-fence-flip.html
   [76]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17015/fi-hsw-peppy/igt@prime_vgem@basic-fence-flip.html
    - fi-bsw-kefka:       [SKIP][77] ([fdo#109271]) -> [FAIL][78]
   [77]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8154/fi-bsw-kefka/igt@prime_vgem@basic-fence-flip.html
   [78]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17015/fi-bsw-kefka/igt@prime_vgem@basic-fence-flip.html
    - fi-snb-2520m:       [SKIP][79] ([fdo#109271]) -> [FAIL][80]
   [79]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8154/fi-snb-2520m/igt@prime_vgem@basic-fence-flip.html
   [80]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17015/fi-snb-2520m/igt@prime_vgem@basic-fence-flip.html
    - fi-bsw-n3050:       [SKIP][81] ([fdo#109271]) -> [FAIL][82]
   [81]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8154/fi-bsw-n3050/igt@prime_vgem@basic-fence-flip.html
   [82]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17015/fi-bsw-n3050/igt@prime_vgem@basic-fence-flip.html

  
#### Suppressed ####

  The following results come from untrusted machines, tests, or statuses.
  They do not affect the overall result.

  * igt@prime_vgem@basic-fence-flip:
    - {fi-tgl-dsi}:       [PASS][83] -> [FAIL][84] +18 similar issues
   [83]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8154/fi-tgl-dsi/igt@prime_vgem@basic-fence-flip.html
   [84]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17015/fi-tgl-dsi/igt@prime_vgem@basic-fence-flip.html

  * igt@prime_vgem@basic-fence-mmap:
    - {fi-tgl-u}:         [PASS][85] -> [FAIL][86] +18 similar issues
   [85]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8154/fi-tgl-u/igt@prime_vgem@basic-fence-mmap.html
   [86]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17015/fi-tgl-u/igt@prime_vgem@basic-fence-mmap.html

  * igt@prime_vgem@basic-write:
    - {fi-ehl-1}:         [PASS][87] -> [FAIL][88] +18 similar issues
   [87]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8154/fi-ehl-1/igt@prime_vgem@basic-write.html
   [88]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17015/fi-ehl-1/igt@prime_vgem@basic-write.html

  * igt@vgem_basic@dmabuf-fence:
    - {fi-kbl-7560u}:     [PASS][89] -> [FAIL][90] +18 similar issues
   [89]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8154/fi-kbl-7560u/igt@vgem_basic@dmabuf-fence.html
   [90]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17015/fi-kbl-7560u/igt@vgem_basic@dmabuf-fence.html

  
Known issues
------------

  Here are the changes found in Patchwork_17015 that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@i915_selftest@live@execlists:
    - fi-icl-y:           [PASS][91] -> [DMESG-FAIL][92] ([fdo#108569])
   [91]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8154/fi-icl-y/igt@i915_selftest@live@execlists.html
   [92]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17015/fi-icl-y/igt@i915_selftest@live@execlists.html
    - fi-cml-u2:          [PASS][93] -> [INCOMPLETE][94] ([i915#1430] / [i915#283] / [i915#656])
   [93]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8154/fi-cml-u2/igt@i915_selftest@live@execlists.html
   [94]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17015/fi-cml-u2/igt@i915_selftest@live@execlists.html

  * igt@kms_chamelium@hdmi-hpd-fast:
    - fi-kbl-7500u:       [PASS][95] -> [FAIL][96] ([i915#323])
   [95]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8154/fi-kbl-7500u/igt@kms_chamelium@hdmi-hpd-fast.html
   [96]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17015/fi-kbl-7500u/igt@kms_chamelium@hdmi-hpd-fast.html

  
#### Possible fixes ####

  * igt@i915_selftest@live@active:
    - {fi-tgl-dsi}:       [DMESG-FAIL][97] -> [PASS][98]
   [97]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8154/fi-tgl-dsi/igt@i915_selftest@live@active.html
   [98]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17015/fi-tgl-dsi/igt@i915_selftest@live@active.html

  * igt@i915_selftest@live@execlists:
    - {fi-kbl-7560u}:     [INCOMPLETE][99] ([fdo#112259] / [i915#1430] / [i915#656]) -> [PASS][100]
   [99]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8154/fi-kbl-7560u/igt@i915_selftest@live@execlists.html
   [100]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17015/fi-kbl-7560u/igt@i915_selftest@live@execlists.html

  
  {name}: This element is suppressed. This means it is ignored when computing
          the status of the difference (SUCCESS, WARNING, or FAILURE).

  [fdo#108569]: https://bugs.freedesktop.org/show_bug.cgi?id=108569
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#112259]: https://bugs.freedesktop.org/show_bug.cgi?id=112259
  [i915#1209]: https://gitlab.freedesktop.org/drm/intel/issues/1209
  [i915#1430]: https://gitlab.freedesktop.org/drm/intel/issues/1430
  [i915#283]: https://gitlab.freedesktop.org/drm/intel/issues/283
  [i915#323]: https://gitlab.freedesktop.org/drm/intel/issues/323
  [i915#656]: https://gitlab.freedesktop.org/drm/intel/issues/656


Participating hosts (47 -> 40)
------------------------------

  Additional (1): fi-skl-guc 
  Missing    (8): fi-ilk-m540 fi-byt-squawks fi-bsw-cyan fi-ctg-p8600 fi-byt-clapper fi-snb-2600 fi-bdw-samus fi-kbl-r 


Build changes
-------------

  * CI: CI-20190529 -> None
  * Linux: CI_DRM_8154 -> Patchwork_17015

  CI-20190529: 20190529
  CI_DRM_8154: 937a904e393752c47b8dfdeed993f04fd75af74d @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_5522: bd2b01af69c9720d54e68a8702a23e4ff3637746 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_17015: 775151da89f986f40425eaf1c43867fe27764813 @ git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

775151da89f9 drm: Reject dumb buffers when driver/device doesn't support modesetting

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_17015/index.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

end of thread, other threads:[~2020-03-18 22:58 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-18 15:49 [PATCH] drm: Reject dumb buffers when driver/device doesn't support modesetting Ville Syrjala
2020-03-18 15:49 ` [Intel-gfx] " Ville Syrjala
2020-03-18 18:17 ` [Intel-gfx] ✗ Fi.CI.BAT: failure for " Patchwork
2020-03-18 20:31 ` [PATCH] " Matt Roper
2020-03-18 20:31   ` [Intel-gfx] " Matt Roper
2020-03-18 20:44   ` Ville Syrjälä
2020-03-18 20:44     ` [Intel-gfx] " Ville Syrjälä
2020-03-18 22:58 ` [Intel-gfx] ✗ Fi.CI.BAT: failure for drm: Reject dumb buffers when driver/device doesn't support modesetting (rev2) Patchwork

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.