Hi Joe, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on scsi/for-next] [also build test WARNING on next-20190306] [cannot apply to v5.0] [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/Himanshu-Madhani/qla2xxx-Add-support-for-ISP28XX-Gen7-adapter/20190308-141231 base: https://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git for-next config: xtensa-allyesconfig (attached as .config) compiler: xtensa-linux-gcc (GCC) 8.2.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree GCC_VERSION=8.2.0 make.cross ARCH=xtensa All warnings (new ones prefixed by >>): drivers/scsi/qla2xxx/qla_sup.c: In function 'qla24xx_write_flash_data': >> drivers/scsi/qla2xxx/qla_sup.c:1306:42: warning: format '%llx' expects argument of type 'long long unsigned int', but argument 7 has type 'dma_addr_t' {aka 'unsigned int'} [-Wformat=] "Failed burst-write at %x (%p/%#llx)....\n", ~~~~^ %#x drivers/scsi/qla2xxx/qla_sup.c:1308:8: optrom_dma); ~~~~~~~~~~ vim +1306 drivers/scsi/qla2xxx/qla_sup.c 1232 1233 static int 1234 qla24xx_write_flash_data(scsi_qla_host_t *vha, uint32_t *dwptr, uint32_t faddr, 1235 uint32_t dwords) 1236 { 1237 int ret; 1238 ulong liter; 1239 ulong dburst = OPTROM_BURST_DWORDS; /* burst size in dwords */ 1240 uint32_t sec_mask, rest_addr, fdata; 1241 dma_addr_t optrom_dma; 1242 void *optrom = NULL; 1243 struct qla_hw_data *ha = vha->hw; 1244 1245 if (!IS_QLA25XX(ha) && !IS_QLA81XX(ha) && !IS_QLA83XX(ha) && 1246 !IS_QLA27XX(ha) && !IS_QLA28XX(ha)) 1247 goto next; 1248 1249 /* Allocate dma buffer for burst write */ 1250 optrom = dma_alloc_coherent(&ha->pdev->dev, OPTROM_BURST_SIZE, 1251 &optrom_dma, GFP_KERNEL); 1252 if (!optrom) { 1253 ql_log(ql_log_warn, vha, 0x7095, 1254 "Failed allocate burst (%x bytes)\n", OPTROM_BURST_SIZE); 1255 } 1256 1257 next: 1258 ql_log(ql_log_warn + ql_dbg_verbose, vha, 0x7095, 1259 "Unprotect flash...\n"); 1260 ret = qla24xx_unprotect_flash(vha); 1261 if (ret) { 1262 ql_log(ql_log_warn, vha, 0x7096, 1263 "Failed to unprotect flash.\n"); 1264 goto done; 1265 } 1266 1267 rest_addr = (ha->fdt_block_size >> 2) - 1; 1268 sec_mask = ~rest_addr; 1269 for (liter = 0; liter < dwords; liter++, faddr++, dwptr++) { 1270 fdata = (faddr & sec_mask) << 2; 1271 1272 /* Are we at the beginning of a sector? */ 1273 if (!(faddr & rest_addr)) { 1274 ql_log(ql_log_warn + ql_dbg_verbose, vha, 0x7095, 1275 "Erase sector %#x...\n", faddr); 1276 1277 ret = qla24xx_erase_sector(vha, fdata); 1278 if (ret) { 1279 ql_dbg(ql_dbg_user, vha, 0x7007, 1280 "Failed to erase sector %x.\n", faddr); 1281 break; 1282 } 1283 } 1284 1285 if (optrom) { 1286 /* If smaller than a burst remaining */ 1287 if (dwords - liter < dburst) 1288 dburst = dwords - liter; 1289 1290 /* Copy to dma buffer */ 1291 memcpy(optrom, dwptr, dburst << 2); 1292 1293 /* Burst write */ 1294 ql_log(ql_log_warn + ql_dbg_verbose, vha, 0x7095, 1295 "Write burst (%#lx dwords)...\n", dburst); 1296 ret = qla2x00_load_ram(vha, optrom_dma, 1297 flash_data_addr(ha, faddr), dburst); 1298 if (!ret) { 1299 liter += dburst - 1; 1300 faddr += dburst - 1; 1301 dwptr += dburst - 1; 1302 continue; 1303 } 1304 1305 ql_log(ql_log_warn, vha, 0x7097, > 1306 "Failed burst-write at %x (%p/%#llx)....\n", 1307 flash_data_addr(ha, faddr), optrom, 1308 optrom_dma); 1309 1310 dma_free_coherent(&ha->pdev->dev, 1311 OPTROM_BURST_SIZE, optrom, optrom_dma); 1312 optrom = NULL; 1313 if (IS_QLA27XX(ha) || IS_QLA28XX(ha)) 1314 break; 1315 ql_log(ql_log_warn, vha, 0x7098, 1316 "Reverting to slow write...\n"); 1317 } 1318 1319 /* Slow write */ 1320 ret = qla24xx_write_flash_dword(ha, 1321 flash_data_addr(ha, faddr), cpu_to_le32(*dwptr)); 1322 if (ret) { 1323 ql_dbg(ql_dbg_user, vha, 0x7006, 1324 "Failed slopw write %x (%x)\n", faddr, *dwptr); 1325 break; 1326 } 1327 } 1328 1329 ql_log(ql_log_warn + ql_dbg_verbose, vha, 0x7095, 1330 "Protect flash...\n"); 1331 ret = qla24xx_protect_flash(vha); 1332 if (ret) 1333 ql_log(ql_log_warn, vha, 0x7099, 1334 "Failed to protect flash\n"); 1335 done: 1336 if (optrom) 1337 dma_free_coherent(&ha->pdev->dev, 1338 OPTROM_BURST_SIZE, optrom, optrom_dma); 1339 1340 return ret; 1341 } 1342 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
Attachment:
.config.gz
Description: application/gzip