Re: [Intel-gfx] [PATCH v2] drm/i915: Mark i915.inject_load_failure as being hit
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
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
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