From owner-freebsd-hackers@FreeBSD.ORG Mon Jan 3 18:08:19 2011 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 64DAF106566B; Mon, 3 Jan 2011 18:08:19 +0000 (UTC) (envelope-from mavbsd@gmail.com) Received: from mail-fx0-f54.google.com (mail-fx0-f54.google.com [209.85.161.54]) by mx1.freebsd.org (Postfix) with ESMTP id BE2B78FC0A; Mon, 3 Jan 2011 18:08:18 +0000 (UTC) Received: by fxm16 with SMTP id 16so13252557fxm.13 for ; Mon, 03 Jan 2011 10:08:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:sender:message-id:date:from :user-agent:mime-version:to:cc:subject:references:in-reply-to :content-type:content-transfer-encoding; bh=wmG3uZ88/4bLl3rw/e5Jd2yi51OyB6WEK5xiVm21xF4=; b=gtN0WUarCoTEhTSLMqwAEtWehtesH7S093hI3an2ts7jx67CzrsKAda1zobHSjM/HT pk7cULPVM+lQ2xpMZgugxG5UqKB/wrl8rlx/uNvDykC2J4XNU9Jn+MsAojXPOd3CMl2I CYqX5mNyYoHLMFdhlRTPCpGnbnDjqLlZPBxvU= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=sender:message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; b=fCkEZ3DFatU4yK2HwlfaRblt/mtFQDJXlKlYJzrKoR2IbPyYwr2Y0jRPvrIsZAUkQZ 36t5cVnK4lJJZxRAOnX3xH5M3mKe4u0FCdG9ovOSRI+c6SiJ/d44Mirg6QaR13rQsL1A GVJQlFlK5bE7YZi21zpXB2a0Q0awOsHcLngWc= Received: by 10.103.240.12 with SMTP id s12mr1539529mur.42.1294078097542; Mon, 03 Jan 2011 10:08:17 -0800 (PST) Received: from mavbook.mavhome.dp.ua ([91.198.175.253]) by mx.google.com with ESMTPS id l3sm3089632fan.2.2011.01.03.10.08.13 (version=SSLv3 cipher=RC4-MD5); Mon, 03 Jan 2011 10:08:15 -0800 (PST) Sender: Alexander Motin Message-ID: <4D221088.8080103@FreeBSD.org> Date: Mon, 03 Jan 2011 20:08:08 +0200 From: Alexander Motin User-Agent: Mozilla/5.0 (X11; U; FreeBSD amd64; en-US; rv:1.9.2.12) Gecko/20101104 Thunderbird/3.1.6 MIME-Version: 1.0 To: John Baldwin References: <745749.9930.qm@web76811.mail.sg1.yahoo.com> <201101031022.02558.jhb@freebsd.org> In-Reply-To: <201101031022.02558.jhb@freebsd.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: freebsd-hackers@freebsd.org, Darmawan Salihun Subject: Re: PCI IDE Controller Base Address Register setting X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 03 Jan 2011 18:08:19 -0000 > On Saturday, January 01, 2011 2:58:12 pm Darmawan Salihun wrote: >> So, I found out that it seems the >> allocation of I/O ports for the IDE controller is just fine. >> However, the primary IDE channel is shared between >> an IDE interface and a CF card. Moreover, Linux detects >> DMA bug, because all drives connected to the interface would be >> in PIO mode :-/ >> If all drives on the primary channel are "forced" to PIO mode, then >> shouldn't the "IDE PCI bus master register" (offset 20h per SFF-8038i) >> along with the command register (offset 4h), are set to indicate the >> controller doesn't support bus mastering? I don't think that BIOS should change controller capabilities depending on attached drives, may be except may be for workarounding some known bugs/incompatibilities. Otherwise this will just make hot-plug things tricky and unpredictable. >> Anyway, is it possible for devices on _the same_ channel to use >> different setting in FreeBSD? For example, the primary slave >> is using UDMA66 while the primary master is using PIO-4. >> Or such configuration is considered invalid. Yes, it is possible. If automatic negotiation doesn't succeed for some reason, you may limit initial mode for each specific device using hint.ata.X.devY.mode loader tunables, added not so long ago. After boot it can also be tuned per-device via atacontrol or camcontrol tools, depending on ATA stack used. >> The AMDLX800-CS5536 board I'm working with has different connectors >> for the primary master and primary slave. Moreover, the chipset >> supports different setting in primary master and primary slave. There are few other controllers not supporting such configurations, but it is handled by their specific drivers. -- Alexander Motin