From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= Date: Wed, 20 Jul 2011 00:12:19 +0200 Subject: [PATCH 0/3] b43 & bcma: DMA special (translation) bits Message-ID: <1311113542-2540-1-git-send-email-zajec5@gmail.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: linux-wireless@vger.kernel.org, "John W. Linville" Cc: b43-dev@lists.infradead.org, Pavel Roskin , =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= Thanks to Pavel's comments I digged into translation bits and found out the hackish way we currently use to handle 32-bit and 64-bit DMA. I've replaced out bit shifting hacks with just a one, documented in the comment. This workaround ideally should be just fixed, but I'm not going to blidly change the current behaviour of ssb_dma_translation without testing that with b43legacy and b44. As I don't have such a hardware, we will need to find some testers. In any case, the way we changed the code should be correct. When ssb function will be fixed, b43 will only require deletion of 2 code lines. I've tested this code for regressions on my following cards: 1) 14e4:432b (64-bit DMA) 2) 14e4:4315 (64-bit DMA) 3) 14e4:4312 (32-bit DMA) Transmission is still possible on all of them, no errors were noticed. Pavel: sorry for CC-ing you with my previous serie. Fortunately this lead to the much nicer solution, thanks for your help. I let myself yo CC you once more, as this patch serie tries to fix issues you pointed to me. Rafa? Mi?ecki (3): b43: replace DMA translation workarounds with just a one, commented bcma: inform drivers about translation bits needed for the core b43: bcma: get DMA translation bits drivers/bcma/core.c | 16 ++++++++++++++++ drivers/net/wireless/b43/dma.c | 17 ++++++++++++++--- drivers/net/wireless/b43/dma.h | 4 ++++ include/linux/bcma/bcma.h | 5 +++++ 4 files changed, 39 insertions(+), 3 deletions(-) -- 1.7.3.4