Intel-GFX Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: kbuild test robot <lkp@intel.com>
Cc: Ben Widawsky <ben@bwidawsk.net>,
	Daniel Stone <daniels@collabora.com>,
	Intel GFX <intel-gfx@lists.freedesktop.org>,
	DRI Development <dri-devel@lists.freedesktop.org>,
	kbuild-all@01.org
Subject: Re: [PATCH 1/4] drm: Plumb modifiers through plane init
Date: Tue, 25 Jul 2017 13:40:08 +0800	[thread overview]
Message-ID: <201707251323.Rs0rl4F8%fengguang.wu@intel.com> (raw)
In-Reply-To: <20170724034641.13369-2-ben@bwidawsk.net>

[-- Attachment #1: Type: text/plain, Size: 12157 bytes --]

Hi Ben,

[auto build test ERROR on drm/drm-next]
[also build test ERROR on v4.13-rc2 next-20170724]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Ben-Widawsky/drm-Plumb-modifiers-through-plane-init/20170725-062539
base:   git://people.freedesktop.org/~airlied/linux.git drm-next
config: arm-sunxi_defconfig (attached as .config)
compiler: arm-linux-gnueabi-gcc (Debian 6.1.1-9) 6.1.1 20160705
reproduce:
        wget https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        make.cross ARCH=arm 

All error/warnings (new ones prefixed by >>):

   drivers/gpu/drm/sun4i/sun8i_layer.c: In function 'sun8i_layer_init_one':
>> drivers/gpu/drm/sun4i/sun8i_layer.c:93:12: error: incompatible type for argument 7 of 'drm_universal_plane_init'
               plane->type, NULL);
               ^~~~~
   In file included from include/drm/drm_crtc.h:45:0,
                    from include/drm/drm_atomic_helper.h:31,
                    from drivers/gpu/drm/sun4i/sun8i_layer.c:16:
   include/drm/drm_plane.h:550:5: note: expected 'const uint64_t * {aka const long long unsigned int *}' but argument is of type 'const enum drm_plane_type'
    int drm_universal_plane_init(struct drm_device *dev,
        ^~~~~~~~~~~~~~~~~~~~~~~~
   In file included from include/uapi/linux/posix_types.h:4:0,
                    from include/uapi/linux/types.h:13,
                    from include/linux/types.h:5,
                    from include/linux/mod_devicetable.h:11,
                    from include/linux/i2c.h:29,
                    from include/drm/drm_crtc.h:28,
                    from include/drm/drm_atomic_helper.h:31,
                    from drivers/gpu/drm/sun4i/sun8i_layer.c:16:
>> include/linux/stddef.h:7:14: error: incompatible type for argument 8 of 'drm_universal_plane_init'
    #define NULL ((void *)0)
                 ^
>> drivers/gpu/drm/sun4i/sun8i_layer.c:93:25: note: in expansion of macro 'NULL'
               plane->type, NULL);
                            ^~~~
   In file included from include/drm/drm_crtc.h:45:0,
                    from include/drm/drm_atomic_helper.h:31,
                    from drivers/gpu/drm/sun4i/sun8i_layer.c:16:
   include/drm/drm_plane.h:550:5: note: expected 'enum drm_plane_type' but argument is of type 'void *'
    int drm_universal_plane_init(struct drm_device *dev,
        ^~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/gpu/drm/sun4i/sun8i_layer.c:90:8: error: too few arguments to function 'drm_universal_plane_init'
     ret = drm_universal_plane_init(drm, &layer->plane, 0,
           ^~~~~~~~~~~~~~~~~~~~~~~~
   In file included from include/drm/drm_crtc.h:45:0,
                    from include/drm/drm_atomic_helper.h:31,
                    from drivers/gpu/drm/sun4i/sun8i_layer.c:16:
   include/drm/drm_plane.h:550:5: note: declared here
    int drm_universal_plane_init(struct drm_device *dev,
        ^~~~~~~~~~~~~~~~~~~~~~~~
--
   drivers/gpu//drm/sun4i/sun8i_layer.c: In function 'sun8i_layer_init_one':
   drivers/gpu//drm/sun4i/sun8i_layer.c:93:12: error: incompatible type for argument 7 of 'drm_universal_plane_init'
               plane->type, NULL);
               ^~~~~
   In file included from include/drm/drm_crtc.h:45:0,
                    from include/drm/drm_atomic_helper.h:31,
                    from drivers/gpu//drm/sun4i/sun8i_layer.c:16:
   include/drm/drm_plane.h:550:5: note: expected 'const uint64_t * {aka const long long unsigned int *}' but argument is of type 'const enum drm_plane_type'
    int drm_universal_plane_init(struct drm_device *dev,
        ^~~~~~~~~~~~~~~~~~~~~~~~
   In file included from include/uapi/linux/posix_types.h:4:0,
                    from include/uapi/linux/types.h:13,
                    from include/linux/types.h:5,
                    from include/linux/mod_devicetable.h:11,
                    from include/linux/i2c.h:29,
                    from include/drm/drm_crtc.h:28,
                    from include/drm/drm_atomic_helper.h:31,
                    from drivers/gpu//drm/sun4i/sun8i_layer.c:16:
>> include/linux/stddef.h:7:14: error: incompatible type for argument 8 of 'drm_universal_plane_init'
    #define NULL ((void *)0)
                 ^
   drivers/gpu//drm/sun4i/sun8i_layer.c:93:25: note: in expansion of macro 'NULL'
               plane->type, NULL);
                            ^~~~
   In file included from include/drm/drm_crtc.h:45:0,
                    from include/drm/drm_atomic_helper.h:31,
                    from drivers/gpu//drm/sun4i/sun8i_layer.c:16:
   include/drm/drm_plane.h:550:5: note: expected 'enum drm_plane_type' but argument is of type 'void *'
    int drm_universal_plane_init(struct drm_device *dev,
        ^~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu//drm/sun4i/sun8i_layer.c:90:8: error: too few arguments to function 'drm_universal_plane_init'
     ret = drm_universal_plane_init(drm, &layer->plane, 0,
           ^~~~~~~~~~~~~~~~~~~~~~~~
   In file included from include/drm/drm_crtc.h:45:0,
                    from include/drm/drm_atomic_helper.h:31,
                    from drivers/gpu//drm/sun4i/sun8i_layer.c:16:
   include/drm/drm_plane.h:550:5: note: declared here
    int drm_universal_plane_init(struct drm_device *dev,
        ^~~~~~~~~~~~~~~~~~~~~~~~

vim +/drm_universal_plane_init +93 drivers/gpu/drm/sun4i/sun8i_layer.c

9d75b8c0 Icenowy Zheng 2017-05-17  @16  #include <drm/drm_atomic_helper.h>
9d75b8c0 Icenowy Zheng 2017-05-17   17  #include <drm/drm_plane_helper.h>
9d75b8c0 Icenowy Zheng 2017-05-17   18  #include <drm/drmP.h>
9d75b8c0 Icenowy Zheng 2017-05-17   19  
9d75b8c0 Icenowy Zheng 2017-05-17   20  #include "sun8i_layer.h"
9d75b8c0 Icenowy Zheng 2017-05-17   21  #include "sun8i_mixer.h"
9d75b8c0 Icenowy Zheng 2017-05-17   22  
9d75b8c0 Icenowy Zheng 2017-05-17   23  struct sun8i_plane_desc {
9d75b8c0 Icenowy Zheng 2017-05-17   24  	       enum drm_plane_type     type;
9d75b8c0 Icenowy Zheng 2017-05-17   25  	       const uint32_t          *formats;
9d75b8c0 Icenowy Zheng 2017-05-17   26  	       uint32_t                nformats;
9d75b8c0 Icenowy Zheng 2017-05-17   27  };
9d75b8c0 Icenowy Zheng 2017-05-17   28  
9d75b8c0 Icenowy Zheng 2017-05-17   29  static void sun8i_mixer_layer_atomic_disable(struct drm_plane *plane,
9d75b8c0 Icenowy Zheng 2017-05-17   30  					       struct drm_plane_state *old_state)
9d75b8c0 Icenowy Zheng 2017-05-17   31  {
9d75b8c0 Icenowy Zheng 2017-05-17   32  	struct sun8i_layer *layer = plane_to_sun8i_layer(plane);
9d75b8c0 Icenowy Zheng 2017-05-17   33  	struct sun8i_mixer *mixer = layer->mixer;
9d75b8c0 Icenowy Zheng 2017-05-17   34  
9d75b8c0 Icenowy Zheng 2017-05-17   35  	sun8i_mixer_layer_enable(mixer, layer->id, false);
9d75b8c0 Icenowy Zheng 2017-05-17   36  }
9d75b8c0 Icenowy Zheng 2017-05-17   37  
9d75b8c0 Icenowy Zheng 2017-05-17   38  static void sun8i_mixer_layer_atomic_update(struct drm_plane *plane,
9d75b8c0 Icenowy Zheng 2017-05-17   39  					      struct drm_plane_state *old_state)
9d75b8c0 Icenowy Zheng 2017-05-17   40  {
9d75b8c0 Icenowy Zheng 2017-05-17   41  	struct sun8i_layer *layer = plane_to_sun8i_layer(plane);
9d75b8c0 Icenowy Zheng 2017-05-17   42  	struct sun8i_mixer *mixer = layer->mixer;
9d75b8c0 Icenowy Zheng 2017-05-17   43  
9d75b8c0 Icenowy Zheng 2017-05-17   44  	sun8i_mixer_update_layer_coord(mixer, layer->id, plane);
9d75b8c0 Icenowy Zheng 2017-05-17   45  	sun8i_mixer_update_layer_formats(mixer, layer->id, plane);
9d75b8c0 Icenowy Zheng 2017-05-17   46  	sun8i_mixer_update_layer_buffer(mixer, layer->id, plane);
9d75b8c0 Icenowy Zheng 2017-05-17   47  	sun8i_mixer_layer_enable(mixer, layer->id, true);
9d75b8c0 Icenowy Zheng 2017-05-17   48  }
9d75b8c0 Icenowy Zheng 2017-05-17   49  
9d75b8c0 Icenowy Zheng 2017-05-17   50  static struct drm_plane_helper_funcs sun8i_mixer_layer_helper_funcs = {
9d75b8c0 Icenowy Zheng 2017-05-17   51  	.atomic_disable	= sun8i_mixer_layer_atomic_disable,
9d75b8c0 Icenowy Zheng 2017-05-17   52  	.atomic_update	= sun8i_mixer_layer_atomic_update,
9d75b8c0 Icenowy Zheng 2017-05-17   53  };
9d75b8c0 Icenowy Zheng 2017-05-17   54  
9d75b8c0 Icenowy Zheng 2017-05-17   55  static const struct drm_plane_funcs sun8i_mixer_layer_funcs = {
9d75b8c0 Icenowy Zheng 2017-05-17   56  	.atomic_destroy_state	= drm_atomic_helper_plane_destroy_state,
9d75b8c0 Icenowy Zheng 2017-05-17   57  	.atomic_duplicate_state	= drm_atomic_helper_plane_duplicate_state,
9d75b8c0 Icenowy Zheng 2017-05-17   58  	.destroy		= drm_plane_cleanup,
9d75b8c0 Icenowy Zheng 2017-05-17   59  	.disable_plane		= drm_atomic_helper_disable_plane,
9d75b8c0 Icenowy Zheng 2017-05-17   60  	.reset			= drm_atomic_helper_plane_reset,
9d75b8c0 Icenowy Zheng 2017-05-17   61  	.update_plane		= drm_atomic_helper_update_plane,
9d75b8c0 Icenowy Zheng 2017-05-17   62  };
9d75b8c0 Icenowy Zheng 2017-05-17   63  
9d75b8c0 Icenowy Zheng 2017-05-17   64  static const uint32_t sun8i_mixer_layer_formats[] = {
9d75b8c0 Icenowy Zheng 2017-05-17   65  	DRM_FORMAT_RGB888,
9d75b8c0 Icenowy Zheng 2017-05-17   66  	DRM_FORMAT_ARGB8888,
9d75b8c0 Icenowy Zheng 2017-05-17   67  	DRM_FORMAT_XRGB8888,
9d75b8c0 Icenowy Zheng 2017-05-17   68  };
9d75b8c0 Icenowy Zheng 2017-05-17   69  
9d75b8c0 Icenowy Zheng 2017-05-17   70  static const struct sun8i_plane_desc sun8i_mixer_planes[] = {
9d75b8c0 Icenowy Zheng 2017-05-17   71  	{
9d75b8c0 Icenowy Zheng 2017-05-17   72  		.type = DRM_PLANE_TYPE_PRIMARY,
9d75b8c0 Icenowy Zheng 2017-05-17   73  		.formats = sun8i_mixer_layer_formats,
9d75b8c0 Icenowy Zheng 2017-05-17   74  		.nformats = ARRAY_SIZE(sun8i_mixer_layer_formats),
9d75b8c0 Icenowy Zheng 2017-05-17   75  	},
9d75b8c0 Icenowy Zheng 2017-05-17   76  };
9d75b8c0 Icenowy Zheng 2017-05-17   77  
9d75b8c0 Icenowy Zheng 2017-05-17   78  static struct sun8i_layer *sun8i_layer_init_one(struct drm_device *drm,
9d75b8c0 Icenowy Zheng 2017-05-17   79  						struct sun8i_mixer *mixer,
9d75b8c0 Icenowy Zheng 2017-05-17   80  						const struct sun8i_plane_desc *plane)
9d75b8c0 Icenowy Zheng 2017-05-17   81  {
9d75b8c0 Icenowy Zheng 2017-05-17   82  	struct sun8i_layer *layer;
9d75b8c0 Icenowy Zheng 2017-05-17   83  	int ret;
9d75b8c0 Icenowy Zheng 2017-05-17   84  
9d75b8c0 Icenowy Zheng 2017-05-17   85  	layer = devm_kzalloc(drm->dev, sizeof(*layer), GFP_KERNEL);
9d75b8c0 Icenowy Zheng 2017-05-17   86  	if (!layer)
9d75b8c0 Icenowy Zheng 2017-05-17   87  		return ERR_PTR(-ENOMEM);
9d75b8c0 Icenowy Zheng 2017-05-17   88  
9d75b8c0 Icenowy Zheng 2017-05-17   89  	/* possible crtcs are set later */
9d75b8c0 Icenowy Zheng 2017-05-17  @90  	ret = drm_universal_plane_init(drm, &layer->plane, 0,
9d75b8c0 Icenowy Zheng 2017-05-17   91  				       &sun8i_mixer_layer_funcs,
9d75b8c0 Icenowy Zheng 2017-05-17   92  				       plane->formats, plane->nformats,
9d75b8c0 Icenowy Zheng 2017-05-17  @93  				       plane->type, NULL);
9d75b8c0 Icenowy Zheng 2017-05-17   94  	if (ret) {
9d75b8c0 Icenowy Zheng 2017-05-17   95  		dev_err(drm->dev, "Couldn't initialize layer\n");
9d75b8c0 Icenowy Zheng 2017-05-17   96  		return ERR_PTR(ret);
9d75b8c0 Icenowy Zheng 2017-05-17   97  	}
9d75b8c0 Icenowy Zheng 2017-05-17   98  
9d75b8c0 Icenowy Zheng 2017-05-17   99  	drm_plane_helper_add(&layer->plane,
9d75b8c0 Icenowy Zheng 2017-05-17  100  			     &sun8i_mixer_layer_helper_funcs);
9d75b8c0 Icenowy Zheng 2017-05-17  101  	layer->mixer = mixer;
9d75b8c0 Icenowy Zheng 2017-05-17  102  
9d75b8c0 Icenowy Zheng 2017-05-17  103  	return layer;
9d75b8c0 Icenowy Zheng 2017-05-17  104  }
9d75b8c0 Icenowy Zheng 2017-05-17  105  

:::::: The code at line 93 was first introduced by commit
:::::: 9d75b8c0b999663d85cddda2791bb15b5f4a8f4a drm/sun4i: add support for Allwinner DE2 mixers

:::::: TO: Icenowy Zheng <icenowy@aosc.io>
:::::: CC: Maxime Ripard <maxime.ripard@free-electrons.com>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 21066 bytes --]

[-- Attachment #3: Type: text/plain, Size: 160 bytes --]

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

  parent reply	other threads:[~2017-07-25  5:40 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-07-24  3:46 [PATCH 0/4] [v2] Blobifiers (FKA GET_PLANE2) Ben Widawsky
2017-07-24  3:46 ` [PATCH 1/4] drm: Plumb modifiers through plane init Ben Widawsky
2017-07-25  3:53   ` kbuild test robot
2017-07-25  5:40   ` kbuild test robot [this message]
2017-07-24  3:46 ` [PATCH 2/4] drm: Create a format/modifier blob Ben Widawsky
2017-07-25  4:48   ` kbuild test robot
2017-07-24  3:46 ` [PATCH 3/4] drm/i915: Add format modifiers for Intel Ben Widawsky
2017-07-24  3:46 ` [PATCH 4/4] drm/i915: Add support for CCS modifiers Ben Widawsky
2017-07-24 23:29   ` kbuild test robot
2017-07-24  3:52 ` ✗ Fi.CI.BAT: failure for Blobifiers (FKA GET_PLANE2) (rev3) Patchwork
2017-07-25 10:26 ` [PATCH 0/4] [v2] Blobifiers (FKA GET_PLANE2) Philippe CORNU
  -- strict thread matches above, loose matches on Subject: below --
2017-06-23 16:45 [PATCH v4 0/4] " Ben Widawsky
2017-06-23 16:45 ` [PATCH 1/4] drm: Plumb modifiers through plane init Ben Widawsky

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=201707251323.Rs0rl4F8%fengguang.wu@intel.com \
    --to=lkp@intel.com \
    --cc=ben@bwidawsk.net \
    --cc=daniels@collabora.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=kbuild-all@01.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox