Kmod driver at iicbus. attach() and config_intrhook(9)

Andriy Gapon avg at FreeBSD.org
Thu Aug 27 05:35:07 UTC 2020


On 27/08/2020 00:33, John-Mark Gurney wrote:
> Andriy Gapon wrote this message on Wed, Aug 26, 2020 at 23:55 +0300:
>> On 25/08/2020 23:33, John-Mark Gurney wrote:
>>> Andriy Gapon wrote this message on Tue, Aug 25, 2020 at 10:21 +0300:
>>>> On 24/08/2020 23:47, John-Mark Gurney wrote:
>>>>> What driver is used for i2c on the Orange?  I've tried to firgure it
>>>>> out from dts + source, but it isn't clear.
>>>>
>>>> a10_twsi
>>>
>>> Thanks.  And this explains why I couldn't find it in arm/allwinner.. :)
>>>
>>> Yeah, this is using bus_generic_attach...
>>>
>>> But it looks like it supports interruptless operation.  Is there a flag
>>> for when interrupts are enabled?
>>>
>>> Because the check in sys/dev/iicbus/twsi/twsi.c:twsi_transfer could be
>>> changed from:
>>>         if (sc->have_intr == false)
>>>
>>> to:
>>>         if (sc->have_intr == false || interrupts_not_enabled)
>>>
>>> And that could fix things.
>>>
>>
>> sc->have_intr is already enabled from the interrupt enable hook.
> 
> But that only detects if the interrupt are used, NOT that they are
> currently active and working which the "|| cold" would provide...

The interrupt hook is called after interrupts are enabled and usable.
Specifically, I mean config_intrhook_oneshot().


-- 
Andriy Gapon


More information about the freebsd-arm mailing list