/device/soc/rockchip/common/vendor/drivers/gpu/arm/bifrost/mmu/backend/ |
H A D | mali_kbase_mmu_jm.c | 6 * GNU General Public License version 2 as published by the Free Software 57 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 63 int const as_no = as->number; in kbase_gpu_report_bus_fault_and_kill() 89 kbase_mmu_hw_clear_fault(kbdev, as, KBASE_MMU_FAULT_TYPE_BUS_UNEXPECTED); in kbase_gpu_report_bus_fault_and_kill() 90 kbase_mmu_hw_enable_fault(kbdev, as, KBASE_MMU_FAULT_TYPE_BUS_UNEXPECTED); in kbase_gpu_report_bus_fault_and_kill() 97 void kbase_mmu_report_fault_and_kill(struct kbase_context *kctx, struct kbase_as *as, const char *reason_str, in kbase_mmu_report_fault_and_kill() argument 108 as_no = as->number; in kbase_mmu_report_fault_and_kill() 169 kbase_mmu_hw_clear_fault(kbdev, as, KBASE_MMU_FAULT_TYPE_PAGE_UNEXPECTED); in kbase_mmu_report_fault_and_kill() 170 kbase_mmu_hw_enable_fault(kbdev, as, KBASE_MMU_FAULT_TYPE_PAGE_UNEXPECTED); in kbase_mmu_report_fault_and_kill() 178 * @as 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 295 struct kbase_as *as; kbase_mmu_interrupt() local [all...] |
/device/soc/rockchip/common/kernel/drivers/gpu/arm/bifrost/mmu/backend/ |
H A D | mali_kbase_mmu_jm.c | 7 * GNU General Public License version 2 as published by the Free Software 58 struct kbase_as *as, struct kbase_fault *fault) in kbase_gpu_report_bus_fault_and_kill() 64 int const as_no = as->number; in kbase_gpu_report_bus_fault_and_kill() 93 kbase_mmu_hw_clear_fault(kbdev, as, in kbase_gpu_report_bus_fault_and_kill() 95 kbase_mmu_hw_enable_fault(kbdev, as, in kbase_gpu_report_bus_fault_and_kill() 104 struct kbase_as *as, const char *reason_str, in kbase_mmu_report_fault_and_kill() 115 as_no = as->number; in kbase_mmu_report_fault_and_kill() 184 kbase_mmu_hw_clear_fault(kbdev, as, in kbase_mmu_report_fault_and_kill() 186 kbase_mmu_hw_enable_fault(kbdev, as, in kbase_mmu_report_fault_and_kill() 196 * @as 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 329 struct kbase_as *as; kbase_mmu_interrupt() local [all...] |
H A D | mali_kbase_mmu_csf.c | 7 * GNU General Public License version 2 as published by the Free Software 72 struct kbase_as *const as = &kbdev->as[as_nr]; in submit_work_pagefault() local 81 as->pf_data = (struct kbase_fault) { in submit_work_pagefault() 91 if (!queue_work(as->pf_wq, &as->work_pagefault)) in submit_work_pagefault() 95 "Page fault is already pending for as %u\n", in submit_work_pagefault() 138 struct kbase_as *as, struct kbase_fault *fault) in kbase_gpu_report_bus_fault_and_kill() 150 int as_no = as->number; in kbase_gpu_report_bus_fault_and_kill() 182 * affected as the in kbase_gpu_report_bus_fault_and_kill() 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 323 struct kbase_as *as; kbase_mmu_bus_fault_interrupt() local 374 struct kbase_as *as = &kbdev->as[as_no]; kbase_mmu_interrupt() local 512 struct kbase_as *const as = &kbdev->as[as_nr]; submit_work_gpufault() local 538 int as; kbase_mmu_gpu_fault_interrupt() local [all...] |
/device/soc/rockchip/common/vendor/drivers/gpu/arm/midgard/backend/gpu/ |
H A D | mali_kbase_mmu_hw_direct.c | 6 * GNU General Public License version 2 as published by the Free Software 147 struct kbase_as *as; in kbase_mmu_interrupt() local 156 as = &kbdev->as[as_no]; in kbase_mmu_interrupt() 171 as->fault_addr = kbase_reg_read(kbdev, MMU_AS_REG(as_no, AS_FAULTADDRESS_HI), kctx); in kbase_mmu_interrupt() 172 as->fault_addr <<= 0x20; in kbase_mmu_interrupt() 173 as->fault_addr |= kbase_reg_read(kbdev, MMU_AS_REG(as_no, AS_FAULTADDRESS_LO), kctx); in kbase_mmu_interrupt() 176 as->protected_mode = kbdev->protected_mode; in kbase_mmu_interrupt() 178 if (kbdev->protected_mode && as->fault_addr) { in kbase_mmu_interrupt() 187 as in kbase_mmu_interrupt() 229 kbase_mmu_hw_configure(struct kbase_device *kbdev, struct kbase_as *as, struct kbase_context *kctx) kbase_mmu_hw_configure() argument 273 kbase_mmu_hw_do_operation(struct kbase_device *kbdev, struct kbase_as *as, struct kbase_context *kctx, u64 vpfn, u32 nr, u32 op, unsigned int handling_irq) kbase_mmu_hw_do_operation() argument 320 kbase_mmu_hw_clear_fault(struct kbase_device *kbdev, struct kbase_as *as, struct kbase_context *kctx, enum kbase_mmu_fault_type type) kbase_mmu_hw_clear_fault() argument 348 kbase_mmu_hw_enable_fault(struct kbase_device *kbdev, struct kbase_as *as, struct kbase_context *kctx, enum kbase_mmu_fault_type type) kbase_mmu_hw_enable_fault() argument [all...] |
/device/soc/rockchip/common/kernel/drivers/gpu/arm/midgard/backend/gpu/ |
H A D | mali_kbase_mmu_hw_direct.c | 6 * GNU General Public License version 2 as published by the Free Software 151 struct kbase_as *as; in kbase_mmu_interrupt() local 160 as = &kbdev->as[as_no]; in kbase_mmu_interrupt() 176 as->fault_addr = kbase_reg_read(kbdev, in kbase_mmu_interrupt() 180 as->fault_addr <<= 32; in kbase_mmu_interrupt() 181 as->fault_addr |= kbase_reg_read(kbdev, in kbase_mmu_interrupt() 187 as->protected_mode = kbdev->protected_mode; in kbase_mmu_interrupt() 189 if (kbdev->protected_mode && as->fault_addr) in kbase_mmu_interrupt() 199 as in kbase_mmu_interrupt() 251 kbase_mmu_hw_configure(struct kbase_device *kbdev, struct kbase_as *as, struct kbase_context *kctx) kbase_mmu_hw_configure() argument 302 kbase_mmu_hw_do_operation(struct kbase_device *kbdev, struct kbase_as *as, struct kbase_context *kctx, u64 vpfn, u32 nr, u32 op, unsigned int handling_irq) kbase_mmu_hw_do_operation() argument 352 kbase_mmu_hw_clear_fault(struct kbase_device *kbdev, struct kbase_as *as, struct kbase_context *kctx, enum kbase_mmu_fault_type type) kbase_mmu_hw_clear_fault() argument 379 kbase_mmu_hw_enable_fault(struct kbase_device *kbdev, struct kbase_as *as, struct kbase_context *kctx, enum kbase_mmu_fault_type type) kbase_mmu_hw_enable_fault() argument [all...] |
/device/soc/rockchip/common/kernel/drivers/gpu/arm/bifrost/mmu/ |
H A D | mali_kbase_mmu_hw_direct.c | 7 * GNU General Public License version 2 as published by the Free Software 45 * The size is expressed as a logarithm minus one: 46 * - A value of 14 is thus interpreted as log(32 kB) = 15, where 32 kB 48 * - Likewise, a value of 47 is interpreted as log(256 TB) = 48, where 256 TB 77 * The size of the MMU lock region can be defined as the in lock_region() 100 * and the region size (as a logarithm) is 16 + 1 = 17, i.e. 128 kB. in lock_region() 118 * Lower bits are used for the size, which is represented as in lock_region() 159 void kbase_mmu_hw_configure(struct kbase_device *kbdev, struct kbase_as *as) in kbase_mmu_hw_configure() argument 161 struct kbase_mmu_setup *current_setup = &as->current_setup; in kbase_mmu_hw_configure() 186 kbase_reg_write(kbdev, MMU_AS_REG(as in kbase_mmu_hw_configure() 209 kbase_mmu_hw_do_operation(struct kbase_device *kbdev, struct kbase_as *as, struct kbase_mmu_hw_op_param *op_param) kbase_mmu_hw_do_operation() argument 298 kbase_mmu_hw_clear_fault(struct kbase_device *kbdev, struct kbase_as *as, enum kbase_mmu_fault_type type) kbase_mmu_hw_clear_fault() argument 326 kbase_mmu_hw_enable_fault(struct kbase_device *kbdev, struct kbase_as *as, enum kbase_mmu_fault_type type) kbase_mmu_hw_enable_fault() argument [all...] |
H A D | mali_kbase_mmu_mode_aarch64.c | 7 * GNU General Public License version 2 as published by the Free Software 59 struct kbase_as *as; in mmu_update() local 65 as = &kbdev->as[as_nr]; in mmu_update() 66 current_setup = &as->current_setup; in mmu_update() 71 kbase_mmu_hw_configure(kbdev, as); in mmu_update() 76 struct kbase_as * const as = &kbdev->as[as_nr]; in mmu_disable_as() local 77 struct kbase_mmu_setup * const current_setup = &as->current_setup; in mmu_disable_as() 83 kbase_mmu_hw_configure(kbdev, as); in mmu_disable_as() [all...] |
H A D | mali_kbase_mmu_hw.h | 7 * GNU General Public License version 2 as published by the Free Software 96 * @as: address space to configure. 102 struct kbase_as *as); 107 * @as: address space to issue the MMU operation on. 115 int kbase_mmu_hw_do_operation(struct kbase_device *kbdev, struct kbase_as *as, 122 * @as: address space to clear the fault from. 127 void kbase_mmu_hw_clear_fault(struct kbase_device *kbdev, struct kbase_as *as, 134 * @as: address space to again enable the fault from. 141 void kbase_mmu_hw_enable_fault(struct kbase_device *kbdev, struct kbase_as *as,
|
H A D | mali_kbase_mmu_internal.h | 7 * GNU General Public License version 2 as published by the Free Software 38 struct kbase_as *as, struct kbase_fault *fault); 41 struct kbase_as *as, const char *reason_str,
|
/device/soc/rockchip/common/vendor/drivers/gpu/arm/bifrost/mmu/ |
H A D | mali_kbase_mmu_hw_direct.c | 6 * GNU General Public License version 2 as published by the Free Software 40 * The size is expressed as a logarithm: it is represented in a way 55 /* The size is expressed as a logarithm and should take into account in lock_region() 126 void kbase_mmu_hw_configure(struct kbase_device *kbdev, struct kbase_as *as) in kbase_mmu_hw_configure() argument 128 struct kbase_mmu_setup *current_setup = &as->current_setup; in kbase_mmu_hw_configure() 154 kbase_reg_write(kbdev, MMU_AS_REG(as->number, AS_TRANSCFG_LO), transcfg); in kbase_mmu_hw_configure() 155 kbase_reg_write(kbdev, MMU_AS_REG(as->number, AS_TRANSCFG_HI), (transcfg >> 0x20) & 0xFFFFFFFFUL); in kbase_mmu_hw_configure() 162 kbase_reg_write(kbdev, MMU_AS_REG(as->number, AS_TRANSTAB_LO), current_setup->transtab & 0xFFFFFFFFUL); in kbase_mmu_hw_configure() 163 kbase_reg_write(kbdev, MMU_AS_REG(as->number, AS_TRANSTAB_HI), (current_setup->transtab >> 0x20) & 0xFFFFFFFFUL); in kbase_mmu_hw_configure() 165 kbase_reg_write(kbdev, MMU_AS_REG(as in kbase_mmu_hw_configure() 173 kbase_mmu_hw_do_operation(struct kbase_device *kbdev, struct kbase_as *as, u64 vpfn, u32 nr, u32 op, unsigned int handling_irq) kbase_mmu_hw_do_operation() argument 204 kbase_mmu_hw_clear_fault(struct kbase_device *kbdev, struct kbase_as *as, enum kbase_mmu_fault_type type) kbase_mmu_hw_clear_fault() argument 232 kbase_mmu_hw_enable_fault(struct kbase_device *kbdev, struct kbase_as *as, enum kbase_mmu_fault_type type) kbase_mmu_hw_enable_fault() argument [all...] |
H A D | mali_kbase_mmu_mode_lpae.c | 6 * GNU General Public License version 2 as published by the Free Software 88 struct kbase_as *as; in mmu_update() local 95 as = &kbdev->as[as_nr]; in mmu_update() 96 current_setup = &as->current_setup; in mmu_update() 101 kbase_mmu_hw_configure(kbdev, as); in mmu_update() 106 struct kbase_as *const as = &kbdev->as[as_nr]; in mmu_disable_as() local 107 struct kbase_mmu_setup *const current_setup = &as->current_setup; in mmu_disable_as() 112 kbase_mmu_hw_configure(kbdev, as); in mmu_disable_as() [all...] |
H A D | mali_kbase_mmu_mode_aarch64.c | 6 * GNU General Public License version 2 as published by the Free Software 74 struct kbase_as *as; in mmu_update() local 81 as = &kbdev->as[as_nr]; in mmu_update() 82 current_setup = &as->current_setup; in mmu_update() 87 kbase_mmu_hw_configure(kbdev, as); in mmu_update() 92 struct kbase_as *const as = &kbdev->as[as_nr]; in mmu_disable_as() local 93 struct kbase_mmu_setup *const current_setup = &as->current_setup; in mmu_disable_as() 99 kbase_mmu_hw_configure(kbdev, as); in mmu_disable_as() [all...] |
H A D | mali_kbase_mmu_hw.h | 6 * GNU General Public License version 2 as published by the Free Software 54 * @as: address space to configure. 59 void kbase_mmu_hw_configure(struct kbase_device *kbdev, struct kbase_as *as); 64 * @as: address space to issue the MMU operation on. 76 int kbase_mmu_hw_do_operation(struct kbase_device *kbdev, struct kbase_as *as, u64 vpfn, u32 nr, u32 type, 83 * @as: address space to clear the fault from. 88 void kbase_mmu_hw_clear_fault(struct kbase_device *kbdev, struct kbase_as *as, enum kbase_mmu_fault_type type); 94 * @as: address space to again enable the fault from. 101 void kbase_mmu_hw_enable_fault(struct kbase_device *kbdev, struct kbase_as *as, enum kbase_mmu_fault_type type);
|
/device/soc/rockchip/common/vendor/drivers/gpu/arm/midgard/ |
H A D | mali_kbase_tlstream.h | 6 * GNU General Public License version 2 as published by the Free Software
105 void __kbase_tlstream_tl_summary_new_as(void *as, u32 nr);
106 void __kbase_tlstream_tl_summary_lifelink_as_gpu(void *as, void *gpu);
117 void __kbase_tlstream_tl_ret_as_ctx(void *as, void *ctx);
118 void __kbase_tlstream_tl_nret_as_ctx(void *as, void *ctx);
119 void __kbase_tlstream_tl_ret_atom_as(void *atom, void *as);
120 void __kbase_tlstream_tl_nret_atom_as(void *atom, void *as);
129 void __kbase_tlstream_tl_attrib_as_config(void *as, u64 transtab, u64 memattr, u64 transcfg);
223 * @as: name of the address space object
231 #define KBASE_TLSTREAM_TL_SUMMARY_NEW_AS(as, n [all...] |
H A D | mali_kbase_mmu.c | 6 * GNU General Public License version 2 as published by the Free Software
101 static void kbase_mmu_report_fault_and_kill(struct kbase_context *kctx, struct kbase_as *as, const char *reason_str);
132 kbdev = container_of(faulting_as, struct kbase_device, as[as_no]);
in page_fault_worker() 235 * don't loose the other page fault as result of us clearing
in page_fault_worker() 299 * us to unlock the MMU as we see fit.
in page_fault_worker() 347 /* failed to extend, handle as a normal PF */
in page_fault_worker() 422 * Architecture spec defines level-0 as being the top-most.
in mmu_get_next_pgd() 491 * Architecture spec defines level-0 as being the top-most.
in mmu_insert_pages_recover_get_next_pgd() 830 err = kbase_mmu_hw_do_operation(kbdev, &kbdev->as[kctx->as_nr], kctx, vpfn, nr, op, 0);
in kbase_mmu_flush_invalidate_noretain() 894 err = kbase_mmu_hw_do_operation(kbdev, &kbdev->as[kct in kbase_mmu_flush_invalidate() 1672 kbase_mmu_report_fault_and_kill(struct kbase_context *kctx, struct kbase_as *as, const char *reason_str) kbase_mmu_report_fault_and_kill() argument 1766 struct kbase_as *as; kbasep_as_do_poke() local 1803 struct kbase_as *as; kbasep_as_poke_timer_callback() local 1829 struct kbase_as *as; kbase_as_poking_timer_retain_atom() local 1869 struct kbase_as *as; kbase_as_poking_timer_release_atom() local 1924 kbase_mmu_interrupt_process(struct kbase_device *kbdev, struct kbase_context *kctx, struct kbase_as *as) kbase_mmu_interrupt_process() argument 2011 struct kbase_as *as = &kbdev->as[i]; kbase_flush_mmu_wqs() local [all...] |
H A D | mali_kbase_mmu_mode_aarch64.c | 6 * GNU General Public License version 2 as published by the Free Software 85 struct kbase_as *const as = &kbdev->as[kctx->as_nr]; in mmu_update() local 86 struct kbase_mmu_setup *const current_setup = &as->current_setup; in mmu_update() 91 kbase_mmu_hw_configure(kbdev, as, kctx); in mmu_update() 96 struct kbase_as *const as = &kbdev->as[as_nr]; in mmu_disable_as() local 97 struct kbase_mmu_setup *const current_setup = &as->current_setup; in mmu_disable_as() 103 kbase_mmu_hw_configure(kbdev, as, NULL); in mmu_disable_as() 132 /* store mem_attr index as in get_mmu_flags() [all...] |
H A D | mali_kbase_mmu_mode_lpae.c | 6 * GNU General Public License version 2 as published by the Free Software 87 struct kbase_as *const as = &kbdev->as[kctx->as_nr]; in mmu_update() local 88 struct kbase_mmu_setup *const current_setup = &as->current_setup; in mmu_update() 93 kbase_mmu_hw_configure(kbdev, as, kctx); in mmu_update() 98 struct kbase_as *const as = &kbdev->as[as_nr]; in mmu_disable_as() local 99 struct kbase_mmu_setup *const current_setup = &as->current_setup; in mmu_disable_as() 104 kbase_mmu_hw_configure(kbdev, as, NULL); in mmu_disable_as() 133 /* store mem_attr index as in get_mmu_flags() [all...] |
H A D | mali_kbase_mmu_hw.h | 6 * GNU General Public License version 2 as published by the Free Software 65 * @param[in] as address space to configure. 68 void kbase_mmu_hw_configure(struct kbase_device *kbdev, struct kbase_as *as, struct kbase_context *kctx); 76 * @param[in] as address space to issue the MMU operation on. 87 int kbase_mmu_hw_do_operation(struct kbase_device *kbdev, struct kbase_as *as, struct kbase_context *kctx, u64 vpfn, 95 * @param[in] as address space to clear the fault from. 99 void kbase_mmu_hw_clear_fault(struct kbase_device *kbdev, struct kbase_as *as, struct kbase_context *kctx, 109 * @param[in] as address space to again enable the fault from. 113 void kbase_mmu_hw_enable_fault(struct kbase_device *kbdev, struct kbase_as *as, struct kbase_context *kctx,
|
H A D | mali_kbase_device.c | 6 * GNU General Public License version 2 as published by the Free Software
75 kbdev->as[i].number = i;
in kbase_device_as_init() 76 kbdev->as[i].fault_addr = 0ULL;
in kbase_device_as_init() 78 kbdev->as[i].pf_wq = alloc_workqueue(name, 0, 1);
in kbase_device_as_init() 79 if (!kbdev->as[i].pf_wq) {
in kbase_device_as_init() 83 INIT_WORK(&kbdev->as[i].work_pagefault, page_fault_worker);
in kbase_device_as_init() 84 INIT_WORK(&kbdev->as[i].work_busfault, bus_fault_worker);
in kbase_device_as_init() 87 struct hrtimer *poke_timer = &kbdev->as[i].poke_timer;
in kbase_device_as_init() 88 struct work_struct *poke_work = &kbdev->as[i].poke_work;
in kbase_device_as_init() 90 kbdev->as[ in kbase_device_as_init() [all...] |
/device/soc/rockchip/common/kernel/drivers/gpu/arm/midgard/ |
H A D | mali_kbase_tlstream.h | 6 * GNU General Public License version 2 as published by the Free Software 113 void __kbase_tlstream_tl_summary_new_as(void *as, u32 nr); 114 void __kbase_tlstream_tl_summary_lifelink_as_gpu(void *as, void *gpu); 126 void __kbase_tlstream_tl_ret_as_ctx(void *as, void *ctx); 127 void __kbase_tlstream_tl_nret_as_ctx(void *as, void *ctx); 128 void __kbase_tlstream_tl_ret_atom_as(void *atom, void *as); 129 void __kbase_tlstream_tl_nret_atom_as(void *atom, void *as); 141 void *as, u64 transtab, u64 memattr, u64 transcfg); 238 * @as: name of the address space object 246 #define KBASE_TLSTREAM_TL_SUMMARY_NEW_AS(as, n [all...] |
H A D | mali_kbase_mmu.c | 6 * GNU General Public License version 2 as published by the Free Software 99 struct kbase_as *as, const char *reason_str); 130 kbdev = container_of(faulting_as, struct kbase_device, as[as_no]); in page_fault_worker() 251 * don't loose the other page fault as result of us clearing in page_fault_worker() 327 * us to unlock the MMU as we see fit. in page_fault_worker() 382 /* failed to extend, handle as a normal PF */ in page_fault_worker() 458 * Architecture spec defines level-0 as being the top-most. in mmu_get_next_pgd() 528 * Architecture spec defines level-0 as being the top-most. in mmu_insert_pages_recover_get_next_pgd() 881 &kbdev->as[kctx->as_nr], in kbase_mmu_flush_invalidate_noretain() 945 &kbdev->as[kct in kbase_mmu_flush_invalidate() 1733 kbase_mmu_report_fault_and_kill(struct kbase_context *kctx, struct kbase_as *as, const char *reason_str) kbase_mmu_report_fault_and_kill() argument 1833 struct kbase_as *as; kbasep_as_do_poke() local 1872 struct kbase_as *as; kbasep_as_poke_timer_callback() local 1897 struct kbase_as *as; kbase_as_poking_timer_retain_atom() local 1935 struct kbase_as *as; kbase_as_poking_timer_release_atom() local 1989 kbase_mmu_interrupt_process(struct kbase_device *kbdev, struct kbase_context *kctx, struct kbase_as *as) kbase_mmu_interrupt_process() argument 2084 struct kbase_as *as = &kbdev->as[i]; kbase_flush_mmu_wqs() local [all...] |
H A D | mali_kbase_mmu_mode_aarch64.c | 6 * GNU General Public License version 2 as published by the Free Software 96 struct kbase_as * const as = &kbdev->as[kctx->as_nr]; in mmu_update() local 97 struct kbase_mmu_setup * const current_setup = &as->current_setup; in mmu_update() 102 kbase_mmu_hw_configure(kbdev, as, kctx); in mmu_update() 107 struct kbase_as * const as = &kbdev->as[as_nr]; in mmu_disable_as() local 108 struct kbase_mmu_setup * const current_setup = &as->current_setup; in mmu_disable_as() 114 kbase_mmu_hw_configure(kbdev, as, NULL); in mmu_disable_as() 142 /* store mem_attr index as in get_mmu_flags() [all...] |
H A D | mali_kbase_mmu_mode_lpae.c | 6 * GNU General Public License version 2 as published by the Free Software 100 struct kbase_as * const as = &kbdev->as[kctx->as_nr]; in mmu_update() local 101 struct kbase_mmu_setup * const current_setup = &as->current_setup; in mmu_update() 106 kbase_mmu_hw_configure(kbdev, as, kctx); in mmu_update() 111 struct kbase_as * const as = &kbdev->as[as_nr]; in mmu_disable_as() local 112 struct kbase_mmu_setup * const current_setup = &as->current_setup; in mmu_disable_as() 117 kbase_mmu_hw_configure(kbdev, as, NULL); in mmu_disable_as() 145 /* store mem_attr index as in get_mmu_flags() [all...] |
H A D | mali_kbase_mmu_hw.h | 6 * GNU General Public License version 2 as published by the Free Software 67 * @param[in] as address space to configure. 71 struct kbase_as *as, struct kbase_context *kctx); 79 * @param[in] as address space to issue the MMU operation on. 90 int kbase_mmu_hw_do_operation(struct kbase_device *kbdev, struct kbase_as *as, 99 * @param[in] as address space to clear the fault from. 103 void kbase_mmu_hw_clear_fault(struct kbase_device *kbdev, struct kbase_as *as, 113 * @param[in] as address space to again enable the fault from. 117 void kbase_mmu_hw_enable_fault(struct kbase_device *kbdev, struct kbase_as *as,
|
H A D | mali_kbase_device.c | 6 * GNU General Public License version 2 as published by the Free Software 78 kbdev->as[i].number = i; in kbase_device_as_init() 79 kbdev->as[i].fault_addr = 0ULL; in kbase_device_as_init() 81 kbdev->as[i].pf_wq = alloc_workqueue(name, 0, 1); in kbase_device_as_init() 82 if (!kbdev->as[i].pf_wq) in kbase_device_as_init() 85 INIT_WORK(&kbdev->as[i].work_pagefault, page_fault_worker); in kbase_device_as_init() 86 INIT_WORK(&kbdev->as[i].work_busfault, bus_fault_worker); in kbase_device_as_init() 89 struct hrtimer *poke_timer = &kbdev->as[i].poke_timer; in kbase_device_as_init() 90 struct work_struct *poke_work = &kbdev->as[i].poke_work; in kbase_device_as_init() 92 kbdev->as[ in kbase_device_as_init() [all...] |