Lines Matching defs:udev
108 struct cnic_uio_dev *udev = uinfo->priv;
114 if (udev->uio_dev != -1)
118 dev = udev->dev;
125 udev->uio_dev = iminor(inode);
136 struct cnic_uio_dev *udev = uinfo->priv;
138 udev->uio_dev = -1;
326 struct cnic_uio_dev *udev = cp->udev;
329 if (!udev || udev->uio_dev == -1)
840 static void __cnic_free_uio_rings(struct cnic_uio_dev *udev)
842 if (udev->l2_buf) {
843 dma_free_coherent(&udev->pdev->dev, udev->l2_buf_size,
844 udev->l2_buf, udev->l2_buf_map);
845 udev->l2_buf = NULL;
848 if (udev->l2_ring) {
849 dma_free_coherent(&udev->pdev->dev, udev->l2_ring_size,
850 udev->l2_ring, udev->l2_ring_map);
851 udev->l2_ring = NULL;
856 static void __cnic_free_uio(struct cnic_uio_dev *udev)
858 uio_unregister_device(&udev->cnic_uinfo);
860 __cnic_free_uio_rings(udev);
862 pci_dev_put(udev->pdev);
863 kfree(udev);
866 static void cnic_free_uio(struct cnic_uio_dev *udev)
868 if (!udev)
872 list_del_init(&udev->list);
874 __cnic_free_uio(udev);
880 struct cnic_uio_dev *udev = cp->udev;
882 if (udev) {
883 udev->dev = NULL;
884 cp->udev = NULL;
885 if (udev->uio_dev == -1)
886 __cnic_free_uio_rings(udev);
1021 static int __cnic_alloc_uio_rings(struct cnic_uio_dev *udev, int pages)
1023 struct cnic_local *cp = udev->dev->cnic_priv;
1025 if (udev->l2_ring)
1028 udev->l2_ring_size = pages * CNIC_PAGE_SIZE;
1029 udev->l2_ring = dma_alloc_coherent(&udev->pdev->dev, udev->l2_ring_size,
1030 &udev->l2_ring_map, GFP_KERNEL);
1031 if (!udev->l2_ring)
1034 udev->l2_buf_size = (cp->l2_rx_ring_size + 1) * cp->l2_single_buf_size;
1035 udev->l2_buf_size = CNIC_PAGE_ALIGN(udev->l2_buf_size);
1036 udev->l2_buf = dma_alloc_coherent(&udev->pdev->dev, udev->l2_buf_size,
1037 &udev->l2_buf_map, GFP_KERNEL);
1038 if (!udev->l2_buf) {
1039 __cnic_free_uio_rings(udev);
1050 struct cnic_uio_dev *udev;
1052 list_for_each_entry(udev, &cnic_udev_list, list) {
1053 if (udev->pdev == dev->pcidev) {
1054 udev->dev = dev;
1055 if (__cnic_alloc_uio_rings(udev, pages)) {
1056 udev->dev = NULL;
1059 cp->udev = udev;
1064 udev = kzalloc(sizeof(struct cnic_uio_dev), GFP_ATOMIC);
1065 if (!udev)
1068 udev->uio_dev = -1;
1070 udev->dev = dev;
1071 udev->pdev = dev->pcidev;
1073 if (__cnic_alloc_uio_rings(udev, pages))
1076 list_add(&udev->list, &cnic_udev_list);
1078 pci_dev_get(udev->pdev);
1080 cp->udev = udev;
1085 kfree(udev);
1092 struct cnic_uio_dev *udev = cp->udev;
1096 if (!udev)
1099 uinfo = &udev->cnic_uinfo;
1128 uinfo->mem[2].addr = (unsigned long) udev->l2_ring;
1129 uinfo->mem[2].size = udev->l2_ring_size;
1132 uinfo->mem[3].addr = (unsigned long) udev->l2_buf;
1133 uinfo->mem[3].size = udev->l2_buf_size;
1142 if (udev->uio_dev == -1) {
1144 uinfo->priv = udev;
1146 ret = uio_register_device(&udev->pdev->dev, uinfo);
2913 struct cnic_uio_dev *udev = cp->udev;
2915 (udev->l2_ring + (2 * CNIC_PAGE_SIZE));
2961 if (cp->udev)
2962 uio_event_notify(&cp->udev->cnic_uinfo);
4529 struct cnic_uio_dev *udev = cp->udev;
4534 dma_addr_t buf_map, ring_map = udev->l2_ring_map;
4576 txbd = udev->l2_ring;
4578 buf_map = udev->l2_buf_map;
4596 struct cnic_uio_dev *udev = cp->udev;
4601 dma_addr_t ring_map = udev->l2_ring_map;
4635 rxbd = udev->l2_ring + CNIC_PAGE_SIZE;
4640 buf_map = udev->l2_buf_map + (n * cp->l2_single_buf_size);
4916 struct cnic_uio_dev *udev = cp->udev;
4917 union eth_tx_bd_types *txbd = (union eth_tx_bd_types *) udev->l2_ring;
4918 dma_addr_t buf_map, ring_map = udev->l2_ring_map;
4926 buf_map = udev->l2_buf_map;
4982 struct cnic_uio_dev *udev = cp->udev;
4983 struct eth_rx_bd *rxbd = (struct eth_rx_bd *) (udev->l2_ring +
4986 (udev->l2_ring + (2 * CNIC_PAGE_SIZE));
4992 dma_addr_t ring_map = udev->l2_ring_map;
5005 buf_map = udev->l2_buf_map + (n * cp->l2_single_buf_size);
5163 struct cnic_uio_dev *udev = cp->udev;
5197 data = udev->l2_buf;
5198 cid_ptr = udev->l2_buf + 12;
5207 l5_data.phy_address.lo = udev->l2_buf_map & 0xffffffff;
5208 l5_data.phy_address.hi = (u64) udev->l2_buf_map >> 32;
5234 struct cnic_uio_dev *udev = cp->udev;
5272 rx_ring = udev->l2_ring + CNIC_PAGE_SIZE;
5415 while (cp->udev && cp->udev->uio_dev != -1 && i < 15) {
5750 struct cnic_uio_dev *udev;
5753 udev = list_entry(cnic_udev_list.next, struct cnic_uio_dev,
5755 cnic_free_uio(udev);