Re: [Intel-gfx] [PATCH v2] drm/i915: Mark i915.inject_load_failure as being hit

2018-06-07 Thread kbuild test robot
Hi Chris,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on drm-intel/for-linux-next]
[also build test WARNING on v4.17 next-20180607]
[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/Chris-Wilson/drm-i915-Mark-i915-inject_load_failure-as-being-hit/20180607-174849
base:   git://anongit.freedesktop.org/drm-intel for-linux-next
reproduce:
# apt-get install sparse
make ARCH=x86_64 allmodconfig
make C=1 CF=-D__CHECK_ENDIAN__


sparse warnings: (new ones prefixed by >>)

>> drivers/gpu/drm/i915/i915_drv.c:61:36: sparse: incorrect type in initializer 
>> (different base types) @@expected int static [signed] [toplevel] 
>> i915_load_error_level @@got evel] i915_load_error_level @@
   drivers/gpu/drm/i915/i915_drv.c:61:36:expected int static [signed] 
[toplevel] i915_load_error_level
   drivers/gpu/drm/i915/i915_drv.c:61:36:got char *
>> drivers/gpu/drm/i915/i915_drv.c:72:39: sparse: incorrect type in assignment 
>> (different base types) @@expected int static [signed] [toplevel] 
>> i915_load_error_level @@got evel] i915_load_error_level @@
   drivers/gpu/drm/i915/i915_drv.c:72:39:expected int static [signed] 
[toplevel] i915_load_error_level
   drivers/gpu/drm/i915/i915_drv.c:72:39:got char *
>> drivers/gpu/drm/i915/i915_drv.c:1425:9: sparse: incorrect type in argument 2 
>> (different base types) @@expected char const *level @@got int static 
>> [signed]char const *level @@
   drivers/gpu/drm/i915/i915_drv.c:1425:9:expected char const *level
   drivers/gpu/drm/i915/i915_drv.c:1425:9:got int static [signed] 
[toplevel] i915_load_error_level
   In file included from include/linux/printk.h:7:0,
from include/linux/kernel.h:14,
from include/linux/list.h:9,
from include/linux/resource_ext.h:17,
from include/linux/acpi.h:26,
from drivers/gpu/drm/i915/i915_drv.c:30:
   include/linux/kern_levels.h:5:18: warning: initialization makes integer from 
pointer without a cast [-Wint-conversion]
#define KERN_SOH "001"  /* ASCII Start Of Header */
 ^
   include/linux/kern_levels.h:11:18: note: in expansion of macro 'KERN_SOH'
#define KERN_ERR KERN_SOH "3" /* error conditions */
 ^~~~
   drivers/gpu/drm/i915/i915_drv.c:61:36: note: in expansion of macro 'KERN_ERR'
static int i915_load_error_level = KERN_ERR;
   ^~~~
   include/linux/kern_levels.h:5:18: error: initializer element is not 
computable at load time
#define KERN_SOH "001"  /* ASCII Start Of Header */
 ^
   include/linux/kern_levels.h:11:18: note: in expansion of macro 'KERN_SOH'
#define KERN_ERR KERN_SOH "3" /* error conditions */
 ^~~~
   drivers/gpu/drm/i915/i915_drv.c:61:36: note: in expansion of macro 'KERN_ERR'
static int i915_load_error_level = KERN_ERR;
   ^~~~
   drivers/gpu/drm/i915/i915_drv.c: In function '__i915_inject_load_failure':
   drivers/gpu/drm/i915/i915_drv.c:72:25: warning: assignment makes integer 
from pointer without a cast [-Wint-conversion]
  i915_load_error_level = KERN_DEBUG;
^
   drivers/gpu/drm/i915/i915_drv.c: In function 'i915_driver_load':
   drivers/gpu/drm/i915/i915_drv.c:123:26: warning: passing argument 2 of 
