drivers/scsi/FlashPoint.c:1185:11: error: 'struct sccb_mgr_info' has no member named 'si_relative_cardnum'
From: kernel test robot
Date: Thu May 20 2021 - 00:38:11 EST
Hi Christoph,
FYI, the error/warning still remains.
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: c3d0e3fd41b7f0f5d5d5b6022ab7e813f04ea727
commit: 8cad3b66bff4ee7c7d52b9a663cb6a2c5f66a7f7 Buslogic: remove ISA support
date: 6 weeks ago
config: ia64-allyesconfig (attached as .config)
compiler: ia64-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=8cad3b66bff4ee7c7d52b9a663cb6a2c5f66a7f7
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout 8cad3b66bff4ee7c7d52b9a663cb6a2c5f66a7f7
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=ia64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>
All errors (new ones prefixed by >>):
from include/linux/irq.h:589,
from arch/ia64/include/asm/hardirq.h:19,
from include/linux/hardirq.h:10,
from include/linux/interrupt.h:11,
from drivers/scsi/BusLogic.c:27:
arch/ia64/include/uapi/asm/siginfo.h:15:27: error: expected ':', ',', ';', '}' or '__attribute__' before '.' token
15 | #define si_flags _sifields._sigfault._flags
| ^
drivers/scsi/FlashPoint.c:43:6: note: in expansion of macro 'si_flags'
43 | u16 si_flags;
| ^~~~~~~~
In file included from drivers/scsi/BusLogic.c:51:
drivers/scsi/FlashPoint.c: In function 'FlashPoint_ProbeHostAdapter':
drivers/scsi/FlashPoint.c:1076:11: error: 'struct sccb_mgr_info' has no member named '_sifields'
1076 | pCardInfo->si_flags = 0x0000;
| ^~
drivers/scsi/FlashPoint.c:1079:12: error: 'struct sccb_mgr_info' has no member named '_sifields'
1079 | pCardInfo->si_flags |= SCSI_PARITY_ENA;
| ^~
drivers/scsi/FlashPoint.c:1082:12: error: 'struct sccb_mgr_info' has no member named '_sifields'
1082 | pCardInfo->si_flags |= SOFT_RESET;
| ^~
drivers/scsi/FlashPoint.c:1085:12: error: 'struct sccb_mgr_info' has no member named '_sifields'
1085 | pCardInfo->si_flags |= EXTENDED_TRANSLATION;
| ^~
drivers/scsi/FlashPoint.c:1088:12: error: 'struct sccb_mgr_info' has no member named '_sifields'
1088 | pCardInfo->si_flags |= FLAG_SCAM_ENABLED;
| ^~
drivers/scsi/FlashPoint.c:1091:12: error: 'struct sccb_mgr_info' has no member named '_sifields'
1091 | pCardInfo->si_flags |= FLAG_SCAM_LEVEL2;
| ^~
drivers/scsi/FlashPoint.c:1107:12: error: 'struct sccb_mgr_info' has no member named '_sifields'
1107 | pCardInfo->si_flags |= SUPPORT_16TAR_32LUN;
| ^~
drivers/scsi/FlashPoint.c:1109:11: error: 'struct sccb_mgr_info' has no member named 'si_card_family'
1109 | pCardInfo->si_card_family = HARPOON_FAMILY;
| ^~
drivers/scsi/FlashPoint.c:1110:11: error: 'struct sccb_mgr_info' has no member named 'si_bustype'
1110 | pCardInfo->si_bustype = BUSTYPE_PCI;
| ^~
drivers/scsi/FlashPoint.c:1113:12: error: 'struct sccb_mgr_info' has no member named 'si_card_model'
1113 | pCardInfo->si_card_model[0] = '9';
| ^~
drivers/scsi/FlashPoint.c:1116:13: error: 'struct sccb_mgr_info' has no member named 'si_card_model'
1116 | pCardInfo->si_card_model[1] = '3';
| ^~
drivers/scsi/FlashPoint.c:1117:13: error: 'struct sccb_mgr_info' has no member named 'si_card_model'
1117 | pCardInfo->si_card_model[2] = '0';
| ^~
drivers/scsi/FlashPoint.c:1120:13: error: 'struct sccb_mgr_info' has no member named 'si_card_model'
1120 | pCardInfo->si_card_model[1] = '5';
| ^~
drivers/scsi/FlashPoint.c:1121:13: error: 'struct sccb_mgr_info' has no member named 'si_card_model'
1121 | pCardInfo->si_card_model[2] = '0';
| ^~
drivers/scsi/FlashPoint.c:1124:13: error: 'struct sccb_mgr_info' has no member named 'si_card_model'
1124 | pCardInfo->si_card_model[1] = '3';
| ^~
drivers/scsi/FlashPoint.c:1125:13: error: 'struct sccb_mgr_info' has no member named 'si_card_model'
1125 | pCardInfo->si_card_model[2] = '2';
| ^~
drivers/scsi/FlashPoint.c:1128:13: error: 'struct sccb_mgr_info' has no member named 'si_card_model'
1128 | pCardInfo->si_card_model[1] = '5';
| ^~
drivers/scsi/FlashPoint.c:1129:13: error: 'struct sccb_mgr_info' has no member named 'si_card_model'
1129 | pCardInfo->si_card_model[2] = '2';
| ^~
drivers/scsi/FlashPoint.c:1134:12: error: 'struct sccb_mgr_info' has no member named 'si_card_model'
1134 | pCardInfo->si_card_model[0] = (unsigned char)(temp >> 8);
| ^~
drivers/scsi/FlashPoint.c:1137:12: error: 'struct sccb_mgr_info' has no member named 'si_card_model'
1137 | pCardInfo->si_card_model[1] = (unsigned char)(temp & 0x00FF);
| ^~
drivers/scsi/FlashPoint.c:1138:12: error: 'struct sccb_mgr_info' has no member named 'si_card_model'
1138 | pCardInfo->si_card_model[2] = (unsigned char)(temp >> 8);
| ^~
drivers/scsi/FlashPoint.c:1141:15: error: 'struct sccb_mgr_info' has no member named 'si_card_model'
1141 | if (pCardInfo->si_card_model[1] == '3') {
| ^~
drivers/scsi/FlashPoint.c:1143:13: error: 'struct sccb_mgr_info' has no member named '_sifields'
1143 | pCardInfo->si_flags |= LOW_BYTE_TERM;
| ^~
drivers/scsi/FlashPoint.c:1144:22: error: 'struct sccb_mgr_info' has no member named 'si_card_model'
1144 | } else if (pCardInfo->si_card_model[2] == '0') {
| ^~
drivers/scsi/FlashPoint.c:1148:13: error: 'struct sccb_mgr_info' has no member named '_sifields'
1148 | pCardInfo->si_flags |= LOW_BYTE_TERM;
| ^~
drivers/scsi/FlashPoint.c:1151:13: error: 'struct sccb_mgr_info' has no member named '_sifields'
1151 | pCardInfo->si_flags |= HIGH_BYTE_TERM;
| ^~
drivers/scsi/FlashPoint.c:1169:13: error: 'struct sccb_mgr_info' has no member named '_sifields'
1169 | pCardInfo->si_flags |= LOW_BYTE_TERM;
| ^~
drivers/scsi/FlashPoint.c:1171:13: error: 'struct sccb_mgr_info' has no member named '_sifields'
1171 | pCardInfo->si_flags |= HIGH_BYTE_TERM;
| ^~
drivers/scsi/FlashPoint.c:1178:12: error: 'struct sccb_mgr_info' has no member named 'si_XlatInfo'
1178 | pCardInfo->si_XlatInfo[i] =
| ^~
>> drivers/scsi/FlashPoint.c:1185:11: error: 'struct sccb_mgr_info' has no member named 'si_relative_cardnum'
1185 | pCardInfo->si_relative_cardnum =
| ^~
drivers/scsi/FlashPoint.c: In function 'FlashPoint_HardwareResetHostAdapter':
drivers/scsi/FlashPoint.c:1278:30: error: 'struct sccb_mgr_info' has no member named '_sifields'
1278 | i = (unsigned char)pCardInfo->si_flags;
| ^~
drivers/scsi/FlashPoint.c:1292:17: error: 'struct sccb_mgr_info' has no member named '_sifields'
1292 | if (!(pCardInfo->si_flags & SOFT_RESET)) {
| ^~
drivers/scsi/FlashPoint.c:1299:15: error: 'struct sccb_mgr_info' has no member named '_sifields'
1299 | if (pCardInfo->si_flags & POST_ALL_UNDERRRUNS)
| ^~
drivers/scsi/FlashPoint.c: In function 'FlashPoint_AbortCCB':
drivers/scsi/FlashPoint.c:1618:16: warning: variable 'TID' set but not used [-Wunused-but-set-variable]
1618 | unsigned char TID;
| ^~~
drivers/scsi/BusLogic.c: In function 'blogic_msg':
drivers/scsi/BusLogic.c:3447:2: warning: function 'blogic_msg' might be a candidate for 'gnu_printf' format attribute [-Wsuggest-attribute=format]
3447 | len = vsprintf(buf, fmt, args);
| ^~~
vim +1185 drivers/scsi/FlashPoint.c
^1da177e4c3f415 Linus Torvalds 2005-04-16 929
47b5d69c4aa753f James Bottomley 2005-04-24 930 /*---------------------------------------------------------------------
^1da177e4c3f415 Linus Torvalds 2005-04-16 931 *
d8b6b8bd8a99ee9 Alexey Dobriyan 2006-03-08 932 * Function: FlashPoint_ProbeHostAdapter
^1da177e4c3f415 Linus Torvalds 2005-04-16 933 *
47b5d69c4aa753f James Bottomley 2005-04-24 934 * Description: Setup and/or Search for cards and return info to caller.
^1da177e4c3f415 Linus Torvalds 2005-04-16 935 *
47b5d69c4aa753f James Bottomley 2005-04-24 936 *---------------------------------------------------------------------*/
^1da177e4c3f415 Linus Torvalds 2005-04-16 937
7f101662dd55aa1 Alexey Dobriyan 2006-03-08 938 static int FlashPoint_ProbeHostAdapter(struct sccb_mgr_info *pCardInfo)
47b5d69c4aa753f James Bottomley 2005-04-24 939 {
db038cf86fc63d3 Alexey Dobriyan 2006-03-08 940 static unsigned char first_time = 1;
^1da177e4c3f415 Linus Torvalds 2005-04-16 941
db038cf86fc63d3 Alexey Dobriyan 2006-03-08 942 unsigned char i, j, id, ScamFlg;
c823feeb33161c0 Alexey Dobriyan 2006-03-08 943 unsigned short temp, temp2, temp3, temp4, temp5, temp6;
391e2f25601e34a Khalid Aziz 2013-05-16 944 u32 ioport;
68d0c1ae66413ef Alexey Dobriyan 2006-03-08 945 struct nvram_info *pCurrNvRam;
^1da177e4c3f415 Linus Torvalds 2005-04-16 946
47b5d69c4aa753f James Bottomley 2005-04-24 947 ioport = pCardInfo->si_baseaddr;
^1da177e4c3f415 Linus Torvalds 2005-04-16 948
47b5d69c4aa753f James Bottomley 2005-04-24 949 if (RD_HARPOON(ioport + hp_vendor_id_0) != ORION_VEND_0)
5c1b85e209af41c Alexey Dobriyan 2006-03-08 950 return (int)FAILURE;
^1da177e4c3f415 Linus Torvalds 2005-04-16 951
^1da177e4c3f415 Linus Torvalds 2005-04-16 952 if ((RD_HARPOON(ioport + hp_vendor_id_1) != ORION_VEND_1))
5c1b85e209af41c Alexey Dobriyan 2006-03-08 953 return (int)FAILURE;
^1da177e4c3f415 Linus Torvalds 2005-04-16 954
^1da177e4c3f415 Linus Torvalds 2005-04-16 955 if ((RD_HARPOON(ioport + hp_device_id_0) != ORION_DEV_0))
5c1b85e209af41c Alexey Dobriyan 2006-03-08 956 return (int)FAILURE;
^1da177e4c3f415 Linus Torvalds 2005-04-16 957
^1da177e4c3f415 Linus Torvalds 2005-04-16 958 if ((RD_HARPOON(ioport + hp_device_id_1) != ORION_DEV_1))
5c1b85e209af41c Alexey Dobriyan 2006-03-08 959 return (int)FAILURE;
^1da177e4c3f415 Linus Torvalds 2005-04-16 960
^1da177e4c3f415 Linus Torvalds 2005-04-16 961 if (RD_HARPOON(ioport + hp_rev_num) != 0x0f) {
^1da177e4c3f415 Linus Torvalds 2005-04-16 962
^1da177e4c3f415 Linus Torvalds 2005-04-16 963 /* For new Harpoon then check for sub_device ID LSB
^1da177e4c3f415 Linus Torvalds 2005-04-16 964 the bits(0-3) must be all ZERO for compatible with
^1da177e4c3f415 Linus Torvalds 2005-04-16 965 current version of SCCBMgr, else skip this Harpoon
^1da177e4c3f415 Linus Torvalds 2005-04-16 966 device. */
^1da177e4c3f415 Linus Torvalds 2005-04-16 967
^1da177e4c3f415 Linus Torvalds 2005-04-16 968 if (RD_HARPOON(ioport + hp_sub_device_id_0) & 0x0f)
5c1b85e209af41c Alexey Dobriyan 2006-03-08 969 return (int)FAILURE;
^1da177e4c3f415 Linus Torvalds 2005-04-16 970 }
^1da177e4c3f415 Linus Torvalds 2005-04-16 971
5c04a7b8981f285 Alexey Dobriyan 2006-03-08 972 if (first_time) {
47b5d69c4aa753f James Bottomley 2005-04-24 973 FPT_SccbMgrTableInitAll();
^1da177e4c3f415 Linus Torvalds 2005-04-16 974 first_time = 0;
47b5d69c4aa753f James Bottomley 2005-04-24 975 FPT_mbCards = 0;
^1da177e4c3f415 Linus Torvalds 2005-04-16 976 }
^1da177e4c3f415 Linus Torvalds 2005-04-16 977
47b5d69c4aa753f James Bottomley 2005-04-24 978 if (FPT_RdStack(ioport, 0) != 0x00) {
5c04a7b8981f285 Alexey Dobriyan 2006-03-08 979 if (FPT_ChkIfChipInitialized(ioport) == 0) {
^1da177e4c3f415 Linus Torvalds 2005-04-16 980 pCurrNvRam = NULL;
^1da177e4c3f415 Linus Torvalds 2005-04-16 981 WR_HARPOON(ioport + hp_semaphore, 0x00);
47b5d69c4aa753f James Bottomley 2005-04-24 982 FPT_XbowInit(ioport, 0); /*Must Init the SCSI before attempting */
47b5d69c4aa753f James Bottomley 2005-04-24 983 FPT_DiagEEPROM(ioport);
5c04a7b8981f285 Alexey Dobriyan 2006-03-08 984 } else {
47b5d69c4aa753f James Bottomley 2005-04-24 985 if (FPT_mbCards < MAX_MB_CARDS) {
47b5d69c4aa753f James Bottomley 2005-04-24 986 pCurrNvRam = &FPT_nvRamInfo[FPT_mbCards];
47b5d69c4aa753f James Bottomley 2005-04-24 987 FPT_mbCards++;
^1da177e4c3f415 Linus Torvalds 2005-04-16 988 pCurrNvRam->niBaseAddr = ioport;
47b5d69c4aa753f James Bottomley 2005-04-24 989 FPT_RNVRamData(pCurrNvRam);
^1da177e4c3f415 Linus Torvalds 2005-04-16 990 } else
5c1b85e209af41c Alexey Dobriyan 2006-03-08 991 return (int)FAILURE;
^1da177e4c3f415 Linus Torvalds 2005-04-16 992 }
^1da177e4c3f415 Linus Torvalds 2005-04-16 993 } else
^1da177e4c3f415 Linus Torvalds 2005-04-16 994 pCurrNvRam = NULL;
^1da177e4c3f415 Linus Torvalds 2005-04-16 995
^1da177e4c3f415 Linus Torvalds 2005-04-16 996 WR_HARPOON(ioport + hp_clkctrl_0, CLKCTRL_DEFAULT);
^1da177e4c3f415 Linus Torvalds 2005-04-16 997 WR_HARPOON(ioport + hp_sys_ctrl, 0x00);
^1da177e4c3f415 Linus Torvalds 2005-04-16 998
^1da177e4c3f415 Linus Torvalds 2005-04-16 999 if (pCurrNvRam)
^1da177e4c3f415 Linus Torvalds 2005-04-16 1000 pCardInfo->si_id = pCurrNvRam->niAdapId;
^1da177e4c3f415 Linus Torvalds 2005-04-16 1001 else
5c04a7b8981f285 Alexey Dobriyan 2006-03-08 1002 pCardInfo->si_id =
5c04a7b8981f285 Alexey Dobriyan 2006-03-08 1003 (unsigned
5c04a7b8981f285 Alexey Dobriyan 2006-03-08 1004 char)(FPT_utilEERead(ioport,
5c04a7b8981f285 Alexey Dobriyan 2006-03-08 1005 (ADAPTER_SCSI_ID /
5c04a7b8981f285 Alexey Dobriyan 2006-03-08 1006 2)) & (unsigned char)0x0FF);
^1da177e4c3f415 Linus Torvalds 2005-04-16 1007
^1da177e4c3f415 Linus Torvalds 2005-04-16 1008 pCardInfo->si_lun = 0x00;
^1da177e4c3f415 Linus Torvalds 2005-04-16 1009 pCardInfo->si_fw_revision = ORION_FW_REV;
^1da177e4c3f415 Linus Torvalds 2005-04-16 1010 temp2 = 0x0000;
^1da177e4c3f415 Linus Torvalds 2005-04-16 1011 temp3 = 0x0000;
^1da177e4c3f415 Linus Torvalds 2005-04-16 1012 temp4 = 0x0000;
^1da177e4c3f415 Linus Torvalds 2005-04-16 1013 temp5 = 0x0000;
^1da177e4c3f415 Linus Torvalds 2005-04-16 1014 temp6 = 0x0000;
^1da177e4c3f415 Linus Torvalds 2005-04-16 1015
^1da177e4c3f415 Linus Torvalds 2005-04-16 1016 for (id = 0; id < (16 / 2); id++) {
^1da177e4c3f415 Linus Torvalds 2005-04-16 1017
^1da177e4c3f415 Linus Torvalds 2005-04-16 1018 if (pCurrNvRam) {
c823feeb33161c0 Alexey Dobriyan 2006-03-08 1019 temp = (unsigned short)pCurrNvRam->niSyncTbl[id];
^1da177e4c3f415 Linus Torvalds 2005-04-16 1020 temp = ((temp & 0x03) + ((temp << 4) & 0xc0)) +
^1da177e4c3f415 Linus Torvalds 2005-04-16 1021 (((temp << 4) & 0x0300) + ((temp << 8) & 0xc000));
^1da177e4c3f415 Linus Torvalds 2005-04-16 1022 } else
5c04a7b8981f285 Alexey Dobriyan 2006-03-08 1023 temp =
5c04a7b8981f285 Alexey Dobriyan 2006-03-08 1024 FPT_utilEERead(ioport,
5c04a7b8981f285 Alexey Dobriyan 2006-03-08 1025 (unsigned short)((SYNC_RATE_TBL / 2)
5c04a7b8981f285 Alexey Dobriyan 2006-03-08 1026 + id));
^1da177e4c3f415 Linus Torvalds 2005-04-16 1027
^1da177e4c3f415 Linus Torvalds 2005-04-16 1028 for (i = 0; i < 2; temp >>= 8, i++) {
^1da177e4c3f415 Linus Torvalds 2005-04-16 1029
^1da177e4c3f415 Linus Torvalds 2005-04-16 1030 temp2 >>= 1;
^1da177e4c3f415 Linus Torvalds 2005-04-16 1031 temp3 >>= 1;
^1da177e4c3f415 Linus Torvalds 2005-04-16 1032 temp4 >>= 1;
^1da177e4c3f415 Linus Torvalds 2005-04-16 1033 temp5 >>= 1;
^1da177e4c3f415 Linus Torvalds 2005-04-16 1034 temp6 >>= 1;
5c04a7b8981f285 Alexey Dobriyan 2006-03-08 1035 switch (temp & 0x3) {
^1da177e4c3f415 Linus Torvalds 2005-04-16 1036 case AUTO_RATE_20: /* Synchronous, 20 mega-transfers/second */
df561f6688fef77 Gustavo A. R. Silva 2020-08-23 1037 temp6 |= 0x8000;
df561f6688fef77 Gustavo A. R. Silva 2020-08-23 1038 fallthrough;
^1da177e4c3f415 Linus Torvalds 2005-04-16 1039 case AUTO_RATE_10: /* Synchronous, 10 mega-transfers/second */
df561f6688fef77 Gustavo A. R. Silva 2020-08-23 1040 temp5 |= 0x8000;
df561f6688fef77 Gustavo A. R. Silva 2020-08-23 1041 fallthrough;
^1da177e4c3f415 Linus Torvalds 2005-04-16 1042 case AUTO_RATE_05: /* Synchronous, 5 mega-transfers/second */
df561f6688fef77 Gustavo A. R. Silva 2020-08-23 1043 temp2 |= 0x8000;
df561f6688fef77 Gustavo A. R. Silva 2020-08-23 1044 fallthrough;
^1da177e4c3f415 Linus Torvalds 2005-04-16 1045 case AUTO_RATE_00: /* Asynchronous */
^1da177e4c3f415 Linus Torvalds 2005-04-16 1046 break;
^1da177e4c3f415 Linus Torvalds 2005-04-16 1047 }
^1da177e4c3f415 Linus Torvalds 2005-04-16 1048
^1da177e4c3f415 Linus Torvalds 2005-04-16 1049 if (temp & DISC_ENABLE_BIT)
^1da177e4c3f415 Linus Torvalds 2005-04-16 1050 temp3 |= 0x8000;
^1da177e4c3f415 Linus Torvalds 2005-04-16 1051
^1da177e4c3f415 Linus Torvalds 2005-04-16 1052 if (temp & WIDE_NEGO_BIT)
^1da177e4c3f415 Linus Torvalds 2005-04-16 1053 temp4 |= 0x8000;
^1da177e4c3f415 Linus Torvalds 2005-04-16 1054
^1da177e4c3f415 Linus Torvalds 2005-04-16 1055 }
^1da177e4c3f415 Linus Torvalds 2005-04-16 1056 }
^1da177e4c3f415 Linus Torvalds 2005-04-16 1057
^1da177e4c3f415 Linus Torvalds 2005-04-16 1058 pCardInfo->si_per_targ_init_sync = temp2;
^1da177e4c3f415 Linus Torvalds 2005-04-16 1059 pCardInfo->si_per_targ_no_disc = temp3;
^1da177e4c3f415 Linus Torvalds 2005-04-16 1060 pCardInfo->si_per_targ_wide_nego = temp4;
^1da177e4c3f415 Linus Torvalds 2005-04-16 1061 pCardInfo->si_per_targ_fast_nego = temp5;
^1da177e4c3f415 Linus Torvalds 2005-04-16 1062 pCardInfo->si_per_targ_ultra_nego = temp6;
^1da177e4c3f415 Linus Torvalds 2005-04-16 1063
^1da177e4c3f415 Linus Torvalds 2005-04-16 1064 if (pCurrNvRam)
^1da177e4c3f415 Linus Torvalds 2005-04-16 1065 i = pCurrNvRam->niSysConf;
^1da177e4c3f415 Linus Torvalds 2005-04-16 1066 else
5c04a7b8981f285 Alexey Dobriyan 2006-03-08 1067 i = (unsigned
5c04a7b8981f285 Alexey Dobriyan 2006-03-08 1068 char)(FPT_utilEERead(ioport, (SYSTEM_CONFIG / 2)));
^1da177e4c3f415 Linus Torvalds 2005-04-16 1069
^1da177e4c3f415 Linus Torvalds 2005-04-16 1070 if (pCurrNvRam)
^1da177e4c3f415 Linus Torvalds 2005-04-16 1071 ScamFlg = pCurrNvRam->niScamConf;
^1da177e4c3f415 Linus Torvalds 2005-04-16 1072 else
5c04a7b8981f285 Alexey Dobriyan 2006-03-08 1073 ScamFlg =
5c04a7b8981f285 Alexey Dobriyan 2006-03-08 1074 (unsigned char)FPT_utilEERead(ioport, SCAM_CONFIG / 2);
^1da177e4c3f415 Linus Torvalds 2005-04-16 1075
^1da177e4c3f415 Linus Torvalds 2005-04-16 1076 pCardInfo->si_flags = 0x0000;
^1da177e4c3f415 Linus Torvalds 2005-04-16 1077
^1da177e4c3f415 Linus Torvalds 2005-04-16 1078 if (i & 0x01)
^1da177e4c3f415 Linus Torvalds 2005-04-16 1079 pCardInfo->si_flags |= SCSI_PARITY_ENA;
^1da177e4c3f415 Linus Torvalds 2005-04-16 1080
^1da177e4c3f415 Linus Torvalds 2005-04-16 1081 if (!(i & 0x02))
^1da177e4c3f415 Linus Torvalds 2005-04-16 1082 pCardInfo->si_flags |= SOFT_RESET;
^1da177e4c3f415 Linus Torvalds 2005-04-16 1083
^1da177e4c3f415 Linus Torvalds 2005-04-16 1084 if (i & 0x10)
^1da177e4c3f415 Linus Torvalds 2005-04-16 1085 pCardInfo->si_flags |= EXTENDED_TRANSLATION;
^1da177e4c3f415 Linus Torvalds 2005-04-16 1086
^1da177e4c3f415 Linus Torvalds 2005-04-16 1087 if (ScamFlg & SCAM_ENABLED)
^1da177e4c3f415 Linus Torvalds 2005-04-16 1088 pCardInfo->si_flags |= FLAG_SCAM_ENABLED;
^1da177e4c3f415 Linus Torvalds 2005-04-16 1089
^1da177e4c3f415 Linus Torvalds 2005-04-16 1090 if (ScamFlg & SCAM_LEVEL2)
^1da177e4c3f415 Linus Torvalds 2005-04-16 1091 pCardInfo->si_flags |= FLAG_SCAM_LEVEL2;
^1da177e4c3f415 Linus Torvalds 2005-04-16 1092
^1da177e4c3f415 Linus Torvalds 2005-04-16 1093 j = (RD_HARPOON(ioport + hp_bm_ctrl) & ~SCSI_TERM_ENA_L);
^1da177e4c3f415 Linus Torvalds 2005-04-16 1094 if (i & 0x04) {
^1da177e4c3f415 Linus Torvalds 2005-04-16 1095 j |= SCSI_TERM_ENA_L;
^1da177e4c3f415 Linus Torvalds 2005-04-16 1096 }
^1da177e4c3f415 Linus Torvalds 2005-04-16 1097 WR_HARPOON(ioport + hp_bm_ctrl, j);
^1da177e4c3f415 Linus Torvalds 2005-04-16 1098
^1da177e4c3f415 Linus Torvalds 2005-04-16 1099 j = (RD_HARPOON(ioport + hp_ee_ctrl) & ~SCSI_TERM_ENA_H);
^1da177e4c3f415 Linus Torvalds 2005-04-16 1100 if (i & 0x08) {
^1da177e4c3f415 Linus Torvalds 2005-04-16 1101 j |= SCSI_TERM_ENA_H;
^1da177e4c3f415 Linus Torvalds 2005-04-16 1102 }
^1da177e4c3f415 Linus Torvalds 2005-04-16 1103 WR_HARPOON(ioport + hp_ee_ctrl, j);
^1da177e4c3f415 Linus Torvalds 2005-04-16 1104
^1da177e4c3f415 Linus Torvalds 2005-04-16 1105 if (!(RD_HARPOON(ioport + hp_page_ctrl) & NARROW_SCSI_CARD))
^1da177e4c3f415 Linus Torvalds 2005-04-16 1106
^1da177e4c3f415 Linus Torvalds 2005-04-16 1107 pCardInfo->si_flags |= SUPPORT_16TAR_32LUN;
^1da177e4c3f415 Linus Torvalds 2005-04-16 1108
^1da177e4c3f415 Linus Torvalds 2005-04-16 1109 pCardInfo->si_card_family = HARPOON_FAMILY;
^1da177e4c3f415 Linus Torvalds 2005-04-16 1110 pCardInfo->si_bustype = BUSTYPE_PCI;
^1da177e4c3f415 Linus Torvalds 2005-04-16 1111
^1da177e4c3f415 Linus Torvalds 2005-04-16 1112 if (pCurrNvRam) {
^1da177e4c3f415 Linus Torvalds 2005-04-16 1113 pCardInfo->si_card_model[0] = '9';
^1da177e4c3f415 Linus Torvalds 2005-04-16 1114 switch (pCurrNvRam->niModel & 0x0f) {
^1da177e4c3f415 Linus Torvalds 2005-04-16 1115 case MODEL_LT:
^1da177e4c3f415 Linus Torvalds 2005-04-16 1116 pCardInfo->si_card_model[1] = '3';
^1da177e4c3f415 Linus Torvalds 2005-04-16 1117 pCardInfo->si_card_model[2] = '0';
^1da177e4c3f415 Linus Torvalds 2005-04-16 1118 break;
^1da177e4c3f415 Linus Torvalds 2005-04-16 1119 case MODEL_LW:
^1da177e4c3f415 Linus Torvalds 2005-04-16 1120 pCardInfo->si_card_model[1] = '5';
^1da177e4c3f415 Linus Torvalds 2005-04-16 1121 pCardInfo->si_card_model[2] = '0';
^1da177e4c3f415 Linus Torvalds 2005-04-16 1122 break;
^1da177e4c3f415 Linus Torvalds 2005-04-16 1123 case MODEL_DL:
^1da177e4c3f415 Linus Torvalds 2005-04-16 1124 pCardInfo->si_card_model[1] = '3';
^1da177e4c3f415 Linus Torvalds 2005-04-16 1125 pCardInfo->si_card_model[2] = '2';
^1da177e4c3f415 Linus Torvalds 2005-04-16 1126 break;
^1da177e4c3f415 Linus Torvalds 2005-04-16 1127 case MODEL_DW:
^1da177e4c3f415 Linus Torvalds 2005-04-16 1128 pCardInfo->si_card_model[1] = '5';
^1da177e4c3f415 Linus Torvalds 2005-04-16 1129 pCardInfo->si_card_model[2] = '2';
^1da177e4c3f415 Linus Torvalds 2005-04-16 1130 break;
^1da177e4c3f415 Linus Torvalds 2005-04-16 1131 }
^1da177e4c3f415 Linus Torvalds 2005-04-16 1132 } else {
47b5d69c4aa753f James Bottomley 2005-04-24 1133 temp = FPT_utilEERead(ioport, (MODEL_NUMB_0 / 2));
db038cf86fc63d3 Alexey Dobriyan 2006-03-08 1134 pCardInfo->si_card_model[0] = (unsigned char)(temp >> 8);
47b5d69c4aa753f James Bottomley 2005-04-24 1135 temp = FPT_utilEERead(ioport, (MODEL_NUMB_2 / 2));
^1da177e4c3f415 Linus Torvalds 2005-04-16 1136
db038cf86fc63d3 Alexey Dobriyan 2006-03-08 1137 pCardInfo->si_card_model[1] = (unsigned char)(temp & 0x00FF);
db038cf86fc63d3 Alexey Dobriyan 2006-03-08 1138 pCardInfo->si_card_model[2] = (unsigned char)(temp >> 8);
^1da177e4c3f415 Linus Torvalds 2005-04-16 1139 }
^1da177e4c3f415 Linus Torvalds 2005-04-16 1140
5c04a7b8981f285 Alexey Dobriyan 2006-03-08 1141 if (pCardInfo->si_card_model[1] == '3') {
^1da177e4c3f415 Linus Torvalds 2005-04-16 1142 if (RD_HARPOON(ioport + hp_ee_ctrl) & BIT(7))
^1da177e4c3f415 Linus Torvalds 2005-04-16 1143 pCardInfo->si_flags |= LOW_BYTE_TERM;
5c04a7b8981f285 Alexey Dobriyan 2006-03-08 1144 } else if (pCardInfo->si_card_model[2] == '0') {
^1da177e4c3f415 Linus Torvalds 2005-04-16 1145 temp = RD_HARPOON(ioport + hp_xfer_pad);
^1da177e4c3f415 Linus Torvalds 2005-04-16 1146 WR_HARPOON(ioport + hp_xfer_pad, (temp & ~BIT(4)));
^1da177e4c3f415 Linus Torvalds 2005-04-16 1147 if (RD_HARPOON(ioport + hp_ee_ctrl) & BIT(7))
^1da177e4c3f415 Linus Torvalds 2005-04-16 1148 pCardInfo->si_flags |= LOW_BYTE_TERM;
^1da177e4c3f415 Linus Torvalds 2005-04-16 1149 WR_HARPOON(ioport + hp_xfer_pad, (temp | BIT(4)));
^1da177e4c3f415 Linus Torvalds 2005-04-16 1150 if (RD_HARPOON(ioport + hp_ee_ctrl) & BIT(7))
^1da177e4c3f415 Linus Torvalds 2005-04-16 1151 pCardInfo->si_flags |= HIGH_BYTE_TERM;
^1da177e4c3f415 Linus Torvalds 2005-04-16 1152 WR_HARPOON(ioport + hp_xfer_pad, temp);
5c04a7b8981f285 Alexey Dobriyan 2006-03-08 1153 } else {
^1da177e4c3f415 Linus Torvalds 2005-04-16 1154 temp = RD_HARPOON(ioport + hp_ee_ctrl);
^1da177e4c3f415 Linus Torvalds 2005-04-16 1155 temp2 = RD_HARPOON(ioport + hp_xfer_pad);
^1da177e4c3f415 Linus Torvalds 2005-04-16 1156 WR_HARPOON(ioport + hp_ee_ctrl, (temp | SEE_CS));
^1da177e4c3f415 Linus Torvalds 2005-04-16 1157 WR_HARPOON(ioport + hp_xfer_pad, (temp2 | BIT(4)));
^1da177e4c3f415 Linus Torvalds 2005-04-16 1158 temp3 = 0;
5c04a7b8981f285 Alexey Dobriyan 2006-03-08 1159 for (i = 0; i < 8; i++) {
^1da177e4c3f415 Linus Torvalds 2005-04-16 1160 temp3 <<= 1;
^1da177e4c3f415 Linus Torvalds 2005-04-16 1161 if (!(RD_HARPOON(ioport + hp_ee_ctrl) & BIT(7)))
^1da177e4c3f415 Linus Torvalds 2005-04-16 1162 temp3 |= 1;
^1da177e4c3f415 Linus Torvalds 2005-04-16 1163 WR_HARPOON(ioport + hp_xfer_pad, (temp2 & ~BIT(4)));
^1da177e4c3f415 Linus Torvalds 2005-04-16 1164 WR_HARPOON(ioport + hp_xfer_pad, (temp2 | BIT(4)));
^1da177e4c3f415 Linus Torvalds 2005-04-16 1165 }
^1da177e4c3f415 Linus Torvalds 2005-04-16 1166 WR_HARPOON(ioport + hp_ee_ctrl, temp);
^1da177e4c3f415 Linus Torvalds 2005-04-16 1167 WR_HARPOON(ioport + hp_xfer_pad, temp2);
^1da177e4c3f415 Linus Torvalds 2005-04-16 1168 if (!(temp3 & BIT(7)))
^1da177e4c3f415 Linus Torvalds 2005-04-16 1169 pCardInfo->si_flags |= LOW_BYTE_TERM;
^1da177e4c3f415 Linus Torvalds 2005-04-16 1170 if (!(temp3 & BIT(6)))
^1da177e4c3f415 Linus Torvalds 2005-04-16 1171 pCardInfo->si_flags |= HIGH_BYTE_TERM;
^1da177e4c3f415 Linus Torvalds 2005-04-16 1172 }
^1da177e4c3f415 Linus Torvalds 2005-04-16 1173
^1da177e4c3f415 Linus Torvalds 2005-04-16 1174 ARAM_ACCESS(ioport);
^1da177e4c3f415 Linus Torvalds 2005-04-16 1175
^1da177e4c3f415 Linus Torvalds 2005-04-16 1176 for (i = 0; i < 4; i++) {
^1da177e4c3f415 Linus Torvalds 2005-04-16 1177
^1da177e4c3f415 Linus Torvalds 2005-04-16 1178 pCardInfo->si_XlatInfo[i] =
^1da177e4c3f415 Linus Torvalds 2005-04-16 1179 RD_HARPOON(ioport + hp_aramBase + BIOS_DATA_OFFSET + i);
^1da177e4c3f415 Linus Torvalds 2005-04-16 1180 }
^1da177e4c3f415 Linus Torvalds 2005-04-16 1181
^1da177e4c3f415 Linus Torvalds 2005-04-16 1182 /* return with -1 if no sort, else return with
^1da177e4c3f415 Linus Torvalds 2005-04-16 1183 logical card number sorted by BIOS (zero-based) */
^1da177e4c3f415 Linus Torvalds 2005-04-16 1184
^1da177e4c3f415 Linus Torvalds 2005-04-16 @1185 pCardInfo->si_relative_cardnum =
5c04a7b8981f285 Alexey Dobriyan 2006-03-08 1186 (unsigned
5c04a7b8981f285 Alexey Dobriyan 2006-03-08 1187 char)(RD_HARPOON(ioport + hp_aramBase + BIOS_RELATIVE_CARD) - 1);
^1da177e4c3f415 Linus Torvalds 2005-04-16 1188
^1da177e4c3f415 Linus Torvalds 2005-04-16 1189 SGRAM_ACCESS(ioport);
^1da177e4c3f415 Linus Torvalds 2005-04-16 1190
47b5d69c4aa753f James Bottomley 2005-04-24 1191 FPT_s_PhaseTbl[0] = FPT_phaseDataOut;
47b5d69c4aa753f James Bottomley 2005-04-24 1192 FPT_s_PhaseTbl[1] = FPT_phaseDataIn;
47b5d69c4aa753f James Bottomley 2005-04-24 1193 FPT_s_PhaseTbl[2] = FPT_phaseIllegal;
47b5d69c4aa753f James Bottomley 2005-04-24 1194 FPT_s_PhaseTbl[3] = FPT_phaseIllegal;
47b5d69c4aa753f James Bottomley 2005-04-24 1195 FPT_s_PhaseTbl[4] = FPT_phaseCommand;
47b5d69c4aa753f James Bottomley 2005-04-24 1196 FPT_s_PhaseTbl[5] = FPT_phaseStatus;
47b5d69c4aa753f James Bottomley 2005-04-24 1197 FPT_s_PhaseTbl[6] = FPT_phaseMsgOut;
47b5d69c4aa753f James Bottomley 2005-04-24 1198 FPT_s_PhaseTbl[7] = FPT_phaseMsgIn;
^1da177e4c3f415 Linus Torvalds 2005-04-16 1199
^1da177e4c3f415 Linus Torvalds 2005-04-16 1200 pCardInfo->si_present = 0x01;
^1da177e4c3f415 Linus Torvalds 2005-04-16 1201
5c1b85e209af41c Alexey Dobriyan 2006-03-08 1202 return 0;
^1da177e4c3f415 Linus Torvalds 2005-04-16 1203 }
^1da177e4c3f415 Linus Torvalds 2005-04-16 1204
:::::: The code at line 1185 was first introduced by commit
:::::: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 Linux-2.6.12-rc2
:::::: TO: Linus Torvalds <torvalds@xxxxxxxxxxxxxxx>
:::::: CC: Linus Torvalds <torvalds@xxxxxxxxxxxxxxx>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx
Attachment:
.config.gz
Description: application/gzip