I wrote:
quoted text > - Open the physical DMA filter in the top half of the IRQ handler
> and flush the necessary MMIO writes. This is to open the filter
> as soon as possible after bus reset.
...
quoted text > --- linux.orig/drivers/firewire/fw-ohci.c
> +++ linux/drivers/firewire/fw-ohci.c
> @@ -1309,11 +1309,6 @@ static void bus_reset_tasklet(unsigned l
> reg_write(ohci, OHCI1394_ConfigROMhdr, ohci->next_header);
> }
>
> -#ifdef CONFIG_FIREWIRE_OHCI_REMOTE_DMA
> - reg_write(ohci, OHCI1394_PhyReqFilterHiSet, ~0);
> - reg_write(ohci, OHCI1394_PhyReqFilterLoSet, ~0);
> -#endif
> -
> spin_unlock_irqrestore(&ohci->lock, flags);
>
> if (free_rom)
> @@ -1341,8 +1336,14 @@ static irqreturn_t irq_handler(int irq,
> reg_write(ohci, OHCI1394_IntEventClear, event & ~OHCI1394_busReset);
> log_irqs(event);
>
> - if (event & OHCI1394_selfIDComplete)
> + if (event & OHCI1394_selfIDComplete) {
> +#ifdef CONFIG_FIREWIRE_OHCI_REMOTE_DMA
> + reg_write(ohci, OHCI1394_PhyReqFilterHiSet, ~0);
> + reg_write(ohci, OHCI1394_PhyReqFilterLoSet, ~0);
> + flush_writes(ohci);
> +#endif
> tasklet_schedule(&ohci->bus_reset_tasklet);
> + }
>
I retract this part of the patch. Writes to PhyReqFilter have no effect
as long as intEvent.busReset isn't cleared. This happens in the bottom
half of the bus reset handler (bus_reset_tasklet).
The rest of the patch stays valid.
--
Stefan Richter
-=====-==--- -=-- -=-==
http://arcgraph.de/sr/
--
unsubscribe notice To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
majordomo@vger.kernel.org
More majordomo info at
http://vger.kernel.org/majordomo-info.html
Please read the FAQ at
http://www.tux.org/lkml/
Messages in current thread:
Re: [PATCH linux1394-2.6.git] firewire: fw-ohci: add option ... , Stefan Richter , (Thu Apr 10, 6:08 pm)