cregit-Linux how code gets into the kernel

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

Directory: arch/ia64/kernel
// SPDX-License-Identifier: GPL-2.0
/* 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, unsigned long 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 Tomonori4584.91%125.00%
Yang Hongyang47.55%125.00%
Andrzej Pietrasiewicz23.77%125.00%
Krzysztof Kozlowski23.77%125.00%
Total53100.00%4100.00%


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

Contributors

PersonTokensPropCommitsCommitProp
Andrzej Pietrasiewicz3494.44%150.00%
Krzysztof Kozlowski25.56%150.00%
Total36100.00%2100.00%

const 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 Tomonori1794.44%266.67%
Tony 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 Yu4994.23%150.00%
FUJITA Tomonori35.77%150.00%
Total52100.00%2100.00%


Overall Contributors

PersonTokensPropCommitsCommitProp
Fenghua Yu11844.70%17.69%
FUJITA Tomonori9335.23%538.46%
Andrzej Pietrasiewicz3914.77%17.69%
Krzysztof Kozlowski41.52%17.69%
Yang Hongyang41.52%17.69%
Tejun Heo31.14%17.69%
Greg Kroah-Hartman10.38%17.69%
Bart Van Assche10.38%17.69%
Tony Luck10.38%17.69%
Total264100.00%13100.00%
Directory: arch/ia64/kernel
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
Created with cregit.