mptdebug.h revision 5c1b91b9923d1b3d33576e391ff7b587bdff7a3e
15c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya/* 25c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya * linux/drivers/message/fusion/mptdebug.h 35c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya * For use with LSI PCI chip/adapter(s) 45c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya * running LSI Fusion MPT (Message Passing Technology) firmware. 55c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya * 65c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya * Copyright (c) 1999-2007 LSI Corporation 75c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya * (mailto:DL-MPTFusionLinux@lsi.com) 85c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya * 95c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya */ 105c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ 115c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya 125c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya#ifndef MPTDEBUG_H_INCLUDED 135c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya#define MPTDEBUG_H_INCLUDED 145c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya 155c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya/* 165c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya * debug level can be programmed on the fly via SysFS (hex values) 175c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya * 185c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya * Example: (programming for MPT_DEBUG_EVENTS on host 5) 195c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya * 205c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya * echo 8 > /sys/class/scsi_host/host5/debug_level 215c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya * 225c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya * -------------------------------------------------------- 235c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya * mpt_debug_level - command line parameter 245c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya * this allow enabling debug at driver load time (for all iocs) 255c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya * 265c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya * Example (programming for MPT_DEBUG_EVENTS) 275c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya * 285c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya * insmod mptbase.ko mpt_debug_level=8 295c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya * 305c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya * -------------------------------------------------------- 315c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya * CONFIG_FUSION_LOGGING - enables compiling debug into driver 325c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya * this can be enabled in the driver Makefile 335c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya * 345c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya * 355c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya * -------------------------------------------------------- 365c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya * Please note most debug prints are set to logging priority = debug 375c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya * This is the lowest level, and most verbose. Please refer to manual 385c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya * pages for syslogd or syslogd-ng on how to configure this. 395c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya */ 405c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya 415c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya#define MPT_DEBUG 0x00000001 425c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya#define MPT_DEBUG_MSG_FRAME 0x00000002 435c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya#define MPT_DEBUG_SG 0x00000004 445c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya#define MPT_DEBUG_EVENTS 0x00000008 455c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya#define MPT_DEBUG_VERBOSE_EVENTS 0x00000010 465c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya#define MPT_DEBUG_INIT 0x00000020 475c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya#define MPT_DEBUG_EXIT 0x00000040 485c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya#define MPT_DEBUG_FAIL 0x00000080 495c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya#define MPT_DEBUG_TM 0x00000100 505c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya#define MPT_DEBUG_DV 0x00000200 515c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya#define MPT_DEBUG_REPLY 0x00000400 525c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya#define MPT_DEBUG_HANDSHAKE 0x00000800 535c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya#define MPT_DEBUG_CONFIG 0x00001000 545c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya#define MPT_DEBUG_DL 0x00002000 555c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya#define MPT_DEBUG_RESET 0x00008000 565c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya#define MPT_DEBUG_SCSI 0x00010000 575c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya#define MPT_DEBUG_IOCTL 0x00020000 585c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya#define MPT_DEBUG_FC 0x00080000 595c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya#define MPT_DEBUG_SAS 0x00100000 605c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya#define MPT_DEBUG_SAS_WIDE 0x00200000 615c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya 625c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya/* 635c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya * CONFIG_FUSION_LOGGING - enabled in Kconfig 645c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya */ 655c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya 665c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya#ifdef CONFIG_FUSION_LOGGING 675c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya#define MPT_CHECK_LOGGING(IOC, CMD, BITS) \ 685c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya{ \ 695c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya if (IOC->debug_level & BITS) \ 705c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya CMD; \ 715c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya} 725c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya#else 735c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya#define MPT_CHECK_LOGGING(IOC, CMD, BITS) 745c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya#endif 755c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya 765c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya 775c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya/* 785c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya * debug macros 795c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya */ 805c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya 815c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya#define dprintk(IOC, CMD) \ 825c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya MPT_CHECK_LOGGING(IOC, CMD, MPT_DEBUG) 835c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya 845c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya#define dsgprintk(IOC, CMD) \ 855c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya MPT_CHECK_LOGGING(IOC, CMD, MPT_DEBUG_SG) 865c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya 875c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya#define devtprintk(IOC, CMD) \ 885c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya MPT_CHECK_LOGGING(IOC, CMD, MPT_DEBUG_EVENTS) 895c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya 905c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya#define devtverboseprintk(IOC, CMD) \ 915c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya MPT_CHECK_LOGGING(IOC, CMD, MPT_DEBUG_VERBOSE_EVENTS) 925c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya 935c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya#define dinitprintk(IOC, CMD) \ 945c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya MPT_CHECK_LOGGING(IOC, CMD, MPT_DEBUG_INIT) 955c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya 965c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya#define dexitprintk(IOC, CMD) \ 975c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya MPT_CHECK_LOGGING(IOC, CMD, MPT_DEBUG_EXIT) 985c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya 995c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya#define dfailprintk(IOC, CMD) \ 1005c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya MPT_CHECK_LOGGING(IOC, CMD, MPT_DEBUG_FAIL) 1015c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya 1025c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya#define dtmprintk(IOC, CMD) \ 1035c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya MPT_CHECK_LOGGING(IOC, CMD, MPT_DEBUG_TM) 1045c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya 1055c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya#define ddvprintk(IOC, CMD) \ 1065c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya MPT_CHECK_LOGGING(IOC, CMD, MPT_DEBUG_DV) 1075c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya 1085c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya#define dreplyprintk(IOC, CMD) \ 1095c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya MPT_CHECK_LOGGING(IOC, CMD, MPT_DEBUG_REPLY) 1105c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya 1115c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya#define dhsprintk(IOC, CMD) \ 1125c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya MPT_CHECK_LOGGING(IOC, CMD, MPT_DEBUG_HANDSHAKE) 1135c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya 1145c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya#define dcprintk(IOC, CMD) \ 1155c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya MPT_CHECK_LOGGING(IOC, CMD, MPT_DEBUG_CONFIG) 1165c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya 1175c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya#define ddlprintk(IOC, CMD) \ 1185c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya MPT_CHECK_LOGGING(IOC, CMD, MPT_DEBUG_DL) 1195c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya 1205c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya#define drsprintk(IOC, CMD) \ 1215c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya MPT_CHECK_LOGGING(IOC, CMD, MPT_DEBUG_RESET) 1225c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya 1235c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya#define dsprintk(IOC, CMD) \ 1245c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya MPT_CHECK_LOGGING(IOC, CMD, MPT_DEBUG_SCSI) 1255c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya 1265c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya#define dctlprintk(IOC, CMD) \ 1275c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya MPT_CHECK_LOGGING(IOC, CMD, MPT_DEBUG_IOCTL) 1285c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya 1295c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya#define dfcprintk(IOC, CMD) \ 1305c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya MPT_CHECK_LOGGING(IOC, CMD, MPT_DEBUG_FC) 1315c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya 1325c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya#define dsasprintk(IOC, CMD) \ 1335c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya MPT_CHECK_LOGGING(IOC, CMD, MPT_DEBUG_SAS) 1345c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya 1355c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya#define dsaswideprintk(IOC, CMD) \ 1365c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya MPT_CHECK_LOGGING(IOC, CMD, MPT_DEBUG_SAS_WIDE) 1375c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya 1385c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya 1395c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya 1405c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya/* 1415c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya * Verbose logging 1425c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya */ 1435c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya#if defined(MPT_DEBUG_VERBOSE) && defined(CONFIG_FUSION_LOGGING) 1445c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathyastatic inline void 1455c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, SathyaDBG_DUMP_FW_DOWNLOAD(MPT_ADAPTER *ioc, u32 *mfp, int numfrags) 1465c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya{ 1475c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya int i; 1485c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya 1495c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya if (!(ioc->debug_level & MPT_DEBUG)) 1505c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya return; 1515c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya printk(KERN_DEBUG "F/W download request:\n"); 1525c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya for (i=0; i < 7+numfrags*2; i++) 1535c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya printk(" %08x", le32_to_cpu(mfp[i])); 1545c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya printk("\n"); 1555c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya} 1565c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya 1575c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathyastatic inline void 1585c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, SathyaDBG_DUMP_PUT_MSG_FRAME(MPT_ADAPTER *ioc, u32 *mfp) 1595c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya{ 1605c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya int ii, n; 1615c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya 1625c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya if (!(ioc->debug_level & MPT_DEBUG_MSG_FRAME)) 1635c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya return; 1645c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya printk(KERN_DEBUG "%s: About to Put msg frame @ %p:\n", 1655c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya ioc->name, mfp); 1665c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya n = ioc->req_sz/4 - 1; 1675c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya while (mfp[n] == 0) 1685c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya n--; 1695c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya for (ii=0; ii<=n; ii++) { 1705c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya if (ii && ((ii%8)==0)) 1715c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya printk("\n"); 1725c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya printk(" %08x", le32_to_cpu(mfp[ii])); 1735c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya } 1745c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya printk("\n"); 1755c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya} 1765c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya 1775c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathyastatic inline void 1785c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, SathyaDBG_DUMP_FW_REQUEST_FRAME(MPT_ADAPTER *ioc, u32 *mfp) 1795c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya{ 1805c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya int i, n; 1815c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya 1825c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya if (!(ioc->debug_level & MPT_DEBUG_MSG_FRAME)) 1835c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya return; 1845c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya n = 10; 1855c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya printk(KERN_INFO " "); 1865c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya for (i = 0; i < n; i++) 1875c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya printk(" %08x", le32_to_cpu(mfp[i])); 1885c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya printk("\n"); 1895c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya} 1905c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya 1915c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathyastatic inline void 1925c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, SathyaDBG_DUMP_REQUEST_FRAME(MPT_ADAPTER *ioc, u32 *mfp) 1935c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya{ 1945c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya int i, n; 1955c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya 1965c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya if (!(ioc->debug_level & MPT_DEBUG_MSG_FRAME)) 1975c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya return; 1985c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya n = 24; 1995c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya for (i=0; i<n; i++) { 2005c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya if (i && ((i%8)==0)) 2015c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya printk("\n"); 2025c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya printk("%08x ", le32_to_cpu(mfp[i])); 2035c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya } 2045c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya printk("\n"); 2055c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya} 2065c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya 2075c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathyastatic inline void 2085c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, SathyaDBG_DUMP_REPLY_FRAME(MPT_ADAPTER *ioc, u32 *mfp) 2095c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya{ 2105c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya int i, n; 2115c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya 2125c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya if (!(ioc->debug_level & MPT_DEBUG_MSG_FRAME)) 2135c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya return; 2145c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya n = (le32_to_cpu(mfp[0]) & 0x00FF0000) >> 16; 2155c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya printk(KERN_INFO " "); 2165c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya for (i=0; i<n; i++) 2175c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya printk(" %08x", le32_to_cpu(mfp[i])); 2185c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya printk("\n"); 2195c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya} 2205c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya 2215c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathyastatic inline void 2225c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, SathyaDBG_DUMP_REQUEST_FRAME_HDR(MPT_ADAPTER *ioc, u32 *mfp) 2235c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya{ 2245c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya int i, n; 2255c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya 2265c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya if (!(ioc->debug_level & MPT_DEBUG_MSG_FRAME)) 2275c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya return; 2285c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya n = 3; 2295c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya printk(KERN_INFO " "); 2305c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya for (i=0; i<n; i++) 2315c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya printk(" %08x", le32_to_cpu(mfp[i])); 2325c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya printk("\n"); 2335c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya} 2345c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya 2355c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathyastatic inline void 2365c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, SathyaDBG_DUMP_TM_REQUEST_FRAME(MPT_ADAPTER *ioc, u32 *mfp) 2375c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya{ 2385c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya int i, n; 2395c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya 2405c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya if (!(ioc->debug_level & MPT_DEBUG_TM)) 2415c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya return; 2425c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya n = 13; 2435c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya printk(KERN_DEBUG "TM_REQUEST:\n"); 2445c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya for (i=0; i<n; i++) { 2455c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya if (i && ((i%8)==0)) 2465c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya printk("\n"); 2475c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya printk("%08x ", le32_to_cpu(mfp[i])); 2485c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya } 2495c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya printk("\n"); 2505c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya} 2515c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya 2525c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathyastatic inline void 2535c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, SathyaDBG_DUMP_TM_REPLY_FRAME(MPT_ADAPTER *ioc, u32 *mfp) 2545c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya{ 2555c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya int i, n; 2565c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya 2575c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya if (!(ioc->debug_level & MPT_DEBUG_TM)) 2585c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya return; 2595c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya n = (le32_to_cpu(mfp[0]) & 0x00FF0000) >> 16; 2605c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya printk(KERN_DEBUG "TM_REPLY MessageLength=%d:\n", n); 2615c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya for (i=0; i<n; i++) { 2625c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya if (i && ((i%8)==0)) 2635c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya printk("\n"); 2645c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya printk(" %08x", le32_to_cpu(mfp[i])); 2655c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya } 2665c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya printk("\n"); 2675c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya} 2685c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya 2695c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya#define dmfprintk(IOC, CMD) \ 2705c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya MPT_CHECK_LOGGING(IOC, CMD, MPT_DEBUG_MSG_FRAME) 2715c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya 2725c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya# else /* ifdef MPT_DEBUG_MF */ 2735c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya 2745c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya#define DBG_DUMP_FW_DOWNLOAD(IOC, mfp, numfrags) 2755c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya#define DBG_DUMP_PUT_MSG_FRAME(IOC, mfp) 2765c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya#define DBG_DUMP_FW_REQUEST_FRAME(IOC, mfp) 2775c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya#define DBG_DUMP_REQUEST_FRAME(IOC, mfp) 2785c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya#define DBG_DUMP_REPLY_FRAME(IOC, mfp) 2795c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya#define DBG_DUMP_REQUEST_FRAME_HDR(IOC, mfp) 2805c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya#define DBG_DUMP_TM_REQUEST_FRAME(IOC, mfp) 2815c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya#define DBG_DUMP_TM_REPLY_FRAME(IOC, mfp) 2825c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya 2835c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya#define dmfprintk(IOC, CMD) \ 2845c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya MPT_CHECK_LOGGING(IOC, CMD, MPT_DEBUG_MSG_FRAME) 2855c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya 2865c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya#endif /* defined(MPT_DEBUG_VERBOSE) && defined(CONFIG_FUSION_LOGGING) */ 2875c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya 2885c1b91b9923d1b3d33576e391ff7b587bdff7a3ePrakash, Sathya#endif /* ifndef MPTDEBUG_H_INCLUDED */ 289