From owner-cvs-src@FreeBSD.ORG Wed Aug 20 04:05:29 2003 Return-Path: Delivered-To: cvs-src@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6084816A4BF; Wed, 20 Aug 2003 04:05:29 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id EEE0F43FB1; Wed, 20 Aug 2003 04:05:28 -0700 (PDT) (envelope-from harti@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id h7KB5S0U048407; Wed, 20 Aug 2003 04:05:28 -0700 (PDT) (envelope-from harti@repoman.freebsd.org) Received: (from harti@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id h7KB5Sil048406; Wed, 20 Aug 2003 04:05:28 -0700 (PDT) Message-Id: <200308201105.h7KB5Sil048406@repoman.freebsd.org> From: Hartmut Brandt Date: Wed, 20 Aug 2003 04:05:28 -0700 (PDT) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: RELENG_4 Subject: cvs commit: src/sys/dev/hfa fore_aali.h fore_command.c fore_init.c fore_intr.c fore_var.h X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Aug 2003 11:05:29 -0000 harti 2003/08/20 04:05:28 PDT FreeBSD src repository Modified files: (Branch: RELENG_4) sys/dev/hfa fore_aali.h fore_command.c fore_init.c fore_intr.c fore_var.h Log: MFC fore_aali.h:1.4, fore_command.c:1.15, fore_init.c:1.14, fore_intr.c:1.10, fore_var.h:1.8: Make the driver to work with firmware version 4.1.12 (other 4.X.Y should also do it). Three problems have been encountered: 1. The initialisation command does not work in interrupt mode. Whether this is a firmware bug or a feature is not clear. The original Fore drivers execute the initialize command always in polling mode, so it appears that this behaviour is expected. When we detect a 4.X.Y firmware do busy wait on the command status. 2. The command code of the GET_PROM has changed. This is an unofficial command anyway. What was GET_PROM in 3.X.Y is CLEAR_STATS in 4.X.Y (although unimplemented in the firmware). We need to use the correct code depending on the firmware. 3. The 4.X.Y can set the error flag in command status without also setting the completion flag (as the documentation says). Check both variants. An additional field in the per-card structure fu_ft4 is TRUE when we have detected a 4.X.Y firmware. Otherwise it is false. The behaviour of the driver when using 3.X.Y should be identical to the previous behaviour . This change will enable traffic shaping of CBR channels. Revision Changes Path 1.2.2.1 +2 -0 src/sys/dev/hfa/fore_aali.h 1.6.2.1 +11 -1 src/sys/dev/hfa/fore_command.c 1.6.2.1 +52 -5 src/sys/dev/hfa/fore_init.c 1.3.2.1 +4 -0 src/sys/dev/hfa/fore_intr.c 1.2.2.1 +1 -0 src/sys/dev/hfa/fore_var.h