• Michael Hennerich's avatar
    net: ieee802154: adf7242: Rework IRQ and packet handling · 8f1878a1
    Michael Hennerich authored
     * Stop unconditionally polling for RC_STATUS_PHY_RDY at the entry of
    the threaded IRQ handler. Once IRQ_RX_PKT_RCVD is received we can
    read immediately the packet from the buffer. However we still need
    to wait afterwards for RC_STATUS_PHY_RDY, to make sure that the
    ACK (in case requested) was processed and send out by the
    Radio Controller, before we issue the next CMD_RC_RX.
    This significantly reduces the overall time spend in the threaded
    IRQ handler.
    
     * Avoid raise condition between xmit and coincident packet reception,
    by disabling the IRQ and clearing the IRQ status upon xmit entry.
    
     * Introduce helper functions adf7242_clear_irqstat() and adf7242_cmd_rx()
    Signed-off-by: default avatarMichael Hennerich <michael.hennerich@analog.com>
    Signed-off-by: default avatarStefan Schmidt <stefan@osg.samsung.com>
    8f1878a1
adf7242.c 35 KB