Subject: Re: or DELAY() ?
To: Reinoud Zandijk <reinoud@netbsd.org>
From: Frank Kardel <kardel@netbsd.org>
List: tech-kern
Date: 09/09/2006 15:56:15
Reinoud Zandijk wrote:

>Dear folks,
>
>On Fri, Sep 08, 2006 at 10:23:39PM +0200, Reinoud Zandijk wrote:
>  
>
>>i'm having a curious problem with my auixp driver (PCI). Using a clean 
>>sourcetree dated 20060907 it all works fine but when updating the 
>>sourcetree to 20060908 it gets into trouble communicating with its codecs. 
>>The codecs detect fine but it times out all the times when reading in the 
>>function auixp.c:auixp_read_codec(). I noticed christos (?) changed some 
>>PCI reset functions that might be the cause though when i reverse that 
>>patch it still doesn't work anymore so i dont think thats the cause.
>>
>>Running a GENERIC or a GENERIC.MPACPI doesn't matter and the problem 
>>resolves itself when i disable the auixp driver.
>>
>>Did something change in the PCI framework that could cause it ? Could any 
>>of you PCI guru's have a look at the driver to see what it does wrong?
>>    
>>
>
>Greg Oster pointed to me that it could also be due to the 
>timecounter/DELAY() changes... has that interface/resolution changed?
>
no, at least not intentionally. The x86 delay() loop should still be fine.
But maybe someone can cross check.
Perry/gdamore merged the isa/clock.c implementations for i386 and amd64
around  20060904-07. 

> The 
>code uses DELAY(2) a few times to wait for the obliged few microsecs to 
>give the device time to respond.
>
>Any ideas?
>
>  
>
Just the data points above.

>Thanks in advance,
>
>Reinoud
>
>  
>
Frank