* ALSA sound on beagleboard
@ 2008-10-22 4:57 Rick Bronson
2008-10-22 5:15 ` David Brownell
0 siblings, 1 reply; 10+ messages in thread
From: Rick Bronson @ 2008-10-22 4:57 UTC (permalink / raw)
To: linux-omap
Hi,
I'd like to get arecord working on the beagleboard. I've enabled:
CONFIG_SND_OMAP_SOC=y
CONFIG_SND_OMAP_SOC_MCBSP=y
CONFIG_SND_SOC_TWL4030=y
But I get this upon boot:
Advanced Linux Sound Architecture Driver Version 1.0.17.
ASoC version 0.13.2
ALSA device list:
No soundcards found.
Please give me a clue on where to start.
Thanks much.
Rick Bronson
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: ALSA sound on beagleboard
2008-10-22 4:57 Rick Bronson
@ 2008-10-22 5:15 ` David Brownell
2008-10-22 16:40 ` Felipe Contreras
0 siblings, 1 reply; 10+ messages in thread
From: David Brownell @ 2008-10-22 5:15 UTC (permalink / raw)
To: rick; +Cc: linux-omap
On Tuesday 21 October 2008, you wrote:
> Please give me a clue on where to start.
This patch came on linux-omap a while back. I'm not sure
why it isn't merged yet. The clock framework crapped out
on me because of a lockdep problem ... maybe it'll work OK
if you don't enable lockdep.
- Dave
================
From: Felipe Contreras <felipe.contreras@gmail.com>
Subject: [PATCH] alsa: add Beagleboard SoC configuration.
This is exactly the same as the overo configuration. It might make sense
to have them in a single one.
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
# CHANGED to not spew messages about beagle on non-beagle boards
---
This was suggested by Koen Kooi.
sound/soc/omap/Kconfig | 8 ++
sound/soc/omap/Makefile | 2
sound/soc/omap/omap3beagle.c | 149 +++++++++++++++++++++++++++++++++++++++++
3 files changed, 159 insertions(+)
create mode 100644 sound/soc/omap/omap3beagle.c
--- a/sound/soc/omap/Kconfig
+++ b/sound/soc/omap/Kconfig
@@ -22,3 +22,11 @@ config SND_OMAP_SOC_OVERO
help
Say Y if you want to add support for SoC audio on the Gumstix Overo.
+config SND_OMAP_SOC_OMAP3_BEAGLE
+ tristate "SoC Audio support for OMAP3 Beagle"
+ depends on SND_OMAP_SOC && MACH_OMAP3_BEAGLE
+ select SND_OMAP_SOC_MCBSP
+ select SND_SOC_TWL4030
+ help
+ Say Y if you want to add support for SoC audio on the Beagleboard.
+
--- a/sound/soc/omap/Makefile
+++ b/sound/soc/omap/Makefile
@@ -8,7 +8,9 @@ obj-$(CONFIG_SND_OMAP_SOC_MCBSP) += snd-
# OMAP Machine Support
snd-soc-n810-objs := n810.o
snd-soc-overo-objs := overo.o
+snd-soc-omap3beagle-objs := omap3beagle.o
obj-$(CONFIG_SND_OMAP_SOC_N810) += snd-soc-n810.o
obj-$(CONFIG_SND_OMAP_SOC_OVERO) += snd-soc-overo.o
+obj-$(CONFIG_SND_OMAP_SOC_OMAP3_BEAGLE) += snd-soc-omap3beagle.o
--- /dev/null
+++ b/sound/soc/omap/omap3beagle.c
@@ -0,0 +1,149 @@
+/*
+ * omap3beagle.c -- SoC audio for OMAP3 Beagle
+ *
+ * Author: Steve Sakoman <steve@sakoman.com>
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * version 2 as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA
+ *
+ */
+
+#include <linux/clk.h>
+#include <linux/platform_device.h>
+#include <sound/core.h>
+#include <sound/pcm.h>
+#include <sound/soc.h>
+#include <sound/soc-dapm.h>
+
+#include <asm/mach-types.h>
+#include <mach/hardware.h>
+#include <mach/gpio.h>
+#include <mach/mcbsp.h>
+
+#include "omap-mcbsp.h"
+#include "omap-pcm.h"
+#include "../codecs/twl4030.h"
+
+static int omap3beagle_hw_params(struct snd_pcm_substream *substream,
+ struct snd_pcm_hw_params *params)
+{
+ struct snd_soc_pcm_runtime *rtd = substream->private_data;
+ struct snd_soc_dai *codec_dai = rtd->dai->codec_dai;
+ struct snd_soc_dai *cpu_dai = rtd->dai->cpu_dai;
+ int ret;
+
+ /* Set codec DAI configuration */
+ ret = snd_soc_dai_set_fmt(codec_dai,
+ SND_SOC_DAIFMT_I2S |
+ SND_SOC_DAIFMT_NB_NF |
+ SND_SOC_DAIFMT_CBM_CFM);
+ if (ret < 0) {
+ printk(KERN_ERR "can't set codec DAI configuration\n");
+ return ret;
+ }
+
+ /* Set cpu DAI configuration */
+ ret = snd_soc_dai_set_fmt(cpu_dai,
+ SND_SOC_DAIFMT_I2S |
+ SND_SOC_DAIFMT_NB_NF |
+ SND_SOC_DAIFMT_CBM_CFM);
+ if (ret < 0) {
+ printk(KERN_ERR "can't set cpu DAI configuration\n");
+ return ret;
+ }
+
+ /* Set the codec system clock for DAC and ADC */
+ ret = snd_soc_dai_set_sysclk(codec_dai, 0, 26000000,
+ SND_SOC_CLOCK_IN);
+ if (ret < 0) {
+ printk(KERN_ERR "can't set codec system clock\n");
+ return ret;
+ }
+
+ return 0;
+}
+
+static struct snd_soc_ops omap3beagle_ops = {
+ .hw_params = omap3beagle_hw_params,
+};
+
+/* Digital audio interface glue - connects codec <--> CPU */
+static struct snd_soc_dai_link omap3beagle_dai = {
+ .name = "TWL4030",
+ .stream_name = "TWL4030",
+ .cpu_dai = &omap_mcbsp_dai[0],
+ .codec_dai = &twl4030_dai,
+ .ops = &omap3beagle_ops,
+};
+
+/* Audio machine driver */
+static struct snd_soc_machine snd_soc_machine_omap3beagle = {
+ .name = "omap3beagle",
+ .dai_link = &omap3beagle_dai,
+ .num_links = 1,
+};
+
+/* Audio subsystem */
+static struct snd_soc_device omap3beagle_snd_devdata = {
+ .machine = &snd_soc_machine_omap3beagle,
+ .platform = &omap_soc_platform,
+ .codec_dev = &soc_codec_dev_twl4030,
+};
+
+static struct platform_device *omap3beagle_snd_device;
+
+static int __init omap3beagle_soc_init(void)
+{
+ int ret;
+
+ if (!machine_is_omap3_beagle()) {
+ pr_debug("Not OMAP3 Beagle!\n");
+ return -ENODEV;
+ }
+ pr_info("OMAP3 Beagle SoC init\n");
+
+ omap3beagle_snd_device = platform_device_alloc("soc-audio", -1);
+ if (!omap3beagle_snd_device) {
+ printk(KERN_ERR "Platform device allocation failed\n");
+ return -ENOMEM;
+ }
+
+ platform_set_drvdata(omap3beagle_snd_device, &omap3beagle_snd_devdata);
+ omap3beagle_snd_devdata.dev = &omap3beagle_snd_device->dev;
+ *(unsigned int *)omap3beagle_dai.cpu_dai->private_data = 1; /* McBSP2 */
+
+ ret = platform_device_add(omap3beagle_snd_device);
+ if (ret)
+ goto err1;
+
+ return 0;
+
+err1:
+ printk(KERN_ERR "Unable to add platform device\n");
+ platform_device_put(omap3beagle_snd_device);
+
+ return ret;
+}
+
+static void __exit omap3beagle_soc_exit(void)
+{
+ platform_device_unregister(omap3beagle_snd_device);
+}
+
+module_init(omap3beagle_soc_init);
+module_exit(omap3beagle_soc_exit);
+
+MODULE_AUTHOR("Steve Sakoman <steve@sakoman.com>");
+MODULE_DESCRIPTION("ALSA SoC OMAP3 Beagle");
+MODULE_LICENSE("GPL");
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: ALSA sound on beagleboard
2008-10-22 5:15 ` David Brownell
@ 2008-10-22 16:40 ` Felipe Contreras
0 siblings, 0 replies; 10+ messages in thread
From: Felipe Contreras @ 2008-10-22 16:40 UTC (permalink / raw)
To: David Brownell; +Cc: rick, linux-omap
On Wed, Oct 22, 2008 at 8:15 AM, David Brownell <david-b@pacbell.net> wrote:
> On Tuesday 21 October 2008, you wrote:
>> Please give me a clue on where to start.
>
> This patch came on linux-omap a while back. I'm not sure
> why it isn't merged yet. The clock framework crapped out
> on me because of a lockdep problem ... maybe it'll work OK
> if you don't enable lockdep.
Hmm, I don't know about that lockdep problem, but I don't know
anything about the driver anyway. I just copy-pasted the overo stuff.
I've reposted the patch, maybe it will get merged and the issues will
be resolved eventually.
--
Felipe Contreras
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: ALSA sound on beagleboard
@ 2008-10-22 17:37 Rick Bronson
2008-10-22 18:35 ` Koen Kooi
0 siblings, 1 reply; 10+ messages in thread
From: Rick Bronson @ 2008-10-22 17:37 UTC (permalink / raw)
To: linux-omap
Dave,
Thanks for the info. This patch did get sound output working. But
input doesn't seem to work. I checked that I really have audio at the
audio-in connector and that the mixer is set right:
> amixer
Simple mixer control 'Master',0
Capabilities: pvolume
Playback channels: Front Left - Front Right
Limits: Playback 0 - 127
Mono:
Front Left: Playback 75 [59%]
Front Right: Playback 75 [59%]
Simple mixer control 'Capture',0
Capabilities: cvolume
Capture channels: Front Left - Front Right
Limits: Capture 0 - 127
Front Left: Capture 84 [66%]
Front Right: Capture 84 [66%]
Anyone else got it working?
Thanks for any help.
Rick
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: ALSA sound on beagleboard
2008-10-22 17:37 Rick Bronson
@ 2008-10-22 18:35 ` Koen Kooi
2008-10-22 19:44 ` David Brownell
0 siblings, 1 reply; 10+ messages in thread
From: Koen Kooi @ 2008-10-22 18:35 UTC (permalink / raw)
To: linux-omap@vger.kernel.org List
[-- Attachment #1: Type: text/plain, Size: 1035 bytes --]
Op 22 okt 2008, om 19:37 heeft Rick Bronson het volgende geschreven:
> Dave,
>
> Thanks for the info. This patch did get sound output working. But
> input doesn't seem to work. I checked that I really have audio at the
> audio-in connector and that the mixer is set right:
>
>> amixer
> Simple mixer control 'Master',0
> Capabilities: pvolume
> Playback channels: Front Left - Front Right
> Limits: Playback 0 - 127
> Mono:
> Front Left: Playback 75 [59%]
> Front Right: Playback 75 [59%]
> Simple mixer control 'Capture',0
> Capabilities: cvolume
> Capture channels: Front Left - Front Right
> Limits: Capture 0 - 127
> Front Left: Capture 84 [66%]
> Front Right: Capture 84 [66%]
>
> Anyone else got it working?
Is your asound.conf set up correctly?
regards,
Koen
>
>
> Thanks for any help.
>
> Rick
> --
> To unsubscribe from this list: send the line "unsubscribe linux-
> omap" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 186 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: ALSA sound on beagleboard
2008-10-22 18:35 ` Koen Kooi
@ 2008-10-22 19:44 ` David Brownell
2008-10-22 19:57 ` Koen Kooi
0 siblings, 1 reply; 10+ messages in thread
From: David Brownell @ 2008-10-22 19:44 UTC (permalink / raw)
To: Koen Kooi; +Cc: linux-omap@vger.kernel.org List
On Wednesday 22 October 2008, Koen Kooi wrote:
> >
> > Anyone else got it working?
>
> Is your asound.conf set up correctly?
Perhaps you could include a sample?
Every time I touch ALSA I get annoyed that it doesn't
have the basic intelligence to be able to configure
itself based on information exported by the kernel...
- Dave
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: ALSA sound on beagleboard
2008-10-22 19:44 ` David Brownell
@ 2008-10-22 19:57 ` Koen Kooi
0 siblings, 0 replies; 10+ messages in thread
From: Koen Kooi @ 2008-10-22 19:57 UTC (permalink / raw)
To: linux-omap@vger.kernel.org List
[-- Attachment #1: Type: text/plain, Size: 794 bytes --]
Op 22 okt 2008, om 21:44 heeft David Brownell het volgende geschreven:
> On Wednesday 22 October 2008, Koen Kooi wrote:
>>>
>>> Anyone else got it working?
>>
>> Is your asound.conf set up correctly?
>
> Perhaps you could include a sample?
I got a message from someone on the beagleboard mailinglist that
asound.conf was the culprit, no idea what the exact fix was.
> Every time I touch ALSA I get annoyed that it doesn't
> have the basic intelligence to be able to configure
> itself based on information exported by the kernel...
same here...
regards,
Koen
>
>
> - Dave
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-
> omap" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 186 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: ALSA sound on beagleboard
@ 2008-10-23 14:27 Rick Bronson
0 siblings, 0 replies; 10+ messages in thread
From: Rick Bronson @ 2008-10-23 14:27 UTC (permalink / raw)
To: linux-omap
> I got a message from someone on the beagleboard mailinglist that
> asound.conf was the culprit, no idea what the exact fix was.
I wonder if you could dig up this guy's contact info. I tried lots
of different asound.conf's but none of them did anything.
Here is what I get without a asound.conf:
> arecord -L
default:CARD=omap3beagle
omap3beagle,
Default Audio Device
null
Discard all samples (playback) or generate zero samples (capture)
> arecord -l
**** List of CAPTURE Hardware Devices ****
card 0: omap3beagle [omap3beagle], device 0: TWL4030 twl4030-I2S-0 []
Subdevices: 1/1
Subdevice #0: subdevice #0
Seems like everything looks okay for the default device.
Rick
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: ALSA sound on beagleboard
@ 2008-10-23 17:39 Rick Bronson
2008-10-23 17:48 ` Tony Lindgren
0 siblings, 1 reply; 10+ messages in thread
From: Rick Bronson @ 2008-10-23 17:39 UTC (permalink / raw)
To: linux-omap
Tony,
I checked out some other ARM spurious interrupt handling and it
seems that they ack the interrupt but left the macro with the Z bit
set which means that asm_do_IRQ() does not get called. Seems to me we
should do the same, see the patch below. Although, ideally, we should
be logging these. Is there a mechanism for doing this?
> Are these defines above still needed?
Yes.
BTW, I haven't checked this patch so don't do anything with it, just
comment on it ;-)
Rick
--- linux-omap-2.6/arch/arm/plat-omap/include/mach/entry-macro.S.git 2008-10-22 20:01:33.000000000 -0700
+++ linux-omap-2.6/arch/arm/plat-omap/include/mach/entry-macro.S 2008-10-23 10:25:57.000000000 -0700
@@ -66,7 +66,11 @@
#endif
#define INTCPS_SIR_IRQ_OFFSET 0x0040 /* Active interrupt offset */
-#define ACTIVEIRQ_MASK 0x7f /* Active interrupt bits */
+#define INTCPS_CONTROL 0x0048 /* new interrupt agreement bits offset */
+#define INTCPS_CONTROL_NEWIRQAGR 0x0001 /* Reset IRQ output and enable new IRQ generation */
+#define INTCPS_PENDING_IRQ_1 0x0098 /* IRQ pending reg 1 */
+#define INTCPS_PENDING_IRQ_2 0x00b8 /* IRQ pending reg 2 */
+#define INTCPS_PENDING_IRQ_3 0x00d8 /* IRQ pending reg 3 */
.macro disable_fiq
.endm
@@ -79,18 +83,18 @@
.macro get_irqnr_and_base, irqnr, irqstat, base, tmp
ldr \base, =OMAP2_VA_IC_BASE
- ldr \irqnr, [\base, #0x98] /* IRQ pending reg 1 */
- cmp \irqnr, #0x0
- bne 2222f
- ldr \irqnr, [\base, #0xb8] /* IRQ pending reg 2 */
- cmp \irqnr, #0x0
- bne 2222f
- ldr \irqnr, [\base, #0xd8] /* IRQ pending reg 3 */
- cmp \irqnr, #0x0
-2222:
- ldrne \irqnr, [\base, #INTCPS_SIR_IRQ_OFFSET]
- and \irqnr, \irqnr, #ACTIVEIRQ_MASK /* Clear spurious bits */
-
+ ldr \irqnr, [\base, #INTCPS_SIR_IRQ_OFFSET]
+ mvn \tmp, \irqnr /* flip MSBit */
+ bics \tmp, #0x80000000 /* test MSBit */
+ moveq \tmp, #INTCPS_CONTROL_NEWIRQAGR /* Ack the spurious irq */
+ streq \tmp, [\base, #INTCPS_CONTROL]
+ beq 2223f /* if we got a spurious interrupt, ignore it */
+ ldr \irqstat, [\base, #INTCPS_PENDING_IRQ_1] /* IRQ pending reg 1 */
+ ldr \tmp, [\base, #INTCPS_PENDING_IRQ_2] /* IRQ pending reg 2 */
+ orr \irqstat, \irqstat, \tmp /* or them all together */
+ ldr \tmp, [\base, #INTCPS_PENDING_IRQ_3] /* IRQ pending reg 3 */
+ orrs \irqstat, \irqstat, \tmp /* clear condition code Z if interrupt */
+2223:
.endm
.macro irq_prio_table
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: ALSA sound on beagleboard
2008-10-23 17:39 ALSA sound on beagleboard Rick Bronson
@ 2008-10-23 17:48 ` Tony Lindgren
0 siblings, 0 replies; 10+ messages in thread
From: Tony Lindgren @ 2008-10-23 17:48 UTC (permalink / raw)
To: Rick Bronson; +Cc: linux-omap
* Rick Bronson <rick@efn.org> [081023 10:41]:
> Tony,
>
> I checked out some other ARM spurious interrupt handling and it
> seems that they ack the interrupt but left the macro with the Z bit
> set which means that asm_do_IRQ() does not get called. Seems to me we
> should do the same, see the patch below. Although, ideally, we should
> be logging these. Is there a mechanism for doing this?
Well we should let the generic irq handler to do the logging.. But I
guess nothing will happen if adm_do_IRQ() does not get called.
We could have a dummy handler for some invented higher number that would
capture the spurious interrupts I guess.
BTW, ideally we would do the ldr conditionally rather than every time,
I guess that's the idea with the old way of doing things.
I think you could just move the old code after the spurious handling
to get the Z bit right? Or maybe there's some other way to optimize.
Tony
>
> > Are these defines above still needed?
>
> Yes.
>
> BTW, I haven't checked this patch so don't do anything with it, just
> comment on it ;-)
>
> Rick
>
> --- linux-omap-2.6/arch/arm/plat-omap/include/mach/entry-macro.S.git 2008-10-22 20:01:33.000000000 -0700
> +++ linux-omap-2.6/arch/arm/plat-omap/include/mach/entry-macro.S 2008-10-23 10:25:57.000000000 -0700
> @@ -66,7 +66,11 @@
> #endif
>
> #define INTCPS_SIR_IRQ_OFFSET 0x0040 /* Active interrupt offset */
> -#define ACTIVEIRQ_MASK 0x7f /* Active interrupt bits */
> +#define INTCPS_CONTROL 0x0048 /* new interrupt agreement bits offset */
> +#define INTCPS_CONTROL_NEWIRQAGR 0x0001 /* Reset IRQ output and enable new IRQ generation */
> +#define INTCPS_PENDING_IRQ_1 0x0098 /* IRQ pending reg 1 */
> +#define INTCPS_PENDING_IRQ_2 0x00b8 /* IRQ pending reg 2 */
> +#define INTCPS_PENDING_IRQ_3 0x00d8 /* IRQ pending reg 3 */
>
> .macro disable_fiq
> .endm
> @@ -79,18 +83,18 @@
>
> .macro get_irqnr_and_base, irqnr, irqstat, base, tmp
> ldr \base, =OMAP2_VA_IC_BASE
> - ldr \irqnr, [\base, #0x98] /* IRQ pending reg 1 */
> - cmp \irqnr, #0x0
> - bne 2222f
> - ldr \irqnr, [\base, #0xb8] /* IRQ pending reg 2 */
> - cmp \irqnr, #0x0
> - bne 2222f
> - ldr \irqnr, [\base, #0xd8] /* IRQ pending reg 3 */
> - cmp \irqnr, #0x0
> -2222:
> - ldrne \irqnr, [\base, #INTCPS_SIR_IRQ_OFFSET]
> - and \irqnr, \irqnr, #ACTIVEIRQ_MASK /* Clear spurious bits */
> -
> + ldr \irqnr, [\base, #INTCPS_SIR_IRQ_OFFSET]
> + mvn \tmp, \irqnr /* flip MSBit */
> + bics \tmp, #0x80000000 /* test MSBit */
> + moveq \tmp, #INTCPS_CONTROL_NEWIRQAGR /* Ack the spurious irq */
> + streq \tmp, [\base, #INTCPS_CONTROL]
> + beq 2223f /* if we got a spurious interrupt, ignore it */
> + ldr \irqstat, [\base, #INTCPS_PENDING_IRQ_1] /* IRQ pending reg 1 */
> + ldr \tmp, [\base, #INTCPS_PENDING_IRQ_2] /* IRQ pending reg 2 */
> + orr \irqstat, \irqstat, \tmp /* or them all together */
> + ldr \tmp, [\base, #INTCPS_PENDING_IRQ_3] /* IRQ pending reg 3 */
> + orrs \irqstat, \irqstat, \tmp /* clear condition code Z if interrupt */
> +2223:
> .endm
>
> .macro irq_prio_table
> --
> To unsubscribe from this list: send the line "unsubscribe linux-omap" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2008-10-23 17:48 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-10-23 17:39 ALSA sound on beagleboard Rick Bronson
2008-10-23 17:48 ` Tony Lindgren
-- strict thread matches above, loose matches on Subject: below --
2008-10-23 14:27 Rick Bronson
2008-10-22 17:37 Rick Bronson
2008-10-22 18:35 ` Koen Kooi
2008-10-22 19:44 ` David Brownell
2008-10-22 19:57 ` Koen Kooi
2008-10-22 4:57 Rick Bronson
2008-10-22 5:15 ` David Brownell
2008-10-22 16:40 ` Felipe Contreras
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).