Search Linux Wireless

Re: [PATCH 2/2] Using LP firmware for taking advantage of the low-power capabilities.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 09/19/2012 06:18 AM, Jarl Friis wrote:
This is using the LP specific firmware to better take advantage of the
Low-Power capabilities.

Signed-off-by: Jarl Friis <jarl@xxxxxxxxxx>
---
  drivers/net/wireless/b43/main.c |   16 ++++++++++++++--
  1 file changed, 14 insertions(+), 2 deletions(-)

diff --git a/drivers/net/wireless/b43/main.c b/drivers/net/wireless/b43/main.c
index 202a0eb..9ee6030 100644
--- a/drivers/net/wireless/b43/main.c
+++ b/drivers/net/wireless/b43/main.c
@@ -8,6 +8,7 @@
    Copyright (c) 2005 Danny van Dyk <kugelfang@xxxxxxxxxx>
    Copyright (c) 2005 Andreas Jaggi <andreas.jaggi@xxxxxxxxxxxx>
    Copyright (c) 2010-2011 Rafał Miłecki <zajec5@xxxxxxxxx>
+  Copyright (c) 2012 Jarl Friis <jarl@xxxxxxxxxx>

    SDIO support
    Copyright (c) 2009 Albert Herranz <albert_herranz@xxxxxxxx>
@@ -72,6 +73,7 @@ MODULE_FIRMWARE("b43/ucode11.fw");
  MODULE_FIRMWARE("b43/ucode13.fw");
  MODULE_FIRMWARE("b43/ucode14.fw");
  MODULE_FIRMWARE("b43/ucode15.fw");
+MODULE_FIRMWARE("b43/ucode16_lp.fw");
  MODULE_FIRMWARE("b43/ucode16_mimo.fw");
  MODULE_FIRMWARE("b43/ucode5.fw");
  MODULE_FIRMWARE("b43/ucode9.fw");
@@ -2208,6 +2210,12 @@ static int b43_try_request_fw(struct b43_request_fw_context *ctx)
  			else
  				goto err_no_ucode;
  			break;
+		case B43_PHYTYPE_LP:
+			if (rev >= 16)
+				filename = "ucode16_lp";
+			else
+				goto err_no_ucode;
+			break;
  		case B43_PHYTYPE_HT:
  			if (rev == 29)
  				filename = "ucode29_mimo";
@@ -2277,8 +2285,10 @@ static int b43_try_request_fw(struct b43_request_fw_context *ctx)
  			filename = "lp0initvals13";
  		else if (rev == 14)
  			filename = "lp0initvals14";
-		else if (rev >= 15)
+		else if (rev == 15)
  			filename = "lp0initvals15";
+		else if (rev >= 16)
+			filename = "lp0initvals16";
  		else
  			goto err_no_initvals;
  		break;
@@ -2336,8 +2346,10 @@ static int b43_try_request_fw(struct b43_request_fw_context *ctx)
  			filename = "lp0bsinitvals13";
  		else if (rev == 14)
  			filename = "lp0bsinitvals14";
-		else if (rev >= 15)
+		else if (rev == 15)
  			filename = "lp0bsinitvals15";
+		else if (rev >= 16)
+			filename = "lp0bsinitvals16";
  		else
  			goto err_no_initvals;
  		break;

I have some questions about this patch. Where did you get the information needed to make these changes? Did it come from reverse engineering some Broadcom code, or did you look at their actual code? There is a great deal of difference relative to our "clean-room" status. Anyone that has seen non-GPL Broadcom material cannot contribute code to b43.

Have you tested this code on devices with rev>=16?

Now for some comments: This patch also needs the "b43:" added to the subject. In addition, you appear to have at least one white-space error in the MODULE_FIRMWARE line. Is the addition of your copyright to the driver warranted by this change? For example, I have made much larger contributions to b43 over the years before I started doing reverse-engineering on this driver, but I never added my copyright. Your "Signed-off-by" implies copyright for the patch.

Larry

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux