netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Brad House <brad@mainstreetsoftworks.com>
To: Francois Romieu <romieu@fr.zoreil.com>
Cc: netdev@oss.sgi.com, Jeff Garzik <jgarzik@pobox.com>,
	brad_mssw@gentoo.org
Subject: r8169 in netdev experimental
Date: Sun, 04 Jan 2004 12:00:51 -0500	[thread overview]
Message-ID: <3FF846C3.5070207@mainstreetsoftworks.com> (raw)
In-Reply-To: <20031130014738.A2589@electric-eye.fr.zoreil.com>

Ok, sorry I dropped out of existance for a while.
I just tried the 2.6.0-bk2 netdev experimental
patches, and the r8169 module locks the system on
loading.  Funny thing is I had to unplug the power cable
from the computer for a few seconds and plug it back in,
because an immediate reset wouldn't let to old driver
work :/

Let me know where to start debugging this, as I should
have some time here.
(Been busy getting AMD64 port into 'official' mode
for Gentoo, so I haven't had time to look into this too
much...)

Thanks

-Brad


Francois Romieu wrote:
> Hopefully last round of Brad/Realtek's merging. 
> 
> Patches apply in this order:
> 1 - r8169-hw_start.patch
> 2 - r8169-missing-tx-stats.patch
> 3 - r8169-intr_mask.patch
> 
> on top of:
> 
>   2.6.0-test11
> + 2.6.0-test9-bk25-netdrvr-exp1
> + r8169-mac-phy-version
> + r8169-init_one
> + r8169-timer
> 
> The unconditional calls to rtl8169_{rx/tx}_interrupt in rtl8169_interrupt()
> are not integrated. That should not make a huge difference.
> 
> --
> Ueimor
> 
> 
> ------------------------------------------------------------------------
> 
> 
> Merge of changes from Realtek:
> - register voodoo in rtl8169_hw_start().
> 
> 
>  drivers/net/r8169.c |    6 ++++++
>  1 files changed, 6 insertions(+)
> 
> diff -puN drivers/net/r8169.c~r8169-hw_start drivers/net/r8169.c
> --- linux-2.6.0-test11/drivers/net/r8169.c~r8169-hw_start	2003-11-29 20:36:12.000000000 +0100
> +++ linux-2.6.0-test11-fr/drivers/net/r8169.c	2003-11-29 20:44:17.000000000 +0100
> @@ -1028,6 +1028,12 @@ rtl8169_hw_start(struct net_device *dev)
>  	RTL_W32(TxConfig,
>  		(TX_DMA_BURST << TxDMAShift) | (InterFrameGap <<
>  						TxInterFrameGapShift));
> +	RTL_W16(CPlusCmd, RTL_R16(CPlusCmd));
> +
> +	if (tp->mac_version == RTL_GIGA_MAC_VER_D) {
> +		dprintk(KERN_INFO PFX "Set MAC Reg C+CR Offset 0xE0: bit-3 and bit-14 MUST be 1\n");
> +		RTL_W16(CPlusCmd, RTL_R16(CPlusCmd) | (1 << 14) | (1 << 3));
> +	}
>  
>  	tp->cur_rx = 0;
>  
> 
> _
> 
> 
> ------------------------------------------------------------------------
> 
> 
> Driver forgot to update the transmitted bytes counter.
> Originally done in rtl8169_start_xmit() by Realtek.
> 
> 
>  drivers/net/r8169.c |    5 ++++-
>  1 files changed, 4 insertions(+), 1 deletion(-)
> 
> diff -puN drivers/net/r8169.c~r8169-missing-tx-stats drivers/net/r8169.c
> --- linux-2.6.0-test11/drivers/net/r8169.c~r8169-missing-tx-stats	2003-11-29 22:34:10.000000000 +0100
> +++ linux-2.6.0-test11-fr/drivers/net/r8169.c	2003-11-30 00:26:09.000000000 +0100
> @@ -1303,10 +1303,13 @@ rtl8169_tx_interrupt(struct net_device *
>  			int cur = dirty_tx % NUM_TX_DESC;
>  			struct sk_buff *skb = tp->Tx_skbuff[cur];
>  
> +			/* FIXME: is it really accurate for TxErr ? */
> +			tp->stats.tx_bytes += skb->len >= ETH_ZLEN ?
> +					      skb->len : ETH_ZLEN;
> +			tp->stats.tx_packets++;
>  			rtl8169_unmap_tx_skb(tp->pci_dev, tp->Tx_skbuff + cur,
>  					     tp->TxDescArray + cur);
>  			dev_kfree_skb_irq(skb);
> -			tp->stats.tx_packets++;
>  			dirty_tx++;
>  			tx_left--;
>  			entry++;
> 
> _
> 
> 
> ------------------------------------------------------------------------
> 
>  drivers/net/r8169.c |    7 ++-----
>  1 files changed, 2 insertions(+), 5 deletions(-)
> 
> diff -puN drivers/net/r8169.c~r8169-intr_mask drivers/net/r8169.c
> --- linux-2.6.0-test11/drivers/net/r8169.c~r8169-intr_mask	2003-11-30 01:16:48.000000000 +0100
> +++ linux-2.6.0-test11-fr/drivers/net/r8169.c	2003-11-30 01:18:22.000000000 +0100
> @@ -334,8 +334,7 @@ static void rtl8169_tx_timeout(struct ne
>  static struct net_device_stats *rtl8169_get_stats(struct net_device *netdev);
>  
>  static const u16 rtl8169_intr_mask =
> -    SYSErr | PCSTimeout | RxUnderrun | RxOverflow | RxFIFOOver | TxErr | TxOK |
> -    RxErr | RxOK;
> +    RxUnderrun | RxOverflow | RxFIFOOver | TxErr | TxOK | RxErr | RxOK;
>  static const unsigned int rtl8169_rx_config =
>      (RX_FIFO_THRESH << RxCfgFIFOShift) | (RX_DMA_BURST << RxCfgDMAShift);
>  
> @@ -1445,9 +1444,7 @@ rtl8169_interrupt(int irq, void *dev_ins
>  		RTL_W16(IntrStatus,
>  			(status & RxFIFOOver) ? (status | RxOverflow) : status);
>  
> -		if ((status &
> -		     (SYSErr | PCSTimeout | RxUnderrun | RxOverflow | RxFIFOOver
> -		      | TxErr | TxOK | RxErr | RxOK)) == 0)
> +		if (!(status & rtl8169_intr_mask))
>  			break;
>  
>  		// Rx interrupt 
> 
> _

  reply	other threads:[~2004-01-04 17:00 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-11-22 18:30 [BK PATCHES] 2.6.x experimental net driver queue Jeff Garzik
2003-11-23 23:09 ` [PATCH] 2.6.0-test9-bk27-netdrvr-exp1 - r8169 update Francois Romieu
2003-11-23 23:18   ` Brad House
2003-11-23 23:40     ` Francois Romieu
2003-11-24  0:02       ` Brad House
2003-11-24  8:04         ` Francois Romieu
2003-11-24 14:40           ` Brad House
2003-11-24 17:49             ` Francois Romieu
2003-11-24 18:21               ` Brad House
2003-11-24 21:34                 ` Francois Romieu
2003-11-25 23:45   ` [PATCH] 2.6.0-test10-bk27-netdrvr-exp1 " Francois Romieu
2003-11-26  0:45     ` Brad House
2003-11-26  0:55     ` r8169 -- bad patch Brad House
2003-11-26  7:57       ` Francois Romieu
2003-11-27 22:51     ` [PATCH] 2.6.0-test11-bk27-netdrvr-exp1 - r8169 update Francois Romieu
2003-11-28 16:46       ` Brad House
2003-11-30  0:47       ` Francois Romieu
2004-01-04 17:00         ` Brad House [this message]
2004-01-04 22:38           ` r8169 in netdev experimental Francois Romieu
2004-01-05 22:17             ` [patch] 2.6.1-rc1-mm1 - typo of death in the r8169 driver Francois Romieu
2004-01-06  7:53               ` Jeff Garzik
2004-01-06 23:27                 ` [patch] 2.6.1-rc1-mm1 - erroneous __devinitdata " Francois Romieu

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=3FF846C3.5070207@mainstreetsoftworks.com \
    --to=brad@mainstreetsoftworks.com \
    --cc=brad_mssw@gentoo.org \
    --cc=jgarzik@pobox.com \
    --cc=netdev@oss.sgi.com \
    --cc=romieu@fr.zoreil.com \
    /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).