[dpdk-dev] [PATCH v13 1/5] bus/fslmc: fix the conflicting dmb function

Honnappa Nagarahalli Honnappa.Nagarahalli at arm.com
Tue Dec 10 07:13:00 CET 2019


In case there are more versions of the WFE patch, is it ok to merge this patch alone?. It will be one less patch to carry around.
Thanks,
Honnappa

> -----Original Message-----
> From: dev <dev-bounces at dpdk.org> On Behalf Of David Marchand
> Sent: Thursday, November 7, 2019 3:35 PM
> To: dev at dpdk.org
> Cc: nd <nd at arm.com>; konstantin.ananyev at intel.com; Gavin Hu (Arm
> Technology China) <Gavin.Hu at arm.com>; stable at dpdk.org;
> hemant.agrawal at nxp.com; Sachin.saxena at nxp.com
> Subject: [dpdk-dev] [PATCH v13 1/5] bus/fslmc: fix the conflicting dmb
> function
> 
> From: Gavin Hu <gavin.hu at arm.com>
> 
> There are two definitions conflicting each other, for more details, refer to [1].
> 
> include/rte_atomic_64.h:19: error: "dmb" redefined [-Werror]
> drivers/bus/fslmc/mc/fsl_mc_sys.h:36: note: this is the location of the
> previous definition  #define dmb() {__asm__ __volatile__("" : : : "memory"); }
> 
> The fix is to reuse the EAL definition to avoid conflicts.
> 
> [1]
> http://inbox.dpdk.org/users/VI1PR08MB537631AB25F41B8880DCCA988FDF
> 0@
> VI1PR08MB5376.eurprd08.prod.outlook.com/T/#u
> 
> Fixes: 3af733ba8da8 ("bus/fslmc: introduce MC object functions")
> Cc: stable at dpdk.org
> 
> Signed-off-by: Gavin Hu <gavin.hu at arm.com>
> Reviewed-by: Phil Yang <phil.yang at arm.com>
> Acked-by: Hemant Agrawal <hemant.agrawal at nxp.com>
> ---
> Changelog since v12:
> - fixed Phil Yang mail address,
> 
> ---
>  drivers/bus/fslmc/mc/fsl_mc_sys.h | 9 ++++-----
>  1 file changed, 4 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/bus/fslmc/mc/fsl_mc_sys.h
> b/drivers/bus/fslmc/mc/fsl_mc_sys.h
> index d0c7b39..a310c56 100644
> --- a/drivers/bus/fslmc/mc/fsl_mc_sys.h
> +++ b/drivers/bus/fslmc/mc/fsl_mc_sys.h
> @@ -32,11 +32,10 @@ struct fsl_mc_io {
>  #include <sys/uio.h>
>  #include <linux/byteorder/little_endian.h>
> 
> -#ifndef dmb
> -#define dmb() {__asm__ __volatile__("" : : : "memory"); } -#endif
> -#define __iormb()	dmb()
> -#define __iowmb()	dmb()
> +#include <rte_atomic.h>
> +
> +#define __iormb()	rte_io_rmb()
> +#define __iowmb()	rte_io_wmb()
>  #define __arch_getq(a)		(*(volatile uint64_t *)(a))
>  #define __arch_putq(v, a)	(*(volatile uint64_t *)(a) = (v))
>  #define __arch_putq32(v, a)	(*(volatile uint32_t *)(a) = (v))
> --
> 1.8.3.1



More information about the dev mailing list