From linux-kernel-owner+willy=40w.ods.org-S262281AbUKWHX5@vger.kernel.org Tue Nov 23 08:21:17 2004 Return-Path: Received: from vger.kernel.org (vger.kernel.org [12.107.209.244]) by mail.w.ods.org (8.12.9/8.12.1) with ESMTP id iAN7QQac027286 for ; Tue, 23 Nov 2004 08:26:27 +0100 (CET) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S262281AbUKWHX5 (ORCPT ); Tue, 23 Nov 2004 02:23:57 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S262300AbUKWHX5 (ORCPT ); Tue, 23 Nov 2004 02:23:57 -0500 Received: from pv106075.reshsg.uci.edu ([128.195.106.75]:135 "EHLO alpha.blx4.net") by vger.kernel.org with ESMTP id S262281AbUKWHXw (ORCPT ); Tue, 23 Nov 2004 02:23:52 -0500 Received: by alpha.blx4.net (Postfix, from userid 1001) id 9A8E6100DEC; Mon, 22 Nov 2004 23:23:49 -0800 (PST) Received: from [192.168.254.2] (centauri.dmz.blx4.net [192.168.254.2]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by alpha.blx4.net (Postfix) with ESMTP id 022F2100DEA for ; Mon, 22 Nov 2004 23:23:48 -0800 (PST) Message-ID: <41A2E581.2010305@blx4.net> Date: Mon, 22 Nov 2004 23:23:45 -0800 From: Mathias Kretschmer User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.3) Gecko/20041114 X-Accept-Language: en-us, en MIME-Version: 1.0 To: Kernel Mailing List Subject: VIA VT610 IDE support for 2.4.28 (trivial) X-Enigmail-Version: 0.86.0.0 X-Enigmail-Supports: pgp-inline, pgp-mime Content-Type: multipart/mixed; boundary="------------030800020704010909080507" X-Spam-Checker-Version: SpamAssassin 3.0.1-gr0 (2004-10-22) on alpha.dmz.blx4.net X-Spam-Level: X-Spam-Status: No, score=-5.9 required=5.0 tests=ALL_TRUSTED,BAYES_00 autolearn=ham version=3.0.1-gr0 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org Status: RO Content-Length: 3407 Lines: 85 #### WT: rediffed for 2.4.37 #### This is a multi-part message in MIME format. --------------030800020704010909080507 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit hi, I found an older version of this patch (against 2.4.22) on some website. After a little bit of editing it applied cleanly to 2.4.27 (and now 2.4.28). It works fine for me on a ASUS P4P800-Deluxe with 4x 300GB disks. Maybe someone finds this patch helpful. Any reason why the original patch did not make it into the kernel ? -Mathias diff --git a/drivers/ide/pci/generic.c b/drivers/ide/pci/generic.c index 6496b81..6a1f0a0 100644 --- a/drivers/ide/pci/generic.c +++ b/drivers/ide/pci/generic.c @@ -66,6 +66,9 @@ static void __init init_hwif_generic (ide_hwif_t *hwif) hwif->mwdma_mask = 0x07; hwif->swdma_mask = 0x07; + if (hwif->pci_dev->device == PCI_DEVICE_ID_VIA_6410) + hwif->udma_four = 1; /* mj */ + if (!noautodma) hwif->autodma = 1; hwif->drives[0].autodma = hwif->autodma; @@ -147,6 +150,7 @@ static struct pci_device_id generic_pci_tbl[] __devinitdata = { { PCI_VENDOR_ID_MARVELL, PCI_DEVICE_ID_MARVELL_6101, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 13}, { PCI_VENDOR_ID_JMICRON, PCI_DEVICE_ID_JMICRON_JMB368, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 14}, { PCI_VENDOR_ID_MARVELL, PCI_DEVICE_ID_MARVELL_6145, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 15}, + { PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_6410, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 16}, { 0, }, }; diff --git a/drivers/ide/pci/generic.h b/drivers/ide/pci/generic.h index d2b913e..5dc15a4 100644 --- a/drivers/ide/pci/generic.h +++ b/drivers/ide/pci/generic.h @@ -197,6 +197,18 @@ static ide_pci_device_t generic_chipsets[] __devinitdata = { .channels = 1, .autodma = NOAUTODMA, .bootable = ON_BOARD, + },{ /* 16 */ + .vendor = PCI_VENDOR_ID_VIA, + .device = PCI_DEVICE_ID_VIA_6410, + .name = "VIA_6410", + .init_chipset = init_chipset_generic, + .init_iops = NULL, + .init_hwif = init_hwif_generic, + .init_dma = init_dma_generic, + .channels = 2, + .autodma = AUTODMA, + .bootable = ON_BOARD, + .extra = 0, },{ .vendor = 0, .device = 0, diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h index 52e1dbe..7ae371b 100644 --- a/include/linux/pci_ids.h +++ b/include/linux/pci_ids.h @@ -1160,6 +1160,7 @@ #define PCI_DEVICE_ID_VIA_8233A 0x3147 #define PCI_DEVICE_ID_VIA_P4M266 0x3148 #define PCI_DEVICE_ID_VIA_8237_SATA 0x3149 +#define PCI_DEVICE_ID_VIA_6410 0x3164 #define PCI_DEVICE_ID_VIA_P4X333 0x3168 #define PCI_DEVICE_ID_VIA_8235 0x3177 #define PCI_DEVICE_ID_VIA_8377_0 0x3189