Bug 504778 - FEAT RHEL4.9: Support new PCI IDS to support VX800 in via82cxxx
FEAT RHEL4.9: Support new PCI IDS to support VX800 in via82cxxx
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 4
Classification: Red Hat
Component: kernel (Show other bugs)
4.8
i686 Linux
high Severity high
: rc
: 4.9
Assigned To: Mauro Carvalho Chehab
Red Hat Kernel QE team
: FutureFeature, OtherQA
Depends On:
Blocks: 509418 583726 626414
  Show dependency treegraph
 
Reported: 2009-06-09 07:47 EDT by Bruce C. Chang
Modified: 2013-07-04 18:53 EDT (History)
9 users (show)

See Also:
Fixed In Version:
Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2011-02-16 10:30:38 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
Backport VIA PCI ID's from upstream (7.06 KB, patch)
2010-04-20 12:43 EDT, Mauro Carvalho Chehab
no flags Details | Diff

  None (edit)
Description Bruce C. Chang 2009-06-09 07:47:09 EDT
Description of problem:
    Low Hard disk transfer rate for VX800 platform.

Version-Release number of selected component (if applicable):


How reproducible:
    It takes 2 hours to install the RHEL 4.7 into VIA VX800 platform + VIA Nano
1.3GHz CPU + IDE Harddisk. And after RHEL 4.7 installed, the IDE is running in
PIO mode only by hdparm command.

Actual results:


Expected results:


Additional info:
    After adding PCI IDs into via82cxxx.c/pci_ids.h(listed as below), rebuild kernel and set the HD to DMA mode, the performance has big improvement. Following is the patches:

