From owner-freebsd-current Thu Nov 2 07:55:41 1995 Return-Path: owner-current Received: (from root@localhost) by freefall.freebsd.org (8.6.12/8.6.6) id HAA04069 for current-outgoing; Thu, 2 Nov 1995 07:55:41 -0800 Received: from plains.nodak.edu (89@plains.NoDak.edu [134.129.111.64]) by freefall.freebsd.org (8.6.12/8.6.6) with ESMTP id HAA04064 for ; Thu, 2 Nov 1995 07:55:36 -0800 Received: (from tinguely@localhost) by plains.nodak.edu (8.6.11/8.6.10) id JAA17082; Thu, 2 Nov 1995 09:55:31 -0600 Date: Thu, 2 Nov 1995 09:55:31 -0600 From: Mark Tinguely Message-Id: <199511021555.JAA17082@plains.nodak.edu> To: freebsd-current@freebsd.org Subject: Matrox meteor (sys/pci/meteor.c) patch Cc: james@miller.cs.uwm.edu Content-Length: 1980 Sender: owner-current@freebsd.org Precedence: bulk I visually found an error in the /sys/pci/meteor.c Matrox Meteor video capture driver in the setting the frequency for SECAM, and AUTO modes. Secam and PAL use 50 Hz, while NTSC uses 60 Hz. Automode should not also set 60Hz, though I think that setting will get ignored. (note to Jim Lowe, when I sent this patch to you last week, I set the 0x40 (60Hz field select) bit on the 0x0f register for SECAM, it should be the 0x20 (Secam Cross Color Reduction). below is now correct. ) these changes are also at: ftp://joy.cs.ndsu.nodak.edu/pub/meteor... --mark. *** meteor.c.orig Tue Oct 24 08:40:21 1995 --- meteor.c Tue Oct 24 08:46:03 1995 *************** *** 36,41 **** --- 36,43 ---- 8/29/95 Fixes suggested by Bruce Evans. meteor_mmap should return -1 on error rather than 0. unit # > NMETEOR should be unit # >= NMETEOR. + 10/24/95 Turn 50 Hz processing for SECAM and 60 Hz processing + off for AUTOMODE. */ #include "meteor.h" *************** *** 891,897 **** SAA7196_WRITE(mtr, 0x0d, (SAA7196_REG(mtr, 0x0d) & ~0x01) | 0x1); SAA7196_WRITE(mtr, 0x0f, ! (SAA7196_REG(mtr, 0x0f) & ~0xe0) | 0xe0); SAA7196_WRITE(mtr, 0x22, 0x00); SAA7196_WRITE(mtr, 0x24, (SAA7196_REG(mtr, 0x24) | 0x0c)); --- 893,899 ---- SAA7196_WRITE(mtr, 0x0d, (SAA7196_REG(mtr, 0x0d) & ~0x01) | 0x1); SAA7196_WRITE(mtr, 0x0f, ! (SAA7196_REG(mtr, 0x0f) & ~0xe0) | 0x20); SAA7196_WRITE(mtr, 0x22, 0x00); SAA7196_WRITE(mtr, 0x24, (SAA7196_REG(mtr, 0x24) | 0x0c)); *************** *** 905,911 **** SAA7196_WRITE(mtr, 0x0d, (SAA7196_REG(mtr, 0x0d) & ~0x01)); SAA7196_WRITE(mtr, 0x0f, ! (SAA7196_REG(mtr, 0x0f) & ~0xc0) | 0xc0); break; default: return EINVAL; --- 907,913 ---- SAA7196_WRITE(mtr, 0x0d, (SAA7196_REG(mtr, 0x0d) & ~0x01)); SAA7196_WRITE(mtr, 0x0f, ! (SAA7196_REG(mtr, 0x0f) & ~0xc0) | 0x80); break; default: return EINVAL;