bus: fsl-mc: added missing fields to dprc_rsp_get_obj_region structure
authorLaurentiu Tudor <laurentiu.tudor@nxp.com>
Tue, 24 Nov 2020 11:12:00 +0000 (13:12 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 9 Dec 2020 18:50:53 +0000 (19:50 +0100)
'type' and 'flags' fields were missing from dprc_rsp_get_obj_region
structure therefore the MC Bus driver was not receiving proper flags
from MC like DPRC_REGION_CACHEABLE.

Reviewed-by: Ioana Ciornei <ioana.ciornei@nxp.com>
Signed-off-by: Cristian Sovaiala <cristian.sovaiala@freescale.com>
Signed-off-by: Laurentiu Tudor <laurentiu.tudor@nxp.com>
Link: https://lore.kernel.org/r/20201124111200.1391-1-laurentiu.tudor@nxp.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/bus/fsl-mc/dprc.c
drivers/bus/fsl-mc/fsl-mc-private.h

index 57b097c..27b0a01 100644 (file)
@@ -576,6 +576,8 @@ int dprc_get_obj_region(struct fsl_mc_io *mc_io,
        rsp_params = (struct dprc_rsp_get_obj_region *)cmd.params;
        region_desc->base_offset = le64_to_cpu(rsp_params->base_offset);
        region_desc->size = le32_to_cpu(rsp_params->size);
+       region_desc->type = rsp_params->type;
+       region_desc->flags = le32_to_cpu(rsp_params->flags);
        if (dprc_major_ver > 6 || (dprc_major_ver == 6 && dprc_minor_ver >= 3))
                region_desc->base_address = le64_to_cpu(rsp_params->base_addr);
        else
index 85ca5fd..c932387 100644 (file)
@@ -211,12 +211,13 @@ struct dprc_cmd_get_obj_region {
 
 struct dprc_rsp_get_obj_region {
        /* response word 0 */
-       __le64 pad;
+       __le64 pad0;
        /* response word 1 */
        __le64 base_offset;
        /* response word 2 */
        __le32 size;
-       __le32 pad2;
+       u8 type;
+       u8 pad2[3];
        /* response word 3 */
        __le32 flags;
        __le32 pad3;