Re: ieee1394: host adapter disappears on 1394 bus reset

From: Robert Crocombe
Date: Tue Nov 28 2006 - 14:07:37 EST


On 11/27/06, Stefan Richter <stefanr@xxxxxxxxxxxxxxxxx> wrote:
Posted writes are still enabled. phys_dma=0 disables only the physical
response unit. You have to change the source if you want to disable
posted writes. See the top of ohci_initialize. Should this be a module
load parameter too?

Er. I misspoke. What I need is for write requests directed to
address 0 to be directed to the asynchronous unit so that I can treat
them as regular asynchronous write requests. As the OHCI 1.1 spec
says:

"Physical requests that are rejected by the PhysicalRequestFilter
shall be sent to the AR Request DMA context if the AR Request DMA
context is enabled". (5.14.2, page 58)

That does appear to be happening: I have an ARM mapping set to begin
at 0 and extend some ways along, and I do receive write requests. At
first I was simply changing the lines:

reg_write(ohci,OHCI1394_PhyReqFilterHiSet, 0xffffffff);
reg_write(ohci,OHCI1394_PhyReqFilterLoSet, 0xffffffff);

to be 0x0000 0000 instead, but then I paid more attention to the
source and saw the phys_dma parameter, which does the same. .... Well,
*did*, in 2.6.16. I see that 2.6.18 doesn't write 0 if !phys_dma, it
just leaves the values alone, but I guess that's okay since they are
set to 0 on reset. Same difference.

So that's okay. Uhm, mostly. You should really see the horrors I
have created in order to be able to have 5 hosts map the same address
range (the custom protocol we're using doesn't use the destination
address at all, so it's 0 for everybody).

So long ways round, I think the phys_dma parameter is the proper thing for me.

And I will try and do some actual thinking about what is happening. I
was hoping to offload that work to you and simply perform mechanical
changes to the source! Rats!

--
Robert Crocombe
rcrocomb@xxxxxxxxx
-
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/