* [PATCH 15/17] sky2: only disable 88e8056 on some boards
@ 2007-05-14 4:53 Florin Malita
2007-05-14 19:55 ` Stephen Hemminger
0 siblings, 1 reply; 5+ messages in thread
From: Florin Malita @ 2007-05-14 4:53 UTC (permalink / raw)
To: shemminger; +Cc: netdev
Hi Stephen,
Stephen Hemminger wrote:
> Use DMI to add a blacklist of broken board. For now only one is known
> bad. Gentoo users report driver works on other motherboards (strange).
[snip]
> + .ident = "Gigabyte 965P-S3",
> + .matches = {
> + DMI_MATCH(DMI_SYS_VENDOR, "Gigabyte Technology Co.,
> Ltd."),
> + DMI_MATCH(DMI_PRODUCT_NAME, "965P-S3"),
Actually, I've been using sky2 with a 965P-S3 for a couple of months
(x86_64 kernel) and as far as I can tell it works like a charm. Recently
I had to hack around the blacklisting but other than that I haven't
noticed anything strange.
What failures are you trying to prevent? Would a warning (instead of
blacklisting) be acceptable?
Thanks,
Florin
04:00.0 Ethernet controller: Marvell Technology Group Ltd. 88E8056 PCI-E Gigabit Ethernet Controller (rev 12)
Subsystem: Giga-byte Technology Unknown device e000
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 0, Cache Line Size: 32 bytes
Interrupt: pin A routed to IRQ 315
Region 0: Memory at f5000000 (64-bit, non-prefetchable) [size=16K]
Region 2: I/O ports at 9000 [size=256]
[virtual] Expansion ROM at 80000000 [disabled] [size=128K]
Capabilities: [48] Power Management version 3
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=1 PME-
Capabilities: [50] Vital Product Data
Capabilities: [5c] Message Signalled Interrupts: Mask- 64bit+ Queue=0/0 Enable+
Address: 00000000fee00000 Data: 40d9
Capabilities: [e0] Express Legacy Endpoint IRQ 0
Device: Supported: MaxPayload 128 bytes, PhantFunc 0, ExtTag-
Device: Latency L0s unlimited, L1 unlimited
Device: AtnBtn- AtnInd- PwrInd-
Device: Errors: Correctable- Non-Fatal- Fatal- Unsupported-
Device: RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
Device: MaxPayload 128 bytes, MaxReadReq 512 bytes
Link: Supported Speed 2.5Gb/s, Width x1, ASPM L0s L1, Port 0
Link: Latency L0s <256ns, L1 unlimited
Link: ASPM Disabled RCB 128 bytes CommClk- ExtSynch-
Link: Speed 2.5Gb/s, Width x1
Capabilities: [100] Advanced Error Reporting
00: ab 11 64 43 07 04 10 00 12 00 00 02 08 00 00 00
10: 04 00 00 f5 00 00 00 00 01 90 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 58 14 00 e0
30: 00 00 00 00 48 00 00 00 00 00 00 00 0b 01 00 00
# dmidecode 2.7
SMBIOS 2.4 present.
39 structures occupying 1192 bytes.
Table at 0x000F0100.
Handle 0x0000, DMI type 0, 24 bytes.
BIOS Information
Vendor: Award Software International, Inc.
Version: F8
Release Date: 01/11/2007
Address: 0xE0000
Runtime Size: 128 kB
ROM Size: 1024 kB
Characteristics:
PCI is supported
PNP is supported
APM is supported
BIOS is upgradeable
BIOS shadowing is allowed
Boot from CD is supported
Selectable boot is supported
EDD is supported
5.25"/360 KB floppy services are supported (int 13h)
5.25"/1.2 MB floppy services are supported (int 13h)
3.5"/720 KB floppy services are supported (int 13h)
3.5"/2.88 MB floppy services are supported (int 13h)
Print screen service is supported (int 5h)
8042 keyboard services are supported (int 9h)
Serial services are supported (int 14h)
Printer services are supported (int 17h)
CGA/mono video services are supported (int 10h)
ACPI is supported
USB legacy is supported
LS-120 boot is supported
ATAPI Zip drive boot is supported
BIOS boot specification is supported
Targeted content distribution is supported
Handle 0x0001, DMI type 1, 27 bytes.
System Information
Manufacturer: Gigabyte Technology Co., Ltd.
Product Name: 965P-S3
Version:
Serial Number:
UUID: 00000000-0000-0000-0000-0016E6D4022E
Wake-up Type: Power Switch
SKU Number:
Family:
Handle 0x0002, DMI type 2, 8 bytes.
Base Board Information
Manufacturer: Gigabyte Technology Co., Ltd.
Product Name: 965P-S3
Version:
Serial Number:
Handle 0x0003, DMI type 3, 17 bytes.
Chassis Information
Manufacturer: Gigabyte Technology Co., Ltd.
Type: Desktop
Lock: Not Present
Version:
Serial Number:
Asset Tag:
Boot-up State: Unknown
Power Supply State: Unknown
Thermal State: Unknown
Security Status: Unknown
OEM Information: 0x00000000
Handle 0x0004, DMI type 4, 35 bytes.
Processor Information
Socket Designation: Socket 775
Type: Central Processor
Family: Other
Manufacturer: Intel
ID: F2 06 00 00 FF FB EB BF
Version: Intel(R) Core(TM)2 CPU 640
Voltage: 1.3 V
External Clock: 384 MHz
Max Speed: 4000 MHz
Current Speed: 3072 MHz
Status: Populated, Enabled
Upgrade: Socket 478
L1 Cache Handle: 0x000A
L2 Cache Handle: 0x000B
L3 Cache Handle: Not Provided
Serial Number:
Asset Tag:
Part Number:
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: [PATCH 15/17] sky2: only disable 88e8056 on some boards
2007-05-14 4:53 [PATCH 15/17] sky2: only disable 88e8056 on some boards Florin Malita
@ 2007-05-14 19:55 ` Stephen Hemminger
2007-05-15 19:43 ` kernel
0 siblings, 1 reply; 5+ messages in thread
From: Stephen Hemminger @ 2007-05-14 19:55 UTC (permalink / raw)
To: Florin Malita; +Cc: netdev
On Mon, 14 May 2007 00:53:42 -0400
Florin Malita <fmalita@gmail.com> wrote:
> Hi Stephen,
>
> Stephen Hemminger wrote:
> > Use DMI to add a blacklist of broken board. For now only one is known
> > bad. Gentoo users report driver works on other motherboards (strange).
> [snip]
> > + .ident = "Gigabyte 965P-S3",
> > + .matches = {
> > + DMI_MATCH(DMI_SYS_VENDOR, "Gigabyte Technology Co.,
> > Ltd."),
> > + DMI_MATCH(DMI_PRODUCT_NAME, "965P-S3"),
>
> Actually, I've been using sky2 with a 965P-S3 for a couple of months
> (x86_64 kernel) and as far as I can tell it works like a charm. Recently
> I had to hack around the blacklisting but other than that I haven't
> noticed anything strange.
>
> What failures are you trying to prevent? Would a warning (instead of
> blacklisting) be acceptable?
>
> Thanks,
> Florin
What happens on my system is that the chip is accessing some unknown
memory location when it reads the descriptors. This leads to:
* Transmit descriptor errors because the transmit descriptor doesn't
have the "Owner" bit set. The list is fine, and all the barriers
are there it seems like the chip read of memory is getting crap.
* TSO errors (probably same problem as before)
* Receive packets with no data. The stack ends up ignoring the
garbage; but since we reuse the memory the DMA can/will happen
later and cause random memory corruption.
Overall it looks like a PCI synchronization problem. Possible differences
between working/non-working are:
* BIOS, tried up to the latest beta version with no change
* Memory, switched to name brand DDR2 800 (2G)
* MSI
* AHCI/SATA, I am using Raptor with AHCI when booted with i386 on old
IDE drive saw no problems
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: [PATCH 15/17] sky2: only disable 88e8056 on some boards
2007-05-14 19:55 ` Stephen Hemminger
@ 2007-05-15 19:43 ` kernel
2007-05-15 21:41 ` Stephen Hemminger
0 siblings, 1 reply; 5+ messages in thread
From: kernel @ 2007-05-15 19:43 UTC (permalink / raw)
To: netdev
Hello, Stephen,
> RE: sky2 88e8056 Gigabyte GA-965GM-S2 uATX motherboard
A couple days ago I posted my observations that this was a hardware problem. My boards are now working!
I used the GIGABYTE MOTHERBOARD webpage for SUPPORT. They replied with a EEPROM program for the Marvell Yukon ethernet chip.
Once the EEPROM was reprogrammed the diskless system on my bench started working and has for the past 24 hours taken a beating on the NFS mount as well as receiving a ping flood from another node.
I am not using the sky2 driver, rather the sk98lin from Marvell's website. It was a last grasp before buying PCI ethernet cards. Marvell's sk98lin was no better than sky2 before the EEPROM reprogramming. My observation is that sky2/v1.10 still does not work after the reprogramming.
I will grab your latest sky2 patches and report results.
Here are the details:
---------------------
Suse 10.0
2.6.21 i386
sk98lin: Network Device Driver v10.0.5.3
(download from Marvell's webpage)
Marvell Yukon chip 88E8056 reprogrammed with files provided by GIGABYTE MOTHERBOARD manufacturer:
1024 Feb 9 08:51 GBT5614n.raw
24 May 16 00:23 VPD.BAT
93 Mar 2 13:08 eep.bat
155729 Oct 19 2006 mac.exe
224533 Oct 31 2006 yukonvpd.exe
Contents of the eep.bat file:
-----------------------------
@echo off
@del vpd.bat
mac
yukonvpd -P GBT5614n.raw
yukonvpd -u 1458E000
call vpd.bat
Contents of the VPD.BAT file:
-----------------------------
YUKONVPD -M 0016E6FFFFFF
(I replace the full MAC with FF FF FF)
More as it happens,
-Rob
> RE: sky2 88e8056 Gigabyte GA-965GM-S2 uATX motherboard
> I have now too many of these Gigabyte mobos, GA-965GM-S2 with the Marvell 88e8056
> www.gigabyte.com.tw / Products / Motherboard / Products_Overview.aspx?ProductID=2388
>
> Observations.
> -------------
> The problem may not be sky2 specific. I have diskless nodes where too many can NOT
> 1) reliably DHCP an IP number from the server
> 2) and if the pxelinux.cfg/default loads, it is not certain if the kernel or the initrd would tftp transfer.
>
> There are two of 12 diskless nodes that work, ... always work.
> All mobos are the same, all CMOS is set identically
>
On Mon, May 14, 2007 at 12:55:38PM -0700, Stephen Hemminger wrote:
> On Mon, 14 May 2007 00:53:42 -0400
> Florin Malita <fmalita@gmail.com> wrote:
>
> > Hi Stephen,
> >
> > Stephen Hemminger wrote:
> > > Use DMI to add a blacklist of broken board. For now only one is known
> > > bad. Gentoo users report driver works on other motherboards (strange).
> > [snip]
> > > + .ident = "Gigabyte 965P-S3",
> > > + .matches = {
> > > + DMI_MATCH(DMI_SYS_VENDOR, "Gigabyte Technology Co.,
> > > Ltd."),
> > > + DMI_MATCH(DMI_PRODUCT_NAME, "965P-S3"),
> >
> > Actually, I've been using sky2 with a 965P-S3 for a couple of months
> > (x86_64 kernel) and as far as I can tell it works like a charm. Recently
> > I had to hack around the blacklisting but other than that I haven't
> > noticed anything strange.
> >
> > What failures are you trying to prevent? Would a warning (instead of
> > blacklisting) be acceptable?
> >
> > Thanks,
> > Florin
>
> What happens on my system is that the chip is accessing some unknown
> memory location when it reads the descriptors. This leads to:
> * Transmit descriptor errors because the transmit descriptor doesn't
> have the "Owner" bit set. The list is fine, and all the barriers
> are there it seems like the chip read of memory is getting crap.
> * TSO errors (probably same problem as before)
> * Receive packets with no data. The stack ends up ignoring the
> garbage; but since we reuse the memory the DMA can/will happen
> later and cause random memory corruption.
>
> Overall it looks like a PCI synchronization problem. Possible differences
> between working/non-working are:
> * BIOS, tried up to the latest beta version with no change
> * Memory, switched to name brand DDR2 800 (2G)
> * MSI
> * AHCI/SATA, I am using Raptor with AHCI when booted with i386 on old
> IDE drive saw no problems
>
>
> -
> To unsubscribe from this list: send the line "unsubscribe netdev" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: [PATCH 15/17] sky2: only disable 88e8056 on some boards
2007-05-15 19:43 ` kernel
@ 2007-05-15 21:41 ` Stephen Hemminger
0 siblings, 0 replies; 5+ messages in thread
From: Stephen Hemminger @ 2007-05-15 21:41 UTC (permalink / raw)
To: Rob Ogden; +Cc: netdev
On Tue, 15 May 2007 15:43:39 -0400
kernel@zeppo.hm.uc.edu wrote:
> Hello, Stephen,
>
> > RE: sky2 88e8056 Gigabyte GA-965GM-S2 uATX motherboard
>
> A couple days ago I posted my observations that this was a hardware problem. My boards are now working!
>
> I used the GIGABYTE MOTHERBOARD webpage for SUPPORT. They replied with a EEPROM program for the Marvell Yukon ethernet chip.
> Once the EEPROM was reprogrammed the diskless system on my bench started working and has for the past 24 hours taken a beating on the NFS mount as well as receiving a ping flood from another node.
>
Any chance of sending me the stuff to verify if it fixes my system.
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 00/17] sky2 update for 2.6.22
@ 2007-05-09 3:49 Stephen Hemminger
2007-05-09 3:50 ` [PATCH 15/17] sky2: only disable 88e8056 on some boards Stephen Hemminger
0 siblings, 1 reply; 5+ messages in thread
From: Stephen Hemminger @ 2007-05-09 3:49 UTC (permalink / raw)
To: Jeff Garzik; +Cc: netdev, Greg KH
Patches are against netdev-2.6 upstream code branch.
This includes a several bug fixes, and code cleanup to use standard
functions. There are a couple of PCI changes. One bug fix, and moving
common code in PCI base.
--
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 15/17] sky2: only disable 88e8056 on some boards
2007-05-09 3:49 [PATCH 00/17] sky2 update for 2.6.22 Stephen Hemminger
@ 2007-05-09 3:50 ` Stephen Hemminger
0 siblings, 0 replies; 5+ messages in thread
From: Stephen Hemminger @ 2007-05-09 3:50 UTC (permalink / raw)
To: Jeff Garzik; +Cc: netdev, Greg KH
[-- Attachment #1: sky2-dmi-gigabyte.patch --]
[-- Type: text/plain, Size: 2885 bytes --]
Use DMI to add a blacklist of broken board. For now only one is known
bad. Gentoo users report driver works on other motherboards (strange).
Hopefully, the problems will be solved later, and the the whole
blacklist can disappear.
Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
---
drivers/net/sky2.c | 41 ++++++++++++++++++++++++++++++-----------
1 file changed, 30 insertions(+), 11 deletions(-)
--- sky2-2.6.21.orig/drivers/net/sky2.c 2007-05-08 15:58:11.000000000 -0700
+++ sky2-2.6.21/drivers/net/sky2.c 2007-05-08 16:09:03.000000000 -0700
@@ -41,6 +41,7 @@
#include <linux/if_vlan.h>
#include <linux/prefetch.h>
#include <linux/mii.h>
+#include <linux/dmi.h>
#include <asm/irq.h>
@@ -151,6 +152,8 @@ static const char *yukon2_name[] = {
"FE", /* 0xb7 */
};
+static int broken_ec_u; /* blacklist */
+
/* Access to external PHY */
static int gm_phy_write(struct sky2_hw *hw, unsigned port, u16 reg, u16 val)
{
@@ -2519,10 +2522,21 @@ static int __devinit sky2_init(struct sk
return -EOPNOTSUPP;
}
+
if (hw->chip_id == CHIP_ID_YUKON_EX)
dev_warn(&hw->pdev->dev, "this driver not yet tested on this chip type\n"
"Please report success or failure to <netdev@vger.kernel.org>\n");
+
+ /* Some Gigabyte motherboards have 88e8056 but cause problems
+ * There is some unresolved hardware related problem that causes
+ * descriptor errors and receive data corruption.
+ */
+ if (hw->chip_id == CHIP_ID_YUKON_EC_U && broken_ec_u) {
+ dev_err(&hw->pdev->dev, "broken 88e8056 detected.\n");
+ return -EOPNOTSUPP;
+ }
+
/* Make sure and enable all clocks */
if (hw->chip_id == CHIP_ID_YUKON_EX || hw->chip_id == CHIP_ID_YUKON_EC_U)
pci_write_config_dword(hw->pdev, PCI_DEV_REG3, 0);
@@ -3572,17 +3586,6 @@ static int __devinit sky2_probe(struct p
goto err_out;
}
- /* Some Gigabyte motherboards have 88e8056 but cause problems
- * There is some unresolved hardware related problem that causes
- * descriptor errors and receive data corruption.
- */
- if (pdev->vendor == PCI_VENDOR_ID_MARVELL &&
- pdev->device == 0x4364 && pdev->subsystem_vendor == 0x1458) {
- dev_err(&pdev->dev,
- "88E8056 on Gigabyte motherboards not supported\n");
- goto err_out_disable;
- }
-
err = pci_request_regions(pdev, DRV_NAME);
if (err) {
dev_err(&pdev->dev, "cannot obtain PCI resources\n");
@@ -3895,8 +3898,24 @@ static struct pci_driver sky2_driver = {
.shutdown = sky2_shutdown,
};
+
+static struct dmi_system_id __initdata gigabyte_dmi_table[] = {
+ {
+ .ident = "Gigabyte 965P-S3",
+ .matches = {
+ DMI_MATCH(DMI_SYS_VENDOR, "Gigabyte Technology Co., Ltd."),
+ DMI_MATCH(DMI_PRODUCT_NAME, "965P-S3"),
+
+ },
+ },
+ { }
+};
+
static int __init sky2_init_module(void)
{
+ if (dmi_check_system(gigabyte_dmi_table))
+ broken_ec_u = 1;
+
return pci_register_driver(&sky2_driver);
}
--
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2007-05-15 21:41 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-05-14 4:53 [PATCH 15/17] sky2: only disable 88e8056 on some boards Florin Malita
2007-05-14 19:55 ` Stephen Hemminger
2007-05-15 19:43 ` kernel
2007-05-15 21:41 ` Stephen Hemminger
-- strict thread matches above, loose matches on Subject: below --
2007-05-09 3:49 [PATCH 00/17] sky2 update for 2.6.22 Stephen Hemminger
2007-05-09 3:50 ` [PATCH 15/17] sky2: only disable 88e8056 on some boards Stephen Hemminger
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).