From fa24781c58c9a807bbd64c47e65add6cae095649 Mon Sep 17 00:00:00 2001 From: juhosg Date: Tue, 13 Jan 2009 13:01:26 +0000 Subject: [PATCH] [package] mac80211: update ath9k patches git-svn-id: svn://svn.openwrt.org/openwrt/trunk@14023 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- .../401-ath9k-convert-to-struct-device.patch | 6 ++- ...ert-to-use-bus-agnostic-DMA-routines.patch | 6 ++- ...duce-bus-specific-cache-size-routine.patch | 6 ++- ...troduce-bus-specific-cleanup-routine.patch | 6 ++- ...h9k-move-PCI-code-into-separate-file.patch | 7 ++- ...-platform-driver-for-AHB-bus-support.patch | 7 ++- ...M-contents-from-platform-data-on-AHB.patch | 7 ++- ...e-u16-casts-from-rtc-register-access.patch | 43 ++++++++++++++----- ...09-ath9k-fix-ar5416Addac_9100-values.patch | 6 ++- ...pointer-dereference-in-ani-monitor-c.patch | 6 ++- .../411-ath9k-enable-support-for-AR9100.patch | 6 ++- 11 files changed, 76 insertions(+), 30 deletions(-) diff --git a/package/mac80211/patches/401-ath9k-convert-to-struct-device.patch b/package/mac80211/patches/401-ath9k-convert-to-struct-device.patch index e71df0eb3..a7ad76e1f 100644 --- a/package/mac80211/patches/401-ath9k-convert-to-struct-device.patch +++ b/package/mac80211/patches/401-ath9k-convert-to-struct-device.patch @@ -1,11 +1,13 @@ -From 3ded580cd6f24776395649b301857d075a5121fb Mon Sep 17 00:00:00 2001 +From 1f8e398032f7aa8a06ac950fe1d4e0a48d7578b2 Mon Sep 17 00:00:00 2001 From: Gabor Juhos Date: Mon, 5 Jan 2009 10:45:00 +0100 -Subject: [PATCH v2 01/11] ath9k: convert to struct device +Subject: [PATCH v3 01/11] ath9k: convert to struct device Convert 'struct pci_dev' to 'struct device' to make it usable on the AHB bus as well. +Changes-licensed-under: ISC + Signed-off-by: Gabor Juhos Signed-off-by: Imre Kaloz --- diff --git a/package/mac80211/patches/402-ath9k-convert-to-use-bus-agnostic-DMA-routines.patch b/package/mac80211/patches/402-ath9k-convert-to-use-bus-agnostic-DMA-routines.patch index 808c1116c..9a5b30181 100644 --- a/package/mac80211/patches/402-ath9k-convert-to-use-bus-agnostic-DMA-routines.patch +++ b/package/mac80211/patches/402-ath9k-convert-to-use-bus-agnostic-DMA-routines.patch @@ -1,10 +1,12 @@ -From 57b901b5ceb401006a278bc1ad224f0ac88d4f08 Mon Sep 17 00:00:00 2001 +From 4180ca5827fe3ac377a8a71fca955c99ad6a2b5b Mon Sep 17 00:00:00 2001 From: Gabor Juhos Date: Mon, 5 Jan 2009 10:50:30 +0100 -Subject: [PATCH v2 02/11] ath9k: convert to use bus-agnostic DMA routines +Subject: [PATCH v3 02/11] ath9k: convert to use bus-agnostic DMA routines Convert to use bus-agnostic DMA routines to make it usable on AHB bus as well. +Changes-licensed-under: ISC + Signed-off-by: Gabor Juhos Signed-off-by: Imre Kaloz --- diff --git a/package/mac80211/patches/403-ath9k-introduce-bus-specific-cache-size-routine.patch b/package/mac80211/patches/403-ath9k-introduce-bus-specific-cache-size-routine.patch index f6fcbd6b5..99acbf967 100644 --- a/package/mac80211/patches/403-ath9k-introduce-bus-specific-cache-size-routine.patch +++ b/package/mac80211/patches/403-ath9k-introduce-bus-specific-cache-size-routine.patch @@ -1,11 +1,13 @@ -From 1306e6b6d72b2bc0b91bcdd15b1d982965210bda Mon Sep 17 00:00:00 2001 +From b9aae7ff9c6ca6864434882cce9c9c6fea88220b Mon Sep 17 00:00:00 2001 From: Gabor Juhos Date: Mon, 5 Jan 2009 10:57:42 +0100 -Subject: [PATCH v2 03/11] ath9k: introduce bus specific cache size routine +Subject: [PATCH v3 03/11] ath9k: introduce bus specific cache size routine The PCI specific bus_read_cachesize routine won't work on the AHB bus, we have to replace it with a suitable one later. +Changes-licensed-under: ISC + Signed-off-by: Gabor Juhos Signed-off-by: Imre Kaloz --- diff --git a/package/mac80211/patches/404-ath9k-introduce-bus-specific-cleanup-routine.patch b/package/mac80211/patches/404-ath9k-introduce-bus-specific-cleanup-routine.patch index 663d60877..5fbb4fcec 100644 --- a/package/mac80211/patches/404-ath9k-introduce-bus-specific-cleanup-routine.patch +++ b/package/mac80211/patches/404-ath9k-introduce-bus-specific-cleanup-routine.patch @@ -1,11 +1,13 @@ -From 7524b77fe24a4464b08a2ac987ec22711a4f2027 Mon Sep 17 00:00:00 2001 +From 72542311c85de25b6f612e8de8cfdeb96efe7308 Mon Sep 17 00:00:00 2001 From: Gabor Juhos Date: Mon, 5 Jan 2009 10:59:29 +0100 -Subject: [PATCH v2 04/11] ath9k: introduce bus specific cleanup routine +Subject: [PATCH v3 04/11] ath9k: introduce bus specific cleanup routine We have left only some PCI specific cleanup code. We have to convert them as well. +Changes-licensed-under: ISC + Signed-off-by: Gabor Juhos Signed-off-by: Imre Kaloz --- diff --git a/package/mac80211/patches/405-ath9k-move-PCI-code-into-separate-file.patch b/package/mac80211/patches/405-ath9k-move-PCI-code-into-separate-file.patch index 49453886f..4a55ded9e 100644 --- a/package/mac80211/patches/405-ath9k-move-PCI-code-into-separate-file.patch +++ b/package/mac80211/patches/405-ath9k-move-PCI-code-into-separate-file.patch @@ -1,11 +1,13 @@ -From 39c2811d18b39991f49c16dcd9ed1a81200371ad Mon Sep 17 00:00:00 2001 +From 4803193b165c67abcd7cb10dd0c178dbcffb6cc7 Mon Sep 17 00:00:00 2001 From: Gabor Juhos Date: Mon, 5 Jan 2009 11:01:09 +0100 -Subject: [PATCH v2 05/11] ath9k: move PCI code into separate file +Subject: [PATCH v3 05/11] ath9k: move PCI code into separate file Now that we have converted all bus specific routines to replaceable, we can move the PCI specific codes into a separate file. +Changes-licensed-under: ISC + Signed-off-by: Gabor Juhos Signed-off-by: Imre Kaloz --- @@ -14,6 +16,7 @@ Signed-off-by: Imre Kaloz drivers/net/wireless/ath9k/main.c | 300 +++-------------------------------- drivers/net/wireless/ath9k/pci.c | 287 +++++++++++++++++++++++++++++++++ 4 files changed, 328 insertions(+), 279 deletions(-) + create mode 100644 drivers/net/wireless/ath9k/pci.c --- a/drivers/net/wireless/ath9k/Makefile +++ b/drivers/net/wireless/ath9k/Makefile diff --git a/package/mac80211/patches/406-ath9k-introduce-platform-driver-for-AHB-bus-support.patch b/package/mac80211/patches/406-ath9k-introduce-platform-driver-for-AHB-bus-support.patch index ae42bda1b..7b0412826 100644 --- a/package/mac80211/patches/406-ath9k-introduce-platform-driver-for-AHB-bus-support.patch +++ b/package/mac80211/patches/406-ath9k-introduce-platform-driver-for-AHB-bus-support.patch @@ -1,11 +1,13 @@ -From ace011bdb2676f594824c81a5a5b5089dc0c3e0b Mon Sep 17 00:00:00 2001 +From 23f9e44a18b5a2dfaa1326aa30dd07e1449e8b5f Mon Sep 17 00:00:00 2001 From: Gabor Juhos Date: Mon, 5 Jan 2009 11:03:17 +0100 -Subject: [PATCH v2 06/11] ath9k: introduce platform driver for AHB bus support +Subject: [PATCH v3 06/11] ath9k: introduce platform driver for AHB bus support This patch adds the platform_driver itself, and modifies the main driver to register it. +Changes-licensed-under: ISC + Signed-off-by: Gabor Juhos Signed-off-by: Imre Kaloz --- @@ -14,6 +16,7 @@ Signed-off-by: Imre Kaloz drivers/net/wireless/ath9k/core.h | 8 ++ drivers/net/wireless/ath9k/main.c | 10 ++ 4 files changed, 179 insertions(+), 0 deletions(-) + create mode 100644 drivers/net/wireless/ath9k/ahb.c --- a/drivers/net/wireless/ath9k/Makefile +++ b/drivers/net/wireless/ath9k/Makefile diff --git a/package/mac80211/patches/407-ath9k-get-EEPROM-contents-from-platform-data-on-AHB.patch b/package/mac80211/patches/407-ath9k-get-EEPROM-contents-from-platform-data-on-AHB.patch index e866acdc6..4394c3c4c 100644 --- a/package/mac80211/patches/407-ath9k-get-EEPROM-contents-from-platform-data-on-AHB.patch +++ b/package/mac80211/patches/407-ath9k-get-EEPROM-contents-from-platform-data-on-AHB.patch @@ -1,12 +1,14 @@ -From 317e9ea5007e3ff18b52f973c1b3a3f2c84bcae1 Mon Sep 17 00:00:00 2001 +From 5941741f36a3870e8d22760e290ae7ea45293cdd Mon Sep 17 00:00:00 2001 From: Gabor Juhos Date: Mon, 5 Jan 2009 11:05:05 +0100 -Subject: [PATCH v2 07/11] ath9k: get EEPROM contents from platform data on AHB bus +Subject: [PATCH v3 07/11] ath9k: get EEPROM contents from platform data on AHB bus On the AR913x SOCs we have to provide EEPROM contents via platform_data, because accessing the flash via MMIO is not safe. Additionally different boards may store the radio calibration data at different locations. +Changes-licensed-under: ISC + Signed-off-by: Gabor Juhos Signed-off-by: Imre Kaloz --- @@ -16,6 +18,7 @@ Signed-off-by: Imre Kaloz drivers/net/wireless/ath9k/pci.c | 18 ++++++++++++ include/linux/ath9k_platform.h | 28 +++++++++++++++++++ 5 files changed, 77 insertions(+), 48 deletions(-) + create mode 100644 include/linux/ath9k_platform.h --- a/drivers/net/wireless/ath9k/ahb.c +++ b/drivers/net/wireless/ath9k/ahb.c diff --git a/package/mac80211/patches/408-ath9k-remove-u16-casts-from-rtc-register-access.patch b/package/mac80211/patches/408-ath9k-remove-u16-casts-from-rtc-register-access.patch index a767c8227..1bea258bd 100644 --- a/package/mac80211/patches/408-ath9k-remove-u16-casts-from-rtc-register-access.patch +++ b/package/mac80211/patches/408-ath9k-remove-u16-casts-from-rtc-register-access.patch @@ -1,16 +1,19 @@ -From 891bd8d155bbdabac3c69486fc854984ee90761c Mon Sep 17 00:00:00 2001 +From 480e7cbba032b1710768ffa1f067f34f99016a73 Mon Sep 17 00:00:00 2001 From: Gabor Juhos Date: Mon, 5 Jan 2009 11:11:28 +0100 -Subject: [PATCH v2 08/11] ath9k: remove (u16) casts from rtc register access +Subject: [PATCH v3 08/11] ath9k: remove (u16) casts from rtc register access The RTC register offsets don't fit into 'u16' on the AR913x, so we have to remove the existing casts. +Changes-licensed-under: ISC + Signed-off-by: Gabor Juhos Signed-off-by: Imre Kaloz --- - drivers/net/wireless/ath9k/hw.c | 14 +++++++------- - 1 files changed, 7 insertions(+), 7 deletions(-) + drivers/net/wireless/ath9k/hw.c | 14 +++++++------- + drivers/net/wireless/ath9k/reg.h | 4 ++-- + 2 files changed, 9 insertions(+), 9 deletions(-) --- a/drivers/net/wireless/ath9k/hw.c +++ b/drivers/net/wireless/ath9k/hw.c @@ -19,7 +22,7 @@ Signed-off-by: Imre Kaloz } } - REG_WRITE(ah, (u16) (AR_RTC_PLL_CONTROL), pll); -+ REG_WRITE(ah, (AR_RTC_PLL_CONTROL), pll); ++ REG_WRITE(ah, AR_RTC_PLL_CONTROL, pll); udelay(RTC_PLL_SETTLE_DELAY); @@ -28,13 +31,13 @@ Signed-off-by: Imre Kaloz } - REG_WRITE(ah, (u16) (AR_RTC_RC), rst_flags); -+ REG_WRITE(ah, (AR_RTC_RC), rst_flags); ++ REG_WRITE(ah, AR_RTC_RC, rst_flags); udelay(50); - REG_WRITE(ah, (u16) (AR_RTC_RC), 0); - if (!ath9k_hw_wait(ah, (u16) (AR_RTC_RC), AR_RTC_RC_M, 0)) { -+ REG_WRITE(ah, (AR_RTC_RC), 0); -+ if (!ath9k_hw_wait(ah, (AR_RTC_RC), AR_RTC_RC_M, 0)) { ++ REG_WRITE(ah, AR_RTC_RC, 0); ++ if (!ath9k_hw_wait(ah, AR_RTC_RC, AR_RTC_RC_M, 0)) { DPRINTF(ah->ah_sc, ATH_DBG_RESET, "RTC stuck in MAC reset\n"); return false; @@ -44,8 +47,8 @@ Signed-off-by: Imre Kaloz - REG_WRITE(ah, (u16) (AR_RTC_RESET), 0); - REG_WRITE(ah, (u16) (AR_RTC_RESET), 1); -+ REG_WRITE(ah, (AR_RTC_RESET), 0); -+ REG_WRITE(ah, (AR_RTC_RESET), 1); ++ REG_WRITE(ah, AR_RTC_RESET, 0); ++ REG_WRITE(ah, AR_RTC_RESET, 1); if (!ath9k_hw_wait(ah, AR_RTC_STATUS, @@ -58,3 +61,23 @@ Signed-off-by: Imre Kaloz AR_RTC_RESET_EN); } } +--- a/drivers/net/wireless/ath9k/reg.h ++++ b/drivers/net/wireless/ath9k/reg.h +@@ -953,7 +953,7 @@ enum { + + #define AR_RTC_BASE 0x00020000 + #define AR_RTC_RC \ +- (AR_SREV_9100(ah)) ? (AR_RTC_BASE + 0x0000) : 0x7000 ++ ((AR_SREV_9100(ah)) ? (AR_RTC_BASE + 0x0000) : 0x7000) + #define AR_RTC_RC_M 0x00000003 + #define AR_RTC_RC_MAC_WARM 0x00000001 + #define AR_RTC_RC_MAC_COLD 0x00000002 +@@ -961,7 +961,7 @@ enum { + #define AR_RTC_RC_WARM_RESET 0x00000008 + + #define AR_RTC_PLL_CONTROL \ +- (AR_SREV_9100(ah)) ? (AR_RTC_BASE + 0x0014) : 0x7014 ++ ((AR_SREV_9100(ah)) ? (AR_RTC_BASE + 0x0014) : 0x7014) + + #define AR_RTC_PLL_DIV 0x0000001f + #define AR_RTC_PLL_DIV_S 0 diff --git a/package/mac80211/patches/409-ath9k-fix-ar5416Addac_9100-values.patch b/package/mac80211/patches/409-ath9k-fix-ar5416Addac_9100-values.patch index 2ede51fb4..e868c7b19 100644 --- a/package/mac80211/patches/409-ath9k-fix-ar5416Addac_9100-values.patch +++ b/package/mac80211/patches/409-ath9k-fix-ar5416Addac_9100-values.patch @@ -1,13 +1,15 @@ -From d1550cd72b9bddd43a355229aaa330b54c28d92e Mon Sep 17 00:00:00 2001 +From 7421bd5ad39586fe58e487477e154275479b6821 Mon Sep 17 00:00:00 2001 From: Gabor Juhos Date: Mon, 5 Jan 2009 11:13:04 +0100 -Subject: [PATCH v2 09/11] ath9k: fix ar5416Addac_9100 values +Subject: [PATCH v3 09/11] ath9k: fix ar5416Addac_9100 values Writing the register at offset 0x98c4 causes a deadlock on the AR913x SoCs. Although i don't have detailed knowledge about these registers, but if i change the register offset according to the 'ar5416Addac' table, it works. Additionally there is no reference to the 0x98c4 elsewhere. +Changes-licensed-under: ISC + Signed-off-by: Gabor Juhos Signed-off-by: Imre Kaloz --- diff --git a/package/mac80211/patches/410-ath9k-fix-null-pointer-dereference-in-ani-monitor-c.patch b/package/mac80211/patches/410-ath9k-fix-null-pointer-dereference-in-ani-monitor-c.patch index e12f7bc26..61b8e85a8 100644 --- a/package/mac80211/patches/410-ath9k-fix-null-pointer-dereference-in-ani-monitor-c.patch +++ b/package/mac80211/patches/410-ath9k-fix-null-pointer-dereference-in-ani-monitor-c.patch @@ -1,13 +1,15 @@ -From a6411f449091c272ca08146238b91a0835306179 Mon Sep 17 00:00:00 2001 +From ea298030ddc0089f308eec39571355aa359a1563 Mon Sep 17 00:00:00 2001 From: Gabor Juhos Date: Mon, 5 Jan 2009 11:14:14 +0100 -Subject: [PATCH v2 10/11] ath9k: fix null pointer dereference in ani monitor code +Subject: [PATCH v3 10/11] ath9k: fix null pointer dereference in ani monitor code In 'ath9k_ani_reset' the 'ahp->ah_curani' will be initialized only if 'DO_ANI(ah)' true. In 'ath9k_hw_ani_monitor' we are using 'ahp->ah_curani' unconditionally, and it will cause a NULL pointer dereference on AR9100. +Changes-licensed-under: ISC + Signed-off-by: Gabor Juhos Signed-off-by: Imre Kaloz --- diff --git a/package/mac80211/patches/411-ath9k-enable-support-for-AR9100.patch b/package/mac80211/patches/411-ath9k-enable-support-for-AR9100.patch index f3cc0c9af..f9c28b032 100644 --- a/package/mac80211/patches/411-ath9k-enable-support-for-AR9100.patch +++ b/package/mac80211/patches/411-ath9k-enable-support-for-AR9100.patch @@ -1,10 +1,12 @@ -From c4568c6e2a62a95c95c7875643a64a19bc8c1a2f Mon Sep 17 00:00:00 2001 +From 40f16a1776f223eee7eeb00860e8215e7ce33a98 Mon Sep 17 00:00:00 2001 From: Gabor Juhos Date: Mon, 5 Jan 2009 11:10:28 +0100 -Subject: [PATCH v2 11/11] ath9k: enable support for AR9100 +Subject: [PATCH v3 11/11] ath9k: enable support for AR9100 Because we have support for the AR9100 devices now, we can enable them. +Changes-licensed-under: ISC + Signed-off-by: Gabor Juhos Signed-off-by: Imre Kaloz --- -- 2.20.1