Re: BETA4 installer doesn't attach my HDD controller; BETA3 did

From: Todd Wasson <tsw5_at_duke.edu>
Date: Fri, 7 Dec 2007 12:11:01 -0500
Julian, Andrey, and Soren, thank all of you for your help.  I applied  
Soren's patch (as I just pulled it from the tree via csup) and the  
problem appears to be resolved.  I appreciate your assistance and the  
fast turnaround time on this.


Todd



On Dec 7, 2007, at 5:51 AM, Søren Schmidt wrote:

> Andrey V. Elsukov wrote:
>> Todd Wasson wrote:
>>>> Todd Wasson wrote:
>>>>> I've got a Maxtor 6Y080L0 YAR41VW0 drive on a JMicron JMB368  
>>>>> UDMA133
>>>>> controller, and in the BETA4 installer the controller doesn't  
>>>>> seem to
>>>>> be properly attaching, which leads to the drive not being  
>>>>> found.  The
>>>>> relevant sections from dmesg (as I'm not sure where else to look  
>>>>> while
>>>>> running the installer CD) are:
>>>>
>>>> Did you try "Safe Boot" key 3.
>>
>> I think this changes may create a regression:
>>
>> 1. the BETA3's version:
>>
>>        ctlr->r_type2 = SYS_RES_MEMORY;
>>        ctlr->r_rid2 = PCIR_BAR(5);
>>        if ((ctlr->r_res2 = bus_alloc_resource_any(dev, ctlr->r_type2,
>>                                          &ctlr->r_rid2, RF_ACTIVE))){
>>            if ((error = ata_ahci_chipinit(dev)))
>>                return error;
>>        }
>> We have two checks here. Probably your controller doesn't allocate a
>> memory resource for the AHCI, but it works because it skips second
>> checks.
>>
>> 2. the BETA4's version:
>>
>>        if ((error = ata_ahci_chipinit(dev)))
>>            return error;
>>
>> In this version driver doesn't pass it. I've already sent patch
>> for test to your PR, but i attach it again.
>> May be Soren can comment it?
> Yeah, there's a bug allright, attached patch is the right way to fix  
> it, I'll commit when I get a few..
>
> -Søren
>
>
> ? JMicrom-p1
> ? ich-sata-fix
> Index: ata-chipset.c
> ===================================================================
> RCS file: /home/ncvs/src/sys/dev/ata/ata-chipset.c,v
> retrieving revision 1.209
> diff -u -r1.209 ata-chipset.c
> --- ata-chipset.c	26 Nov 2007 19:08:08 -0000	1.209
> +++ ata-chipset.c	7 Dec 2007 10:49:06 -0000
> _at__at_ -2260,7 +2309,7 _at__at_
> 	pci_write_config(dev, 0x40, 0x80c0a131, 4);
> 	pci_write_config(dev, 0x80, 0x01200000, 4);
>
> -	if ((error = ata_ahci_chipinit(dev)))
> +	if (ctlr->chip->cfg1 && (error = ata_ahci_chipinit(dev)))
> 	    return error;
>
> 	ctlr->allocate = ata_jmicron_allocate;
Received on Fri Dec 07 2007 - 16:11:03 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:23 UTC