• Home
  • Raw
  • Download

Lines Matching refs:p2p

391 	struct scif_p2p_info *p2p;  in scif_init_p2p_info()  local
399 p2p = kzalloc(sizeof(*p2p), GFP_KERNEL); in scif_init_p2p_info()
400 if (!p2p) in scif_init_p2p_info()
402 p2p->ppi_sg[SCIF_PPI_MMIO] = scif_p2p_setsg(psdev->mmio->pa, in scif_init_p2p_info()
404 if (!p2p->ppi_sg[SCIF_PPI_MMIO]) in scif_init_p2p_info()
406 p2p->sg_nentries[SCIF_PPI_MMIO] = num_mmio_pages; in scif_init_p2p_info()
409 p2p->ppi_sg[SCIF_PPI_APER] = scif_p2p_setsg(psdev->aper->pa, in scif_init_p2p_info()
412 p2p->sg_nentries[SCIF_PPI_APER] = num_aper_chunks; in scif_init_p2p_info()
413 err = dma_map_sg(&sdev->dev, p2p->ppi_sg[SCIF_PPI_MMIO], in scif_init_p2p_info()
417 err = dma_map_sg(&sdev->dev, p2p->ppi_sg[SCIF_PPI_APER], in scif_init_p2p_info()
421 p2p->ppi_da[SCIF_PPI_MMIO] = sg_dma_address(p2p->ppi_sg[SCIF_PPI_MMIO]); in scif_init_p2p_info()
422 p2p->ppi_da[SCIF_PPI_APER] = sg_dma_address(p2p->ppi_sg[SCIF_PPI_APER]); in scif_init_p2p_info()
423 p2p->ppi_len[SCIF_PPI_MMIO] = num_mmio_pages; in scif_init_p2p_info()
424 p2p->ppi_len[SCIF_PPI_APER] = num_aper_pages; in scif_init_p2p_info()
425 p2p->ppi_peer_id = peerdev->node; in scif_init_p2p_info()
426 return p2p; in scif_init_p2p_info()
428 dma_unmap_sg(&sdev->dev, p2p->ppi_sg[SCIF_PPI_MMIO], in scif_init_p2p_info()
429 p2p->sg_nentries[SCIF_PPI_MMIO], DMA_BIDIRECTIONAL); in scif_init_p2p_info()
431 scif_p2p_freesg(p2p->ppi_sg[SCIF_PPI_MMIO]); in scif_init_p2p_info()
432 scif_p2p_freesg(p2p->ppi_sg[SCIF_PPI_APER]); in scif_init_p2p_info()
434 kfree(p2p); in scif_init_p2p_info()
440 struct scif_p2p_info *p2p) in scif_deinit_p2p_info() argument
444 dma_unmap_sg(&sdev->dev, p2p->ppi_sg[SCIF_PPI_MMIO], in scif_deinit_p2p_info()
445 p2p->sg_nentries[SCIF_PPI_MMIO], DMA_BIDIRECTIONAL); in scif_deinit_p2p_info()
446 dma_unmap_sg(&sdev->dev, p2p->ppi_sg[SCIF_PPI_APER], in scif_deinit_p2p_info()
447 p2p->sg_nentries[SCIF_PPI_APER], DMA_BIDIRECTIONAL); in scif_deinit_p2p_info()
448 scif_p2p_freesg(p2p->ppi_sg[SCIF_PPI_MMIO]); in scif_deinit_p2p_info()
449 scif_p2p_freesg(p2p->ppi_sg[SCIF_PPI_APER]); in scif_deinit_p2p_info()
450 kfree(p2p); in scif_deinit_p2p_info()
466 struct scif_p2p_info *p2p; in scif_node_connect() local
484 if (!list_empty(&dev_i->p2p)) { in scif_node_connect()
485 list_for_each_safe(pos, tmp, &dev_i->p2p) { in scif_node_connect()
486 p2p = list_entry(pos, struct scif_p2p_info, ppi_list); in scif_node_connect()
487 if (p2p->ppi_peer_id == dev_j->node) in scif_node_connect()
499 list_add_tail(&p2p_ij->ppi_list, &dev_i->p2p); in scif_node_connect()
500 list_add_tail(&p2p_ji->ppi_list, &dev_j->p2p); in scif_node_connect()
1312 struct scif_p2p_info *p2p; in scif_destroy_p2p() local
1318 list_for_each_safe(pos, tmp, &scifdev->p2p) { in scif_destroy_p2p()
1319 p2p = list_entry(pos, struct scif_p2p_info, ppi_list); in scif_destroy_p2p()
1320 dma_unmap_sg(&scifdev->sdev->dev, p2p->ppi_sg[SCIF_PPI_MMIO], in scif_destroy_p2p()
1321 p2p->sg_nentries[SCIF_PPI_MMIO], in scif_destroy_p2p()
1323 dma_unmap_sg(&scifdev->sdev->dev, p2p->ppi_sg[SCIF_PPI_APER], in scif_destroy_p2p()
1324 p2p->sg_nentries[SCIF_PPI_APER], in scif_destroy_p2p()
1326 scif_p2p_freesg(p2p->ppi_sg[SCIF_PPI_MMIO]); in scif_destroy_p2p()
1327 scif_p2p_freesg(p2p->ppi_sg[SCIF_PPI_APER]); in scif_destroy_p2p()
1329 kfree(p2p); in scif_destroy_p2p()
1335 list_for_each_safe(pos, tmp, &peer_dev->p2p) { in scif_destroy_p2p()
1336 p2p = list_entry(pos, struct scif_p2p_info, ppi_list); in scif_destroy_p2p()
1337 if (p2p->ppi_peer_id == scifdev->node) { in scif_destroy_p2p()
1339 p2p->ppi_sg[SCIF_PPI_MMIO], in scif_destroy_p2p()
1340 p2p->sg_nentries[SCIF_PPI_MMIO], in scif_destroy_p2p()
1343 p2p->ppi_sg[SCIF_PPI_APER], in scif_destroy_p2p()
1344 p2p->sg_nentries[SCIF_PPI_APER], in scif_destroy_p2p()
1346 scif_p2p_freesg(p2p->ppi_sg[SCIF_PPI_MMIO]); in scif_destroy_p2p()
1347 scif_p2p_freesg(p2p->ppi_sg[SCIF_PPI_APER]); in scif_destroy_p2p()
1349 kfree(p2p); in scif_destroy_p2p()