[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <2f354ed0-9fb7-59ea-ddd1-78703d9c818e@arm.com>
Date: Mon, 15 Jun 2020 18:31:58 +0100
From: Robin Murphy <robin.murphy@....com>
To: Florian Fainelli <f.fainelli@...il.com>,
Mark Brown <broonie@...nel.org>
Cc: lukas@...ner.de,
"moderated list:BROADCOM BCM2711/BCM2835 ARM ARCHITECTURE"
<linux-arm-kernel@...ts.infradead.org>,
"open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS"
<devicetree@...r.kernel.org>,
Scott Branden <sbranden@...adcom.com>,
Ray Jui <rjui@...adcom.com>, linux-kernel@...r.kernel.org,
"open list:SPI SUBSYSTEM" <linux-spi@...r.kernel.org>,
Rob Herring <robh+dt@...nel.org>,
"maintainer:BROADCOM BCM281XX/BCM11XXX/BCM216XX ARM ARCHITE..."
<bcm-kernel-feedback-list@...adcom.com>,
"moderated list:BROADCOM BCM2711/BCM2835 ARM ARCHITECTURE"
<linux-rpi-kernel@...ts.infradead.org>,
Martin Sperl <kernel@...tin.sperl.org>,
Nicolas Saenz Julienne <nsaenzjulienne@...e.de>
Subject: Re: [PATCH v2] spi: bcm2835: Enable shared interrupt support
On 2020-06-15 18:04, Florian Fainelli wrote:
>
>
> On 6/15/2020 10:00 AM, Mark Brown wrote:
>> On Mon, Jun 15, 2020 at 09:34:58AM -0700, Florian Fainelli wrote:
>>
>>> OK, so this has been dropped for spi/for-next right? How do we move from
>>> there?
>>
>> Well, I actually have it queued up for applying so unless I pull it
>> before my scripts get that far through the stuff I queued over the merge
>> window it'll go in (I dropped it due to it not being a bugfix). If it
>> were me I'd go with the two instruction hit from checking the flag TBH
>> but otherwise I guess __always_inline should work for compilers that
>> misoptimize. None of this is getting in the way of the framework so if
>> everyone involved in the driver is happy to spend time optimising it
>> and dealing with the fragility then it's fine by me.
>
> OK, how about I send you an increment patch (would a fixup be okay?)
> that adds __always_inline since we know from this thread that some
> compilers may mis-optimize the function inlining?
Now that I've been inclined to go and look up the documentation, are we
sure this so-very-contentious check is even correct? From my reading of
things we're checking whether the RXR interrupt function is *enabled*,
which still says nothing about whether either condition for the
interrupt being *asserted* is true (RXR = 1 or DONE = 1). Thus if more
than one SPI instance is active at once we could still end up trying to
service an IRQ on a controller that didn't raise it.
Robin.
Powered by blists - more mailing lists