|
My Project
|
Enumerations | |
| enum | kbase_mmu_fault_type { KBASE_MMU_FAULT_TYPE_UNKNOWN = 0, KBASE_MMU_FAULT_TYPE_PAGE, KBASE_MMU_FAULT_TYPE_BUS, KBASE_MMU_FAULT_TYPE_PAGE_UNEXPECTED, KBASE_MMU_FAULT_TYPE_BUS_UNEXPECTED } |
| MMU fault type descriptor. | |
Functions | |
| void | kbase_mmu_hw_configure (struct kbase_device *kbdev, struct kbase_as *as, struct kbase_context *kctx) |
| Configure an address space for use. More... | |
| int | kbase_mmu_hw_do_operation (struct kbase_device *kbdev, struct kbase_as *as, struct kbase_context *kctx, u64 vpfn, u32 nr, u32 type, unsigned int handling_irq) |
| Issue an operation to the MMU. More... | |
| void | kbase_mmu_hw_clear_fault (struct kbase_device *kbdev, struct kbase_as *as, struct kbase_context *kctx, enum kbase_mmu_fault_type type) |
| Clear a fault that has been previously reported by the MMU. More... | |
| void | kbase_mmu_hw_enable_fault (struct kbase_device *kbdev, struct kbase_as *as, struct kbase_context *kctx, enum kbase_mmu_fault_type type) |
| Enable fault that has been previously reported by the MMU. More... | |
| void kbase_mmu_hw_clear_fault | ( | struct kbase_device * | kbdev, |
| struct kbase_as * | as, | ||
| struct kbase_context * | kctx, | ||
| enum kbase_mmu_fault_type | type | ||
| ) |
Clear a fault that has been previously reported by the MMU.
Clear a bus error or page fault that has been reported by the MMU.
| [in] | kbdev | kbase device to clear the fault from. |
| [in] | as | address space to clear the fault from. |
| [in] | kctx | kbase context to clear the fault from or NULL. |
| [in] | type | The type of fault that needs to be cleared. |
| void kbase_mmu_hw_configure | ( | struct kbase_device * | kbdev, |
| struct kbase_as * | as, | ||
| struct kbase_context * | kctx | ||
| ) |
Configure an address space for use.
Configure the MMU using the address space details setup in the kbase_context structure.
| [in] | kbdev | kbase device to configure. |
| [in] | as | address space to configure. |
| [in] | kctx | kbase context to configure. |
| int kbase_mmu_hw_do_operation | ( | struct kbase_device * | kbdev, |
| struct kbase_as * | as, | ||
| struct kbase_context * | kctx, | ||
| u64 | vpfn, | ||
| u32 | nr, | ||
| u32 | type, | ||
| unsigned int | handling_irq | ||
| ) |
Issue an operation to the MMU.
Issue an operation (MMU invalidate, MMU flush, etc) on the address space that is associated with the provided kbase_context over the specified range
| [in] | kbdev | kbase device to issue the MMU operation on. |
| [in] | as | address space to issue the MMU operation on. |
| [in] | kctx | kbase context to issue the MMU operation on. |
| [in] | vpfn | MMU Virtual Page Frame Number to start the operation on. |
| [in] | nr | Number of pages to work on. |
| [in] | type | Operation type (written to ASn_COMMAND). |
| [in] | handling_irq | Is this operation being called during the handling of an interrupt? |
| void kbase_mmu_hw_enable_fault | ( | struct kbase_device * | kbdev, |
| struct kbase_as * | as, | ||
| struct kbase_context * | kctx, | ||
| enum kbase_mmu_fault_type | type | ||
| ) |
Enable fault that has been previously reported by the MMU.
After a page fault or bus error has been reported by the MMU these will be disabled. After these are handled this function needs to be called to enable the page fault or bus error fault again.
| [in] | kbdev | kbase device to again enable the fault from. |
| [in] | as | address space to again enable the fault from. |
| [in] | kctx | kbase context to again enable the fault from. |
| [in] | type | The type of fault that needs to be enabled again. |
1.8.13