Thread: Re: detection of isochronous resource manager
Brought to you by:
aeb,
bencollins
From: Manfred W. <e95...@st...> - 2000-05-17 20:12:50
|
Franck Bonin wrote: > Just look at self-ID packets : > > If bit 'c' and 'L'(11 & 22) are set to one, the > corresponding node is condidate to be the isochronous > resource manager. And the isochronous res manager is > the candidate node with the largest phy ID (bits > 24~29) This sounds reasonable, but there is one problem: Where do I find the self-ID packets? I have to read the topology map for that purpose, but not the topology map at the local node, but that one on the bus manager, because that is the only one which is guaranteed to have valid data. So I first have to find out the id of the bus manager. For that purpose, I think, I can read the bus_manager_id register of the local node. But the problem is, that it is possible, that we have no bus manager (ie bus manager id is 0x3f). In that case, I think (but I am not quite sure) I should read the topology map of the isochronous resource manager (which does some tasks of the bus manager). So it might be necessary to know the id of the isochronous resource manager in order to find out the id of the isochronous resource manager! So there must be another way to find out the id of the isochronous resource manager. |
From: Andreas B. <and...@mu...> - 2000-05-19 12:54:13
|
On Wed, May 17, 2000 at 12:30:59PM +0200, Manfred Weihs wrote: > Franck Bonin wrote: > > Just look at self-ID packets : > > > > If bit 'c' and 'L'(11 & 22) are set to one, the > > corresponding node is condidate to be the isochronous > > resource manager. And the isochronous res manager is > > the candidate node with the largest phy ID (bits > > 24~29) > > This sounds reasonable, but there is one problem: > Where do I find the self-ID packets? I have to read the topology map for > that purpose, but not the topology map at the local node, but that one > on the bus manager, because that is the only one which is guaranteed to > have valid data. Only the bus manager is _required_ to do so, but nothing stops other nodes from providing a topology map. Our subsystem always does. You can read the local topology map and assume the data is valid. Same for speed map, if you want it. libraw should provide an easier way to find out which nodes are the iso and bus managers. This is determined at bus reset time in the kernel anyway (except for bus manager which isn't done yet), so that can very well be exported. I'll look into that for the next release. -- Andreas E. Bombe <and...@mu...> DSA key 0x04880A44 http://home.pages.de/~andreas.bombe/ http://linux1394.sourceforge.net/ |