Re: ieee1394 in 2.6.20-rc1 (was Re: Linux 2.6.20-rc1)

From: Gene Heskett
Date: Mon Dec 18 2006 - 10:55:41 EST


On Monday 18 December 2006 10:45, Stefan Richter wrote:
>Gene Heskett wrote:
>> On Sunday 17 December 2006 20:05, Stefan Richter wrote:
>>>What's missing in our implementation is that the use count of ohci1394
>>>goes up too once a "high-level driver" uses resources of a host driven
>>>by ohci1394.
>>
>> This needs some tlc then I assume?
>
>Yes. It's now logged at http://bugzilla.kernel.org/show_bug.cgi?id=7701
>and will probably stay there until I do something about it myself.

Thanks, that pretty well describes what happened here.

>>>The FireWire stack has three layers: Low level (ohci1394 and pcilynx;
>>>control the host bus adapter),
>>
>> The hardware
>
>Yes, or more precisely the built-in hardware, not hardware at the other
>end of the wire.

That was assumed when I wrote it :)

>>>mid level (the ieee1394 core)
>>
>> which I assume (fuggly word) steers the high level stuff to the right
>> entry points in the hardware handler?
>
>Yes. It implements common management functionality and makes actions
>like "write into a register of a remote node" or "receive a stream into
>a buffer" independent of the actual host adapter --- or at least that
>was the intent when Linux' FireWire stack was designed. Years ago there
>was actually another driver for a non-OHCI host adapter chip from
>Adaptec; and there is a mostly functional but unmaintained out-of-tree
>driver for a non-OHCI/ non-PCI adapter from Texas Instruments (TI
> GP2Lynx).
>
>IOW the ieee1394 core provides a platform to stick application-level
>drivers (protocol drivers) like for DV, IPv4 networking, SBP-2 storage
>on top of it without having to care of how particular host adapter chips
>are programmed. raw1394 basically extends ieee1394 to stick userspace
>drivers on it.
>
>But as mentioned, this layering is partly violated in the actual
>implementation. Also, the ieee1394 core is itself needlessly dependent
>on a PCI kernel API, making it harder for embedded developers to add
>their own low-level drivers than it ought to be. (So I was told; I
>actually rarely hear from embedded development projects.)

Typical :-) Don't let me distract you from more important work :)

--
Cheers, Gene
"There are four boxes to be used in defense of liberty:
soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
Yahoo.com and AOL/TW attorneys please note, additions to the above
message by Gene Heskett are:
Copyright 2006 by Maurice Eugene Heskett, all rights reserved.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/