r4751 - developers/werner/wlan-spi/patches-tracking
werner at docs.openmoko.org
werner at docs.openmoko.org
Tue Nov 4 00:36:59 CET 2008
Author: werner
Date: 2008-11-04 00:36:57 +0100 (Tue, 04 Nov 2008)
New Revision: 4751
Modified:
developers/werner/wlan-spi/patches-tracking/hif-can-do-async.patch
Log:
Updated status of sync/async mode.
- drivers/ar6000/hif/hif2.c: remove obsolete CONFIG_AR6000_GTA02_DIRECT_IRQ
- drivers/ar6000/hif/hif2.c: we can do sync/async, but it doesn't always help
Modified: developers/werner/wlan-spi/patches-tracking/hif-can-do-async.patch
===================================================================
--- developers/werner/wlan-spi/patches-tracking/hif-can-do-async.patch 2008-11-03 08:27:03 UTC (rev 4750)
+++ developers/werner/wlan-spi/patches-tracking/hif-can-do-async.patch 2008-11-03 23:36:57 UTC (rev 4751)
@@ -1,23 +1,21 @@
-After going to direct interrupts, our HIF can also handle asynchronous
-requests. Not entirely sure what kept them from working before. Most
-likely, there is some synchronization problem that we're now avoiding
-by also going through the system's main workqueue and thus implicitly
-synchronize with SPI.
+Lo and behold, this doesn't even need direct interrupts to work.
+The results are mixed: throughput is down by 5% for inbound
+traffic but up by 14% for outbound. Latency increases by about
+8ms for outbound pings.
+
Index: ktrack/drivers/ar6000/hif/hif2.c
===================================================================
---- ktrack.orig/drivers/ar6000/hif/hif2.c 2008-10-16 01:01:08.000000000 -0200
-+++ ktrack/drivers/ar6000/hif/hif2.c 2008-10-16 01:01:28.000000000 -0200
-@@ -279,8 +279,11 @@
+--- ktrack.orig/drivers/ar6000/hif/hif2.c 2008-11-03 21:12:06.000000000 -0200
++++ ktrack/drivers/ar6000/hif/hif2.c 2008-11-03 21:18:00.000000000 -0200
+@@ -425,8 +425,8 @@
mbs_cfg[i] = HIF_MBOX_START_ADDR(i);
break;
case HIF_DEVICE_GET_IRQ_PROC_MODE:
-+#ifdef CONFIG_AR6000_GTA02_DIRECT_IRQ
-+ *ipm_cfg = HIF_DEVICE_IRQ_ASYNC_SYNC;
-+#else
- *ipm_cfg = HIF_DEVICE_IRQ_SYNC_ONLY;
+- *ipm_cfg = HIF_DEVICE_IRQ_SYNC_ONLY;
-// *ipm_cfg = HIF_DEVICE_IRQ_ASYNC_SYNC;
-+#endif
++ *ipm_cfg = HIF_DEVICE_IRQ_ASYNC_SYNC;
++// *ipm_cfg = HIF_DEVICE_IRQ_SYNC_ONLY;
break;
default:
return A_ERROR;
More information about the commitlog
mailing list