From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: [intel-linux-intel-lts:5.4/yocto 414/1142] drivers/misc/xlink-pcie/remote_host/mxlk_core.c:127:41: sparse: sparse: incorrect type in argument 1 (different address spaces)
Date: Thu, 19 Nov 2020 11:19:10 +0800 [thread overview]
Message-ID: <202011191103.98ys3Po3-lkp@intel.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 23653 bytes --]
tree: https://github.com/intel/linux-intel-lts.git 5.4/yocto
head: eeb611e5394c56d45c5cc8f7dc484c9f19e93143
commit: 792c8003efc4d75b5f52db70e7380b6a425bdba8 [414/1142] xlink-pcie: XLink PCIe Remote and Local Host driver
config: x86_64-randconfig-s021-20201118 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.3-123-g626c4742-dirty
# https://github.com/intel/linux-intel-lts/commit/792c8003efc4d75b5f52db70e7380b6a425bdba8
git remote add intel-linux-intel-lts https://github.com/intel/linux-intel-lts.git
git fetch --no-tags intel-linux-intel-lts 5.4/yocto
git checkout 792c8003efc4d75b5f52db70e7380b6a425bdba8
# save the attached .config to linux build tree
make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
"sparse warnings: (new ones prefixed by >>)"
>> drivers/misc/xlink-pcie/remote_host/mxlk_core.c:127:41: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] <asn:2> * @@ got unsigned int * @@
>> drivers/misc/xlink-pcie/remote_host/mxlk_core.c:127:41: sparse: expected void [noderef] <asn:2> *
>> drivers/misc/xlink-pcie/remote_host/mxlk_core.c:127:41: sparse: got unsigned int *
drivers/misc/xlink-pcie/remote_host/mxlk_core.c:130:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] <asn:2> * @@ got unsigned int * @@
drivers/misc/xlink-pcie/remote_host/mxlk_core.c:130:36: sparse: expected void [noderef] <asn:2> *
drivers/misc/xlink-pcie/remote_host/mxlk_core.c:130:36: sparse: got unsigned int *
drivers/misc/xlink-pcie/remote_host/mxlk_core.c:133:34: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] <asn:2> * @@ got unsigned int * @@
drivers/misc/xlink-pcie/remote_host/mxlk_core.c:133:34: sparse: expected void [noderef] <asn:2> *
drivers/misc/xlink-pcie/remote_host/mxlk_core.c:133:34: sparse: got unsigned int *
drivers/misc/xlink-pcie/remote_host/mxlk_core.c:134:63: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] <asn:2> * @@ got unsigned int * @@
drivers/misc/xlink-pcie/remote_host/mxlk_core.c:134:63: sparse: expected void [noderef] <asn:2> *
drivers/misc/xlink-pcie/remote_host/mxlk_core.c:134:63: sparse: got unsigned int *
>> drivers/misc/xlink-pcie/remote_host/mxlk_core.c:134:22: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct mxlk_transfer_desc *tdr @@ got void [noderef] <asn:2> * @@
>> drivers/misc/xlink-pcie/remote_host/mxlk_core.c:134:22: sparse: expected struct mxlk_transfer_desc *tdr
>> drivers/misc/xlink-pcie/remote_host/mxlk_core.c:134:22: sparse: got void [noderef] <asn:2> *
drivers/misc/xlink-pcie/remote_host/mxlk_core.c:143:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] <asn:2> * @@ got unsigned int * @@
drivers/misc/xlink-pcie/remote_host/mxlk_core.c:143:36: sparse: expected void [noderef] <asn:2> *
drivers/misc/xlink-pcie/remote_host/mxlk_core.c:143:36: sparse: got unsigned int *
drivers/misc/xlink-pcie/remote_host/mxlk_core.c:146:34: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] <asn:2> * @@ got unsigned int * @@
drivers/misc/xlink-pcie/remote_host/mxlk_core.c:146:34: sparse: expected void [noderef] <asn:2> *
drivers/misc/xlink-pcie/remote_host/mxlk_core.c:146:34: sparse: got unsigned int *
drivers/misc/xlink-pcie/remote_host/mxlk_core.c:147:63: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] <asn:2> * @@ got unsigned int * @@
drivers/misc/xlink-pcie/remote_host/mxlk_core.c:147:63: sparse: expected void [noderef] <asn:2> *
drivers/misc/xlink-pcie/remote_host/mxlk_core.c:147:63: sparse: got unsigned int *
drivers/misc/xlink-pcie/remote_host/mxlk_core.c:147:22: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct mxlk_transfer_desc *tdr @@ got void [noderef] <asn:2> * @@
drivers/misc/xlink-pcie/remote_host/mxlk_core.c:147:22: sparse: expected struct mxlk_transfer_desc *tdr
drivers/misc/xlink-pcie/remote_host/mxlk_core.c:147:22: sparse: got void [noderef] <asn:2> *
drivers/misc/xlink-pcie/remote_host/mxlk_core.c: note: in included file:
>> drivers/misc/xlink-pcie/remote_host/../common/mxlk_capabilities.h:66:34: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] <asn:2> *addr @@ got unsigned long long * @@
>> drivers/misc/xlink-pcie/remote_host/../common/mxlk_capabilities.h:66:34: sparse: expected void [noderef] <asn:2> *addr
>> drivers/misc/xlink-pcie/remote_host/../common/mxlk_capabilities.h:66:34: sparse: got unsigned long long *
>> drivers/misc/xlink-pcie/remote_host/../common/mxlk_capabilities.h:78:33: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] <asn:2> * @@ got unsigned int * @@
>> drivers/misc/xlink-pcie/remote_host/../common/mxlk_capabilities.h:78:33: sparse: expected void [noderef] <asn:2> *
>> drivers/misc/xlink-pcie/remote_host/../common/mxlk_capabilities.h:78:33: sparse: got unsigned int *
>> drivers/misc/xlink-pcie/remote_host/../common/mxlk_capabilities.h:66:34: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] <asn:2> *addr @@ got unsigned long long * @@
>> drivers/misc/xlink-pcie/remote_host/../common/mxlk_capabilities.h:66:34: sparse: expected void [noderef] <asn:2> *addr
>> drivers/misc/xlink-pcie/remote_host/../common/mxlk_capabilities.h:66:34: sparse: got unsigned long long *
>> drivers/misc/xlink-pcie/remote_host/../common/mxlk_capabilities.h:78:33: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] <asn:2> * @@ got unsigned int * @@
>> drivers/misc/xlink-pcie/remote_host/../common/mxlk_capabilities.h:78:33: sparse: expected void [noderef] <asn:2> *
>> drivers/misc/xlink-pcie/remote_host/../common/mxlk_capabilities.h:78:33: sparse: got unsigned int *
>> drivers/misc/xlink-pcie/remote_host/../common/mxlk_capabilities.h:66:34: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] <asn:2> *addr @@ got unsigned long long * @@
>> drivers/misc/xlink-pcie/remote_host/../common/mxlk_capabilities.h:66:34: sparse: expected void [noderef] <asn:2> *addr
>> drivers/misc/xlink-pcie/remote_host/../common/mxlk_capabilities.h:66:34: sparse: got unsigned long long *
>> drivers/misc/xlink-pcie/remote_host/../common/mxlk_capabilities.h:78:33: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] <asn:2> * @@ got unsigned int * @@
>> drivers/misc/xlink-pcie/remote_host/../common/mxlk_capabilities.h:78:33: sparse: expected void [noderef] <asn:2> *
>> drivers/misc/xlink-pcie/remote_host/../common/mxlk_capabilities.h:78:33: sparse: got unsigned int *
>> drivers/misc/xlink-pcie/remote_host/../common/mxlk_capabilities.h:31:16: sparse: sparse: cast removes address space '<asn:2>' of expression
>> drivers/misc/xlink-pcie/remote_host/../common/mxlk_capabilities.h:38:41: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const volatile [noderef] <asn:2> * @@ got struct mxlk_cap_hdr *[assigned] hdr @@
>> drivers/misc/xlink-pcie/remote_host/../common/mxlk_capabilities.h:38:41: sparse: expected void const volatile [noderef] <asn:2> *
>> drivers/misc/xlink-pcie/remote_host/../common/mxlk_capabilities.h:38:41: sparse: got struct mxlk_cap_hdr *[assigned] hdr
drivers/misc/xlink-pcie/remote_host/../common/mxlk_capabilities.h:51:32: sparse: sparse: cast removes address space '<asn:2>' of expression
>> drivers/misc/xlink-pcie/remote_host/../common/mxlk_capabilities.h:132:31: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] <asn:2> * @@ got unsigned int [usertype] *tail @@
drivers/misc/xlink-pcie/remote_host/../common/mxlk_capabilities.h:132:31: sparse: expected void [noderef] <asn:2> *
>> drivers/misc/xlink-pcie/remote_host/../common/mxlk_capabilities.h:132:31: sparse: got unsigned int [usertype] *tail
>> drivers/misc/xlink-pcie/remote_host/../common/mxlk_capabilities.h:120:31: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] <asn:2> * @@ got unsigned int [usertype] *head @@
drivers/misc/xlink-pcie/remote_host/../common/mxlk_capabilities.h:120:31: sparse: expected void [noderef] <asn:2> *
>> drivers/misc/xlink-pcie/remote_host/../common/mxlk_capabilities.h:120:31: sparse: got unsigned int [usertype] *head
>> drivers/misc/xlink-pcie/remote_host/../common/mxlk_capabilities.h:108:31: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] <asn:2> * @@ got unsigned short * @@
drivers/misc/xlink-pcie/remote_host/../common/mxlk_capabilities.h:108:31: sparse: expected void [noderef] <asn:2> *
>> drivers/misc/xlink-pcie/remote_host/../common/mxlk_capabilities.h:108:31: sparse: got unsigned short *
drivers/misc/xlink-pcie/remote_host/../common/mxlk_capabilities.h:96:31: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] <asn:2> * @@ got unsigned short * @@
drivers/misc/xlink-pcie/remote_host/../common/mxlk_capabilities.h:96:31: sparse: expected void [noderef] <asn:2> *
drivers/misc/xlink-pcie/remote_host/../common/mxlk_capabilities.h:96:31: sparse: got unsigned short *
drivers/misc/xlink-pcie/remote_host/../common/mxlk_capabilities.h:84:31: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] <asn:2> * @@ got unsigned int * @@
drivers/misc/xlink-pcie/remote_host/../common/mxlk_capabilities.h:84:31: sparse: expected void [noderef] <asn:2> *
drivers/misc/xlink-pcie/remote_host/../common/mxlk_capabilities.h:84:31: sparse: got unsigned int *
>> drivers/misc/xlink-pcie/remote_host/../common/mxlk_capabilities.h:66:34: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] <asn:2> *addr @@ got unsigned long long * @@
>> drivers/misc/xlink-pcie/remote_host/../common/mxlk_capabilities.h:66:34: sparse: expected void [noderef] <asn:2> *addr
>> drivers/misc/xlink-pcie/remote_host/../common/mxlk_capabilities.h:66:34: sparse: got unsigned long long *
>> drivers/misc/xlink-pcie/remote_host/../common/mxlk_capabilities.h:78:33: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] <asn:2> * @@ got unsigned int * @@
>> drivers/misc/xlink-pcie/remote_host/../common/mxlk_capabilities.h:78:33: sparse: expected void [noderef] <asn:2> *
>> drivers/misc/xlink-pcie/remote_host/../common/mxlk_capabilities.h:78:33: sparse: got unsigned int *
>> drivers/misc/xlink-pcie/remote_host/../common/mxlk_capabilities.h:120:31: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] <asn:2> * @@ got unsigned int [usertype] *head @@
drivers/misc/xlink-pcie/remote_host/../common/mxlk_capabilities.h:120:31: sparse: expected void [noderef] <asn:2> *
>> drivers/misc/xlink-pcie/remote_host/../common/mxlk_capabilities.h:120:31: sparse: got unsigned int [usertype] *head
drivers/misc/xlink-pcie/remote_host/../common/mxlk_capabilities.h:114:31: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] <asn:2> * @@ got unsigned int [usertype] *head @@
drivers/misc/xlink-pcie/remote_host/../common/mxlk_capabilities.h:114:31: sparse: expected void [noderef] <asn:2> *
drivers/misc/xlink-pcie/remote_host/../common/mxlk_capabilities.h:114:31: sparse: got unsigned int [usertype] *head
>> drivers/misc/xlink-pcie/remote_host/../common/mxlk_capabilities.h:132:31: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] <asn:2> * @@ got unsigned int [usertype] *tail @@
drivers/misc/xlink-pcie/remote_host/../common/mxlk_capabilities.h:132:31: sparse: expected void [noderef] <asn:2> *
>> drivers/misc/xlink-pcie/remote_host/../common/mxlk_capabilities.h:132:31: sparse: got unsigned int [usertype] *tail
>> drivers/misc/xlink-pcie/remote_host/../common/mxlk_capabilities.h:120:31: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] <asn:2> * @@ got unsigned int [usertype] *head @@
drivers/misc/xlink-pcie/remote_host/../common/mxlk_capabilities.h:120:31: sparse: expected void [noderef] <asn:2> *
>> drivers/misc/xlink-pcie/remote_host/../common/mxlk_capabilities.h:120:31: sparse: got unsigned int [usertype] *head
>> drivers/misc/xlink-pcie/remote_host/../common/mxlk_capabilities.h:108:31: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] <asn:2> * @@ got unsigned short * @@
drivers/misc/xlink-pcie/remote_host/../common/mxlk_capabilities.h:108:31: sparse: expected void [noderef] <asn:2> *
>> drivers/misc/xlink-pcie/remote_host/../common/mxlk_capabilities.h:108:31: sparse: got unsigned short *
>> drivers/misc/xlink-pcie/remote_host/../common/mxlk_capabilities.h:66:34: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] <asn:2> *addr @@ got unsigned long long * @@
>> drivers/misc/xlink-pcie/remote_host/../common/mxlk_capabilities.h:66:34: sparse: expected void [noderef] <asn:2> *addr
>> drivers/misc/xlink-pcie/remote_host/../common/mxlk_capabilities.h:66:34: sparse: got unsigned long long *
>> drivers/misc/xlink-pcie/remote_host/../common/mxlk_capabilities.h:78:33: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] <asn:2> * @@ got unsigned int * @@
>> drivers/misc/xlink-pcie/remote_host/../common/mxlk_capabilities.h:78:33: sparse: expected void [noderef] <asn:2> *
>> drivers/misc/xlink-pcie/remote_host/../common/mxlk_capabilities.h:78:33: sparse: got unsigned int *
drivers/misc/xlink-pcie/remote_host/../common/mxlk_capabilities.h:90:36: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] <asn:2> * @@ got unsigned short * @@
drivers/misc/xlink-pcie/remote_host/../common/mxlk_capabilities.h:90:36: sparse: expected void [noderef] <asn:2> *
drivers/misc/xlink-pcie/remote_host/../common/mxlk_capabilities.h:90:36: sparse: got unsigned short *
drivers/misc/xlink-pcie/remote_host/../common/mxlk_capabilities.h:102:33: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] <asn:2> * @@ got unsigned short * @@
drivers/misc/xlink-pcie/remote_host/../common/mxlk_capabilities.h:102:33: sparse: expected void [noderef] <asn:2> *
drivers/misc/xlink-pcie/remote_host/../common/mxlk_capabilities.h:102:33: sparse: got unsigned short *
>> drivers/misc/xlink-pcie/remote_host/../common/mxlk_capabilities.h:132:31: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] <asn:2> * @@ got unsigned int [usertype] *tail @@
drivers/misc/xlink-pcie/remote_host/../common/mxlk_capabilities.h:132:31: sparse: expected void [noderef] <asn:2> *
>> drivers/misc/xlink-pcie/remote_host/../common/mxlk_capabilities.h:132:31: sparse: got unsigned int [usertype] *tail
drivers/misc/xlink-pcie/remote_host/../common/mxlk_capabilities.h:126:31: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] <asn:2> * @@ got unsigned int [usertype] *tail @@
drivers/misc/xlink-pcie/remote_host/../common/mxlk_capabilities.h:126:31: sparse: expected void [noderef] <asn:2> *
drivers/misc/xlink-pcie/remote_host/../common/mxlk_capabilities.h:126:31: sparse: got unsigned int [usertype] *tail
--
>> drivers/misc/xlink-pcie/remote_host/../common/mxlk_util.c:28:29: sparse: sparse: incorrect type in return expression (different address spaces) @@ expected unsigned char [usertype] * @@ got unsigned char [noderef] <asn:2> * @@
>> drivers/misc/xlink-pcie/remote_host/../common/mxlk_util.c:28:29: sparse: expected unsigned char [usertype] *
>> drivers/misc/xlink-pcie/remote_host/../common/mxlk_util.c:28:29: sparse: got unsigned char [noderef] <asn:2> *
drivers/misc/xlink-pcie/remote_host/../common/mxlk_util.c:30:29: sparse: sparse: incorrect type in return expression (different address spaces) @@ expected unsigned char [usertype] * @@ got unsigned char [noderef] <asn:2> * @@
drivers/misc/xlink-pcie/remote_host/../common/mxlk_util.c:30:29: sparse: expected unsigned char [usertype] *
drivers/misc/xlink-pcie/remote_host/../common/mxlk_util.c:30:29: sparse: got unsigned char [noderef] <asn:2> *
drivers/misc/xlink-pcie/remote_host/../common/mxlk_util.c:32:29: sparse: sparse: incorrect type in return expression (different address spaces) @@ expected unsigned char [usertype] * @@ got unsigned char [noderef] <asn:2> * @@
drivers/misc/xlink-pcie/remote_host/../common/mxlk_util.c:32:29: sparse: expected unsigned char [usertype] *
drivers/misc/xlink-pcie/remote_host/../common/mxlk_util.c:32:29: sparse: got unsigned char [noderef] <asn:2> *
drivers/misc/xlink-pcie/remote_host/../common/mxlk_util.c:34:29: sparse: sparse: incorrect type in return expression (different address spaces) @@ expected unsigned char [usertype] * @@ got unsigned char [noderef] <asn:2> * @@
drivers/misc/xlink-pcie/remote_host/../common/mxlk_util.c:34:29: sparse: expected unsigned char [usertype] *
drivers/misc/xlink-pcie/remote_host/../common/mxlk_util.c:34:29: sparse: got unsigned char [noderef] <asn:2> *
drivers/misc/xlink-pcie/remote_host/../common/mxlk_util.c:36:29: sparse: sparse: incorrect type in return expression (different address spaces) @@ expected unsigned char [usertype] * @@ got unsigned char [noderef] <asn:2> * @@
drivers/misc/xlink-pcie/remote_host/../common/mxlk_util.c:36:29: sparse: expected unsigned char [usertype] *
drivers/misc/xlink-pcie/remote_host/../common/mxlk_util.c:36:29: sparse: got unsigned char [noderef] <asn:2> *
drivers/misc/xlink-pcie/remote_host/../common/mxlk_util.c:38:29: sparse: sparse: incorrect type in return expression (different address spaces) @@ expected unsigned char [usertype] * @@ got unsigned char [noderef] <asn:2> * @@
drivers/misc/xlink-pcie/remote_host/../common/mxlk_util.c:38:29: sparse: expected unsigned char [usertype] *
drivers/misc/xlink-pcie/remote_host/../common/mxlk_util.c:38:29: sparse: got unsigned char [noderef] <asn:2> *
>> drivers/misc/xlink-pcie/remote_host/../common/mxlk_util.c:46:50: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] <asn:2> * @@ got unsigned char [usertype] * @@
>> drivers/misc/xlink-pcie/remote_host/../common/mxlk_util.c:46:50: sparse: expected void [noderef] <asn:2> *
>> drivers/misc/xlink-pcie/remote_host/../common/mxlk_util.c:46:50: sparse: got unsigned char [usertype] *
drivers/misc/xlink-pcie/remote_host/../common/mxlk_util.c:52:49: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] <asn:2> * @@ got unsigned char [usertype] * @@
drivers/misc/xlink-pcie/remote_host/../common/mxlk_util.c:52:49: sparse: expected void [noderef] <asn:2> *
drivers/misc/xlink-pcie/remote_host/../common/mxlk_util.c:52:49: sparse: got unsigned char [usertype] *
vim +127 drivers/misc/xlink-pcie/remote_host/mxlk_core.c
116
117 static int mxlk_txrx_init(struct mxlk *mxlk, struct mxlk_cap_txrx *cap)
118 {
119 int rc;
120 int index;
121 int ndesc;
122 struct mxlk_buf_desc *bd;
123 struct mxlk_stream *tx = &mxlk->tx;
124 struct mxlk_stream *rx = &mxlk->rx;
125
126 mxlk->txrx = cap;
> 127 mxlk->fragment_size = ioread32(&cap->fragment_size);
128 mxlk->stop_flag = false;
129
> 130 tx->pipe.ndesc = ioread32(&cap->tx.ndesc);
131 tx->pipe.head = &cap->tx.head;
132 tx->pipe.tail = &cap->tx.tail;
133 tx->pipe.old = ioread32(&cap->tx.tail);
> 134 tx->pipe.tdr = (void __iomem *)mxlk->mmio + ioread32(&cap->tx.ring);
135
136 tx->ddr = kcalloc(tx->pipe.ndesc, sizeof(struct mxlk_buf_desc *),
137 GFP_KERNEL);
138 if (!tx->ddr) {
139 rc = -ENOMEM;
140 goto error;
141 }
142
143 rx->pipe.ndesc = ioread32(&cap->rx.ndesc);
144 rx->pipe.head = &cap->rx.head;
145 rx->pipe.tail = &cap->rx.tail;
146 rx->pipe.old = ioread32(&cap->rx.head);
147 rx->pipe.tdr = (void __iomem *)mxlk->mmio + ioread32(&cap->rx.ring);
148
149 rx->ddr = kcalloc(rx->pipe.ndesc, sizeof(struct mxlk_buf_desc *),
150 GFP_KERNEL);
151 if (!rx->ddr) {
152 rc = -ENOMEM;
153 goto error;
154 }
155
156 mxlk_list_init(&mxlk->rx_pool);
157 rx_pool_size = roundup(rx_pool_size, mxlk->fragment_size);
158 ndesc = rx_pool_size / mxlk->fragment_size;
159
160 for (index = 0; index < ndesc; index++) {
161 bd = mxlk_alloc_bd(mxlk->fragment_size);
162 if (bd) {
163 mxlk_list_put(&mxlk->rx_pool, bd);
164 } else {
165 rc = -ENOMEM;
166 goto error;
167 }
168 }
169
170 mxlk_list_init(&mxlk->tx_pool);
171 tx_pool_size = roundup(tx_pool_size, mxlk->fragment_size);
172 ndesc = tx_pool_size / mxlk->fragment_size;
173
174 for (index = 0; index < ndesc; index++) {
175 bd = mxlk_alloc_bd(mxlk->fragment_size);
176 if (bd) {
177 mxlk_list_put(&mxlk->tx_pool, bd);
178 } else {
179 rc = -ENOMEM;
180 goto error;
181 }
182 }
183
184 for (index = 0; index < rx->pipe.ndesc; index++) {
185 struct mxlk_transfer_desc *td = rx->pipe.tdr + index;
186
187 bd = mxlk_alloc_rx_bd(mxlk);
188 if (!bd) {
189 rc = -ENOMEM;
190 goto error;
191 }
192
193 if (mxlk_map_dma(mxlk, bd, DMA_FROM_DEVICE)) {
194 dev_err(mxlk_to_dev(mxlk), "failed to map rx bd\n");
195 rc = -ENOMEM;
196 goto error;
197 }
198
199 rx->ddr[index] = bd;
200 mxlk_set_td_address(td, bd->phys);
201 mxlk_set_td_length(td, bd->length);
202 }
203
204 return 0;
205
206 error:
207 mxlk_txrx_cleanup(mxlk);
208
209 return rc;
210 }
211
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 36372 bytes --]
next reply other threads:[~2020-11-19 3:19 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-11-19 3:19 kernel test robot [this message]
-- strict thread matches above, loose matches on Subject: below --
2021-08-03 19:24 [intel-linux-intel-lts:5.4/yocto 414/1142] drivers/misc/xlink-pcie/remote_host/mxlk_core.c:127:41: sparse: sparse: incorrect type in argument 1 (different address spaces) kernel test robot
2021-08-08 23:14 kernel test robot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202011191103.98ys3Po3-lkp@intel.com \
--to=lkp@intel.com \
--cc=kbuild-all@lists.01.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.