[Intel-gfx] [PATCH v11 05/10] drm/i915/perf: allow for CS OA configs to be created lazily

kbuild test robot lkp at intel.com
Thu Aug 29 02:41:04 UTC 2019


Hi Lionel,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on drm-intel/for-linux-next]
[cannot apply to v5.3-rc6 next-20190828]
[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/Lionel-Landwerlin/drm-i915-Vulkan-performance-query-support/20190829-020841
base:   git://anongit.freedesktop.org/drm-intel for-linux-next
config: x86_64-randconfig-d002-201934 (attached as .config)
compiler: gcc-7 (Debian 7.4.0-11) 7.4.0
reproduce:
        # save the attached .config to linux build tree
        make ARCH=x86_64 

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp at intel.com>

All errors (new ones prefixed by >>):

   In file included from <command-line>:0:0:
   drivers/gpu/drm/i915/i915_perf.h:34:15: error: 'struct i915_oa_config' declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
           struct i915_oa_config **out_config);
                  ^~~~~~~~~~~~~~
   drivers/gpu/drm/i915/i915_perf.h:38:15: error: 'struct drm_i915_gem_object' declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
           struct drm_i915_gem_object **out_obj);
                  ^~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/i915/i915_perf.h:37:15: error: 'struct i915_oa_config' declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
           struct i915_oa_config **out_config,
                  ^~~~~~~~~~~~~~
   drivers/gpu/drm/i915/i915_perf.h:35:43: error: 'struct i915_perf_stream' declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
    int i915_perf_get_oa_config_and_bo(struct i915_perf_stream *stream,
                                              ^~~~~~~~~~~~~~~~
   drivers/gpu/drm/i915/i915_perf.h:39:36: error: 'struct kref' declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
    void i915_oa_config_release(struct kref *ref);
                                       ^~~~
   drivers/gpu/drm/i915/i915_perf.h: In function 'i915_oa_config_get':
>> drivers/gpu/drm/i915/i915_perf.h:43:2: error: implicit declaration of function 'kref_get' [-Werror=implicit-function-declaration]
     kref_get(&oa_config->ref);
     ^~~~~~~~
>> drivers/gpu/drm/i915/i915_perf.h:43:21: error: dereferencing pointer to incomplete type 'struct i915_oa_config'
     kref_get(&oa_config->ref);
                        ^~
   drivers/gpu/drm/i915/i915_perf.h: In function 'i915_oa_config_put':
>> drivers/gpu/drm/i915/i915_perf.h:52:2: error: implicit declaration of function 'kref_put' [-Werror=implicit-function-declaration]
     kref_put(&oa_config->ref, i915_oa_config_release);
     ^~~~~~~~
   cc1: all warnings being treated as errors

vim +/kref_get +43 drivers/gpu/drm/i915/i915_perf.h

    22	
    23	int i915_perf_open_ioctl(struct drm_device *dev, void *data,
    24				 struct drm_file *file);
    25	int i915_perf_add_config_ioctl(struct drm_device *dev, void *data,
    26				       struct drm_file *file);
    27	int i915_perf_remove_config_ioctl(struct drm_device *dev, void *data,
    28					  struct drm_file *file);
    29	void i915_oa_init_reg_state(struct intel_engine_cs *engine,
    30				    struct intel_context *ce,
    31				    u32 *reg_state);
    32	int i915_perf_get_oa_config(struct drm_i915_private *i915,
    33				    int metrics_set,
    34				    struct i915_oa_config **out_config);
  > 35	int i915_perf_get_oa_config_and_bo(struct i915_perf_stream *stream,
    36					   int metrics_set,
    37					   struct i915_oa_config **out_config,
    38					   struct drm_i915_gem_object **out_obj);
  > 39	void i915_oa_config_release(struct kref *ref);
    40	
    41	static inline struct i915_oa_config *i915_oa_config_get(struct i915_oa_config *oa_config)
    42	{
  > 43		kref_get(&oa_config->ref);
    44		return oa_config;
    45	}
    46	
    47	static inline void i915_oa_config_put(struct i915_oa_config *oa_config)
    48	{
    49		if (!oa_config)
    50			return;
    51	
  > 52		kref_put(&oa_config->ref, i915_oa_config_release);
    53	}
    54	

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 27675 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/intel-gfx/attachments/20190829/796453a7/attachment-0001.gz>


More information about the Intel-gfx mailing list