Messages in this thread | | | Date | Fri, 11 Apr 2008 00:08:08 +0200 | From | Stefan Richter <> | Subject | Re: [PATCH linux1394-2.6.git] firewire: fw-ohci: add option for remote debugging - amendment |
| |
I wrote: > - 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. ... > --- 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/
| |