netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: David Acker <dacker@roinet.com>
To: "Anders Grafström" <grfstrm@users.sourceforge.net>
Cc: "Kok, Auke" <auke-jan.h.kok@intel.com>,
	Jeff Garzik <jeff@garzik.org>,
	e1000-devel@lists.sourceforge.net, netdev@vger.kernel.org,
	jesse.brandeburg@intel.com, miltonm@bga.com,
	akpm@linux-foundation.org
Subject: Re: [PATCH] Fix e100 on systems that have cache incoherent DMA
Date: Wed, 18 Jun 2008 15:16:38 -0400	[thread overview]
Message-ID: <48595F16.5000905@roinet.com> (raw)
In-Reply-To: <485959DC.80902@users.sourceforge.net>

Anders Grafström wrote:
>>>> David Acker wrote:
>>>>> What is the status of this patch?
>>>>
>>>> Jeff merged it in netdev-2.6#upstream so it is queued for 2.6.25.
> 
> The e100 driver broke in 2.6.25 on the ixp4xx based platform I'm using.
> This patch seems to be the cause.
> 
> It appears to work again with pci_dma_sync_single_for_device() restored.
> So I'm wondering if the patch below would be valid and correct?
> 
> Anders
> 
> diff --git a/drivers/net/e100.c b/drivers/net/e100.c
> index f3cba5e..1037b13 100644
> --- a/drivers/net/e100.c
> +++ b/drivers/net/e100.c
> @@ -1803,6 +1803,8 @@ static int e100_rx_alloc_skb(struct nic *nic, 
> struct rx *rx)
>      if (rx->prev->skb) {
>          struct rfd *prev_rfd = (struct rfd *)rx->prev->skb->data;
>          put_unaligned_le32(rx->dma_addr, &prev_rfd->link);
> +        pci_dma_sync_single_for_device(nic->pdev, rx->prev->dma_addr,
> +            sizeof(struct rfd), PCI_DMA_TODEVICE);
>      }
> 
>      return 0;

Interesting.  That e100 patch really is the patch that never ends!  :-) 
  I didn't think I needed the pci_dma_sync_single_for_device because I 
wasn't changing the prev_rfd->command anymore.  Now I look again and I 
see that the code is still setting prev_rfd->link which may require a 
sync.  Although I did the bulk of my work with a compulab CM-X255, 
http://www.compulab.co.il/x255/html/x255-cm-datasheet.htm , I happen to 
have some IXP425 based Gateworks Avilas.  They are GW2348-4, 
http://www.gateworks.com/products/avila/gw2348-4.php .

May I ask what actual board you are using and how the e100 is connected 
to it?  I plan to test with miniPCI based e100 cards.  Also, can you say 
more about it being broke?  Does it crash immediately, fail to move any 
data, move some data and stop, etc. ?

-Ack

-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php

  reply	other threads:[~2008-06-18 19:16 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-11-08 18:17 [PATCH] Fix e100 on systems that have cache incoherent DMA Auke Kok
2007-11-28 19:12 ` David Acker
2007-11-28 19:21   ` Kok, Auke
2007-11-28 19:26     ` Jeff Garzik
2007-11-28 19:50       ` David Acker
2008-06-18 18:54         ` Anders Grafström
2008-06-18 19:16           ` David Acker [this message]
2008-06-19 12:38             ` Anders Grafström
2008-07-01  8:26               ` Andrew Morton
2008-07-01  9:49                 ` Jeff Garzik
2008-07-01 18:07                   ` Andrew Morton
2008-07-02 17:36                     ` Anders Grafström
2008-07-02 17:45                       ` Andrew Morton
2008-07-01 21:35           ` David Acker
  -- strict thread matches above, loose matches on Subject: below --
2007-11-02 13:27 David Acker
2007-11-02 16:05 ` Kok, Auke
2007-11-02 16:11   ` Jeff Garzik
2007-11-06 17:01 ` Kok, Auke
2007-08-31 20:54 David Acker
2007-09-04 17:02 ` Kok, Auke
2007-09-07 16:31 ` Kok, Auke
2007-09-07 20:41   ` David Acker
2007-09-07 21:03     ` Kok, Auke
2007-09-07 21:18       ` Kok, Auke
2007-09-07 23:24     ` Jeff Garzik
2007-09-11 20:54       ` David Acker
2007-09-12 11:30         ` James Chapman
2007-09-12 20:11           ` David Acker

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=48595F16.5000905@roinet.com \
    --to=dacker@roinet.com \
    --cc=akpm@linux-foundation.org \
    --cc=auke-jan.h.kok@intel.com \
    --cc=e1000-devel@lists.sourceforge.net \
    --cc=grfstrm@users.sourceforge.net \
    --cc=jeff@garzik.org \
    --cc=jesse.brandeburg@intel.com \
    --cc=miltonm@bga.com \
    --cc=netdev@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).