[PATCH 1/6] staging: vc04_services: Convert dsb() to dsb(sy)

Michael Zoran mzoran at crowfest.net
Wed Oct 19 15:22:23 PDT 2016


On Wed, 2016-10-19 at 13:40 +0200, Greg KH wrote:
> On Wed, Oct 19, 2016 at 01:34:20AM -0700, Michael Zoran wrote:
> > > From 52cd77f62e2aabfc70c37533556c95b9d009f1ae Mon Sep 17 00:00:00
> > > 2001
> > 
> > From: Michael Zoran <mzoran at crowfest.net>
> > Date: Sun, 16 Oct 2016 11:59:40 -0700
> > Subject: [PATCH 1/6] staging: vc04_services: Convert dsb() to
> > dsb(sy)
> > 
> > The dsb() macro for 32 arm compiles to dsb(sy) in the binary file.
> > This macro is no longer supported on arm64, so instead use dsb(sy)
> > which is completely binary compatible.
> 
> meta-comment, why use dsb() at all?  Why not use wmb()?  Isn't it the
> same thing?
> 
> thanks,
> 
> greg k-h

No, it's not 100% compatible. 

arch/arm64/include/asm/barrier.h:#define wmb()		dsb(st)

When I checked some files into the downstream tree we were able to
test that dsb() produces exactly the same binary as dsb(sy).

I'm simply trying to make the smallest change possible that is the
least likely to raise objections.

Since the chipset is in the same package as the ARM core, I'm thinking
it's going to be a very long time before anybody is going to use a non
ARM32/ARM64 architecture with this driver.





More information about the linux-rpi-kernel mailing list