Lines Matching refs:upr
127 struct slic_upr *upr;
131 list_for_each_entry_safe(upr, tmp, &upr_list->list, list) {
132 list_del(&upr->list);
133 kfree(upr);
139 static void slic_start_upr(struct slic_device *sdev, struct slic_upr *upr)
143 reg = (upr->type == SLIC_UPR_CONFIG) ? SLIC_REG_RCONFIG :
145 slic_write(sdev, reg, lower_32_bits(upr->paddr));
149 static void slic_queue_upr(struct slic_device *sdev, struct slic_upr *upr)
156 INIT_LIST_HEAD(&upr->list);
157 list_add_tail(&upr->list, &upr_list->list);
162 slic_start_upr(sdev, upr);
169 struct slic_upr *upr = NULL;
173 upr = list_first_entry(&upr_list->list, struct slic_upr, list);
174 list_del(&upr->list);
183 /* trigger processing of the next upr in list */
187 return upr;
193 struct slic_upr *upr;
195 upr = kmalloc(sizeof(*upr), GFP_ATOMIC);
196 if (!upr)
198 upr->type = type;
199 upr->paddr = paddr;
201 slic_queue_upr(sdev, upr);
654 struct slic_upr *upr;
656 /* remove upr that caused this irq (always the first entry in list) */
657 upr = slic_dequeue_upr(sdev);
658 if (!upr) {
659 netdev_warn(sdev->netdev, "no upr found on list\n");
663 if (upr->type == SLIC_UPR_LSTAT) {
666 slic_queue_upr(sdev, upr);
671 kfree(upr);
1601 struct slic_upr *upr;
1628 upr = slic_dequeue_upr(sdev);
1629 kfree(upr);