summaryrefslogtreecommitdiff
path: root/common/include/linux/memory_group_manager.h
diff options
context:
space:
mode:
Diffstat (limited to 'common/include/linux/memory_group_manager.h')
-rw-r--r--common/include/linux/memory_group_manager.h49
1 files changed, 24 insertions, 25 deletions
diff --git a/common/include/linux/memory_group_manager.h b/common/include/linux/memory_group_manager.h
index 786e3b9..3820f1b 100644
--- a/common/include/linux/memory_group_manager.h
+++ b/common/include/linux/memory_group_manager.h
@@ -1,7 +1,7 @@
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
/*
*
- * (C) COPYRIGHT 2019-2022 ARM Limited. All rights reserved.
+ * (C) COPYRIGHT 2019-2023 ARM Limited. All rights reserved.
*
* This program is free software and is provided to you under the terms of the
* GNU General Public License version 2 as published by the Free Software
@@ -58,14 +58,17 @@ struct memory_group_manager_ops {
* 0 .. MEMORY_GROUP_MANAGER_NR_GROUPS-1.
* @gfp_mask: Bitmask of Get Free Page flags affecting allocator
* behavior.
- * @order: Page order for physical page size (order=0 means 4 KiB,
- * order=9 means 2 MiB).
+ * @order: Page order for physical page size.
+ * order = 0 refers to small pages
+ * order != 0 refers to 2 MB pages, so
+ * order = 9 (when small page size is 4KB, 2^9 * 4KB = 2 MB)
+ * order = 7 (when small page size is 16KB, 2^7 * 16KB = 2 MB)
+ * order = 5 (when small page size is 64KB, 2^5 * 64KB = 2 MB)
*
* Return: Pointer to allocated page, or NULL if allocation failed.
*/
- struct page *(*mgm_alloc_page)(
- struct memory_group_manager_device *mgm_dev, int group_id,
- gfp_t gfp_mask, unsigned int order);
+ struct page *(*mgm_alloc_page)(struct memory_group_manager_device *mgm_dev,
+ unsigned int group_id, gfp_t gfp_mask, unsigned int order);
/*
* mgm_free_page - Free a physical memory page in a group
@@ -79,12 +82,12 @@ struct memory_group_manager_ops {
* memory that was allocated by calling the mgm_alloc_page
* method of the same memory pool with the same values of
* @group_id and @order.
- * @order: Page order for physical page size (order=0 means 4 KiB,
- * order=9 means 2 MiB).
+ * @order: Page order for physical page size.
+ * order = 0 refers to small pages
+ * order != 0 refers to 2 MB pages.
*/
- void (*mgm_free_page)(
- struct memory_group_manager_device *mgm_dev, int group_id,
- struct page *page, unsigned int order);
+ void (*mgm_free_page)(struct memory_group_manager_device *mgm_dev, unsigned int group_id,
+ struct page *page, unsigned int order);
/*
* mgm_get_import_memory_id - Get the physical memory group ID for the
@@ -101,9 +104,8 @@ struct memory_group_manager_ops {
* Return: The memory group ID to use when mapping pages from this
* imported memory.
*/
- int (*mgm_get_import_memory_id)(
- struct memory_group_manager_device *mgm_dev,
- struct memory_group_manager_import_data *import_data);
+ int (*mgm_get_import_memory_id)(struct memory_group_manager_device *mgm_dev,
+ struct memory_group_manager_import_data *import_data);
/*
* mgm_update_gpu_pte - Modify a GPU page table entry for a memory group
@@ -128,7 +130,7 @@ struct memory_group_manager_ops {
* Return: A modified GPU page table entry to be stored in a page table.
*/
u64 (*mgm_update_gpu_pte)(struct memory_group_manager_device *mgm_dev,
- int group_id, int mmu_level, u64 pte);
+ unsigned int group_id, int mmu_level, u64 pte);
/*
* mgm_pte_to_original_pte - Undo any modification done during mgm_update_gpu_pte()
@@ -148,8 +150,8 @@ struct memory_group_manager_ops {
*
* Return: PTE entry as originally specified to mgm_update_gpu_pte()
*/
- u64 (*mgm_pte_to_original_pte)(struct memory_group_manager_device *mgm_dev, int group_id,
- int mmu_level, u64 pte);
+ u64 (*mgm_pte_to_original_pte)(struct memory_group_manager_device *mgm_dev,
+ unsigned int group_id, int mmu_level, u64 pte);
/*
* mgm_vmf_insert_pfn_prot - Map a physical page in a group for the CPU
@@ -172,10 +174,10 @@ struct memory_group_manager_ops {
* Return: Type of fault that occurred or VM_FAULT_NOPAGE if the page
* table entry was successfully installed.
*/
- vm_fault_t (*mgm_vmf_insert_pfn_prot)(
- struct memory_group_manager_device *mgm_dev, int group_id,
- struct vm_area_struct *vma, unsigned long addr,
- unsigned long pfn, pgprot_t pgprot);
+ vm_fault_t (*mgm_vmf_insert_pfn_prot)(struct memory_group_manager_device *mgm_dev,
+ unsigned int group_id, struct vm_area_struct *vma,
+ unsigned long addr, unsigned long pfn,
+ pgprot_t pgprot);
};
/**
@@ -199,10 +201,7 @@ struct memory_group_manager_device {
struct module *owner;
};
-
-enum memory_group_manager_import_type {
- MEMORY_GROUP_MANAGER_IMPORT_TYPE_DMA_BUF
-};
+enum memory_group_manager_import_type { MEMORY_GROUP_MANAGER_IMPORT_TYPE_DMA_BUF };
/**
* struct memory_group_manager_import_data - Structure describing the imported