Search Linux Wireless

carl9170: RX and TX interrupt callback ?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I am trying to do time measurement using carl9170 firmware side. There was some 
interesting previous thread about clock to be used and location of the probe in 
the code. My goal is to get a precise time from the moment a packet has been 
transmitted (timestamp when the packet has been transmitted) and the arrival of 
the next received packet (time when a packet has been fully received). Looking 
though the code, there is a loop in src/main.c handling the TX/RX interrupt by 
reading the AR9170_MAC_REG_INT_CTRL register and checking the 
AR9170_MAC_INT_TXC/RXC bits. Pending on task to be performed in the loop, it 
could take tens of microseconds to go through one iteration which affects the 
measurement and resulting in having RXC timestamp smaller than TXC timestamp 
which is clearly an issue !
My current workaround is to add many check to AR9170_MAC_REG_INT_CTRL in the 
main loop to reduce the detection latency which at least gave me better results 
(TXC time < RXC time ) but somehow it does not seem AR9170_MAC_REG_INT_CTRL 
register is refreshed right away when a packet is received or transmitted. I 
would like to know if there is any way to attach a callback function  to the RXC 
or TXC interrupt so that we get immediate notification  instead of depending on 
a polling method. If not, is there any way to  minimize delays between the time 
a packet is sent/received and the  TXC/RXC bit flag raised in the register ?

Thanks,
Chris.


      
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux