mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-05 10:31:46 +09:00
ANDROID: virt: gunyah: Sync with KMI impacting changes from v13
Sync with latest Gunyah patches: https://lore.kernel.org/all/20230509204801.2824351-7-quic_eberman@quicinc.com/ https://lore.kernel.org/all/20230509204801.2824351-10-quic_eberman@quicinc.com/ function symbol changed from 'int gh_rm_call(void*, u32, void*, size_t, void**, size_t*)' to 'int gh_rm_call(void*, u32, const void*, size_t, void**, size_t*)' CRC changed from 0x162db09d to 0xaa8c9d60 type changed from 'int(void*, u32, void*, size_t, void**, size_t*)' to 'int(void*, u32, const void*, size_t, void**, size_t*)' parameter 3 type changed from 'void*' to 'const void*' pointed-to type changed from 'void' to 'const void' qualifier const added function symbol 'int devm_gh_rm_register_platform_ops(struct device*, struct gh_rm_platform_ops*)' changed CRC changed from 0xa6a1478a to 0x51bb297d function symbol 'int gh_rm_register_platform_ops(struct gh_rm_platform_ops*)' changed CRC changed from 0x110877e8 to 0xf2b08039 function symbol 'void gh_rm_unregister_platform_ops(struct gh_rm_platform_ops*)' changed CRC changed from 0x2e3c1910 to 0x41e9ce79 type 'struct gh_rm_mem_entry' changed member '__le64 phys_addr' was added member '__le64 ipa_base' was removed Bug: 279506910 Change-Id: I50b0c67b9fcc33612e278de76feec6e4c85ac74a Signed-off-by: Elliot Berman <quic_eberman@quicinc.com>
This commit is contained in:
committed by
Carlos Llamas
parent
04ea3d3ace
commit
9b5a362323
@@ -42,7 +42,7 @@ static int qcom_scm_gh_rm_pre_mem_share(void *rm, struct gh_rm_mem_parcel *mem_p
|
||||
|
||||
for (i = 0; i < mem_parcel->n_mem_entries; i++) {
|
||||
src_cpy = src;
|
||||
ret = qcom_scm_assign_mem(le64_to_cpu(mem_parcel->mem_entries[i].ipa_base),
|
||||
ret = qcom_scm_assign_mem(le64_to_cpu(mem_parcel->mem_entries[i].phys_addr),
|
||||
le64_to_cpu(mem_parcel->mem_entries[i].size),
|
||||
&src_cpy, new_perms, mem_parcel->n_acl_entries);
|
||||
if (ret) {
|
||||
@@ -60,7 +60,7 @@ static int qcom_scm_gh_rm_pre_mem_share(void *rm, struct gh_rm_mem_parcel *mem_p
|
||||
for (i--; i >= 0; i--) {
|
||||
src_cpy = src;
|
||||
WARN_ON_ONCE(qcom_scm_assign_mem(
|
||||
le64_to_cpu(mem_parcel->mem_entries[i].ipa_base),
|
||||
le64_to_cpu(mem_parcel->mem_entries[i].phys_addr),
|
||||
le64_to_cpu(mem_parcel->mem_entries[i].size),
|
||||
&src_cpy, new_perms, 1));
|
||||
}
|
||||
@@ -92,7 +92,7 @@ static int qcom_scm_gh_rm_post_mem_reclaim(void *rm, struct gh_rm_mem_parcel *me
|
||||
|
||||
for (i = 0; i < mem_parcel->n_mem_entries; i++) {
|
||||
src_cpy = src;
|
||||
ret = qcom_scm_assign_mem(le64_to_cpu(mem_parcel->mem_entries[i].ipa_base),
|
||||
ret = qcom_scm_assign_mem(le64_to_cpu(mem_parcel->mem_entries[i].phys_addr),
|
||||
le64_to_cpu(mem_parcel->mem_entries[i].size),
|
||||
&src_cpy, &new_perms, 1);
|
||||
WARN_ON_ONCE(ret);
|
||||
|
||||
@@ -631,7 +631,7 @@ out:
|
||||
* Context: Process context. Will sleep waiting for reply.
|
||||
* Return: 0 on success. <0 if error.
|
||||
*/
|
||||
int gh_rm_call(void *_rm, u32 message_id, void *req_buf, size_t req_buf_size,
|
||||
int gh_rm_call(void *_rm, u32 message_id, const void *req_buf, size_t req_buf_size,
|
||||
void **resp_buf, size_t *resp_buf_size)
|
||||
{
|
||||
struct gh_rm *rm = _rm;
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
#include <linux/types.h>
|
||||
|
||||
struct gh_rm;
|
||||
int gh_rm_call(void *rsc_mgr, u32 message_id, void *req_buf, size_t req_buf_size,
|
||||
int gh_rm_call(void *rsc_mgr, u32 message_id, const void *req_buf, size_t req_buf_size,
|
||||
void **resp_buf, size_t *resp_buf_size);
|
||||
|
||||
int gh_rm_platform_pre_mem_share(struct gh_rm *rm, struct gh_rm_mem_parcel *mem_parcel);
|
||||
|
||||
@@ -224,7 +224,7 @@ int gh_vm_mem_alloc(struct gh_vm *ghvm, struct gh_userspace_memory_region *regio
|
||||
|
||||
/* reduce number of entries by combining contiguous pages into single memory entry */
|
||||
prev_page = mapping->pages[0];
|
||||
parcel->mem_entries[0].ipa_base = cpu_to_le64(page_to_phys(prev_page));
|
||||
parcel->mem_entries[0].phys_addr = cpu_to_le64(page_to_phys(prev_page));
|
||||
entry_size = PAGE_SIZE;
|
||||
for (i = 1, j = 0; i < mapping->npages; i++) {
|
||||
curr_page = mapping->pages[i];
|
||||
@@ -233,7 +233,7 @@ int gh_vm_mem_alloc(struct gh_vm *ghvm, struct gh_userspace_memory_region *regio
|
||||
} else {
|
||||
parcel->mem_entries[j].size = cpu_to_le64(entry_size);
|
||||
j++;
|
||||
parcel->mem_entries[j].ipa_base =
|
||||
parcel->mem_entries[j].phys_addr =
|
||||
cpu_to_le64(page_to_phys(curr_page));
|
||||
entry_size = PAGE_SIZE;
|
||||
}
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
#define GH_MEM_HANDLE_INVAL U32_MAX
|
||||
|
||||
struct gh_rm;
|
||||
int gh_rm_call(void *rm, u32 message_id, void *req_buf, size_t req_buf_size,
|
||||
int gh_rm_call(void *rm, u32 message_id, const void *req_buf, size_t req_buf_size,
|
||||
void **resp_buf, size_t *resp_buf_size);
|
||||
int gh_rm_notifier_register(void *rm, struct notifier_block *nb);
|
||||
int gh_rm_notifier_unregister(void *rm, struct notifier_block *nb);
|
||||
@@ -65,7 +65,7 @@ struct gh_rm_mem_acl_entry {
|
||||
} __packed;
|
||||
|
||||
struct gh_rm_mem_entry {
|
||||
__le64 ipa_base;
|
||||
__le64 phys_addr;
|
||||
__le64 size;
|
||||
} __packed;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user