From nobody@FreeBSD.org  Thu Jul  5 16:08:16 2001
Return-Path: <nobody@FreeBSD.org>
Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21])
	by hub.freebsd.org (Postfix) with ESMTP id 37F2837B40C
	for <freebsd-gnats-submit@FreeBSD.org>; Thu,  5 Jul 2001 16:08:16 -0700 (PDT)
	(envelope-from nobody@FreeBSD.org)
Received: (from nobody@localhost)
	by freefall.freebsd.org (8.11.3/8.11.3) id f65N8GR54467;
	Thu, 5 Jul 2001 16:08:16 -0700 (PDT)
	(envelope-from nobody)
Message-Id: <200107052308.f65N8GR54467@freefall.freebsd.org>
Date: Thu, 5 Jul 2001 16:08:16 -0700 (PDT)
From: Peter <pb@ludd.luth.se>
To: freebsd-gnats-submit@FreeBSD.org
Subject: CD_BUFFER_BLOCKS used in ide ioctl CDIOCREADAUDIO defined with different values..
X-Send-Pr-Version: www-1.0

>Number:         28742
>Category:       kern
>Synopsis:       CD_BUFFER_BLOCKS used in ide ioctl CDIOCREADAUDIO defined with different values..
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    sos
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Thu Jul 05 16:10:02 PDT 2001
>Closed-Date:    Thu Sep 6 02:08:40 PDT 2001
>Last-Modified:  Thu Sep 06 02:13:36 PDT 2001
>Originator:     Peter
>Release:        4.3R
>Organization:
>Environment:
FreeBSD queeg 4.3-STABLE FreeBSD 4.3-STABLE #0: Mon Apr 23 22:24:10 CEST 2001     troot@queeg:/misc/usr_obj/usr/src/sys/QUEEG  i386

>Description:
CD_BUFFER_BLOCKS defined as
13 in  sys/dev/ata/atapi-cd.c
8  in  sys/i386/isa/wd_cd.c

1) Depending on compile race it may be defined differently

2) The limit is 27 (inclusive) what I remember. From the fact that the
   dma manage to transfer a maximum of 27 * 2352 bytes blocks in one 64k
   max transfer. (Might be different issue with PCI-IDE dunno)
   More frames (buffers), will allow more continous block reads per
   jitter correction. Thus higher efficiency.

(basepath /usr/src)

>How-To-Repeat:
read sources :)
>Fix:
Common define for CD_BUFFER_BLOCKS. And define it as 27.


>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: freebsd-bugs->sos 
Responsible-Changed-By: roam 
Responsible-Changed-When: Thu Jul 5 23:43:43 PDT 2001 
Responsible-Changed-Why:  
Over to the ATA maintainer. 

http://www.FreeBSD.org/cgi/query-pr.cgi?pr=28742 
State-Changed-From-To: open->closed 
State-Changed-By: sos 
State-Changed-When: Thu Sep 6 02:08:40 PDT 2001 
State-Changed-Why:  
>Unformatted:
 >CD_BUFFER_BLOCKS defined as 
 >13 in  sys/dev/ata/atapi-cd.c 
 >8  in  sys/i386/isa/wd_cd.c 
 > 
 >1) Depending on compile race it may be defined differently 
 
 Wrong, wd_cd.c is no longer used, the ATA driver (sys/dev/ata) 
 has obsoleted the old wd based one. 
 
 >2) The limit is 27 (inclusive) what I remember. From the fact that the 
 >   dma manage to transfer a maximum of 27 * 2352 bytes blocks in one 64k 
 >   max transfer. (Might be different issue with PCI-IDE dunno) 
 >   More frames (buffers), will allow more continous block reads per 
 >   jitter correction. Thus higher efficiency. 
 
 Wrong, lots of ATAPI cd drives just locks up when you try to transfer 
 more than 32K worth of data in this way, thats why the current size 
 was carefully chosen. 
 
 
 http://www.FreeBSD.org/cgi/query-pr.cgi?pr=28742 
