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
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html