[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CACRpkdYqPXo4xzNQzjQemCpM_dWYn+ZmSBPopRScyR9K1R3cfg@mail.gmail.com>
Date: Fri, 23 Sep 2016 15:53:38 +0200
From: Linus Walleij <linus.walleij@...aro.org>
To: Eric Anholt <eric@...olt.net>
Cc: linux-rpi-kernel <linux-rpi-kernel@...ts.infradead.org>,
"linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
Stephen Warren <swarren@...dotorg.org>,
Lee Jones <lee@...nel.org>,
bcm-kernel-feedback-list <bcm-kernel-feedback-list@...adcom.com>,
Alexandre Courbot <gnurou@...il.com>,
Rob Herring <robh+dt@...nel.org>,
Mark Rutland <mark.rutland@....com>,
Gerd Hoffmann <kraxel@...hat.com>
Subject: Re: [PATCH 1/3] dt-bindings: Add a binding for the RPi firmware GPIO driver.
On Fri, Sep 23, 2016 at 3:08 PM, Eric Anholt <eric@...olt.net> wrote:
> Sort of related: I also worry that we have races with the firmware for
> the platform GPIO bits, since both ARM and firmware are doing RMWs (or,
> even worse, maybe just Ws?) of the registers controlled by the pinctrl
> driver. Hopefully I can get the firmware to pass control of devices
> like this over to Linux, with firmware making requests to us, but I
> don't know if that will happen and we may need to access other GPIOs
> using this interface :(
For the race with firmware I have no good solutions, it's just one of
those things I guess :(
When two kernel drivers compete about registers, say for example
one driver needs to RMW bits 0-5 and another driver needs to
RMW bits 7-11, the right solution is usually to use syscon
and then regmap-mmio will deal with the concurrency as part
of regmap_update_bits() etc.
Yours,
Linus Walleij
Powered by blists - more mailing lists