Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 11 Jun 2013 09:28:48 +0900
From:      YongHyeon PYUN <pyunyh@gmail.com>
To:        "Mr. Clif" <clif@eugeneweb.com>
Cc:        freebsd-net@freebsd.org, John Baldwin <jhb@freebsd.org>, yongari@freebsd.org
Subject:   Re: misc/179033: [dc] dc ethernet driver seems to have issues with some multiport card and mother board combinations
Message-ID:  <20130611002848.GA1519@michelle.cdnetworks.com>
In-Reply-To: <51B62547.5000207@eugeneweb.com>
References:  <201305300113.r4U1DRGp089692@freefall.freebsd.org> <51A6CE52.20501@eugeneweb.com> <20130530051214.GA1530@michelle.cdnetworks.com> <201305300929.31872.jhb@freebsd.org> <51B62547.5000207@eugeneweb.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Jun 10, 2013 at 12:13:11PM -0700, Mr. Clif wrote:
> Hi John and Pyun,
> 
> Ok got the new kernel installed and tested. Yes it works! :-) Maybe that 

Thanks, probably John can fix PCI-PCI bridge code.

> will also fix a simular problem with the sun cards (cas[03]), except I 
> don't see a define like that in if_cas.c. Suggestions?

Cassini does not support I/O port BARs so I guess you're seeing
different issue. Would you start a new thread that explains cas(4)
issues you're suffering from?

> 
>     Thanks,
>     Clif
> 
> 
> John Baldwin wrote:
> >On Thursday, May 30, 2013 1:12:14 am YongHyeon PYUN wrote:
> >>On Wed, May 29, 2013 at 08:58:10PM -0700, Mr. Clif wrote:
> >>>Sorry for the confusion Pyun,
> >>>
> >>>I started looking at it in the context of pfsense, but they rejected my
> >>>bug report which was understandable because it's an upstream issue. They
> >>>suggested I resubmit it to you guys if I could reproduce it. So I booted
> >>>FreeBSD and lo and behold the same two ports failed in exactly the same
> >>Ok, I'd like to fix that.
> >Hmmm, the dc(4) driver is using the I/O port BARs rather than the
> >memory BARs for its registers and this bug seems to be that the dc(4)
> >device can't properly access its registers on dc0 and dc1 on the
> >Atom box.  The one thing I see is that the BIOS on the Atom box assigns
> >addresses in the 0x1100-0x11ff range for dc0 and dc1.  Those addresses
> >conflict with ISA I/O aliases for the 0x100-0x1ff range.  The Dell BIOS
> >is more careful to avoid these ranges.
> >
> >I think the fix is that I need to fix the PCI-PCI bridge to reject these
> >resource ranges if the ISA enable bit is set in the bridge's control
> >register.  However, for the time being you can change dc(4) to use the
> >memory BAR instead of the I/O port BAR as a workaround:
> >
> >Index: if_dc.c
> >===================================================================
> >--- if_dc.c	(revision 251132)
> >+++ if_dc.c	(working copy)
> >@@ -128,7 +128,7 @@ __FBSDID("$FreeBSD$");
> >  #include<dev/pci/pcireg.h>
> >  #include<dev/pci/pcivar.h>
> >
> >-#define	DC_USEIOSPACE
> >+//#define	DC_USEIOSPACE
> >
> >  #include<dev/dc/if_dcreg.h>
> >
> >
> >If this fixes it then I can take this PR as a test case for handling the 
> >ISA
> >enable bit in the PCI-PCI bridge code.
> >
> 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20130611002848.GA1519>