From owner-cvs-src-old@FreeBSD.ORG Sun Jul 31 08:01:56 2011 Return-Path: Delivered-To: cvs-src-old@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3BF8D106564A for ; Sun, 31 Jul 2011 08:01:56 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 1266F8FC13 for ; Sun, 31 Jul 2011 08:01:56 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.4/8.14.4) with ESMTP id p6V81tHJ010096 for ; Sun, 31 Jul 2011 08:01:55 GMT (envelope-from adrian@repoman.freebsd.org) Received: (from svn2cvs@localhost) by repoman.freebsd.org (8.14.4/8.14.4/Submit) id p6V81trY010095 for cvs-src-old@freebsd.org; Sun, 31 Jul 2011 08:01:55 GMT (envelope-from adrian@repoman.freebsd.org) Message-Id: <201107310801.p6V81trY010095@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: svn2cvs set sender to adrian@repoman.freebsd.org using -f From: Adrian Chadd Date: Sun, 31 Jul 2011 08:01:41 +0000 (UTC) To: cvs-src-old@freebsd.org X-FreeBSD-CVS-Branch: HEAD Subject: cvs commit: src/sys/dev/ath if_ath.c X-BeenThere: cvs-src-old@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: **OBSOLETE** CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 31 Jul 2011 08:01:56 -0000 adrian 2011-07-31 08:01:41 UTC FreeBSD src repository Modified files: sys/dev/ath if_ath.c Log: SVN rev 224541 on 2011-07-31 08:01:41Z by adrian Implement the 4KB split transaction workaround for Merlin (AR9280). The AR9280 apparently has an issue with descriptors which straddle a page boundary (4k). I'm not yet sure whether I should use PAGE_SIZE in the calculations or whether I should use 4096; the reference code uses 4096. This patch fiddles with descriptor allocation so a descriptor entry doesn't straddle a 4kb address boundary. The descriptor memory allocation is made larger to contain extra descriptors and then the descriptor address is advanced to the next 4kb boundary where needed. I've tested this both on Merlin (AR9280) and non-Merlin (in this case, AR9160.) Obtained from: Linux, Atheros Approved by: re (kib) Revision Changes Path 1.331 +40 -5 src/sys/dev/ath/if_ath.c