From owner-freebsd-mips@FreeBSD.ORG Mon Oct 28 04:20:12 2013 Return-Path: Delivered-To: freebsd-mips@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTP id A2613680; Mon, 28 Oct 2013 04:20:12 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: from mail-qe0-x22b.google.com (mail-qe0-x22b.google.com [IPv6:2607:f8b0:400d:c02::22b]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 32B192F91; Mon, 28 Oct 2013 04:20:12 +0000 (UTC) Received: by mail-qe0-f43.google.com with SMTP id nc12so3672947qeb.16 for ; Sun, 27 Oct 2013 21:20:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:date:message-id:subject:from:to:content-type; bh=Euq6vdT1ejnvaAQVxZKV/ZLl2eTSvTrYEgM5hqMOhf8=; b=UgPEXBDape/F+6gHXqmMK5x2QcpGgRERUDEl22PqYnfK2QZyjbtBM1V+JKLmoNFT1O bR+oJ9e4dR+yz8R9MsDIdc7ra1mWq5jrPgdsrY+0ehStiWaO+04WVHXm4t69ekQxgg3c 8QpHp1rZ+kEm7QH21zXJwKJy1Wt9BdRRYNQPsTwJGB1VmSj0yB/y5hlM3pOGG9fBEip2 fskEMWnAzicOapLXxiemsGVxoYMDXjYbdYnVa+ZO9nbDq8h4nUamckBq9Qz85MtT9y2U xCJ0ZusnPIeBIIZrBtQ/dvUAy8+InzqMUT4SnOpbszQZgOz8SvJgN+fvZo1/+d3qvyQp jnaA== MIME-Version: 1.0 X-Received: by 10.49.88.3 with SMTP id bc3mr26089619qeb.30.1382934011357; Sun, 27 Oct 2013 21:20:11 -0700 (PDT) Sender: adrian.chadd@gmail.com Received: by 10.224.207.66 with HTTP; Sun, 27 Oct 2013 21:20:11 -0700 (PDT) Date: Sun, 27 Oct 2013 21:20:11 -0700 X-Google-Sender-Auth: q2CEbAZ48SUlqQ8J58tPory3QSA Message-ID: Subject: [ath] testing bus write barriers From: Adrian Chadd To: "freebsd-wireless@freebsd.org" , FreeBSD PowerPC ML , freebsd-sparc64 , "freebsd-mips@freebsd.org" Content-Type: text/plain; charset=ISO-8859-1 X-BeenThere: freebsd-mips@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Porting FreeBSD to MIPS List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 28 Oct 2013 04:20:12 -0000 Hi all, I'd like to add correct bus write barriers to the ath driver. Here's what I have thus far: http://people.freebsd.org/~adrian/ath/20131028-ath-bus-write-barriers.diff Now, it sucks that I'm doing a bus write barrier on _each_ write but fixing it requires a lot of HAL churn and that would, well, suck. PPC - this was a problem that was fixed by adding implicit write flushes in your bus space. This _should_ let you get rid of that (well, as long as you fix the rest of the drivers.) sparc64 - if you use a PCI or PCIe ath NIC in your sparc machine, please contact me and let me know. This should make it work (better.) MIPS - for mips24k it's not a big problem as register accesses are in the uncached section and are already in-order. But for mips74k and other superscalar architectures, it will need a flush otherwise things don't work (right.) I'd appreciate it if this could get some testing. Thanks, -adrian