--- a/drivers/ide/pci/via82cxxx.c	2009-06-09 18:42:27.000000000 +0800
+++ b/drivers/ide/pci/via82cxxx.c	2009-06-09 18:55:34.000000000 +0800
@@ -75,7 +75,11 @@
 	u8 rev_max;
 	u16 flags;
 } via_isa_bridges[] = {
+	{ "vx800",	PCI_DEVICE_ID_VIA_VX800,     0x00, 0x2f, VIA_UDMA_133 | VIA_BAD_AST },
+	{ "cx700",	PCI_DEVICE_ID_VIA_CX700,     0x00, 0x2f, VIA_UDMA_133 | VIA_BAD_AST },
 	{ "vt8251",	PCI_DEVICE_ID_VIA_8251,     0x00, 0x2f, VIA_UDMA_133 | VIA_BAD_AST },
+	{ "vt8237a",	PCI_DEVICE_ID_VIA_8237A,     0x00, 0x2f, VIA_UDMA_133 | VIA_BAD_AST },
+	{ "vt8237s",	PCI_DEVICE_ID_VIA_8237S,     0x00, 0x2f, VIA_UDMA_133 | VIA_BAD_AST },
 	{ "vt8237",	PCI_DEVICE_ID_VIA_8237,     0x00, 0x2f, VIA_UDMA_133 | VIA_BAD_AST },
 	{ "vt8235",	PCI_DEVICE_ID_VIA_8235,     0x00, 0x2f, VIA_UDMA_133 | VIA_BAD_AST },
 	{ "vt8233a",	PCI_DEVICE_ID_VIA_8233A,    0x00, 0x2f, VIA_UDMA_133 | VIA_BAD_AST },
@@ -628,6 +632,7 @@
 static struct pci_device_id via_pci_tbl[] = {
 	{ PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C576_1, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0},
 	{ PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C586_1, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0},
+	{ PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_SATA_EIDE, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0},
 	{ 0, },
 };
 MODULE_DEVICE_TABLE(pci, via_pci_tbl);
--- a/include/linux/pci_ids.h	2009-06-09 18:42:36.000000000 +0800
+++ b/include/linux/pci_ids.h	2009-06-09 13:49:18.000000000 +0800
@@ -1356,6 +1356,12 @@
 #define PCI_DEVICE_ID_VIA_8235_1	0xB168
 #define PCI_DEVICE_ID_VIA_838X_1	0xB188
 #define PCI_DEVICE_ID_VIA_83_87XX_1	0xB198
+#define PCI_DEVICE_ID_VIA_8237A		0x3337
+#define PCI_DEVICE_ID_VIA_8237S		0x3372
+#define PCI_DEVICE_ID_VIA_8251		0x3287
+#define PCI_DEVICE_ID_VIA_CX700		0x8324
+#define PCI_DEVICE_ID_VIA_VX800		0x8353
+#define PCI_DEVICE_ID_VIA_SATA_EIDE	0x5324
 
 #define PCI_VENDOR_ID_SIEMENS           0x110A
 #define PCI_DEVICE_ID_SIEMENS_DSCC4     0x2102
Comment 1 Bruce C. Chang 2009-06-09 07:53:24 EDT
sign-off by Joseph Chan <JosephChan@via.com.tw>
Comment 2 Prarit Bhargava 2009-06-09 08:52:45 EDT
Please be advised, that Bugzilla is not a support tool. It is an
Engineering and Community tool. So although all changes to Enterprise
Linux go through Bugzilla and Red Hat considers issues directly entered
into Bugzilla valuable feedback, there is no SLA around it.

If this is a production issue, please report it to your Red Hat Support contact.

Thank you.
Comment 3 Charles Rose 2009-06-09 10:51:22 EDT
Please treat this as a feature request for RHEL 4.9. We just want PCI IDs added to via82cxxx.c
Comment 6 Mauro Carvalho Chehab 2010-04-20 12:43:34 EDT
Created attachment 407869 [details]
Backport VIA PCI ID's from upstream

The proposed patch is incomplete and doesn't mention the upstream changesets. 

I've backported the relevant patches. Please test.
Comment 7 Chris Ward 2010-04-22 05:49:41 EDT
@Dell, @Via,

Please confirm that you will test these changes once we have a new kernel build ready.

Thanks
Comment 8 Chris Ward 2010-04-22 05:53:08 EDT
But before we can provide an update kernel build to test, we need to first confirm that the patch set provided in comment #6 works as expected.
Comment 10 Bruce C. Chang 2010-04-22 06:07:46 EDT
VIA is happy to test if we have the test build.....
Comment 11 Marizol Martinez 2010-04-22 13:44:00 EDT
Charles -- Can you please confirm that Dell will also be testing this item in RHEL 4.9? We need this confirmation to proceed with the evaluation of this request. Thanks!
Comment 13 Mauro Carvalho Chehab 2010-04-23 16:01:58 EDT
Two experimental kernels with the patch are available at:
   http://people.redhat.com/~mchehab/.bz504778/

Please test.
Comment 14 Bruce C. Chang 2010-04-27 00:34:16 EDT
Thank you very much for your help. I have downloaded it and waiting for the approval to download the RHEL 4.8 for applying this patch.
Regards
Comment 15 Bruce C. Chang 2010-04-30 05:35:32 EDT
Please be reported the test result as below:
1. x86_64
* before patch
> uname -a
Linux localhost.localdomain 2.6.9-78.EL #1 Wed Jul 9 15:26:38 EDT 2008 x86_64 x86_64 x86_64 GNU/Linux
> hdparm -tT /dev/hda
/dev/hda:
 Timing cached reads:   1780 MB in  2.00 seconds = 889.25 MB/sec
 Timing buffered disk reads:   14 MB in  3.24 seconds =   4.32 MB/sec
* after patch
> uname -a
Linux localhost.localdomain 2.6.9-78.16.EL #1 Fri Apr 23 15:04:20 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux
> hdparm -tT /dev/hda
 Timing cached reads:   1560 MB in  2.00 seconds = 779.73 MB/sec
 Timing buffered disk reads:  194 MB in  3.01 seconds =  64.50 MB/sec

2. i686
* before patch
> uname -a
Linux localhost.localdomain 2.6.9-78.EL #1 Wed Jul 9 15:27:01 EDT 2008 i686 i686 i386 GNU/Linux
> hdparm -tT /dev/hda
/dev/hda:
 Timing cached reads:   3044 MB in  2.00 seconds = 1520.71 MB/sec
 Timing buffered disk reads:   14 MB in  3.22 seconds =   4.35 MB/sec
* after patch
> uname -a
Linux localhost.localdomain 2.6.9-78.16.EL #1 Fri Apr 23 15:04:16 EDT 2010 i686 i686 i386 GNU/Linux
> hdparm -tT /dev/hda
 Timing cached reads:   2736 MB in  2.00 seconds = 1367.52 MB/sec
 Timing buffered disk reads:  192 MB in  3.00 seconds =  63.97 MB/sec


This patch works well in my platform. And the performance has been improved after patch.

Thank you very much for your help.
Bruce C. Chang
Comment 18 Mauro Carvalho Chehab 2010-07-01 13:28:21 EDT
Patches post at rh Kernel ML at May, 1st. Still waiting for acks.
Comment 19 Vivek Goyal 2010-09-23 09:02:28 EDT
Committed in 89.37.EL . RPMS are available at http://people.redhat.com/vgoyal/rhel4/
Comment 21 errata-xmlrpc 2011-02-16 10:30:38 EST
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHSA-2011-0263.html

Note You need to log in before you can comment on or make changes to this bug.