From owner-freebsd-multimedia Sun Nov 9 05:42:25 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.7/8.8.7) id FAA11336 for multimedia-outgoing; Sun, 9 Nov 1997 05:42:25 -0800 (PST) (envelope-from owner-freebsd-multimedia) Received: from whqvax.picker.com (whqvax.picker.com [144.54.1.1]) by hub.freebsd.org (8.8.7/8.8.7) with SMTP id FAA11330 for ; Sun, 9 Nov 1997 05:42:21 -0800 (PST) (envelope-from rhh@ct.picker.com) Received: from ct.picker.com by whqvax.picker.com with SMTP; Sun, 9 Nov 1997 8:41:18 -0500 (EST) Received: from elmer.ct.picker.com by ct.picker.com (4.1/SMI-4.1) id AA21623; Sun, 9 Nov 97 08:41:18 EST Received: by elmer.ct.picker.com (SMI-8.6/SMI-SVR4) id IAA17116; Sun, 9 Nov 1997 08:40:52 -0500 Message-Id: <19971109084052.07049@ct.picker.com> Date: Sun, 9 Nov 1997 08:40:52 -0500 From: Randall Hopper To: Amancio Hasty Cc: multimedia@freebsd.org Subject: bt848 bandwidth limitation Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 0.81 Sender: owner-freebsd-multimedia@freebsd.org X-Loop: FreeBSD.org Precedence: bulk Speaking of bandwidth limitations, I noticed this slightly puzzling check in the driver to determine when to split a scanline transfer into halves in the RISC program: /* When to split a dma transfer , the bt848 has timing as well as dma transfer size limitations so that we have to split dma transfers into two dma requests */ #define DMA_BT848_SPLIT 319*2 ... if ((width * pixel_width) < DMA_BT848_SPLIT ) { To take an example, if we're doing 4Bpp 640x480, a scanline will be 2560 bytes. This "( 640*4 < 638 )" check will of course trigger a scanline split, but each half of the scanline is 1280 bytes -- over twice the value of DMA_BT848_SPLIT. So what's got me wondering is that this is such a small number and we only ever split into 2 segments. Thoughts? Randall