/linux/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/ |
H A D | mem.c | 23 #include "mem.h" 35 struct page **mem; member 45 return nvkm_mem(memory)->target; in nvkm_mem_target() 57 struct nvkm_mem *mem = nvkm_mem(memory); in nvkm_mem_addr() local 58 if (mem->pages == 1 && mem->mem) in nvkm_mem_addr() 59 return mem->dma[0]; in nvkm_mem_addr() 66 return nvkm_mem(memory)->pages << PAGE_SHIFT; in nvkm_mem_size() 73 struct nvkm_mem *mem = nvkm_mem(memory); in nvkm_mem_map_dma() local 75 .memory = &mem->memory, in nvkm_mem_map_dma() 77 .dma = mem->dma, in nvkm_mem_map_dma() [all …]
|
/linux/drivers/gpu/drm/nouveau/ |
H A D | nouveau_mem.c | 37 nouveau_mem_map(struct nouveau_mem *mem, in nouveau_mem_map() argument 46 switch (vmm->object.oclass) { in nouveau_mem_map() 53 args.nv50.kind = mem->kind; in nouveau_mem_map() 54 args.nv50.comp = mem->comp; in nouveau_mem_map() 61 if (mem->mem.type & NVIF_MEM_VRAM) in nouveau_mem_map() 67 args.gf100.kind = mem->kind; in nouveau_mem_map() 72 return -ENOSYS; in nouveau_mem_map() 75 return nvif_vmm_map(vmm, vma->addr, mem->mem.size, &args, argc, &mem->mem, 0); in nouveau_mem_map() 79 nouveau_mem_fini(struct nouveau_mem *mem) in nouveau_mem_fini() argument 81 nvif_vmm_put(&mem->drm->client.vmm.vmm, &mem->vma[1]); in nouveau_mem_fini() [all …]
|
/linux/drivers/gpu/drm/nouveau/nvif/ |
H A D | mem.c | 22 #include <nvif/mem.h> 28 nvif_mem_ctor_map(struct nvif_mmu *mmu, const char *name, u8 type, u64 size, in nvif_mem_ctor_map() argument 29 struct nvif_mem *mem) in nvif_mem_ctor_map() argument 31 int ret = nvif_mem_ctor(mmu, name, mmu->mem, NVIF_MEM_MAPPABLE | type, in nvif_mem_ctor_map() 32 0, size, NULL, 0, mem); in nvif_mem_ctor_map() 34 ret = nvif_object_map(&mem->object, NULL, 0); in nvif_mem_ctor_map() 36 nvif_mem_dtor(mem); in nvif_mem_ctor_map() 42 nvif_mem_dtor(struct nvif_mem *mem) in nvif_mem_dtor() argument 44 nvif_object_dtor(&mem->object); in nvif_mem_dtor() 49 int type, u8 page, u64 size, void *argv, u32 argc, in nvif_mem_ctor_type() argument [all …]
|
/linux/drivers/gpu/drm/i915/ |
H A D | intel_region_ttm.c | 1 // SPDX-License-Identifier: MIT 26 * intel_region_ttm_device_init - Initialize a TTM device 33 struct drm_device *drm = &dev_priv->drm; in intel_region_ttm_device_init() 35 return ttm_device_init(&dev_priv->bdev, i915_ttm_driver(), in intel_region_ttm_device_init() 36 drm->dev, drm->anon_inode->i_mapping, in intel_region_ttm_device_init() 37 drm->vma_offset_manager, false, false); in intel_region_ttm_device_init() 41 * intel_region_ttm_device_fini - Finalize a TTM device 46 ttm_device_fini(&dev_priv->bdev); in intel_region_ttm_device_fini() 51 * driver-private types for now, reserving TTM_PL_VRAM for stolen 54 int intel_region_to_ttm_type(const struct intel_memory_region *mem) in intel_region_to_ttm_type() argument [all …]
|
/linux/tools/perf/ |
H A D | builtin-mem.c | 1 // SPDX-License-Identifier: GPL-2.0 9 #include <subcmd/parse-options.h> 11 #include "util/trace-event.h" 16 #include "util/mem-events.h" 51 struct perf_mem *mem = (struct perf_mem *)opt->value; in parse_record_events() local 56 pr_err("failed: there is no PMU that supports perf mem\n"); in parse_record_events() 57 exit(-1); in parse_record_events() 65 exit(-1); in parse_record_events() 67 mem->operation = 0; in parse_record_events() 71 static int __cmd_record(int argc, const char **argv, struct perf_mem *mem, in __cmd_record() argument [all …]
|
/linux/tools/perf/Documentation/ |
H A D | perf-mem.txt | 1 perf-mem(1) 5 ---- 6 perf-mem - Profile memory accesses 9 -------- 11 'perf mem' [<options>] (record [<command>] | report) 14 ----------- 15 "perf mem record" runs a command and gathers memory operation data 18 "perf mem report" displays the result. It invokes perf report with the 20 and stores are sampled. Use the -t option to limit to loads or stores. 22 Note that on Intel systems the memory latency reported is the use-latency, [all …]
|
/linux/net/core/ |
H A D | xdp.c | 1 // SPDX-License-Identifier: GPL-2.0-only 45 BUILD_BUG_ON(sizeof_field(struct xdp_mem_allocator, mem.id) in xdp_mem_id_hashfn() 56 u32 mem_id = *(u32 *)arg->key; in xdp_mem_id_cmp() 58 return xa->mem.id != mem_id; in xdp_mem_id_cmp() 64 .key_offset = offsetof(struct xdp_mem_allocator, mem.id), 65 .key_len = sizeof_field(struct xdp_mem_allocator, mem 116 xdp_unreg_mem_model(struct xdp_mem_info * mem) xdp_unreg_mem_model() argument 119 int type = mem->type; xdp_unreg_mem_model() local 259 __is_supported_mem_type(enum xdp_mem_type type) __is_supported_mem_type() argument 270 __xdp_reg_mem_model(struct xdp_mem_info * mem,enum xdp_mem_type type,void * allocator) __xdp_reg_mem_model() argument 271 __xdp_reg_mem_model(struct xdp_mem_info * mem,enum xdp_mem_type type,void * allocator) __xdp_reg_mem_model() argument 334 xdp_reg_mem_model(struct xdp_mem_info * mem,enum xdp_mem_type type,void * allocator) xdp_reg_mem_model() argument 335 xdp_reg_mem_model(struct xdp_mem_info * mem,enum xdp_mem_type type,void * allocator) xdp_reg_mem_model() argument 347 xdp_rxq_info_reg_mem_model(struct xdp_rxq_info * xdp_rxq,enum xdp_mem_type type,void * allocator) xdp_rxq_info_reg_mem_model() argument 382 struct xdp_mem_info mem; xdp_reg_page_pool() local 397 struct xdp_mem_info mem = { xdp_unreg_page_pool() local 417 struct xdp_mem_info mem = { xdp_rxq_info_attach_page_pool() local [all...] |
/linux/kernel/module/ |
H A D | tree_lookup.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 14 * Use a latched RB-tree for __module_address(); this allows us to use 26 return (unsigned long)mod_mem->base; in __mod_tree_val() 33 return (unsigned long)mod_mem->size; in __mod_tree_size() 50 return -1; in mod_tree_comp() 66 latch_tree_insert(&node->node, &tree->root, &mod_tree_ops); in __mod_tree_insert() 71 latch_tree_erase(&node->node, &tree->root, &mod_tree_ops); in __mod_tree_remove() 80 for_each_mod_mem_type(type) { in mod_tree_insert() 81 mod->mem[type].mtn.mod = mod; in mod_tree_insert() 82 if (mod->mem[type].size) in mod_tree_insert() [all …]
|
/linux/drivers/pci/hotplug/ |
H A D | ibmphp_res.c | 1 // SPDX-License-Identifier: GPL-2.0+ 7 * Copyright (C) 2001 Greg Kroah-Hartman (greg@kroah.com) 25 static void update_resources(struct bus_node *bus_cur, int type, int rangeno); 29 static int add_bus_range(int type, struct range_node *, struct bus_node *); 49 newbus->busno = busno; in alloc_error_bus() 51 newbus->busno = curr->bus_num; in alloc_error_bus() 52 list_add_tail(&newbus->bus_list, &gbuses); in alloc_error_bus() 69 rs->busno = curr->bus_num; in alloc_resources() 70 rs->devfunc = curr->dev_fun; in alloc_resources() 71 rs->start = curr->start_addr; in alloc_resources() [all …]
|
/linux/drivers/char/agp/ |
H A D | parisc-agp.c | 1 // SPDX-License-Identifier: GPL-2.0-only 5 * Copyright (c) 2006, Kyle McMartin <kyle@parisc-linux.org> 7 * Based on drivers/char/agpgart/hp-agp.c which is 8 * (c) Copyright 2002, 2003 Hewlett-Packard Development Company, L.P. 20 #include <asm/parisc-device.h> 33 int type); 55 .type = 0 71 agp_bridge->current_size = (void *) &parisc_agp_sizes[0]; in parisc_agp_fetch_size() 81 agp_bridge->gart_bus_addr = info->gart_base; in parisc_agp_configure() 82 agp_bridge->capndx = info->lba_cap_offset; in parisc_agp_configure() [all …]
|
H A D | ati-agp.c | 41 { .mask = 1, .type = 0} 60 page_map->real = (unsigned long *) __get_free_page(GFP_KERNEL); in ati_create_page_map() 61 if (page_map->real == NULL) in ati_create_page_map() 62 return -ENOMEM; in ati_create_page_map() 64 set_memory_uc((unsigned long)page_map->real, 1); in ati_create_page_map() 65 err = map_page_into_agp(virt_to_page(page_map->real)); in ati_create_page_map() 67 free_page((unsigned long)page_map->real); in ati_create_page_map() 70 page_map->remapped = page_map->real; in ati_create_page_map() 73 writel(agp_bridge->scratch_page, page_map->remapped+i); in ati_create_page_map() 74 readl(page_map->remapped+i); /* PCI Posting. */ in ati_create_page_map() [all …]
|
H A D | generic.c | 4 * Copyright (C) 2002-2005 Dave Jones. 28 * - Allocate more than order 0 pages to avoid too much linear map splitting. 37 #include <linux/dma-mapping.h> 57 * Generic routines for handling agp_memory structures - 67 clear_bit(key, agp_bridge->key_list); in agp_free_key() 76 bit = find_first_zero_bit(agp_bridge->key_list, MAXKEY); in agp_get_key() 78 set_bit(bit, agp_bridge->key_list); in agp_get_key() 81 return -1; in agp_get_key() 90 void agp_alloc_page_array(size_t size, struct agp_memory *mem) in agp_alloc_page_array() argument 92 mem->pages = kvmalloc(size, GFP_KERNEL); in agp_alloc_page_array() [all …]
|
H A D | alpha-agp.c | 16 alpha_agp_info *agp = agp_bridge->dev_private_data; in alpha_core_agp_vm_fault() 21 dma_addr = vmf->address - vmf->vma->vm_start + agp->aperture.bus_base; in alpha_core_agp_vm_fault() 22 pa = agp->ops->translate(agp, dma_addr); in alpha_core_agp_vm_fault() 24 if (pa == (unsigned long)-EINVAL) in alpha_core_agp_vm_fault() 32 vmf->page = page; in alpha_core_agp_vm_fault() 53 alpha_agp_info *agp = agp_bridge->dev_private_data; in alpha_core_agp_configure() 54 agp_bridge->gart_bus_addr = agp->aperture.bus_base; in alpha_core_agp_configure() 60 alpha_agp_info *agp = agp_bridge->dev_private_data; in alpha_core_agp_cleanup() 62 agp->ops->cleanup(agp); in alpha_core_agp_cleanup() 65 static void alpha_core_agp_tlbflush(struct agp_memory *mem) in alpha_core_agp_tlbflush() argument [all …]
|
H A D | efficeon-agp.c | 11 * NOTE-cpg-040217: 13 * - when compiled as a module, after loading the module, 16 * - no s3 (suspend to ram) testing. 17 * - tested on the efficeon integrated nothbridge for tens 19 * - tested with radeon 9000 and radeon mobility m9 cards 20 * - tested with c3/c4 enabled (with the mobility m9 card) 28 #include <linux/page-flags.h> 31 #include "intel-agp.h" 35 * in the GART mappings - a two-level setup with the 36 * first level being an on-chip 64-entry table. [all …]
|
H A D | sworks-agp.c | 52 page_map->real = (unsigned long *) __get_free_page(GFP_KERNEL); in serverworks_create_page_map() 53 if (page_map->real == NULL) { in serverworks_create_page_map() 54 return -ENOMEM; in serverworks_create_page_map() 57 set_memory_uc((unsigned long)page_map->real, 1); in serverworks_create_page_map() 58 page_map->remapped = page_map->real; in serverworks_create_page_map() 61 writel(agp_bridge->scratch_page, page_map->remapped+i); in serverworks_create_page_map() 69 set_memory_wb((unsigned long)page_map->real, 1); in serverworks_free_page_map() 70 free_page((unsigned long) page_map->real); in serverworks_free_page_map() 83 if (entry->real != NULL) { in serverworks_free_gatt_pages() 102 return -ENOMEM; in serverworks_create_gatt_pages() [all …]
|
H A D | amd-k7-agp.c | 9 #include <linux/page-flags.h> 19 #define AMD_GARTENABLE 0x02 /* In mmio region (16-bit register) */ 20 #define AMD_ATTBASE 0x04 /* In mmio region (32-bit register) */ 21 #define AMD_TLBFLUSH 0x0c /* In mmio region (32-bit register) */ 22 #define AMD_CACHEENTRY 0x10 /* In mmio region (32-bit register) */ 41 page_map->real = (unsigned long *) __get_free_page(GFP_KERNEL); in amd_create_page_map() 42 if (page_map->real == NULL) in amd_create_page_map() 43 return -ENOMEM; in amd_create_page_map() 45 set_memory_uc((unsigned long)page_map->real, 1); in amd_create_page_map() 46 page_map->remapped = page_map->real; in amd_create_page_map() [all …]
|
/linux/drivers/media/platform/mediatek/vcodec/decoder/vdec/ |
H A D | vdec_vp8_req_if.c | 1 // SPDX-License-Identifier: GPL-2.0 8 #include <media/v4l2-mem2mem.h> 9 #include <media/videobuf2-dma-contig.h> 10 #include <uapi/linux/v4l2-controls.h> 28 * struct vdec_vp8_slice_info - decode misc information 38 * @resolution_changed:resolution change flag 1 - changed, 0 - not changed 39 * @frame_header_type: current frame header type 59 * struct vdec_vp8_slice_dpb_info - vp8 reference information 74 * struct vdec_vp8_slice_vsi - VPU shared information 87 * struct vdec_vp8_slice_inst - VP8 decoder instance [all …]
|
/linux/drivers/net/can/softing/ |
H A D | softing_fw.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Copyright (C) 2008-2010 5 * - Kurt Van Dijck, EIA Electronics 17 * Make sure that card->dpram[DPRAM_FCT_HOST] is preset 25 iowrite16(cmd, &card->dpram[DPRAM_FCT_PARAM]); in _softing_fct_cmd() 26 iowrite8(vector >> 8, &card->dpram[DPRAM_FCT_HOST + 1]); in _softing_fct_cmd() 27 iowrite8(vector, &card->dpram[DPRAM_FCT_HOST]); in _softing_fct_cmd() 34 ret = ioread8(&card->dpram[DPRAM_FCT_HOST]) + in _softing_fct_cmd() 35 (ioread8(&card->dpram[DPRAM_FCT_HOST + 1]) << 8); in _softing_fct_cmd() 39 /* read return-value now */ in _softing_fct_cmd() [all …]
|
/linux/tools/testing/selftests/bpf/progs/ |
H A D | verifier_global_ptr_args.c | 1 // SPDX-License-Identifier: GPL-2.0 19 return task->pid + task->tgid; in subprog_trusted_task_nullable() 40 /* known non-NULL */ in trusted_task_arg_nullable() 49 /* known non-NULL after explicit NULL check, just in case */ in trusted_task_arg_nullable() 61 return task->pid + task->tgid; in subprog_trusted_task_nonnull() 66 __msg("R1 type 227 char mem[16]; global() variable [all...] |
/linux/drivers/gpu/drm/nouveau/nvkm/core/ |
H A D | firmware.c | 52 blob->data = kmemdup(fw->data, fw->size, GFP_KERNEL); in nvkm_firmware_load_blob() 53 blob->size = fw->size; in nvkm_firmware_load_blob() 55 if (!blob->data) in nvkm_firmware_load_blob() 56 return -ENOMEM; in nvkm_firmware_load_blob() 63 * nvkm_firmware_get - load firmware from the official nvidia/chip/ directory 76 struct nvkm_device *device = subdev->device; in nvkm_firmware_get() 82 strscpy(cname, device->chip->name, sizeof(cname)); in nvkm_firmware_get() 85 --i; in nvkm_firmware_get() 90 snprintf(f, sizeof(f), "nvidia/%s/%s-%d.bin", cname, fwname, ver); in nvkm_firmware_get() 94 if (!firmware_request_nowarn(fw, f, device->dev)) { in nvkm_firmware_get() [all …]
|
/linux/Documentation/devicetree/bindings/mfd/ |
H A D | rockchip,rk817.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Chris Zhong <zyw@rock-chips.com> 11 - Zhang Qing <zhangqing@rock-chips.com> 21 - rockchip,rk809 22 - rockchip,rk817 30 '#clock-cells': 32 See <dt-bindings/clock/rockchip,rk808.h> for clock IDs. 39 clock-names: [all …]
|
/linux/drivers/net/ethernet/netronome/nfp/bpf/ |
H A D | main.c | 1 // SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 /* Copyright (C) 2017-2018 Netronome Systems, Inc. */ 27 struct nfp_app_bpf *bpf = nn->app->priv; in nfp_net_ebpf_capable() 29 return nn->cap & NFP_NET_CFG_CTRL_BPF && in nfp_net_ebpf_capable() 30 bpf->abi_version && in nfp_net_ebpf_capable() 31 nn_readb(nn, NFP_NET_CFG_BPF_ABI) == bpf->abi_version; in nfp_net_ebpf_capable() 44 return -EINVAL; in nfp_bpf_xdp_offload() 46 running = nn->dp.ctrl & NFP_NET_CFG_CTRL_BPF; in nfp_bpf_xdp_offload() 47 xdp_running = running && nn->xdp_hw.prog; in nfp_bpf_xdp_offload() 52 return -EBUSY; in nfp_bpf_xdp_offload() [all …]
|
/linux/arch/arm/boot/dts/samsung/ |
H A D | exynos5420-arndale-octa.dts | 1 // SPDX-License-Identifier: GPL-2.0 9 /dts-v1/; 11 #include "exynos5420-cpus.dtsi" 12 #include <dt-bindings/gpio/gpio.h> 13 #include <dt-bindings/interrupt-controller/irq.h> 14 #include <dt-bindings/input/input.h> 15 #include <dt-bindings/clock/samsung,s2mps11.h> 19 compatible = "insignal,arndale-octa", "samsung,exynos5420", "samsung,exynos5"; 32 stdout-path = "serial3:115200n8"; 36 compatible = "samsung,secure-firmware"; [all …]
|
/linux/drivers/uio/ |
H A D | uio_fsl_elbc_gpcm.c | 1 // SPDX-License-Identifier: GPL-2.0 9 using the general purpose chip-select mode (GPCM). 17 compatible = "fsl,elbc-gpcm-uio"; 19 elbc-gpcm-br = <0xff810800>; 20 elbc-gpcm-or = <0xffff09f7>; 21 interrupt-parent = <&mpic>; 25 netx5152,init-win0-offset = <0x0>; 29 Only the entries reg (to identify bank) and elbc-gpcm-* (initial BR/OR 31 are optional (as well as any type-specific options such as 32 netx5152,init-win0-offset). As long as no interrupt handler is needed, [all …]
|
/linux/drivers/media/platform/mediatek/mdp3/ |
H A D | mtk-img-ipi.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 5 * Ping-Hsun Wu <ping-hsun.wu@mediatek.com> 14 #include "mtk-mdp3-type.h" 16 /* ISP-MDP generic input information */ 82 u32 flags; /* H-flip, sharpness, dither */ 89 u32 type; /* enum mdp_stream_type */ member 124 #define _CFG_OFST(plat, cfg, ofst) ((void *)(&((cfg)->config_##plat) + (ofst))) 128 #define _CFG_ADDR(plat, cfg, mem) (&((cfg)->config_##plat.mem)) argument 129 #define CFG_ADDR(plat, cfg, mem) \ argument 130 (IS_ERR_OR_NULL(cfg) ? NULL : _CFG_ADDR(plat, cfg, mem)) [all …]
|