Lines Matching defs:mq
122 void (*callback) (struct mapleq *mq),
140 struct mapleq *mq;
143 mq = mdev->mq;
144 kmem_cache_free(maple_queue_cache, mq->recvbuf);
145 kfree(mq);
172 mdev->mq->command = command;
173 mdev->mq->length = length;
176 mdev->mq->sendbuf = sendbuf;
179 list_add_tail(&mdev->mq->list, &maple_waitq);
188 struct mapleq *mq;
190 mq = kzalloc(sizeof(*mq), GFP_KERNEL);
191 if (!mq)
194 INIT_LIST_HEAD(&mq->list);
195 mq->dev = mdev;
196 mq->recvbuf = kmem_cache_zalloc(maple_queue_cache, GFP_KERNEL);
197 if (!mq->recvbuf)
199 mq->recvbuf->buf = &((mq->recvbuf->bufx)[0]);
201 return mq;
204 kfree(mq);
225 mdev->mq = maple_allocq(mdev);
227 if (!mdev->mq) {
239 kmem_cache_free(maple_queue_cache, mdev->mq->recvbuf);
240 kfree(mdev->mq);
247 static void maple_build_block(struct mapleq *mq)
250 unsigned long *lsendbuf = mq->sendbuf;
252 port = mq->dev->port & 3;
253 unit = mq->dev->unit;
254 len = mq->length;
262 *maple_sendptr++ = virt_to_phys(mq->recvbuf->buf);
264 mq->command | (to << 8) | (from << 16) | (len << 24);
273 struct mapleq *mq, *nmq;
293 list_for_each_entry_safe(mq, nmq, &maple_waitq, list) {
294 maple_build_block(mq);
295 list_del_init(&mq->list);
296 list_add_tail(&mq->list, &maple_sentq);
337 recvbuf = mdev->mq->recvbuf->buf;
633 struct mapleq *mq, *nmq;
642 list_for_each_entry_safe(mq, nmq, &maple_sentq, list) {
643 mdev = mq->dev;
644 recvbuf = mq->recvbuf->buf;
648 kfree(mq->sendbuf);
649 list_del_init(&mq->list);
662 mdev->callback(mq);