drm/msm: Support 64 bit iova in RD_CMDSTREAM_ADDR
authorJordan Crouse <jcrouse@codeaurora.org>
Tue, 7 Mar 2017 16:50:30 +0000 (09:50 -0700)
committerRob Clark <robdclark@gmail.com>
Sat, 8 Apr 2017 10:59:32 +0000 (06:59 -0400)
Output the upper 32 bits of a 64 bit iova in the RD_CMDSTREAM_ADDR
section while maintaining backwards compatibility for tools that
only understand 32 bit iovas.

Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
Signed-off-by: Rob Clark <robdclark@gmail.com>
drivers/gpu/drm/msm/msm_rd.c

index 3df7322..0e81faa 100644 (file)
@@ -322,7 +322,7 @@ void msm_rd_dump_submit(struct msm_gem_submit *submit)
        }
 
        for (i = 0; i < submit->nr_cmds; i++) {
-               uint32_t iova = submit->cmd[i].iova;
+               uint64_t iova = submit->cmd[i].iova;
                uint32_t szd  = submit->cmd[i].size; /* in dwords */
 
                /* snapshot cmdstream bo's (if we haven't already): */
@@ -341,7 +341,7 @@ void msm_rd_dump_submit(struct msm_gem_submit *submit)
                case MSM_SUBMIT_CMD_CTX_RESTORE_BUF:
                case MSM_SUBMIT_CMD_BUF:
                        rd_write_section(rd, RD_CMDSTREAM_ADDR,
-                                       (uint32_t[2]){ iova, szd }, 8);
+                               (uint32_t[3]){ iova, szd, iova >> 32 }, 12);
                        break;
                }
        }