Home
last modified time | relevance | path

Searched refs:fault (Results 1 - 25 of 32) sorted by relevance

12

/device/soc/rockchip/common/vendor/drivers/gpu/arm/bifrost/mmu/backend/
H A Dmali_kbase_mmu_jm.c57 void kbase_gpu_report_bus_fault_and_kill(struct kbase_context *kctx, struct kbase_as *as, struct kbase_fault *fault) in kbase_gpu_report_bus_fault_and_kill() argument
60 u32 const status = fault->status; in kbase_gpu_report_bus_fault_and_kill()
66 /* terminal fault, print info about the fault */ in kbase_gpu_report_bus_fault_and_kill()
68 "GPU bus fault in AS%d at VA 0x%016llX\n" in kbase_gpu_report_bus_fault_and_kill()
69 "raw fault status: 0x%X\n" in kbase_gpu_report_bus_fault_and_kill()
73 as_no, fault->addr, status, exception_type, kbase_gpu_exception_name(exception_type), exception_data, in kbase_gpu_report_bus_fault_and_kill()
98 struct kbase_fault *fault) in kbase_mmu_report_fault_and_kill()
117 /* decode the fault status */ in kbase_mmu_report_fault_and_kill()
118 exception_type = fault in kbase_mmu_report_fault_and_kill()
97 kbase_mmu_report_fault_and_kill(struct kbase_context *kctx, struct kbase_as *as, const char *reason_str, struct kbase_fault *fault) kbase_mmu_report_fault_and_kill() argument
183 kbase_mmu_interrupt_process(struct kbase_device *kbdev, struct kbase_context *kctx, struct kbase_as *as, struct kbase_fault *fault) kbase_mmu_interrupt_process() argument
298 struct kbase_fault *fault; kbase_mmu_interrupt() local
[all...]
/device/soc/rockchip/common/kernel/drivers/gpu/arm/bifrost/mmu/backend/
H A Dmali_kbase_mmu_jm.c58 struct kbase_as *as, struct kbase_fault *fault) in kbase_gpu_report_bus_fault_and_kill()
61 u32 const status = fault->status; in kbase_gpu_report_bus_fault_and_kill()
67 /* terminal fault, print info about the fault */ in kbase_gpu_report_bus_fault_and_kill()
69 "GPU bus fault in AS%d at VA 0x%016llX\n" in kbase_gpu_report_bus_fault_and_kill()
70 "raw fault status: 0x%X\n" in kbase_gpu_report_bus_fault_and_kill()
74 as_no, fault->addr, in kbase_gpu_report_bus_fault_and_kill()
105 struct kbase_fault *fault) in kbase_mmu_report_fault_and_kill()
123 /* decode the fault status */ in kbase_mmu_report_fault_and_kill()
124 exception_type = fault in kbase_mmu_report_fault_and_kill()
57 kbase_gpu_report_bus_fault_and_kill(struct kbase_context *kctx, struct kbase_as *as, struct kbase_fault *fault) kbase_gpu_report_bus_fault_and_kill() argument
103 kbase_mmu_report_fault_and_kill(struct kbase_context *kctx, struct kbase_as *as, const char *reason_str, struct kbase_fault *fault) kbase_mmu_report_fault_and_kill() argument
201 kbase_mmu_interrupt_process(struct kbase_device *kbdev, struct kbase_context *kctx, struct kbase_as *as, struct kbase_fault *fault) kbase_mmu_interrupt_process() argument
332 struct kbase_fault *fault; kbase_mmu_interrupt() local
[all...]
H A Dmali_kbase_mmu_csf.c60 * submit_work_pagefault() - Submit a work for MMU page fault.
64 * @fault: Data relating to the fault
66 * This function submits a work for reporting the details of MMU fault.
69 struct kbase_fault *fault) in submit_work_pagefault()
82 .status = fault->status, in submit_work_pagefault()
83 .addr = fault->addr, in submit_work_pagefault()
87 * A page fault work item could already be pending for the in submit_work_pagefault()
88 * context's address space, when the page fault occurs for in submit_work_pagefault()
95 "Page fault i in submit_work_pagefault()
68 submit_work_pagefault(struct kbase_device *kbdev, u32 as_nr, struct kbase_fault *fault) submit_work_pagefault() argument
103 kbase_mmu_report_mcu_as_fault_and_reset(struct kbase_device *kbdev, struct kbase_fault *fault) kbase_mmu_report_mcu_as_fault_and_reset() argument
137 kbase_gpu_report_bus_fault_and_kill(struct kbase_context *kctx, struct kbase_as *as, struct kbase_fault *fault) kbase_gpu_report_bus_fault_and_kill() argument
197 kbase_mmu_report_fault_and_kill(struct kbase_context *kctx, struct kbase_as *as, const char *reason_str, struct kbase_fault *fault) kbase_mmu_report_fault_and_kill() argument
277 kbase_mmu_interrupt_process(struct kbase_device *kbdev, struct kbase_context *kctx, struct kbase_as *as, struct kbase_fault *fault) kbase_mmu_interrupt_process() argument
324 struct kbase_fault *fault; kbase_mmu_bus_fault_interrupt() local
375 struct kbase_fault *fault = &as->pf_data; kbase_mmu_interrupt() local
458 struct kbase_fault *fault; kbase_mmu_gpu_fault_worker() local
[all...]
/device/soc/rockchip/common/kernel/drivers/gpu/arm/bifrost/mmu/
H A Dmali_kbase_mmu_internal.h29 * kbase_mmu_report_mcu_as_fault_and_reset - Report page fault for all
31 * @kbdev: The kbase_device the fault happened on
32 * @fault: Data relating to the fault
35 struct kbase_fault *fault);
38 struct kbase_as *as, struct kbase_fault *fault);
42 struct kbase_fault *fault);
59 * kbase_mmu_page_fault_worker() - Process a page fault.
66 * kbase_mmu_bus_fault_worker() - Process a bus fault.
H A Dmali_kbase_mmu.c226 * a region on a GPU page fault
229 * @fault_rel_pfn: PFN of the fault relative to the start of the region
232 * where a GPU page fault occurred and the flags in the region.
235 * @fault_rel_pfn, for example to reduce the overall rate of page fault
346 struct kbase_fault *fault; in kbase_gpu_mmu_handle_write_fault() local
353 fault = &faulting_as->pf_data; in kbase_gpu_mmu_handle_write_fault()
354 fault_pfn = fault->addr >> PAGE_SHIFT; in kbase_gpu_mmu_handle_write_fault()
360 fault->addr); in kbase_gpu_mmu_handle_write_fault()
381 u64 page_addr = fault->addr & PAGE_MASK; in kbase_gpu_mmu_handle_write_fault()
419 struct kbase_fault *fault in kbase_gpu_mmu_handle_permission_fault() local
669 struct kbase_fault *fault; kbase_mmu_page_fault_worker() local
2548 struct kbase_fault *fault; kbase_mmu_bus_fault_worker() local
[all...]
/device/soc/rockchip/common/vendor/drivers/gpu/arm/bifrost/mmu/
H A Dmali_kbase_mmu_internal.h29 * kbase_mmu_report_mcu_as_fault_and_reset - Report page fault for all
31 * @kbdev: The kbase_device the fault happened on
32 * @fault: Data relating to the fault
34 void kbase_mmu_report_mcu_as_fault_and_reset(struct kbase_device *kbdev, struct kbase_fault *fault);
36 void kbase_gpu_report_bus_fault_and_kill(struct kbase_context *kctx, struct kbase_as *as, struct kbase_fault *fault);
39 struct kbase_fault *fault);
55 * kbase_mmu_page_fault_worker() - Process a page fault.
62 * kbase_mmu_bus_fault_worker() - Process a bus fault.
H A Dmali_kbase_mmu.c117 * a region on a GPU page fault
120 * @fault_rel_pfn: PFN of the fault relative to the start of the region
123 * where a GPU page fault occurred and the flags in the region.
126 * @fault_rel_pfn, for example to reduce the overall rate of page fault
211 struct kbase_fault *fault; in kbase_gpu_mmu_handle_write_fault() local
219 fault = &faulting_as->pf_data; in kbase_gpu_mmu_handle_write_fault()
220 fault_pfn = fault->addr >> PAGE_SHIFT; in kbase_gpu_mmu_handle_write_fault()
225 region = kbase_region_tracker_find_region_enclosing_address(kctx, fault->addr); in kbase_gpu_mmu_handle_write_fault()
243 u64 page_addr = fault->addr & PAGE_MASK; in kbase_gpu_mmu_handle_write_fault()
282 struct kbase_fault *fault in kbase_gpu_mmu_handle_permission_fault() local
523 struct kbase_fault *fault; kbase_mmu_page_fault_worker() local
2048 struct kbase_fault *fault; kbase_mmu_bus_fault_worker() local
[all...]
/device/soc/rockchip/common/kernel/drivers/gpu/arm/bifrost/
H A Dmali_linux_trace.h87 * mali_page_fault_insert_pages - Reports an MMU page fault
221 * Tracepoint about a successful grow of a region due to a GPU page fault
224 TP_PROTO(struct kbase_va_region *reg, struct kbase_fault *fault,
226 TP_ARGS(reg, fault, new_pages),
236 __entry->fault_addr = fault->addr;
237 __entry->fault_extra_addr = fault->extra_addr;
239 __entry->status = fault->status;
H A Dmali_kbase_defs.h231 * struct kbase_fault - object containing data relating to a page or bus fault.
233 * @extra_addr: Records the secondary fault address.
234 * @status: Records the fault status as reported by Hw.
235 * @protected_mode: Flag indicating whether the fault occurred in protected mode
293 struct kbase_fault *fault) in kbase_as_has_bus_fault()
295 return (fault == &as->bf_data); in kbase_as_has_bus_fault()
299 struct kbase_fault *fault) in kbase_as_has_page_fault()
301 return (fault == &as->pf_data); in kbase_as_has_page_fault()
310 * on GPU page fault that can be used before the driver
848 * @debugfs_as_read_bitmap: bitmap of address spaces for which the bus or page fault
292 kbase_as_has_bus_fault(struct kbase_as *as, struct kbase_fault *fault) kbase_as_has_bus_fault() argument
298 kbase_as_has_page_fault(struct kbase_as *as, struct kbase_fault *fault) kbase_as_has_page_fault() argument
[all...]
/device/soc/rockchip/common/vendor/drivers/gpu/arm/bifrost/
H A Dmali_linux_trace.h62 * mali_page_fault_insert_pages - Reports an MMU page fault
152 * Tracepoint about a successful grow of a region due to a GPU page fault
155 mali_mmu_page_fault_grow, TP_PROTO(struct kbase_va_region *reg, struct kbase_fault *fault, size_t new_pages),
156 TP_ARGS(reg, fault, new_pages),
159 TP_fast_assign(__entry->start_addr = ((u64)reg->start_pfn) << PAGE_SHIFT; __entry->fault_addr = fault->addr;
160 __entry->fault_extra_addr = fault->extra_addr; __entry->new_pages = new_pages;
161 __entry->status = fault->status;),
H A Dmali_kbase_defs.h227 * struct kbase_fault - object containing data relating to a page or bus fault.
229 * @extra_addr: Records the secondary fault address.
230 * @status: Records the fault status as reported by Hw.
231 * @protected_mode: Flag indicating whether the fault occurred in protected mode
273 static inline int kbase_as_has_bus_fault(struct kbase_as *as, struct kbase_fault *fault) in kbase_as_has_bus_fault() argument
275 return (fault == &as->bf_data); in kbase_as_has_bus_fault()
278 static inline int kbase_as_has_page_fault(struct kbase_as *as, struct kbase_fault *fault) in kbase_as_has_page_fault() argument
280 return (fault == &as->pf_data); in kbase_as_has_page_fault()
289 * on GPU page fault that can be used before the driver
783 * @debugfs_as_read_bitmap: bitmap of address spaces for which the bus or page fault
[all...]
H A Dmali_kbase_mem_linux.c1043 * shareability fault, as it will see the same in kbase_mem_flags_change()
1688 * NULL as the pages argument which will fault the pages, but not in kbase_mem_from_user_buffer()
2289 /* No update required for CPU mappings, that's done on fault. */
2489 * not from the fault location (the mmap handler was previously doing
2514 .fault = kbase_cpu_vm_fault};
2618 * helps avoid segmentation fault issue during vector dumping of
3383 .fault = kbase_csf_user_io_pages_vm_fault};
3499 .close = kbase_csf_user_reg_vm_close, .fault = kbase_csf_user_reg_vm_fault};
/device/soc/rockchip/rk3588/kernel/include/trace/hooks/
H A Dfault.h3 #define TRACE_SYSTEM fault
/device/soc/rockchip/common/vendor/drivers/gpu/arm/bifrost/csf/
H A Dmali_kbase_csf.h180 * kbase_csf_ctx_handle_fault - Terminate queue groups & notify fault upon
181 * GPU bus fault, MMU page fault or similar.
184 * notifies the event notification thread of the fault.
187 * @fault: Pointer to the fault.
189 void kbase_csf_ctx_handle_fault(struct kbase_context *kctx, struct kbase_fault *fault);
/device/soc/rockchip/common/kernel/drivers/gpu/arm/bifrost/csf/
H A Dmali_kbase_csf.h60 * kbase_csf_ctx_handle_fault - Terminate queue groups & notify fault upon
61 * GPU bus fault, MMU page fault or similar.
64 * @fault: Pointer to the fault.
67 * notifies the event notification thread of the fault.
70 struct kbase_fault *fault);
H A Dmali_kbase_csf_firmware_no_mali.c460 * handle_internal_firmware_fatal - Handler for CS internal firmware fault.
474 struct kbase_fault fault; in handle_internal_firmware_fatal() local
479 /* Only handle the fault for an active address space. Lock is in handle_internal_firmware_fatal()
494 fault = (struct kbase_fault) { in handle_internal_firmware_fatal()
498 kbase_csf_ctx_handle_fault(kctx, &fault); in handle_internal_firmware_fatal()
H A Dmali_kbase_csf.c246 * attributes as used inside the CPU page fault handler. in kernel_map_user_io_pages()
1758 struct kbase_fault *fault) in kbase_csf_ctx_handle_fault()
1769 if (WARN_ON(!fault)) in kbase_csf_ctx_handle_fault()
1784 .sideband = fault->addr, in kbase_csf_ctx_handle_fault()
1785 .status = fault->status, in kbase_csf_ctx_handle_fault()
2054 * on address-space fault, the group is pending to be killed. So skip in kbase_queue_oom_event()
2193 * thread of progress timeout fault for the GPU command queue group.
2221 * handle_fault_event - Handler for CS fault.
2223 * @queue: Pointer to queue for which fault event was received.
2227 * Prints meaningful CS fault informatio
1757 kbase_csf_ctx_handle_fault(struct kbase_context *kctx, struct kbase_fault *fault) kbase_csf_ctx_handle_fault() argument
[all...]
H A Dmali_kbase_csf_firmware.c1216 * handle_internal_firmware_fatal - Handler for CS internal firmware fault.
1230 struct kbase_fault fault; in handle_internal_firmware_fatal() local
1235 /* Only handle the fault for an active address space. Lock is in handle_internal_firmware_fatal()
1250 fault = (struct kbase_fault) { in handle_internal_firmware_fatal()
1254 kbase_csf_ctx_handle_fault(kctx, &fault); in handle_internal_firmware_fatal()
/device/soc/rockchip/common/kernel/drivers/gpu/arm/mali400/ump/linux/
H A Dump_osk_low_level_mem.c50 .fault = ump_cpu_page_fault_handler
57 * Page fault for VMA region
70 MSG_ERR(("Page-fault in UMP memory region caused by the CPU\n")); in ump_cpu_page_fault_handler()
/device/soc/rockchip/common/vendor/drivers/gpu/arm/mali400/mali/linux/
H A Dmali_memory.c83 /* check if use page fault to do COW */ in mali_mem_vma_fault()
96 we zap the mapping in cow_modify_range, it will trigger page fault in mali_mem_vma_fault()
120 ("Mali swap memory page fault process failed, address=0x%x\n", address)); in mali_mem_vma_fault()
126 MALI_PRINT_ERROR(("Mali vma fault! It never happen, indicating some logic errors in caller.\n")); in mali_mem_vma_fault()
136 .fault = mali_mem_vma_fault,
233 /* add VM_WRITE for do_page_fault will check this when a write fault */ in mali_mmap()
251 /* For swappable memory, CPU page table will be created by page fault handler. */ in mali_mmap()
/device/soc/rockchip/common/sdk_linux/include/linux/mmc/
H A Dhost.h12 #include <linux/fault-inject.h>
/device/soc/rockchip/common/kernel/drivers/gpu/arm/mali400/mali/linux/
H A Dmali_memory.c85 /*check if use page fault to do COW*/ in mali_mem_vma_fault()
98 we zap the mapping in cow_modify_range, it will trigger page fault in mali_mem_vma_fault()
121 MALI_DEBUG_PRINT(2, ("Mali swap memory page fault process failed, address=0x%x\n", address)); in mali_mem_vma_fault()
127 MALI_PRINT_ERROR(("Mali vma fault! It never happen, indicating some logic errors in caller.\n")); in mali_mem_vma_fault()
137 .fault = mali_mem_vma_fault,
234 /* add VM_WRITE for do_page_fault will check this when a write fault */ in mali_mmap()
251 /*For swappable memory, CPU page table will be created by page fault handler. */ in mali_mmap()
/device/soc/rockchip/common/sdk_linux/drivers/dma-buf/heaps/
H A Dcma_heap.c176 .fault = cma_heap_vm_fault,
/device/soc/rockchip/common/sdk_linux/drivers/iommu/
H A Diommu.c1053 * iommu_register_device_fault_handler() - Register a device fault handler
1055 * @handler: the fault handler
1058 * When an IOMMU fault event is received, this handler gets called with the
1059 * fault event and data as argument. The handler should return 0 on success. If
1060 * the fault is recoverable (IOMMU_FAULT_PAGE_REQ), the consumer should also
1061 * complete the fault by calling iommu_page_response() with one of the following
1064 * - IOMMU_PAGE_RESP_INVALID: terminate the fault
1065 * - IOMMU_PAGE_RESP_FAILURE: terminate the fault and stop reporting
1068 * Return 0 if the fault handler was installed successfully, or an error.
1080 /* Only allow one fault handle in iommu_register_device_fault_handler()
[all...]
/device/soc/rockchip/common/sdk_linux/ipc/
H A Dshm.c522 return sfd->vm_ops->fault(vmf); in shm_fault()
600 WARN_ON(!sfd->vm_ops->fault); in shm_mmap()
675 .fault = shm_fault,

Completed in 36 milliseconds

12