bus/fsl-mc: Set the QMAN/BMAN region flags
authorDiana Craciun <diana.craciun@oss.nxp.com>
Tue, 29 Sep 2020 08:54:32 +0000 (11:54 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 2 Oct 2020 14:05:01 +0000 (16:05 +0200)
The QMAN region is memory mapped, so it should be of type
IORESOURCE_MEM. The region flags bits were wrongly used to
pass additional information. Use the bus specific bits for
this purpose.

Reviewed-by: Laurentiu Tudor <laurentiu.tudor@nxp.com>
Acked-by: Laurentiu Tudor <laurentiu.tudor@nxp.com>
Signed-off-by: Diana Craciun <diana.craciun@oss.nxp.com>
Link: https://lore.kernel.org/r/20200929085441.17448-5-diana.craciun@oss.nxp.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/bus/fsl-mc/fsl-mc-bus.c
drivers/bus/fsl-mc/fsl-mc-private.h
include/linux/fsl/mc.h

index ef2878b..c4be490 100644 (file)
@@ -615,11 +615,8 @@ static int fsl_mc_device_get_mmio_regions(struct fsl_mc_device *mc_dev,
 
                regions[i].end = regions[i].start + region_desc.size - 1;
                regions[i].name = "fsl-mc object MMIO region";
-               regions[i].flags = IORESOURCE_IO;
-               if (region_desc.flags & DPRC_REGION_CACHEABLE)
-                       regions[i].flags |= IORESOURCE_CACHEABLE;
-               if (region_desc.flags & DPRC_REGION_SHAREABLE)
-                       regions[i].flags |= IORESOURCE_MEM;
+               regions[i].flags = region_desc.flags & IORESOURCE_BITS;
+               regions[i].flags |= IORESOURCE_MEM;
        }
 
        mc_dev->regions = regions;
index 7a46a12..9f20073 100644 (file)
@@ -358,12 +358,6 @@ int dprc_set_obj_irq(struct fsl_mc_io *mc_io,
                     int obj_id,
                     u8 irq_index,
                     struct dprc_irq_cfg *irq_cfg);
-
-/* Region flags */
-/* Cacheable - Indicates that region should be mapped as cacheable */
-#define DPRC_REGION_CACHEABLE  0x00000001
-#define DPRC_REGION_SHAREABLE  0x00000002
-
 /**
  * enum dprc_region_type - Region type
  * @DPRC_REGION_TYPE_MC_PORTAL: MC portal region
index 3b5f0c9..03a5d16 100644 (file)
@@ -3,6 +3,7 @@
  * Freescale Management Complex (MC) bus public interface
  *
  * Copyright (C) 2014-2016 Freescale Semiconductor, Inc.
+ * Copyright 2019-2020 NXP
  * Author: German Rivera <German.Rivera@freescale.com>
  *
  */
@@ -148,6 +149,13 @@ struct fsl_mc_obj_desc {
  */
 #define FSL_MC_IS_DPRC 0x0001
 
+/* Region flags */
+/* Indicates that region can be mapped as cacheable */
+#define FSL_MC_REGION_CACHEABLE        0x00000001
+
+/* Indicates that region can be mapped as shareable */
+#define FSL_MC_REGION_SHAREABLE        0x00000002
+
 /**
  * struct fsl_mc_device - MC object device object
  * @dev: Linux driver model device object