'__i915_printk' makes pointer from integer without a cast [-Wint-conversion]
 __i915_printk(dev_priv, i915_load_error_level, fmt, ##__VA_ARGS__)
 ^
   drivers/gpu/drm/i915/i915_drv.c:1425:2: note: in expansion of macro 
'i915_load_error'
 i915_load_error(dev_priv, "Device initialization failed (%d)n", ret);
 ^~~
   drivers/gpu/drm/i915/i915_drv.c:87:1: note: expected 'const char *' but 
argument is of type 'int'
__i915_printk(struct drm_i915_private *dev_priv, const char *level,
^

vim +61 drivers/gpu/drm/i915/i915_drv.c

58  
59  #if IS_ENABLED(CONFIG_DRM_I915_DEBUG)
60  static unsigned int i915_load_fail_count;
  > 61  static int i915_load_error_level = KERN_ERR;
62  
63  bool __i915_inject_load_failure(const char *func, int line)
64  {
65  if (i915_load_fail_count >= i915_modparams.inject_load_failure)
66  return false;
67  
68  if (++i915_load_fail_count == 
i915_modparams.inject_load_failure) {
69  DRM_INFO("Injecting failure at checkpoint %u [%s:%d]\n",
70   i915_modparams.inject_load_failure, func, 
line);
71  i915_modparams.inject_load_failure = 0;
  > 72  i915_load_error_level = KERN_DEBUG;
73  return true;
74  }
75  
76  ret

Re: [Intel-gfx] [PATCH v2] drm/i915: Mark i915.inject_load_failure as being hit

2018-06-07 Thread kbuild test robot
Hi Chris,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on drm-intel/for-linux-next]
[also build test ERROR on v4.17 next-20180606]
[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/Chris-Wilson/drm-i915-Mark-i915-inject_load_failure-as-being-hit/20180607-174849
base:   git://anongit.freedesktop.org/drm-intel for-linux-next
config: x86_64-randconfig-x018-201822 (attached as .config)
compiler: gcc-7 (Debian 7.3.0-16) 7.3.0
reproduce:
# save the attached .config to linux build tree
make ARCH=x86_64 

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

   In file included from include/linux/printk.h:7:0,
from include/linux/kernel.h:14,
from include/linux/list.h:9,
from include/linux/resource_ext.h:17,
from include/linux/acpi.h:26,
from drivers/gpu/drm/i915/i915_drv.c:30:
>> include/linux/kern_levels.h:5:18: warning: initialization makes integer from 
>> pointer without a cast [-Wint-conversion]
#define KERN_SOH "\001"  /* ASCII Start Of Header */
 ^
   include/linux/kern_levels.h:11:18: note: in expansion of macro 'KERN_SOH'
#define KERN_ERR KERN_SOH "3" /* error conditions */
 ^~~~
>> drivers/gpu/drm/i915/i915_drv.c:61:36: note: in expansion of macro 'KERN_ERR'
static int i915_load_error_level = KERN_ERR;
   ^~~~
>> include/linux/kern_levels.h:5:18: error: initializer element is not 
>> computable at load time
#define KERN_SOH "\001"  /* ASCII Start Of Header */
 ^
   include/linux/kern_levels.h:11:18: note: in expansion of macro 'KERN_SOH'
#define KERN_ERR KERN_SOH "3" /* error conditions */
 ^~~~
>> drivers/gpu/drm/i915/i915_drv.c:61:36: note: in expansion of macro 'KERN_ERR'
static int i915_load_error_level = KERN_ERR;
   ^~~~
   drivers/gpu/drm/i915/i915_drv.c: In function '__i915_inject_load_failure':
>> drivers/gpu/drm/i915/i915_drv.c:72:25: warning: assignment makes integer 
>> from pointer without a cast [-Wint-conversion]
  i915_load_error_level = KERN_DEBUG;
^
   drivers/gpu/drm/i915/i915_drv.c: In function 'i915_driver_load':
>> drivers/gpu/drm/i915/i915_drv.c:123:26: warning: passing argument 2 of 
>> '__i915_printk' makes pointer from integer without a cast [-Wint-conversion]
 __i915_printk(dev_priv, i915_load_error_level, fmt, ##__VA_ARGS__)
 ^
>> drivers/gpu/drm/i915/i915_drv.c:1425:2: note: in expansion of macro 
>> 'i915_load_error'
 i915_load_error(dev_priv, "Device initialization failed (%d)\n", ret);
 ^~~
   drivers/gpu/drm/i915/i915_drv.c:87:1: note: expected 'const char *' but 
argument is of type 'int'
__i915_printk(struct drm_i915_private *dev_priv, const char *level,
^
--
   In file included from include/linux/printk.h:7:0,
from include/linux/kernel.h:14,
from include/linux/list.h:9,
from include/linux/resource_ext.h:17,
from include/linux/acpi.h:26,
from drivers/gpu//drm/i915/i915_drv.c:30:
>> include/linux/kern_levels.h:5:18: warning: initialization makes integer from 
>> pointer without a cast [-Wint-conversion]
#define KERN_SOH "\001"  /* ASCII Start Of Header */
 ^
   include/linux/kern_levels.h:11:18: note: in expansion of macro 'KERN_SOH'
#define KERN_ERR KERN_SOH "3" /* error conditions */
 ^~~~
   drivers/gpu//drm/i915/i915_drv.c:61:36: note: in expansion of macro 
'KERN_ERR'
static int i915_load_error_level = KERN_ERR;
   ^~~~
>> include/linux/kern_levels.h:5:18: error: initializer element is not 
>> computable at load time
#define KERN_SOH "\001"  /* ASCII Start Of Header */
 ^
   include/linux/kern_levels.h:11:18: note: in expansion of macro 'KERN_SOH'
#define KERN_ERR KERN_SOH "3" /* error conditions */
 ^~~~
   drivers/gpu//drm/i915/i915_drv.c:61:36: note: in expansion of macro 
'KERN_ERR'
static int i915_load_error_level = KERN_ERR;
   ^~~~
   drivers/gpu//drm/i915/i915_drv.c: In function '__i915_inject_load_failure':
   drivers/gpu//drm/i915/i915_drv.c:72:25: warning: assignment makes integer 
from pointer without a cast [-Wint-conversion]
  i915_load_error_level = KERN_DEBUG;
^
   drivers/gpu//drm/i915/i915_drv.c: In function 'i915_driver_load':
   drivers/gpu//drm/i915/i915_drv.c:123:26: warning: passing argument 2 of 
'__i915_printk' makes pointer from integer without a cast [-Wint-conversion]
 __i915_printk(dev_pri

Re: [Intel-gfx] [PATCH v2] drm/i915: Mark i915.inject_load_failure as being hit

2018-06-07 Thread kbuild test robot
Hi Chris,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on drm-intel/for-linux-next]
[also build test ERROR on v4.17 next-20180606]
[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/Chris-Wilson/drm-i915-Mark-i915-inject_load_failure-as-being-hit/20180607-174849
base:   git://anongit.freedesktop.org/drm-intel for-linux-next
config: i386-randconfig-n0-201822 (attached as .config)
compiler: gcc-7 (Debian 7.3.0-16) 7.3.0
reproduce:
# save the attached .config to linux build tree
make ARCH=i386 

All errors (new ones prefixed by >>):

   In file included from include/linux/printk.h:7:0,
from include/linux/kernel.h:14,
from include/linux/list.h:9,
from include/linux/resource_ext.h:17,
from include/linux/acpi.h:26,
from drivers/gpu//drm/i915/i915_drv.c:30:
   include/linux/kern_levels.h:5:18: error: initialization makes integer from 
pointer without a cast [-Werror=int-conversion]
#define KERN_SOH "\001"  /* ASCII Start Of Header */
 ^
   include/linux/kern_levels.h:11:18: note: in expansion of macro 'KERN_SOH'
#define KERN_ERR KERN_SOH "3" /* error conditions */
 ^~~~
   drivers/gpu//drm/i915/i915_drv.c:61:36: note: in expansion of macro 
'KERN_ERR'
static int i915_load_error_level = KERN_ERR;
   ^~~~
   drivers/gpu//drm/i915/i915_drv.c: In function '__i915_inject_load_failure':
>> drivers/gpu//drm/i915/i915_drv.c:72:25: error: assignment makes integer from 
>> pointer without a cast [-Werror=int-conversion]
  i915_load_error_level = KERN_DEBUG;
^
   drivers/gpu//drm/i915/i915_drv.c: In function 'i915_driver_load':
>> drivers/gpu//drm/i915/i915_drv.c:123:26: error: passing argument 2 of 
>> '__i915_printk' makes pointer from integer without a cast 
>> [-Werror=int-conversion]
 __i915_printk(dev_priv, i915_load_error_level, fmt, ##__VA_ARGS__)
 ^
   drivers/gpu//drm/i915/i915_drv.c:1425:2: note: in expansion of macro 
'i915_load_error'
 i915_load_error(dev_priv, "Device initialization failed (%d)\n", ret);
 ^~~
   drivers/gpu//drm/i915/i915_drv.c:87:1: note: expected 'const char *' but 
argument is of type 'int'
__i915_printk(struct drm_i915_private *dev_priv, const char *level,
^
   cc1: all warnings being treated as errors

vim +/__i915_printk +123 drivers/gpu//drm/i915/i915_drv.c

58  
59  #if IS_ENABLED(CONFIG_DRM_I915_DEBUG)
60  static unsigned int i915_load_fail_count;
  > 61  static int i915_load_error_level = KERN_ERR;
62  
63  bool __i915_inject_load_failure(const char *func, int line)
64  {
65  if (i915_load_fail_count >= i915_modparams.inject_load_failure)
66  return false;
67  
68  if (++i915_load_fail_count == 
i915_modparams.inject_load_failure) {
69  DRM_INFO("Injecting failure at checkpoint %u [%s:%d]\n",
70   i915_modparams.inject_load_failure, func, 
line);
71  i915_modparams.inject_load_failure = 0;
  > 72  i915_load_error_level = KERN_DEBUG;
73  return true;
74  }
75  
76  return false;
77  }
78  #else
79  #define i915_load_error_level KERN_ERR
80  #endif
81  
82  #define FDO_BUG_URL 
"https://bugs.freedesktop.org/enter_bug.cgi?product=DRI";
83  #define FDO_BUG_MSG "Please file a bug at " FDO_BUG_URL " against 
DRM/Intel " \
84  "providing the dmesg log by booting with 
drm.debug=0xf"
85  
86  void
87  __i915_printk(struct drm_i915_private *dev_priv, const char *level,
88const char *fmt, ...)
89  {
90  static bool shown_bug_once;
91  struct device *kdev = dev_priv->drm.dev;
92  bool is_error = level[1] <= KERN_ERR[1];
93  bool is_debug = level[1] == KERN_DEBUG[1];
94  struct va_format vaf;
95  va_list args;
96  
97  if (is_debug && !(drm_debug & DRM_UT_DRIVER))
98  return;
99  
   100  va_start(args, fmt);
   101  
   102  vaf.fmt = fmt;
   103  vaf.va = &args;
   104  
   105  dev_printk(level, kdev, "[" DRM_NAME ":%ps] %pV",
   106 __builtin_return_address(0), &vaf);
   107  
   108  if (is_error && !shown_bug_once) {
   109  /*
   110   * Ask the user to file a bug report for the error, 
except
   111   * if they may have caused the bug by fiddling with 
unsafe
   112   * module parameters.
   113   */
   114