From rrs@mx1.net  Tue Dec 31 10:37:15 2002
Return-Path: <rrs@mx1.net>
Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125])
	by hub.freebsd.org (Postfix) with ESMTP id A55CA37B401
	for <FreeBSD-gnats-submit@freebsd.org>; Tue, 31 Dec 2002 10:37:15 -0800 (PST)
Received: from mail.mx1.net (dsl093-133-241.sfo2.dsl.speakeasy.net [66.93.133.241])
	by mx1.FreeBSD.org (Postfix) with ESMTP id 0637243E4A
	for <FreeBSD-gnats-submit@freebsd.org>; Tue, 31 Dec 2002 10:37:10 -0800 (PST)
	(envelope-from rrs@mx1.net)
Received: by mail.mx1.net (Postfix, from userid 1000)
	id 1DD678D81; Tue, 31 Dec 2002 10:37:11 -0800 (PST)
Message-Id: <20021231183711.1DD678D81@mail.mx1.net>
Date: Tue, 31 Dec 2002 10:37:11 -0800 (PST)
From: Rob Schulhof <rrs@mx1.net>
Reply-To: Rob Schulhof <rrs@mx1.net>
To: FreeBSD-gnats-submit@freebsd.org
Cc:
Subject: ATA driver does not recognize the new nForce2 ATA133 dev
X-Send-Pr-Version: 3.113
X-GNATS-Notify:

>Number:         46660
>Category:       kern
>Synopsis:       ATA driver does not recognize the new nForce2 ATA133 dev
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    sos
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Tue Dec 31 10:40:00 PST 2002
>Closed-Date:    Thu Feb 20 12:25:48 PST 2003
>Last-Modified:  Thu Feb 20 12:25:48 PST 2003
>Originator:     Rob Schulhof
>Release:        FreeBSD 4.7-STABLE i386
>Organization:
Society for nothing
>Environment:
System: FreeBSD schoolie.there.net 4.7-STABLE FreeBSD 4.7-STABLE #0: Thu Dec 26 18:08:26 PST 2002 root@schoolie.there.net:/usr/src/sys/compile/SCHOOLIE i386


	
>Description:
        The nforce2 IDE controller is not recognized.  I am running on 
an ABIT NF7-S, and only get PIO ATA66 without the attached patch.
>How-To-Repeat:
     PLease check the attached patch which solves thge problem for me. I can
get UDMA7  ATA133 speeds from my ATA133 drives...
	
>Fix:

    Here is the patch:

------------------------------------snip---------------------------------------
*** ata-dma.c	Wed Oct  2 07:13:38 2002
--- ata-dma.new.c	Fri Dec 27 18:35:29 2002
***************
*** 373,378 ****
--- 373,379 ----
  	break;
  
      case 0x01bc10de:	/* nVIDIA nForce */
+     case 0x006510de:	/* nVIDIA nForce2 */
      case 0x74411022:	/* AMD 768 */
      case 0x74111022:	/* AMD 766 */
      case 0x74091022:	/* AMD 756 */
***************
*** 383,389 ****
  		{ 0x00, 0x00, 0xea, 0x00, 0xe8, 0x00, 0x00 },	/* ATA66 */
  		{ 0x00, 0x00, 0xf4, 0x00, 0xf1, 0xf0, 0x00 },	/* ATA100 */
  		{ 0x00, 0x00, 0xf6, 0x00, 0xf2, 0xf1, 0xf0 },   /* VIA ATA133 */
! 		{ 0x00, 0x00, 0xc0, 0x00, 0xc5, 0xc6, 0x00 }};  /* AMD/nVIDIA */
  	    int *reg_val = NULL;
  	    char *chip = "VIA";
  
--- 384,390 ----
  		{ 0x00, 0x00, 0xea, 0x00, 0xe8, 0x00, 0x00 },	/* ATA66 */
  		{ 0x00, 0x00, 0xf4, 0x00, 0xf1, 0xf0, 0x00 },	/* ATA100 */
  		{ 0x00, 0x00, 0xf6, 0x00, 0xf2, 0xf1, 0xf0 },   /* VIA ATA133 */
! 		{ 0x00, 0x00, 0xc0, 0x00, 0xc5, 0xc6, 0xc7 }};  /* AMD/nVIDIA */
  	    int *reg_val = NULL;
  	    char *chip = "VIA";
  
***************
*** 424,432 ****
  		reg_val = via_modes[4];
  		chip = "AMD";
  	    }
! 	    else if (ch->chiptype == 0x01bc10de) {		/* nVIDIA */
  		udmamode = imin(udmamode, 5);
! 		reg_val = via_modes[4];
  		chip = "nVIDIA";
  	    }
  	    else 
--- 425,438 ----
  		reg_val = via_modes[4];
  		chip = "AMD";
  	    }
! 	    else if (ch->chiptype == 0x006510de) {		/* nVIDIA MCP*/
! 		udmamode = imin(udmamode, 6);
! 		reg_val = via_modes[5];
! 		chip = "nVIDIA";
! 	    }
! 	    else if (ch->chiptype == 0x01bc10de ) {		/* nVIDIA */
  		udmamode = imin(udmamode, 5);
! 		reg_val = via_modes[5];
  		chip = "nVIDIA";
  	    }
  	    else 
*** ata-pci.c	Wed Oct  2 07:13:38 2002
--- ata-pci.new.c	Fri Dec 27 18:37:16 2002
***************
*** 239,244 ****
--- 239,247 ----
      case 0x01bc10de:
  	return "nVIDIA nForce ATA100 controller";
  
+     case 0x006510de:
+ 	return "nVIDIA nForce ATA133 controller";
+ 
      case 0x02111166:
  	return "ServerWorks ROSB4 ATA33 controller";
  

>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: gnats-admin->freebsd-bugs 
Responsible-Changed-By: tom 
Responsible-Changed-When: Tue Jan 7 09:43:36 PST 2003 
Responsible-Changed-Why:  
Categorise misfiled problem report. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=46660 
Responsible-Changed-From-To: freebsd-bugs->sos 
Responsible-Changed-By: johan 
Responsible-Changed-When: Mon Feb 3 13:05:57 PST 2003 
Responsible-Changed-Why:  
Over to ATA maintainer. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=46660 
State-Changed-From-To: open->closed 
State-Changed-By: sos 
State-Changed-When: Thu Feb 20 12:24:33 PST 2003 
State-Changed-Why:  
The encluded patch is wrong (and so is the support for nForce) 
The right solution has been committed to -current, MFC may happen later. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=46660 
>Unformatted:
