diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/staging/fsl-mc/bus/dprc-cmd.h | 9 | ||||
-rw-r--r-- | drivers/staging/fsl-mc/bus/dprc.c | 4 |
2 files changed, 10 insertions, 3 deletions
diff --git a/drivers/staging/fsl-mc/bus/dprc-cmd.h b/drivers/staging/fsl-mc/bus/dprc-cmd.h index 24fe4fb..b7d8c34 100644 --- a/drivers/staging/fsl-mc/bus/dprc-cmd.h +++ b/drivers/staging/fsl-mc/bus/dprc-cmd.h @@ -354,11 +354,16 @@ struct dprc_cmd_get_obj_region { struct dprc_rsp_get_obj_region { /* response word 0 */ - __le64 pad; + __le64 pad0; /* response word 1 */ - __le64 base_addr; + __le32 base_addr; + __le32 pad1; /* response word 2 */ __le32 size; + u8 type; + u8 pad2[3]; + /* response word 3 */ + __le32 flags; }; struct dprc_cmd_set_obj_label { diff --git a/drivers/staging/fsl-mc/bus/dprc.c b/drivers/staging/fsl-mc/bus/dprc.c index 61092a0..764cd3fb 100644 --- a/drivers/staging/fsl-mc/bus/dprc.c +++ b/drivers/staging/fsl-mc/bus/dprc.c @@ -752,8 +752,10 @@ int dprc_get_obj_region(struct fsl_mc_io *mc_io, /* retrieve response parameters */ rsp_params = (struct dprc_rsp_get_obj_region *)cmd.params; - region_desc->base_offset = le64_to_cpu(rsp_params->base_addr); + region_desc->base_offset = le32_to_cpu(rsp_params->base_addr); region_desc->size = le32_to_cpu(rsp_params->size); + region_desc->type = rsp_params->type; + region_desc->flags = le32_to_cpu(rsp_params->flags); return 0; } |