lkml.org 
[lkml]   [2008]   [Apr]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [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/


\
 
 \ /
  Last update: 2008-04-11 00:11    [W:0.050 / U:0.516 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site