diff --git a/src/imagination/vulkan/pvr_job_transfer.c b/src/imagination/vulkan/pvr_job_transfer.c index 7966d9ba300..0ec4c5696e5 100644 --- a/src/imagination/vulkan/pvr_job_transfer.c +++ b/src/imagination/vulkan/pvr_job_transfer.c @@ -5681,16 +5681,18 @@ pvr_submit_info_stream_init(struct pvr_transfer_ctx *ctx, /* Leave space for stream header. */ stream_ptr += pvr_cmd_length(KMD_STREAM_HDR); - *(uint64_t *)stream_ptr = regs->pds_bgnd0_base; + memcpy(stream_ptr, ®s->pds_bgnd0_base, sizeof(regs->pds_bgnd0_base)); stream_ptr += pvr_cmd_length(CR_PDS_BGRND0_BASE); - *(uint64_t *)stream_ptr = regs->pds_bgnd1_base; + memcpy(stream_ptr, ®s->pds_bgnd1_base, sizeof(regs->pds_bgnd1_base)); stream_ptr += pvr_cmd_length(CR_PDS_BGRND1_BASE); - *(uint64_t *)stream_ptr = regs->pds_bgnd3_sizeinfo; + memcpy(stream_ptr, + ®s->pds_bgnd3_sizeinfo, + sizeof(regs->pds_bgnd3_sizeinfo)); stream_ptr += pvr_cmd_length(CR_PDS_BGRND3_SIZEINFO); - *(uint64_t *)stream_ptr = regs->isp_mtile_base; + memcpy(stream_ptr, ®s->isp_mtile_base, sizeof(regs->isp_mtile_base)); stream_ptr += pvr_cmd_length(CR_ISP_MTILE_BASE); STATIC_ASSERT(ARRAY_SIZE(regs->pbe_wordx_mrty) == 9U); diff --git a/src/imagination/vulkan/winsys/pvrsrvkm/pvr_srv_job_transfer.c b/src/imagination/vulkan/winsys/pvrsrvkm/pvr_srv_job_transfer.c index d021a29d25a..e2616c4d174 100644 --- a/src/imagination/vulkan/winsys/pvrsrvkm/pvr_srv_job_transfer.c +++ b/src/imagination/vulkan/winsys/pvrsrvkm/pvr_srv_job_transfer.c @@ -146,16 +146,18 @@ pvr_srv_transfer_cmd_stream_load(struct rogue_fwif_cmd_transfer *const cmd, stream_ptr += pvr_cmd_length(KMD_STREAM_HDR); - regs->pds_bgnd0_base = *(uint64_t *)stream_ptr; + memcpy(®s->pds_bgnd0_base, stream_ptr, sizeof(regs->pds_bgnd0_base)); stream_ptr += pvr_cmd_length(CR_PDS_BGRND0_BASE); - regs->pds_bgnd1_base = *(uint64_t *)stream_ptr; + memcpy(®s->pds_bgnd1_base, stream_ptr, sizeof(regs->pds_bgnd1_base)); stream_ptr += pvr_cmd_length(CR_PDS_BGRND1_BASE); - regs->pds_bgnd3_sizeinfo = *(uint64_t *)stream_ptr; + memcpy(®s->pds_bgnd3_sizeinfo, + stream_ptr, + sizeof(regs->pds_bgnd3_sizeinfo)); stream_ptr += pvr_cmd_length(CR_PDS_BGRND3_SIZEINFO); - regs->isp_mtile_base = *(uint64_t *)stream_ptr; + memcpy(®s->isp_mtile_base, stream_ptr, sizeof(regs->isp_mtile_base)); stream_ptr += pvr_cmd_length(CR_ISP_MTILE_BASE); STATIC_ASSERT(ARRAY_SIZE(regs->pbe_wordx_mrty) == 9U);