On Fri, 2 Oct 2026 08:32:51 +0100 Conor Dooley <[email protected]> wrote:
> On Wed, Sep 30, 2026 at 02:05:47PM +0000, Wilken Gottwalt wrote: > > On Wed, 30 Sep 2026 20:02:21 +0700 > > Nguyen Minh Tien <[email protected]> wrote: > > > > > Hi Wilken, > > > > > > > Wouldn't it make more sense to add the "allwinner,sun20i-d1-hwspinlock" > > > > line to > > > > the driver in the sun6i_hwspinlock_ids struct, drop > > > > "allwinner,sun6i-a31-hwspinlock" here in the D1 device tree and update > > > > the yaml > > > > file accordingly? > > > > > > Thanks for looking at it. Bjorn hasn't replied yet, so I looked a bit > > > more at the naming. I'd like to keep the A31 fallback: it's the usual > > > pattern, other blocks in this dtsi do the same (timer, I2S, LED > > > controller), and Conor already acked the binding in 2/3. If Bjorn > > > prefers a driver entry instead, I'm fine to change it. > > > > Yeah, Conor was a bit quick to act here, such things happen often with > > patchsets > > made out of documentation/devicetrees and code. Though, the get clock and > > resets > > patch is fine. The driver could use some modernization. > > I dunno, was I too quick to act? The patched looked correct to me, since > it was using a fallback to a device that it appears to be compatible > with. Had the series done what you're suggesting, my review feedback > would have been to tell the Tien to add a fallback. I'm just not sure how to actually do it right, because so many SoCs include that feature. That is why I asked how you would do it having more insight as a subsystem maintainer. It just looks incomplete to me. In the past I actually verified it working with H2, H2+ and H3, none of them being "allwinner,sun6i-a31-hwspinlock". > > > Bjorn, what do you think? Just stay with the > > > "allwinner,sun6i-a31-hwspinlock" > > > string or add all the possible combinations like > > > "allwinner,sun8i-h2-plus-hwspinlock" or "allwinner,sun8i-a83t-hwspinlock". > > > I mean, it is just a naming game and there are 10+ SoCs supporting this > > > spinlock register file > > All devices compatible with the a31 should use the a31 as a fallback. > > > > > > > Oh, and I may be able to test it against the D1, I own a Sipeed Nezha. > > > > > > That would be great. You don't need FreeRTOS for it: I tested with a > > > small Linux module that takes each lock and checks the status > > > register. I can clean it up for the single-core D1 and send it. > > > > Uhm, the Linux-only test doesn't work as a hwspinlock test, it misses the > > entire > > point of the primitive. A hwspinlock arbitrates between two independent > > agents, > > in this case, Linux running on the C906 core and FreeRTOS running on the > > HiFi > > DSP, both sharing the same memory bus and other hardware. If Linux is the > > only > > one who ever takes the locks, it is simultaneously writer and reader of the > > status > > register, so the test cannot fail even for a broken (or fake) > > implementation. That > > would basically test nothing at all, well, maybe it would be some kind of > > bring-up > > test, but overall quite useless.

