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:
Elliot Berman
2023-05-13 12:20:46 -07:00
committed by Carlos Llamas
parent 04ea3d3ace
commit 9b5a362323
5 changed files with 9 additions and 9 deletions

View File

@@ -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);

View File

@@ -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;

View File

@@ -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);

View File

@@ -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;
}

View File

@@ -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;