[PATCH] staging: ozwpan: High resolution timers

Rupesh Gujare rupesh.gujare at atmel.com
Tue Jul 30 13:48:35 UTC 2013


On 30/07/13 14:12, Dan Carpenter wrote:
> On Tue, Jul 30, 2013 at 01:31:50PM +0100, Rupesh Gujare wrote:
>> Current implementation assumes HZ = 1000 for calculating
>> all internal timer intervals, which creates problem on
>> platforms where HZ != 1000.
>>
>> As well we need resolution of less than 10 mSec for heartbeat
>> calculation, this creates problem on some platforms where HZ is
>> configured as HZ = 100, or around, which restricts us to timer interval
>> of 10 mSec. This is particularly found on embedded devices.
>>
>> This patch moves on to use high resolution timers to calculate
>> all timer intervals as it allows us to have very small resolution
>> of timer interval, removing dependency on HZ.
>>
> I am new to this driver.  So we batch all the transfers together and
> send/recieve them in oz_hcd_heartbeat() every 10msec?  It's a
> polling interface?
>
> Sorry, if I am completely mis-reading what this driver is doing.
>
> In other words, could you explain what oz_hcd_heartbeat() does.
>
>
>

Yes, you are right. USB service requests for regular heartbeat when it 
have URBs queued (at them moment every 8mSsec when ISOC endpoints are
configured). This heartbeat is also used by EP0 traffic to retransmit 
packet over WiFi.

At heartbeat expiry, oz_hcd_heartbeat(), goes on to process all received 
URBs and send it over WiFi.


-- 
Regards,
Rupesh Gujare



More information about the devel mailing list