From owner-freebsd-wireless@FreeBSD.ORG Tue Sep 25 03:39:02 2012 Return-Path: Delivered-To: freebsd-wireless@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E74D51065673 for ; Tue, 25 Sep 2012 03:39:02 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: from mail-pa0-f54.google.com (mail-pa0-f54.google.com [209.85.220.54]) by mx1.freebsd.org (Postfix) with ESMTP id BD4E48FC16 for ; Tue, 25 Sep 2012 03:39:02 +0000 (UTC) Received: by padbi1 with SMTP id bi1so2011818pad.13 for ; Mon, 24 Sep 2012 20:39:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:date:x-google-sender-auth:message-id:subject :from:to:cc:content-type; bh=GfJUx8maIOrI/RCVDLaJENbLXj6mybi1jRlHujwi4X4=; b=IT9i+5qh+TzlFd1Z5fJKBDq7aRZW5EGyHnoGtPoBaLGvpwgMyhnbILjIxdlN4TSINg Xmu96NruO0KhbB3JsyL4FZocL90hgRVdRnlRDJYtklem+lu1MtMX83InCyD1qDI1hIN9 cbMZ4R/iy5MNeEqTpNfE/SCs7jv5uf51OoR/OSH+ZPITny2qBGP1pGj4vpA6LI8wRjGG b8z3PIZQ9T0YZ20zozknOyHgEi551SfDla7XbZ+3PlcS6sfZDy8//QdCznp+d7Eopslo 1bF2P3W1UDbNY6jS33Du6HWBbfj0kRx+zuBsuUR49qjFv1xzewQV5hr2MatyIOboU7vO JKTg== MIME-Version: 1.0 Received: by 10.68.136.40 with SMTP id px8mr42042519pbb.153.1348544342339; Mon, 24 Sep 2012 20:39:02 -0700 (PDT) Sender: adrian.chadd@gmail.com Received: by 10.68.36.106 with HTTP; Mon, 24 Sep 2012 20:39:02 -0700 (PDT) Date: Mon, 24 Sep 2012 20:39:02 -0700 X-Google-Sender-Auth: KHZbOSp3he3jq2ct4AdZVzEsLcU Message-ID: From: Adrian Chadd To: Berislav Purgar Content-Type: text/plain; charset=ISO-8859-1 Cc: freebsd-wireless@freebsd.org Subject: TXEOL semantics (was Re: broken TX in HEAD (AR5212)) X-BeenThere: freebsd-wireless@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Discussions of 802.11 stack, tools device driver development." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 25 Sep 2012 03:39:03 -0000 Grr. On 23 September 2012 15:32, Adrian Chadd wrote: > That's not too scary; just slightly wasteful. > > But the annoying one: > > * I'm getting TXEOL interrupts appearing (which is by design, so > that's OK) - but then when the descriptor is checked, the first > descriptor in the list shows up as HAL_EINPROGRESS - and sure enough, > the contents of that descriptor are not yet initialised. Now on my > MIPS boards the descriptors are in KSEG1 - which is supposed to be > unmapped, uncached memory. A subsequent TXEOL (from another descriptor > being pushed into the queue) or TXOK (from that descriptor completing > TX successfully) will kick the queue along. ... aaand yes, I've just discovered that TXEOL indeed can occur before the descriptor(s) in the queue have been TXed and the TX status has been written back. It just signals the MAC has hit the end of the TX list for that hardware queue. Grr. That software driven TX interrupt coalescing hack.. subtly wrong. :( Adrian