cregit-Linux how code gets into the kernel

Release 4.7 arch/ia64/kernel/pci-swiotlb.c

Directory: arch/ia64/kernel
/* Glue code to lib/swiotlb.c */

#include <linux/pci.h>
#include <linux/gfp.h>
#include <linux/cache.h>
#include <linux/module.h>
#include <linux/dma-mapping.h>

#include <asm/swiotlb.h>
#include <asm/dma.h>
#include <asm/iommu.h>
#include <asm/machvec.h>


int swiotlb __read_mostly;

EXPORT_SYMBOL(swiotlb);


static void *ia64_swiotlb_alloc_coherent(struct device *dev, size_t size, dma_addr_t *dma_handle, gfp_t gfp, struct dma_attrs *attrs) { if (dev->coherent_dma_mask != DMA_BIT_MASK(64)) gfp |= GFP_DMA; return swiotlb_alloc_coherent(dev, size, dma_handle, gfp); }

Contributors

PersonTokensPropCommitsCommitProp
fujita tomonorifujita tomonori4583.33%133.33%
andrzej pietrasiewiczandrzej pietrasiewicz59.26%133.33%
yang hongyangyang hongyang47.41%133.33%
Total54100.00%3100.00%


static void ia64_swiotlb_free_coherent(struct device *dev, size_t size, void *vaddr, dma_addr_t dma_addr, struct dma_attrs *attrs) { swiotlb_free_coherent(dev, size, vaddr, dma_addr); }

Contributors

PersonTokensPropCommitsCommitProp
andrzej pietrasiewiczandrzej pietrasiewicz37100.00%1100.00%
Total37100.00%1100.00%

struct dma_map_ops swiotlb_dma_ops = { .alloc = ia64_swiotlb_alloc_coherent, .free = ia64_swiotlb_free_coherent, .map_page = swiotlb_map_page, .unmap_page = swiotlb_unmap_page, .map_sg = swiotlb_map_sg_attrs, .unmap_sg = swiotlb_unmap_sg_attrs, .sync_single_for_cpu = swiotlb_sync_single_for_cpu, .sync_single_for_device = swiotlb_sync_single_for_device, .sync_sg_for_cpu = swiotlb_sync_sg_for_cpu, .sync_sg_for_device = swiotlb_sync_sg_for_device, .dma_supported = swiotlb_dma_supported, .mapping_error = swiotlb_dma_mapping_error, };
void __init swiotlb_dma_init(void) { dma_ops = &swiotlb_dma_ops; swiotlb_init(1); }

Contributors

PersonTokensPropCommitsCommitProp
fujita tomonorifujita tomonori1794.44%266.67%
tony lucktony luck15.56%133.33%
Total18100.00%3100.00%


void __init pci_swiotlb_init(void) { if (!iommu_detected) { #ifdef CONFIG_IA64_GENERIC swiotlb = 1; printk(KERN_INFO "PCI-DMA: Re-initialize machine vector.\n"); machvec_init("dig"); swiotlb_init(1); dma_ops = &swiotlb_dma_ops; #else panic("Unable to find Intel IOMMU"); #endif } }

Contributors

PersonTokensPropCommitsCommitProp
fenghua yufenghua yu4994.23%150.00%
fujita tomonorifujita tomonori35.77%150.00%
Total52100.00%2100.00%


Overall Contributors

PersonTokensPropCommitsCommitProp
fenghua yufenghua yu12446.97%110.00%
fujita tomonorifujita tomonori8732.95%550.00%
andrzej pietrasiewiczandrzej pietrasiewicz4517.05%110.00%
yang hongyangyang hongyang41.52%110.00%
tejun heotejun heo31.14%110.00%
tony lucktony luck10.38%110.00%
Total264100.00%10100.00%
Directory: arch/ia64/kernel
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
{% endraw %}