lkml.org 
[lkml]   [2021]   [Oct]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    SubjectRE: [PATCH v3 1/2] gpio: mlxbf2: Introduce IRQ support
    Date
    > In KSZ9031, Register MII_KSZPHY_INTCS=0x1B reports all interrupt 
    > events and clear on read. So if there are 4 different interrupts, once it is read once, all 4 clear at once.
    > The micrel.c driver has defined ack_interrupt to read the above reg
    > and is called every time the interrupt handler phy_interrupt is called. So in this case, we should be good.
    > The code flow in our case would look like this:
    > - 2 interrupt sources (for example, link down followed by link up) set
    > in MII_KSZPHY_INTCS
    > - interrupt handler (phy_interrupt) reads MII_KSZPHY_INT which
    > automatically clears both interrupts
    > - another internal source triggers and sets the register.
    > - The second edge will be caught accordingly by the GPIO.

    > I still think there is a small race window. You product manager needs to decide if that is acceptable, or if you should poll the PHY.

    I talked to both our managers and the HW team and they said it is ok to use the interrupt for our product.

    > Anyway, it is clear the hardware only does level interrupts, so the GPIO driver should only accept level interrupts. -EINVAL otherwise.

    There is an on going conversation with HW folks to address this for future BlueField generations.

    Thank you.
    Asmaa

    \
     
     \ /
      Last update: 2021-10-08 16:48    [W:3.096 / U:0.228 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site