From owner-freebsd-current@FreeBSD.ORG Mon Apr 14 12:28:21 2003 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5DA3D37B401; Mon, 14 Apr 2003 12:28:21 -0700 (PDT) Received: from baraca.united.net.ua (vlan1.baraca.united.net.ua [195.234.212.67]) by mx1.FreeBSD.org (Postfix) with ESMTP id C828443FBD; Mon, 14 Apr 2003 12:28:19 -0700 (PDT) (envelope-from max@vega.com) Received: from vega.vega.com (root@xDSL-2-2.united.net.ua [193.111.9.226]) h3EJSFTF013439; Mon, 14 Apr 2003 22:28:15 +0300 (EEST) (envelope-from max@vega.com) Received: from vega.vega.com (max@localhost.vega.com [127.0.0.1]) by vega.vega.com (8.12.6/8.12.5) with ESMTP id h3EJSUPG023999; Mon, 14 Apr 2003 22:28:30 +0300 (EEST) (envelope-from sobomax@FreeBSD.org) Received: (from max@localhost) by vega.vega.com (8.12.6/8.12.5/Submit) id h3EJSTxC023998; Mon, 14 Apr 2003 22:28:29 +0300 (EEST) Date: Mon, 14 Apr 2003 22:28:29 +0300 From: Maxim Sobolev To: John Baldwin Message-ID: <20030414192829.GC23799@vega.vega.com> References: <200304141639.h3EGdGF6003933@spider.deepcore.dk> Mime-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.4i X-Operating-System: FreeBSD 4.7-STABLE i386 cc: Soeren Schmidt cc: current@FreeBSD.ORG Subject: Re: Workaround for some broken BIOSes that forgot to enableATAchannels [patch] X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 14 Apr 2003 19:28:21 -0000 On Mon, Apr 14, 2003 at 03:14:53PM -0400, John Baldwin wrote: > > On 14-Apr-2003 Soeren Schmidt wrote: > > It seems Maxim Sobolev wrote: > >> > > This is BIOS on my new vprMatrix 175B4 notebook (P4M-1.7GHz). > >> > > Along with ATA, it "forgets" to enable ports on network card > >> > > (fxp driver), I've already committed patch for it. Funny thing > >> > > is that the problem doesn't exists on 4.7 - both ata and fxp > >> > > work here OOB. This might be somehow related to ACPI, but > >> > > forcefully disabling it in 5-CURRENT doesn't help. > >> > > >> > I heard BIOSes, and now its just one :) > >> > > >> > I'll wait and see if there is more of this, before committing code that > >> > might be just a one off... > >> > >> :((( > >> > >> I am really wonder why ata driver is so strict in this area. > >> Many other drivers don't rely on BIOS to do the right job and > >> enable ports, memory space and busmastering explicitly. And > >> this is the right thing (IMO), since most modern operating > >> systems including FreeBSD don't give a shit to BIOS settings > >> anyway. If device is probed and user didn't disable the driver > >> explicitly, it should do everything to attach to device, no > >> matter in which weird state the BIOS left it. > > > > The current way of things are implemented because: > > 1. Users wanted our driver to honor the BIOS setting an ATA channel on or off > > This isn't always easy, esp. when we start supporting PNP OS = yes at > some point. > > > 2. If the BIOS doesn't enable the port, it most likely hasn't setup > > interrupt routing etc as well.. > > When I get PCI interrupt routing working right on SMP I plan to always > reroute PCI interrupts. In the case of UP and an unrouted interrupt, > we already route the interrupt properly anyways. > > A note to Maxim: please use pci_enable_io() instead of messing with > the config regs directly. Already done. -Maxim