Remoteproc: AM65XX: Use FW_RSC_ADDR_ANY for vrings in R5F resource table
authorSam Nelson <sam.nelson@ti.com>
Mon, 20 Jan 2020 19:36:05 +0000 (14:36 -0500)
committerSam Nelson <sam.nelson@ti.com>
Fri, 31 Jan 2020 16:26:40 +0000 (11:26 -0500)
Mark the vring device addresses as FW_RSC_ADDR_ANY, so that Linux kernel
knows it needs to update these to the actual dynamically allocated
memory locations. The virtqueue driver itself will poll for the
completion status of this update.

Signed-off-by: Sam Nelson <sam.nelson@ti.com>
packages/ti/ipc/remoteproc/rsc_table_am65xx_r5f.h

index 3ae0dc0d144e9407c05099fb15ba0bd47517fe1c..4cb11d1d4abec3bfbc4a44475febb953c62a7dae 100644 (file)
 
 #include "rsc_types.h"
 
-#if defined(AM65X_R5F_1)
-#define R5F_MEM_IPC_VRING       0xA1000000
-#else
-#define R5F_MEM_IPC_VRING       0xA0000000
-#endif
-
-#define R5F_MEM_RPMSG_VRING0    (R5F_MEM_IPC_VRING)
-#define R5F_MEM_RPMSG_VRING1    (R5F_MEM_IPC_VRING+0x10000)
-#define R5F_MEM_VRING_BUFS0     (R5F_MEM_IPC_VRING+0x40000)
-#define R5F_MEM_VRING_BUFS1     (R5F_MEM_IPC_VRING+0x80000)
-
-#define R5F_MEM_IPC_VRING_SIZE  SZ_1M
-
 #define R5F_NUM_ENTRIES 2
 
 /*
@@ -98,6 +85,8 @@ extern char ti_trace_SysMin_Module_State_0_outbuf__A[];
 #pragma DATA_SECTION(ti_ipc_remoteproc_ResourceTable, ".resource_table")
 #pragma DATA_ALIGN(ti_ipc_remoteproc_ResourceTable, 4096)
 
+#define RPMSG_VRING_ADDR_ANY   FW_RSC_ADDR_ANY
+
 const struct my_resource_table ti_ipc_remoteproc_ResourceTable = {
     1,      /* we're the first version that implements this */
     R5F_NUM_ENTRIES,     /* number of entries in the table */
@@ -115,8 +104,8 @@ const struct my_resource_table ti_ipc_remoteproc_ResourceTable = {
         /* no config data */
     },
     /* the two vrings */
-    { R5F_MEM_RPMSG_VRING0, 4096, R5F_RPMSG_VQ0_SIZE, 1, 0 },
-    { R5F_MEM_RPMSG_VRING1, 4096, R5F_RPMSG_VQ1_SIZE, 2, 0 },
+    { RPMSG_VRING_ADDR_ANY, 4096, R5F_RPMSG_VQ0_SIZE, 1, 0 },
+    { RPMSG_VRING_ADDR_ANY, 4096, R5F_RPMSG_VQ1_SIZE, 2, 0 },
 
     {
 #if defined(AM65X_R5F_1)