diff options
Diffstat (limited to 'common/include/linux/memory_group_manager.h')
-rw-r--r-- | common/include/linux/memory_group_manager.h | 49 |
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 |