All of lore.kernel.org
 help / color / mirror / Atom feed
* [ath9k-devel] [RFC] ath10k: kill regtable
@ 2013-04-22 10:02 Janusz Dziedzic
  2013-04-23  4:51 ` Kalle Valo
  0 siblings, 1 reply; 2+ messages in thread
From: Janusz Dziedzic @ 2013-04-22 10:02 UTC (permalink / raw)
  To: ath9k-devel

Remove register table abstraction layer.
Use direct defines for ar988x.

Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com>
---
 drivers/net/wireless/ath/ath10k/Makefile          |    4 +-
 drivers/net/wireless/ath/ath10k/ar9888_regtable.c |  167 -----------------
 drivers/net/wireless/ath/ath10k/ar9888_regtable.h |   26 ---
 drivers/net/wireless/ath/ath10k/ar9888def.h       |    3 +
 drivers/net/wireless/ath/ath10k/ce.c              |    1 -
 drivers/net/wireless/ath/ath10k/ce.h              |    6 +-
 drivers/net/wireless/ath/ath10k/core.h            |    1 -
 drivers/net/wireless/ath/ath10k/pci.c             |  179 +++++++++---------
 drivers/net/wireless/ath/ath10k/pci.h             |    9 +-
 drivers/net/wireless/ath/ath10k/regtable.c        |   43 -----
 drivers/net/wireless/ath/ath10k/regtable.h        |  206 ---------------------
 11 files changed, 97 insertions(+), 548 deletions(-)
 delete mode 100644 drivers/net/wireless/ath/ath10k/ar9888_regtable.c
 delete mode 100644 drivers/net/wireless/ath/ath10k/ar9888_regtable.h
 delete mode 100644 drivers/net/wireless/ath/ath10k/regtable.c
 delete mode 100644 drivers/net/wireless/ath/ath10k/regtable.h

diff --git a/drivers/net/wireless/ath/ath10k/Makefile b/drivers/net/wireless/ath/ath10k/Makefile
index efd8798..a4179f4 100644
--- a/drivers/net/wireless/ath/ath10k/Makefile
+++ b/drivers/net/wireless/ath/ath10k/Makefile
@@ -14,9 +14,7 @@ ath10k_core-$(CONFIG_ATH10K_TRACING) += trace.o
 
 obj-$(CONFIG_ATH10K_PCI) += ath10k_pci.o
 ath10k_pci-y += pci.o \
-		ce.o \
-		regtable.o \
-		ar9888_regtable.o
+		ce.o
 
 # for tracing framework to find trace.h
 CFLAGS_trace.o := -I$(src)
diff --git a/drivers/net/wireless/ath/ath10k/ar9888_regtable.c b/drivers/net/wireless/ath/ath10k/ar9888_regtable.c
deleted file mode 100644
index 5e0b25a..0000000
--- a/drivers/net/wireless/ath/ath10k/ar9888_regtable.c
+++ /dev/null
@@ -1,167 +0,0 @@
-/*
- * Copyright (c) 2005-2011 Atheros Communications Inc.
- * Copyright (c) 2011-2013 Qualcomm Atheros, Inc.
- *
- * Permission to use, copy, modify, and/or distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- */
-
-#include "ar9888_regtable.h"
-#include "ar9888def.h"
-
-/* AR9888_V1 hostdef, targetdef structures */
-static struct targetdef ar9888_target_def = {
-	.D_RTC_SOC_BASE_ADDRESS =		RTC_SOC_BASE_ADDRESS,
-	.D_RTC_WMAC_BASE_ADDRESS =		RTC_WMAC_BASE_ADDRESS,
-	.D_SYSTEM_SLEEP_OFFSET =		WLAN_SYSTEM_SLEEP_OFFSET,
-	.D_WLAN_SYSTEM_SLEEP_OFFSET =		WLAN_SYSTEM_SLEEP_OFFSET,
-	.D_WLAN_SYSTEM_SLEEP_DISABLE_LSB =	WLAN_SYSTEM_SLEEP_DISABLE_LSB,
-	.D_WLAN_SYSTEM_SLEEP_DISABLE_MASK =	WLAN_SYSTEM_SLEEP_DISABLE_MASK,
-	.D_CLOCK_CONTROL_OFFSET =		CLOCK_CONTROL_OFFSET,
-	.D_CLOCK_CONTROL_SI0_CLK_MASK =		CLOCK_CONTROL_SI0_CLK_MASK,
-	.D_RESET_CONTROL_OFFSET =		SOC_RESET_CONTROL_OFFSET,
-	.D_RESET_CONTROL_MBOX_RST_MASK =	RESET_CONTROL_MBOX_RST_MASK,
-	.D_RESET_CONTROL_SI0_RST_MASK =		RESET_CONTROL_SI0_RST_MASK,
-	.D_WLAN_RESET_CONTROL_OFFSET =		WLAN_RESET_CONTROL_OFFSET,
-	.D_WLAN_RESET_CONTROL_COLD_RST_MASK =	WLAN_RESET_CONTROL_COLD_RST_MASK,
-	.D_WLAN_RESET_CONTROL_WARM_RST_MASK =	WLAN_RESET_CONTROL_WARM_RST_MASK,
-	.D_GPIO_BASE_ADDRESS =			GPIO_BASE_ADDRESS,
-	.D_GPIO_PIN0_OFFSET =			GPIO_PIN0_OFFSET,
-	.D_GPIO_PIN1_OFFSET =			GPIO_PIN1_OFFSET,
-	.D_GPIO_PIN0_CONFIG_MASK =		GPIO_PIN0_CONFIG_MASK,
-	.D_GPIO_PIN1_CONFIG_MASK =		GPIO_PIN1_CONFIG_MASK,
-	.D_SI_CONFIG_BIDIR_OD_DATA_LSB =	SI_CONFIG_BIDIR_OD_DATA_LSB,
-	.D_SI_CONFIG_BIDIR_OD_DATA_MASK =	SI_CONFIG_BIDIR_OD_DATA_MASK,
-	.D_SI_CONFIG_I2C_LSB =			SI_CONFIG_I2C_LSB,
-	.D_SI_CONFIG_I2C_MASK =			SI_CONFIG_I2C_MASK,
-	.D_SI_CONFIG_POS_SAMPLE_LSB =		SI_CONFIG_POS_SAMPLE_LSB,
-	.D_SI_CONFIG_POS_SAMPLE_MASK =		SI_CONFIG_POS_SAMPLE_MASK,
-	.D_SI_CONFIG_INACTIVE_CLK_LSB =		SI_CONFIG_INACTIVE_CLK_LSB,
-	.D_SI_CONFIG_INACTIVE_CLK_MASK =	SI_CONFIG_INACTIVE_CLK_MASK,
-	.D_SI_CONFIG_INACTIVE_DATA_LSB =	SI_CONFIG_INACTIVE_DATA_LSB,
-	.D_SI_CONFIG_INACTIVE_DATA_MASK =	SI_CONFIG_INACTIVE_DATA_MASK,
-	.D_SI_CONFIG_DIVIDER_LSB =		SI_CONFIG_DIVIDER_LSB,
-	.D_SI_CONFIG_DIVIDER_MASK =		SI_CONFIG_DIVIDER_MASK,
-	.D_SI_BASE_ADDRESS =			SI_BASE_ADDRESS,
-	.D_SI_CONFIG_OFFSET =			SI_CONFIG_OFFSET,
-	.D_SI_TX_DATA0_OFFSET =			SI_TX_DATA0_OFFSET,
-	.D_SI_TX_DATA1_OFFSET =			SI_TX_DATA1_OFFSET,
-	.D_SI_RX_DATA0_OFFSET =			SI_RX_DATA0_OFFSET,
-	.D_SI_RX_DATA1_OFFSET =			SI_RX_DATA1_OFFSET,
-	.D_SI_CS_OFFSET =			SI_CS_OFFSET,
-	.D_SI_CS_DONE_ERR_MASK =		SI_CS_DONE_ERR_MASK,
-	.D_SI_CS_DONE_INT_MASK =		SI_CS_DONE_INT_MASK,
-	.D_SI_CS_START_LSB =			SI_CS_START_LSB,
-	.D_SI_CS_START_MASK =			SI_CS_START_MASK,
-	.D_SI_CS_RX_CNT_LSB =			SI_CS_RX_CNT_LSB,
-	.D_SI_CS_RX_CNT_MASK =			SI_CS_RX_CNT_MASK,
-	.D_SI_CS_TX_CNT_LSB =			SI_CS_TX_CNT_LSB,
-	.D_SI_CS_TX_CNT_MASK =			SI_CS_TX_CNT_MASK,
-	.D_BOARD_DATA_SZ =			MY_TARGET_BOARD_DATA_SZ,
-	.D_BOARD_EXT_DATA_SZ =			MY_TARGET_BOARD_EXT_DATA_SZ,
-	.D_MBOX_BASE_ADDRESS =			MBOX_BASE_ADDRESS,
-	.D_LOCAL_SCRATCH_OFFSET =		LOCAL_SCRATCH_OFFSET,
-	.D_CPU_CLOCK_OFFSET =			CPU_CLOCK_OFFSET,
-	.D_LPO_CAL_OFFSET =			LPO_CAL_OFFSET,
-	.D_GPIO_PIN10_OFFSET =			GPIO_PIN10_OFFSET,
-	.D_GPIO_PIN11_OFFSET =			GPIO_PIN11_OFFSET,
-	.D_GPIO_PIN12_OFFSET =			GPIO_PIN12_OFFSET,
-	.D_GPIO_PIN13_OFFSET =			GPIO_PIN13_OFFSET,
-	.D_CLOCK_GPIO_OFFSET =			CLOCK_GPIO_OFFSET,
-	.D_CPU_CLOCK_STANDARD_LSB =		CPU_CLOCK_STANDARD_LSB,
-	.D_CPU_CLOCK_STANDARD_MASK =		CPU_CLOCK_STANDARD_MASK,
-	.D_LPO_CAL_ENABLE_LSB =			LPO_CAL_ENABLE_LSB,
-	.D_LPO_CAL_ENABLE_MASK =		LPO_CAL_ENABLE_MASK,
-	.D_CLOCK_GPIO_BT_CLK_OUT_EN_LSB =	CLOCK_GPIO_BT_CLK_OUT_EN_LSB,
-	.D_CLOCK_GPIO_BT_CLK_OUT_EN_MASK =	CLOCK_GPIO_BT_CLK_OUT_EN_MASK,
-	.D_ANALOG_INTF_BASE_ADDRESS =		ANALOG_INTF_BASE_ADDRESS,
-	.D_WLAN_MAC_BASE_ADDRESS =		WLAN_MAC_BASE_ADDRESS,
-	.D_CE0_BASE_ADDRESS =			CE0_BASE_ADDRESS,
-	.D_CE1_BASE_ADDRESS =			CE1_BASE_ADDRESS,
-	.D_FW_INDICATOR_ADDRESS =		FW_INDICATOR_ADDRESS,
-	.D_DRAM_BASE_ADDRESS =			DRAM_BASE_ADDRESS,
-	.D_SOC_CORE_BASE_ADDRESS =		SOC_CORE_BASE_ADDRESS,
-	.D_CORE_CTRL_ADDRESS =			CORE_CTRL_ADDRESS,
-	.D_CE_COUNT =				CE_COUNT,
-	.D_MSI_NUM_REQUEST =			MSI_NUM_REQUEST,
-	.D_MSI_ASSIGN_FW =			MSI_ASSIGN_FW,
-	.D_MSI_ASSIGN_CE_INITIAL =		MSI_ASSIGN_CE_INITIAL,
-	.D_MSI_ASSIGN_CE_MAX =			MSI_ASSIGN_CE_MAX,
-	.D_PCIE_INTR_ENABLE_ADDRESS =		PCIE_INTR_ENABLE_ADDRESS,
-	.D_PCIE_INTR_CLR_ADDRESS =		PCIE_INTR_CLR_ADDRESS,
-	.D_PCIE_INTR_FIRMWARE_MASK =		PCIE_INTR_FIRMWARE_MASK,
-	.D_PCIE_INTR_CE_MASK_ALL =		PCIE_INTR_CE_MASK_ALL,
-	.D_CORE_CTRL_CPU_INTR_MASK =		CORE_CTRL_CPU_INTR_MASK,
-	.D_CE_WRAPPER_BASE_ADDRESS =		CE_WRAPPER_BASE_ADDRESS,
-};
-
-struct targetdef *ar9888_get_target_tbl(void)
-{
-	return &ar9888_target_def;
-}
-
-static struct hostdef ar9888_host_def = {
-	.D_INT_STATUS_ENABLE_ERROR_LSB =		INT_STATUS_ENABLE_ERROR_LSB,
-	.D_INT_STATUS_ENABLE_ERROR_MASK =		INT_STATUS_ENABLE_ERROR_MASK,
-	.D_INT_STATUS_ENABLE_CPU_LSB =			INT_STATUS_ENABLE_CPU_LSB,
-	.D_INT_STATUS_ENABLE_CPU_MASK =			INT_STATUS_ENABLE_CPU_MASK,
-	.D_INT_STATUS_ENABLE_COUNTER_LSB =		INT_STATUS_ENABLE_COUNTER_LSB,
-	.D_INT_STATUS_ENABLE_COUNTER_MASK =		INT_STATUS_ENABLE_COUNTER_MASK,
-	.D_INT_STATUS_ENABLE_MBOX_DATA_LSB =		INT_STATUS_ENABLE_MBOX_DATA_LSB,
-	.D_INT_STATUS_ENABLE_MBOX_DATA_MASK =		INT_STATUS_ENABLE_MBOX_DATA_MASK,
-	.D_ERROR_STATUS_ENABLE_RX_UNDERFLOW_LSB =	ERROR_STATUS_ENABLE_RX_UNDERFLOW_LSB,
-	.D_ERROR_STATUS_ENABLE_RX_UNDERFLOW_MASK =	ERROR_STATUS_ENABLE_RX_UNDERFLOW_MASK,
-	.D_ERROR_STATUS_ENABLE_TX_OVERFLOW_LSB =	ERROR_STATUS_ENABLE_TX_OVERFLOW_LSB,
-	.D_ERROR_STATUS_ENABLE_TX_OVERFLOW_MASK =	ERROR_STATUS_ENABLE_TX_OVERFLOW_MASK,
-	.D_COUNTER_INT_STATUS_ENABLE_BIT_LSB =		COUNTER_INT_STATUS_ENABLE_BIT_LSB,
-	.D_COUNTER_INT_STATUS_ENABLE_BIT_MASK =		COUNTER_INT_STATUS_ENABLE_BIT_MASK,
-	.D_INT_STATUS_ENABLE_ADDRESS =			INT_STATUS_ENABLE_ADDRESS,
-	.D_CPU_INT_STATUS_ENABLE_BIT_LSB =		CPU_INT_STATUS_ENABLE_BIT_LSB,
-	.D_CPU_INT_STATUS_ENABLE_BIT_MASK =		CPU_INT_STATUS_ENABLE_BIT_MASK,
-	.D_HOST_INT_STATUS_ADDRESS =			HOST_INT_STATUS_ADDRESS,
-	.D_CPU_INT_STATUS_ADDRESS =			CPU_INT_STATUS_ADDRESS,
-	.D_ERROR_INT_STATUS_ADDRESS =			ERROR_INT_STATUS_ADDRESS,
-	.D_ERROR_INT_STATUS_WAKEUP_MASK =		ERROR_INT_STATUS_WAKEUP_MASK,
-	.D_ERROR_INT_STATUS_WAKEUP_LSB =		ERROR_INT_STATUS_WAKEUP_LSB,
-	.D_ERROR_INT_STATUS_RX_UNDERFLOW_MASK =		ERROR_INT_STATUS_RX_UNDERFLOW_MASK,
-	.D_ERROR_INT_STATUS_RX_UNDERFLOW_LSB =		ERROR_INT_STATUS_RX_UNDERFLOW_LSB,
-	.D_ERROR_INT_STATUS_TX_OVERFLOW_MASK =		ERROR_INT_STATUS_TX_OVERFLOW_MASK,
-	.D_ERROR_INT_STATUS_TX_OVERFLOW_LSB =		ERROR_INT_STATUS_TX_OVERFLOW_LSB,
-	.D_COUNT_DEC_ADDRESS =				COUNT_DEC_ADDRESS,
-	.D_HOST_INT_STATUS_CPU_MASK =			HOST_INT_STATUS_CPU_MASK,
-	.D_HOST_INT_STATUS_CPU_LSB =			HOST_INT_STATUS_CPU_LSB,
-	.D_HOST_INT_STATUS_ERROR_MASK =			HOST_INT_STATUS_ERROR_MASK,
-	.D_HOST_INT_STATUS_ERROR_LSB =			HOST_INT_STATUS_ERROR_LSB,
-	.D_HOST_INT_STATUS_COUNTER_MASK =		HOST_INT_STATUS_COUNTER_MASK,
-	.D_HOST_INT_STATUS_COUNTER_LSB =		HOST_INT_STATUS_COUNTER_LSB,
-	.D_RX_LOOKAHEAD_VALID_ADDRESS =			RX_LOOKAHEAD_VALID_ADDRESS,
-	.D_WINDOW_DATA_ADDRESS =			WINDOW_DATA_ADDRESS,
-	.D_WINDOW_READ_ADDR_ADDRESS =			WINDOW_READ_ADDR_ADDRESS,
-	.D_WINDOW_WRITE_ADDR_ADDRESS =			WINDOW_WRITE_ADDR_ADDRESS,
-	.D_SOC_GLOBAL_RESET_ADDRESS =			SOC_GLOBAL_RESET_ADDRESS,
-	.D_RTC_STATE_ADDRESS =				RTC_STATE_ADDRESS,
-	.D_RTC_STATE_COLD_RESET_MASK =			RTC_STATE_COLD_RESET_MASK,
-	.D_PCIE_LOCAL_BASE_ADDRESS =			PCIE_LOCAL_BASE_ADDRESS,
-	.D_PCIE_SOC_WAKE_RESET =			PCIE_SOC_WAKE_RESET,
-	.D_PCIE_SOC_WAKE_ADDRESS =			PCIE_SOC_WAKE_ADDRESS,
-	.D_PCIE_SOC_WAKE_V_MASK =			PCIE_SOC_WAKE_V_MASK,
-	.D_RTC_STATE_V_MASK =				RTC_STATE_V_MASK,
-	.D_RTC_STATE_V_LSB =				RTC_STATE_V_LSB,
-	.D_FW_IND_EVENT_PENDING =			FW_IND_EVENT_PENDING,
-	.D_FW_IND_INITIALIZED =				FW_IND_INITIALIZED,
-	.D_RTC_STATE_V_ON =				RTC_STATE_V_ON,
-};
-
-struct hostdef *ar9888_get_host_tbl(void)
-{
-	return &ar9888_host_def;
-}
diff --git a/drivers/net/wireless/ath/ath10k/ar9888_regtable.h b/drivers/net/wireless/ath/ath10k/ar9888_regtable.h
deleted file mode 100644
index 9ccafec..0000000
--- a/drivers/net/wireless/ath/ath10k/ar9888_regtable.h
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * Copyright (c) 2005-2011 Atheros Communications Inc.
- * Copyright (c) 2011-2013 Qualcomm Atheros, Inc.
- *
- * Permission to use, copy, modify, and/or distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- */
-
-#ifndef _AR9888_REGTABLE_H_
-#define _AR9888_REGTABLE_H_
-
-#include "regtable.h"
-
-struct targetdef *ar9888_get_target_tbl(void);
-struct hostdef *ar9888_get_host_tbl(void);
-
-#endif /* _AR9888_REGTABLE_H_ */
diff --git a/drivers/net/wireless/ath/ath10k/ar9888def.h b/drivers/net/wireless/ath/ath10k/ar9888def.h
index 4df8d0d..85e9265 100644
--- a/drivers/net/wireless/ath/ath10k/ar9888def.h
+++ b/drivers/net/wireless/ath/ath10k/ar9888def.h
@@ -231,4 +231,7 @@
 #define MY_TARGET_BOARD_DATA_SZ			AR9888_BOARD_DATA_SZ
 #define MY_TARGET_BOARD_EXT_DATA_SZ		AR9888_BOARD_EXT_DATA_SZ
 
+#define RTC_STATE_V_GET(x) \
+	                (((x) & RTC_STATE_V_MASK) >> RTC_STATE_V_LSB)
+
 #endif /* __ATH10K_AR9888DEF_H__ */
diff --git a/drivers/net/wireless/ath/ath10k/ce.c b/drivers/net/wireless/ath/ath10k/ce.c
index 4c29857..d5351a3 100644
--- a/drivers/net/wireless/ath/ath10k/ce.c
+++ b/drivers/net/wireless/ath/ath10k/ce.c
@@ -19,7 +19,6 @@
 #include "pci.h"
 #include "ce.h"
 #include "debug.h"
-#include "regtable.h"
 
 /*
  * Support for Copy Engine hardware, which is mainly used for
diff --git a/drivers/net/wireless/ath/ath10k/ce.h b/drivers/net/wireless/ath/ath10k/ce.h
index 8beb606..084b997 100644
--- a/drivers/net/wireless/ath/ath10k/ce.h
+++ b/drivers/net/wireless/ath/ath10k/ce.h
@@ -474,8 +474,8 @@ struct ce_attr {
 
 
 #define CE_BASE_ADDRESS(ar, ce_id) \
-	(CE0_BASE_ADDRESS_T((ar)) + \
-	((CE1_BASE_ADDRESS_T((ar))-CE0_BASE_ADDRESS_T((ar)))*(ce_id)))
+	(CE0_BASE_ADDRESS + \
+	(CE1_BASE_ADDRESS - CE0_BASE_ADDRESS)*(ce_id))
 
 #define CE_SRC_RING_WRITE_IDX_SET(ar, targid, ce_ctrl_addr, n) \
 	TARGET_WRITE((ar), (targid), (ce_ctrl_addr) + SR_WR_INDEX_ADDRESS, (n))
@@ -609,7 +609,7 @@ struct ce_attr {
 
 #define CE_INTERRUPT_SUMMARY(ar, targid) \
 	CE_WRAPPER_INTERRUPT_SUMMARY_HOST_MSI_GET( \
-		TARGET_READ((targid), CE_WRAPPER_BASE_ADDRESS_T((ar)) + \
+		TARGET_READ((targid), CE_WRAPPER_BASE_ADDRESS + \
 		CE_WRAPPER_INTERRUPT_SUMMARY_ADDRESS))
 
 #endif /* _CE_H_ */
diff --git a/drivers/net/wireless/ath/ath10k/core.h b/drivers/net/wireless/ath/ath10k/core.h
index 4e19264..ccba50b 100644
--- a/drivers/net/wireless/ath/ath10k/core.h
+++ b/drivers/net/wireless/ath/ath10k/core.h
@@ -26,7 +26,6 @@
 #include "htc.h"
 #include "hw.h"
 #include "targaddrs.h"
-#include "regtable.h"
 #include "wmi.h"
 #include "../ath.h"
 #include "../regd.h"
diff --git a/drivers/net/wireless/ath/ath10k/pci.c b/drivers/net/wireless/ath/ath10k/pci.c
index 278fa65..b59c3e8 100644
--- a/drivers/net/wireless/ath/ath10k/pci.c
+++ b/drivers/net/wireless/ath/ath10k/pci.c
@@ -22,7 +22,6 @@
 
 #include "core.h"
 #include "debug.h"
-#include "regtable.h"
 
 #include "targaddrs.h"
 #include "bmi.h"
@@ -121,7 +120,7 @@ static int ath10k_pci_diag_read_mem(struct ath10k *ar, u32 address, u8 *data,
 	 * register read fn but preserve the multi word read capability of
 	 * this fn
 	 */
-	if (address < DRAM_BASE_ADDRESS_T(ar)) {
+	if (address < DRAM_BASE_ADDRESS) {
 		if ((address & 0x3) || ((dma_addr_t)data & 0x3))
 			return -EIO;
 
@@ -250,7 +249,7 @@ done:
 static int ath10k_pci_diag_read_access(struct ath10k *ar, u32 address, u32 *data)
 {
 	/* Assume range doesn't cross this boundary */
-	if (address >= DRAM_BASE_ADDRESS_T(ar))
+	if (address >= DRAM_BASE_ADDRESS)
 		return ath10k_pci_diag_read_mem(ar, address, (u8 *)data,
 						sizeof(u32));
 	else {
@@ -404,7 +403,7 @@ static int ath10k_pci_diag_write_access(struct ath10k *ar, u32 address,
 					u32 data)
 {
 	/* Assume range doesn't cross this boundary */
-	if (address >= DRAM_BASE_ADDRESS_T(ar)) {
+	if (address >= DRAM_BASE_ADDRESS) {
 		u32 data_buf = data;
 		return ath10k_pci_diag_write_mem(ar, address, (u8 *) &data_buf,
 					  sizeof(u32));
@@ -426,9 +425,9 @@ static bool ath10k_pci_target_is_awake(struct ath10k *ar)
 {
 	void __iomem *mem = ath10k_pci_priv(ar)->mem;
 	u32 val;
-	val = ioread32(mem + PCIE_LOCAL_BASE_ADDRESS_T(ar) +
-		       RTC_STATE_ADDRESS_T(ar));
-	return (RTC_STATE_V_GET(ar, val) == RTC_STATE_V_ON_T(ar));
+	val = ioread32(mem + PCIE_LOCAL_BASE_ADDRESS +
+		       RTC_STATE_ADDRESS);
+	return (RTC_STATE_V_GET(val) == RTC_STATE_V_ON);
 }
 
 static void ath10k_pci_wait_for_target_to_awake(struct ath10k *ar)
@@ -455,8 +454,8 @@ void ath10k_pci_wake(struct ath10k *ar)
 
 	if (atomic_read(&ar_pci->keep_awake_count) == 0) {
 		/* Force AWAKE */
-		iowrite32(PCIE_SOC_WAKE_V_MASK_T(ar),
-			  pci_addr + PCIE_LOCAL_BASE_ADDRESS_T(ar) + PCIE_SOC_WAKE_ADDRESS_T(ar));
+		iowrite32(PCIE_SOC_WAKE_V_MASK,
+			  pci_addr + PCIE_LOCAL_BASE_ADDRESS + PCIE_SOC_WAKE_ADDRESS);
 	}
 	atomic_inc(&ar_pci->keep_awake_count);
 
@@ -494,8 +493,8 @@ void ath10k_pci_sleep(struct ath10k *ar)
 	if (atomic_dec_and_test(&ar_pci->keep_awake_count)) {
 		/* Allow sleep */
 		ar_pci->verified_awake = false;
-		iowrite32(PCIE_SOC_WAKE_RESET_T(ar),
-			  pci_addr + PCIE_LOCAL_BASE_ADDRESS_T(ar) + PCIE_SOC_WAKE_ADDRESS_T(ar));
+		iowrite32(PCIE_SOC_WAKE_RESET,
+			  pci_addr + PCIE_LOCAL_BASE_ADDRESS + PCIE_SOC_WAKE_ADDRESS);
 	}
 }
 
@@ -841,7 +840,7 @@ static void ath10k_pci_stop_ce(struct ath10k *ar)
 	/* Cancel the pending tasklet */
 	tasklet_kill(&ar_pci->intr_tq);
 
-	for (i = 0; i < CE_COUNT_T(ar); i++)
+	for (i = 0; i < CE_COUNT; i++)
 		tasklet_kill(&ar_pci->pipe_info[i].intr);
 
 	/* Mark pending completions as aborted, so that upper layers free up
@@ -1465,8 +1464,8 @@ static int ath10k_pci_wake_target_cpu(struct ath10k *ar)
 	int ret;
 	u32 core_ctrl;
 
-	ret = ath10k_pci_diag_read_access(ar, SOC_CORE_BASE_ADDRESS_T(ar) |
-					      CORE_CTRL_ADDRESS_T(ar),
+	ret = ath10k_pci_diag_read_access(ar, SOC_CORE_BASE_ADDRESS |
+					      CORE_CTRL_ADDRESS,
 					  &core_ctrl);
 	if (ret) {
 		ath10k_warn("Unable to read core ctrl\n");
@@ -1474,10 +1473,10 @@ static int ath10k_pci_wake_target_cpu(struct ath10k *ar)
 	}
 
 	/* A_INUM_FIRMWARE interrupt to Target CPU */
-	core_ctrl |= CORE_CTRL_CPU_INTR_MASK_T(ar);
+	core_ctrl |= CORE_CTRL_CPU_INTR_MASK;
 
-	ret = ath10k_pci_diag_write_access(ar, SOC_CORE_BASE_ADDRESS_T(ar) |
-					       CORE_CTRL_ADDRESS_T(ar),
+	ret = ath10k_pci_diag_write_access(ar, SOC_CORE_BASE_ADDRESS |
+					       CORE_CTRL_ADDRESS,
 					   core_ctrl);
 	if (ret)
 		ath10k_warn("Unable to set interrupt mask\n");
@@ -1681,7 +1680,7 @@ static int ath10k_pci_probe_device(struct ath10k *ar)
 	int ret;
 
 	atomic_set(&ar_pci->keep_awake_count, 0);
-	ar_pci->fw_indicator_address = FW_INDICATOR_ADDRESS_T(ar);
+	ar_pci->fw_indicator_address = FW_INDICATOR_ADDRESS;
 
 	if (ath10k_target_ps)
 		ath10k_dbg(ATH10K_DBG_PCI, "on-chip power save enabled\n");
@@ -1723,10 +1722,10 @@ static void ath10k_pci_fw_interrupt_handler(struct ath10k *ar)
 	fw_indicator_address = ar_pci->fw_indicator_address;
 	fw_indicator = TARGET_READ(targid, fw_indicator_address);
 
-	if (fw_indicator & FW_IND_EVENT_PENDING_T(ar)) {
+	if (fw_indicator & FW_IND_EVENT_PENDING) {
 		/* ACK: clear Target-side pending event */
 		TARGET_WRITE(ar, targid, fw_indicator_address,
-			     fw_indicator & ~FW_IND_EVENT_PENDING_T(ar));
+			     fw_indicator & ~FW_IND_EVENT_PENDING);
 		ath10k_pci_sleep(ar);
 
 		if (ar_pci->started)
@@ -1778,7 +1777,7 @@ static irqreturn_t ath10k_pci_per_engine_handler(int irq, void *arg)
 {
 	struct ath10k *ar = arg;
 	struct ath10k_pci *ar_pci = ath10k_pci_priv(ar);
-	int ce_id = irq - ar_pci->pdev->irq - MSI_ASSIGN_CE_INITIAL_T(ar);
+	int ce_id = irq - ar_pci->pdev->irq - MSI_ASSIGN_CE_INITIAL;
 
 	if (ce_id < 0 || ce_id > ARRAY_SIZE(ar_pci->pipe_info)) {
 		ath10k_warn("%s: unexpected/invalid irq %d ce_id %d\n",
@@ -1824,19 +1823,19 @@ static irqreturn_t ath10k_pci_interrupt_handler(int irq, void *arg)
 		 * really cleared.
 		 */
 		iowrite32(0, ar_pci->mem +
-			  (SOC_CORE_BASE_ADDRESS_T(ar) |
-			   PCIE_INTR_ENABLE_ADDRESS_T(ar)));
-		iowrite32(PCIE_INTR_FIRMWARE_MASK_T(ar) |
-			  PCIE_INTR_CE_MASK_ALL_T(ar),
-			  ar_pci->mem + (SOC_CORE_BASE_ADDRESS_T(ar) |
-					 PCIE_INTR_CLR_ADDRESS_T(ar)));
+			  (SOC_CORE_BASE_ADDRESS |
+			   PCIE_INTR_ENABLE_ADDRESS));
+		iowrite32(PCIE_INTR_FIRMWARE_MASK |
+			  PCIE_INTR_CE_MASK_ALL,
+			  ar_pci->mem + (SOC_CORE_BASE_ADDRESS |
+					 PCIE_INTR_CLR_ADDRESS));
 		/*
 		 * IMPORTANT: this extra read transaction is required to
 		 * flush the posted write buffer.
 		 */
 		(void) ioread32(ar_pci->mem +
-				(SOC_CORE_BASE_ADDRESS_T(ar) |
-				 PCIE_INTR_ENABLE_ADDRESS_T(ar)));
+				(SOC_CORE_BASE_ADDRESS |
+				 PCIE_INTR_ENABLE_ADDRESS));
 	}
 
 	tasklet_schedule(&ar_pci->intr_tq);
@@ -1854,17 +1853,17 @@ static void ath10k_pci_tasklet(unsigned long data)
 
 	if (ar_pci->num_msi_intrs == 0) {
 		/* Enable Legacy PCI line interrupts */
-		iowrite32(PCIE_INTR_FIRMWARE_MASK_T(ar) |
-			  PCIE_INTR_CE_MASK_ALL_T(ar),
-			  ar_pci->mem + (SOC_CORE_BASE_ADDRESS_T(ar) |
-					 PCIE_INTR_ENABLE_ADDRESS_T(ar)));
+		iowrite32(PCIE_INTR_FIRMWARE_MASK |
+			  PCIE_INTR_CE_MASK_ALL,
+			  ar_pci->mem + (SOC_CORE_BASE_ADDRESS |
+					 PCIE_INTR_ENABLE_ADDRESS));
 		/*
 		 * IMPORTANT: this extra read transaction is required to
 		 * flush the posted write buffer
 		 */
 		(void) ioread32(ar_pci->mem +
-				(SOC_CORE_BASE_ADDRESS_T(ar) |
-				 PCIE_INTR_ENABLE_ADDRESS_T(ar)));
+				(SOC_CORE_BASE_ADDRESS |
+				 PCIE_INTR_ENABLE_ADDRESS));
 	}
 }
 
@@ -1889,29 +1888,29 @@ static int ath10k_pci_reset_target(struct ath10k *ar)
 	int wait_limit = 300; /* 3 sec */
 
 	while (wait_limit-- &&
-	       !(ioread32(ar_pci->mem + FW_INDICATOR_ADDRESS_T(ar)) &
-		 FW_IND_INITIALIZED_T(ar))) {
+	       !(ioread32(ar_pci->mem + FW_INDICATOR_ADDRESS) &
+		 FW_IND_INITIALIZED)) {
 
 		if (ar_pci->num_msi_intrs == 0)
 			/* Fix potential race by repeating CORE_BASE writes */
-			iowrite32(PCIE_INTR_FIRMWARE_MASK_T(ar) |
-				  PCIE_INTR_CE_MASK_ALL_T(ar),
-				  ar_pci->mem + (SOC_CORE_BASE_ADDRESS_T(ar) |
-						 PCIE_INTR_ENABLE_ADDRESS_T(ar)));
+			iowrite32(PCIE_INTR_FIRMWARE_MASK |
+				  PCIE_INTR_CE_MASK_ALL,
+				  ar_pci->mem + (SOC_CORE_BASE_ADDRESS |
+						 PCIE_INTR_ENABLE_ADDRESS));
 		mdelay(10);
 	}
 
 	if (wait_limit < 0) {
 		ath10k_err("Target stalled\n");
-		iowrite32(PCIE_SOC_WAKE_RESET_T(ar),
-			  ar_pci->mem + PCIE_LOCAL_BASE_ADDRESS_T(ar) +
-			  PCIE_SOC_WAKE_ADDRESS_T(ar));
+		iowrite32(PCIE_SOC_WAKE_RESET,
+			  ar_pci->mem + PCIE_LOCAL_BASE_ADDRESS +
+			  PCIE_SOC_WAKE_ADDRESS);
 		return -EIO;
 	}
 
-	iowrite32(PCIE_SOC_WAKE_RESET_T(ar),
-		  ar_pci->mem + PCIE_LOCAL_BASE_ADDRESS_T(ar) +
-		  PCIE_SOC_WAKE_ADDRESS_T(ar));
+	iowrite32(PCIE_SOC_WAKE_RESET,
+		  ar_pci->mem + PCIE_LOCAL_BASE_ADDRESS +
+		  PCIE_SOC_WAKE_ADDRESS);
 
 	return 0;
 }
@@ -1920,14 +1919,14 @@ static int ath10k_pci_configure(struct ath10k *ar)
 {
 	struct ath10k_pci *ar_pci = ath10k_pci_priv(ar);
 	int ret = 0;
-	int num_msi_desired = MSI_NUM_REQUEST_T(ar);
+	int num_msi_desired = MSI_NUM_REQUEST;
 	int i;
 
 	tasklet_init(&ar_pci->intr_tq, ath10k_pci_tasklet, (unsigned long) ar);
 	tasklet_init(&ar_pci->msi_fw_err, ath10k_msi_err_tasklet,
 		     (unsigned long) ar);
 
-	for (i = 0; i < CE_COUNT_T(ar); i++) {
+	for (i = 0; i < CE_COUNT; i++) {
 		ar_pci->pipe_info[i].ar_pci = ar_pci;
 		tasklet_init(&ar_pci->pipe_info[i].intr,
 			     ath10k_pci_ce_tasklet,
@@ -1958,7 +1957,7 @@ static int ath10k_pci_configure(struct ath10k *ar)
 		if (ret == 0) {
 			ar_pci->num_msi_intrs = num_msi_desired;
 			ret = request_irq(ar_pci->pdev->irq +
-					  MSI_ASSIGN_FW_T(ar),
+					  MSI_ASSIGN_FW,
 					  ath10k_pci_msi_fw_handler,
 					  IRQF_SHARED,
 					  "ath10k_pci",
@@ -1968,8 +1967,8 @@ static int ath10k_pci_configure(struct ath10k *ar)
 				goto err_intr;
 			}
 
-			for (i = MSI_ASSIGN_CE_INITIAL_T(ar);
-			     i <= MSI_ASSIGN_CE_MAX_T(ar); i++) {
+			for (i = MSI_ASSIGN_CE_INITIAL;
+			     i <= MSI_ASSIGN_CE_MAX; i++) {
 				ret = request_irq(ar_pci->pdev->irq + i,
 						ath10k_pci_per_engine_handler,
 						IRQF_SHARED,
@@ -2037,9 +2036,9 @@ static int ath10k_pci_configure(struct ath10k *ar)
 		 * Make sure to wake the Target before enabling Legacy
 		 * Interrupt.
 		 */
-		iowrite32(PCIE_SOC_WAKE_V_MASK_T(ar),
-			  ar_pci->mem + PCIE_LOCAL_BASE_ADDRESS_T(ar) +
-			  PCIE_SOC_WAKE_ADDRESS_T(ar));
+		iowrite32(PCIE_SOC_WAKE_V_MASK,
+			  ar_pci->mem + PCIE_LOCAL_BASE_ADDRESS +
+			  PCIE_SOC_WAKE_ADDRESS);
 
 		ath10k_pci_wait_for_target_to_awake(ar);
 
@@ -2051,25 +2050,25 @@ static int ath10k_pci_configure(struct ath10k *ar)
 		 * For now, fix the race by repeating the write in below
 		 * synchronization checking.
 		 */
-		iowrite32(PCIE_INTR_FIRMWARE_MASK_T(ar) |
-			  PCIE_INTR_CE_MASK_ALL_T(ar),
-			  ar_pci->mem + (SOC_CORE_BASE_ADDRESS_T(ar) |
-					 PCIE_INTR_ENABLE_ADDRESS_T(ar)));
-		iowrite32(PCIE_SOC_WAKE_RESET_T(ar),
-			  ar_pci->mem + PCIE_LOCAL_BASE_ADDRESS_T(ar) +
-			  PCIE_SOC_WAKE_ADDRESS_T(ar));
+		iowrite32(PCIE_INTR_FIRMWARE_MASK |
+			  PCIE_INTR_CE_MASK_ALL,
+			  ar_pci->mem + (SOC_CORE_BASE_ADDRESS |
+					 PCIE_INTR_ENABLE_ADDRESS));
+		iowrite32(PCIE_SOC_WAKE_RESET,
+			  ar_pci->mem + PCIE_LOCAL_BASE_ADDRESS +
+			  PCIE_SOC_WAKE_ADDRESS);
 	}
 
 	ar_pci->num_msi_intrs = num_msi_desired;
-	ar_pci->ce_count = CE_COUNT_T(ar);
+	ar_pci->ce_count = CE_COUNT;
 
 	/*
 	 * Synchronization point: Wait for Target to finish initialization
 	 * before we proceed.
 	 */
-	iowrite32(PCIE_SOC_WAKE_V_MASK_T(ar),
-		  ar_pci->mem + PCIE_LOCAL_BASE_ADDRESS_T(ar) +
-		  PCIE_SOC_WAKE_ADDRESS_T(ar));
+	iowrite32(PCIE_SOC_WAKE_V_MASK,
+		  ar_pci->mem + PCIE_LOCAL_BASE_ADDRESS +
+		  PCIE_SOC_WAKE_ADDRESS);
 
 	ath10k_pci_wait_for_target_to_awake(ar);
 
@@ -2110,14 +2109,14 @@ static void ath10k_pci_device_reset(struct ath10k_pci *ar_pci)
 	int i;
 	u32 val;
 
-	if (!SOC_GLOBAL_RESET_ADDRESS_T(ar))
+	if (!SOC_GLOBAL_RESET_ADDRESS)
 		return;
 
 	if (!mem)
 		return;
 
-	A_PCIE_LOCAL_REG_WRITE(mem, PCIE_SOC_WAKE_ADDRESS_T(ar),
-			       PCIE_SOC_WAKE_V_MASK_T(ar));
+	A_PCIE_LOCAL_REG_WRITE(mem, PCIE_SOC_WAKE_ADDRESS,
+			       PCIE_SOC_WAKE_V_MASK);
 	for (i = 0; i < ATH_PCI_RESET_WAIT_MAX; i++) {
 		if (ath10k_pci_target_is_awake(ar))
 			break;
@@ -2125,30 +2124,30 @@ static void ath10k_pci_device_reset(struct ath10k_pci *ar_pci)
 	}
 
 	/* Put Target, including PCIe, into RESET. */
-	val = A_PCIE_LOCAL_REG_READ(mem, SOC_GLOBAL_RESET_ADDRESS_T(ar));
+	val = A_PCIE_LOCAL_REG_READ(mem, SOC_GLOBAL_RESET_ADDRESS);
 	val |= 1;
-	A_PCIE_LOCAL_REG_WRITE(mem, SOC_GLOBAL_RESET_ADDRESS_T(ar), val);
+	A_PCIE_LOCAL_REG_WRITE(mem, SOC_GLOBAL_RESET_ADDRESS, val);
 
 	for (i = 0; i < ATH_PCI_RESET_WAIT_MAX; i++) {
-		if (A_PCIE_LOCAL_REG_READ(mem, RTC_STATE_ADDRESS_T(ar)) &
-					  RTC_STATE_COLD_RESET_MASK_T(ar))
+		if (A_PCIE_LOCAL_REG_READ(mem, RTC_STATE_ADDRESS) &
+					  RTC_STATE_COLD_RESET_MASK)
 			break;
 		msleep(1);
 	}
 
 	/* Pull Target, including PCIe, out of RESET. */
 	val &= ~1;
-	A_PCIE_LOCAL_REG_WRITE(mem, SOC_GLOBAL_RESET_ADDRESS_T(ar), val);
+	A_PCIE_LOCAL_REG_WRITE(mem, SOC_GLOBAL_RESET_ADDRESS, val);
 
 	for (i = 0; i < ATH_PCI_RESET_WAIT_MAX; i++) {
-		if (!(A_PCIE_LOCAL_REG_READ(mem, RTC_STATE_ADDRESS_T(ar)) &
-					    RTC_STATE_COLD_RESET_MASK_T(ar)))
+		if (!(A_PCIE_LOCAL_REG_READ(mem, RTC_STATE_ADDRESS) &
+					    RTC_STATE_COLD_RESET_MASK))
 			break;
 		msleep(1);
 	}
 
-	A_PCIE_LOCAL_REG_WRITE(mem, PCIE_SOC_WAKE_ADDRESS_T(ar),
-			       PCIE_SOC_WAKE_RESET_T(ar));
+	A_PCIE_LOCAL_REG_WRITE(mem, PCIE_SOC_WAKE_ADDRESS,
+			       PCIE_SOC_WAKE_RESET);
 }
 
 static void ath10k_pci_dump_features(struct ath10k_pci *ar_pci)
@@ -2295,14 +2294,6 @@ retry:
 	ar_pci->cacheline_sz = dma_get_cache_alignment();
 
 	/*
-	 * Attach Target register table.  This is needed early on --
-	 * even before BMI -- since PCI and HIF initialization (and BMI init)
-	 * directly access Target registers (e.g. CE registers).
-	 */
-	ath10k_register_host_reg_table(ar, hif_type);
-	ath10k_register_target_reg_table(ar, target_type);
-
-	/*
 	 * Verify that the Target was started cleanly.
 	 *
 	 * The case where this is most likely is with an AUX-powered
@@ -2313,17 +2304,17 @@ retry:
 	 * We try to catch that here in order to reset the Target and
 	 * retry the probe.
 	 */
-	iowrite32(PCIE_SOC_WAKE_V_MASK_T(ar),
-		  mem + PCIE_LOCAL_BASE_ADDRESS_T(ar) +
-		  PCIE_SOC_WAKE_ADDRESS_T(ar));
+	iowrite32(PCIE_SOC_WAKE_V_MASK,
+		  mem + PCIE_LOCAL_BASE_ADDRESS +
+		  PCIE_SOC_WAKE_ADDRESS);
 	ath10k_pci_wait_for_target_to_awake(ar);
 
-	fw_indicator = ioread32(mem + FW_INDICATOR_ADDRESS_T(ar));
-	iowrite32(PCIE_SOC_WAKE_RESET_T(ar),
-		  mem + PCIE_LOCAL_BASE_ADDRESS_T(ar) +
-		  PCIE_SOC_WAKE_ADDRESS_T(ar));
+	fw_indicator = ioread32(mem + FW_INDICATOR_ADDRESS);
+	iowrite32(PCIE_SOC_WAKE_RESET,
+		  mem + PCIE_LOCAL_BASE_ADDRESS +
+		  PCIE_SOC_WAKE_ADDRESS);
 
-	if (fw_indicator & FW_IND_INITIALIZED_T(ar)) {
+	if (fw_indicator & FW_IND_INITIALIZED) {
 		probe_again++;
 		ath10k_err("target is in an unknown state. "
 			   "resetting (attempt %d).\n", probe_again);
diff --git a/drivers/net/wireless/ath/ath10k/pci.h b/drivers/net/wireless/ath/ath10k/pci.h
index a3b5e88..8c77d90 100644
--- a/drivers/net/wireless/ath/ath10k/pci.h
+++ b/drivers/net/wireless/ath/ath10k/pci.h
@@ -20,6 +20,7 @@
 
 #include <linux/interrupt.h>
 
+#include "ar9888def.h"
 #include "ce.h"
 
 /*
@@ -229,11 +230,11 @@ static inline struct ath10k_pci *ath10k_pci_priv(struct ath10k *ar)
 }
 
 #define A_PCIE_LOCAL_REG_READ(mem, addr) \
-	ioread32((mem) + PCIE_LOCAL_BASE_ADDRESS_T(ar) + (u32)(addr))
+	ioread32((mem) + PCIE_LOCAL_BASE_ADDRESS + (u32)(addr))
 
 #define A_PCIE_LOCAL_REG_WRITE(mem, addr, val) \
 	iowrite32((val),		       \
-		  ((mem) + PCIE_LOCAL_BASE_ADDRESS_T(ar) + (u32)(addr)))
+		  ((mem) + PCIE_LOCAL_BASE_ADDRESS + (u32)(addr)))
 
 #define ATH_PCI_RESET_WAIT_MAX 10 /* Ms */
 #define PCIE_WAKE_TIMEOUT 5000	/* 5Ms */
@@ -251,8 +252,8 @@ static inline struct ath10k_pci *ath10k_pci_priv(struct ath10k *ar)
  * for this device; but that's not guaranteed.
  */
 #define TARG_CPU_SPACE_TO_CE_SPACE(ar, pci_addr, addr)			\
-	(((ioread32((pci_addr)+(SOC_CORE_BASE_ADDRESS_T((ar))|	\
-	  CORE_CTRL_ADDRESS_T((ar)))) & 0x7ff) << 21) | \
+	(((ioread32((pci_addr)+(SOC_CORE_BASE_ADDRESS|			\
+	  CORE_CTRL_ADDRESS)) & 0x7ff) << 21) |				\
 	 0x100000 | ((addr) & 0xfffff))
 
 /* Wait up to this many Ms for a Diagnostic Access CE operation to complete */
diff --git a/drivers/net/wireless/ath/ath10k/regtable.c b/drivers/net/wireless/ath/ath10k/regtable.c
deleted file mode 100644
index e5c985d..0000000
--- a/drivers/net/wireless/ath/ath10k/regtable.c
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright (c) 2005-2011 Atheros Communications Inc.
- * Copyright (c) 2011-2013 Qualcomm Atheros, Inc.
- *
- * Permission to use, copy, modify, and/or distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- */
-
-#include "hif.h"
-#include "core.h"
-
-#include "ar9888_regtable.h"
-
-void ath10k_register_target_reg_table(struct ath10k *ar, u32 target_type)
-{
-	switch (target_type) {
-	case TARGET_TYPE_AR9888:
-		ar->targetdef = ar9888_get_target_tbl();
-		break;
-	default:
-		break;
-	}
-}
-
-void ath10k_register_host_reg_table(struct ath10k *ar, u32 hif_type)
-{
-	switch (hif_type) {
-	case HIF_TYPE_AR9888:
-		ar->hostdef = ar9888_get_host_tbl();
-		break;
-	default:
-		break;
-	}
-}
diff --git a/drivers/net/wireless/ath/ath10k/regtable.h b/drivers/net/wireless/ath/ath10k/regtable.h
deleted file mode 100644
index 4a7b728..0000000
--- a/drivers/net/wireless/ath/ath10k/regtable.h
+++ /dev/null
@@ -1,206 +0,0 @@
-/*
- * Copyright (c) 2005-2011 Atheros Communications Inc.
- * Copyright (c) 2011-2013 Qualcomm Atheros, Inc.
- *
- * Permission to use, copy, modify, and/or distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- */
-
-#ifndef __REGTABLE_H__
-#define __REGTABLE_H__
-
-#include <linux/types.h>
-
-/* TARGET REGISTERS TABLE */
-struct targetdef {
-	u32 D_RTC_SOC_BASE_ADDRESS;
-	u32 D_RTC_WMAC_BASE_ADDRESS;
-	u32 D_SYSTEM_SLEEP_OFFSET;
-	u32 D_WLAN_SYSTEM_SLEEP_OFFSET;
-	u32 D_WLAN_SYSTEM_SLEEP_DISABLE_LSB;
-	u32 D_WLAN_SYSTEM_SLEEP_DISABLE_MASK;
-	u32 D_CLOCK_CONTROL_OFFSET;
-	u32 D_CLOCK_CONTROL_SI0_CLK_MASK;
-	u32 D_RESET_CONTROL_OFFSET;
-	u32 D_RESET_CONTROL_MBOX_RST_MASK;
-	u32 D_RESET_CONTROL_SI0_RST_MASK;
-	u32 D_WLAN_RESET_CONTROL_OFFSET;
-	u32 D_WLAN_RESET_CONTROL_COLD_RST_MASK;
-	u32 D_WLAN_RESET_CONTROL_WARM_RST_MASK;
-	u32 D_GPIO_BASE_ADDRESS;
-	u32 D_GPIO_PIN0_OFFSET;
-	u32 D_GPIO_PIN1_OFFSET;
-	u32 D_GPIO_PIN0_CONFIG_MASK;
-	u32 D_GPIO_PIN1_CONFIG_MASK;
-	u32 D_SI_CONFIG_BIDIR_OD_DATA_LSB;
-	u32 D_SI_CONFIG_BIDIR_OD_DATA_MASK;
-	u32 D_SI_CONFIG_I2C_LSB;
-	u32 D_SI_CONFIG_I2C_MASK;
-	u32 D_SI_CONFIG_POS_SAMPLE_LSB;
-	u32 D_SI_CONFIG_POS_SAMPLE_MASK;
-	u32 D_SI_CONFIG_INACTIVE_CLK_LSB;
-	u32 D_SI_CONFIG_INACTIVE_CLK_MASK;
-	u32 D_SI_CONFIG_INACTIVE_DATA_LSB;
-	u32 D_SI_CONFIG_INACTIVE_DATA_MASK;
-	u32 D_SI_CONFIG_DIVIDER_LSB;
-	u32 D_SI_CONFIG_DIVIDER_MASK;
-	u32 D_SI_BASE_ADDRESS;
-	u32 D_SI_CONFIG_OFFSET;
-	u32 D_SI_TX_DATA0_OFFSET;
-	u32 D_SI_TX_DATA1_OFFSET;
-	u32 D_SI_RX_DATA0_OFFSET;
-	u32 D_SI_RX_DATA1_OFFSET;
-	u32 D_SI_CS_OFFSET;
-	u32 D_SI_CS_DONE_ERR_MASK;
-	u32 D_SI_CS_DONE_INT_MASK;
-	u32 D_SI_CS_START_LSB;
-	u32 D_SI_CS_START_MASK;
-	u32 D_SI_CS_RX_CNT_LSB;
-	u32 D_SI_CS_RX_CNT_MASK;
-	u32 D_SI_CS_TX_CNT_LSB;
-	u32 D_SI_CS_TX_CNT_MASK;
-	u32 D_BOARD_DATA_SZ;
-	u32 D_BOARD_EXT_DATA_SZ;
-	u32 D_MBOX_BASE_ADDRESS;
-	u32 D_LOCAL_SCRATCH_OFFSET;
-	u32 D_CPU_CLOCK_OFFSET;
-	u32 D_LPO_CAL_OFFSET;
-	u32 D_GPIO_PIN10_OFFSET;
-	u32 D_GPIO_PIN11_OFFSET;
-	u32 D_GPIO_PIN12_OFFSET;
-	u32 D_GPIO_PIN13_OFFSET;
-	u32 D_CLOCK_GPIO_OFFSET;
-	u32 D_CPU_CLOCK_STANDARD_LSB;
-	u32 D_CPU_CLOCK_STANDARD_MASK;
-	u32 D_LPO_CAL_ENABLE_LSB;
-	u32 D_LPO_CAL_ENABLE_MASK;
-	u32 D_CLOCK_GPIO_BT_CLK_OUT_EN_LSB;
-	u32 D_CLOCK_GPIO_BT_CLK_OUT_EN_MASK;
-	u32 D_ANALOG_INTF_BASE_ADDRESS;
-	u32 D_WLAN_MAC_BASE_ADDRESS;
-	u32 D_CE0_BASE_ADDRESS;
-	u32 D_CE1_BASE_ADDRESS;
-	u32 D_FW_INDICATOR_ADDRESS;
-	u32 D_DRAM_BASE_ADDRESS;
-	u32 D_SOC_CORE_BASE_ADDRESS;
-	u32 D_CORE_CTRL_ADDRESS;
-	u32 D_CE_COUNT;
-	u32 D_MSI_NUM_REQUEST;
-	u32 D_MSI_ASSIGN_FW;
-	u32 D_MSI_ASSIGN_CE_INITIAL;
-	u32 D_MSI_ASSIGN_CE_MAX;
-	u32 D_PCIE_INTR_ENABLE_ADDRESS;
-	u32 D_PCIE_INTR_CLR_ADDRESS;
-	u32 D_PCIE_INTR_FIRMWARE_MASK;
-	u32 D_PCIE_INTR_CE_MASK_ALL;
-	u32 D_CORE_CTRL_CPU_INTR_MASK;
-	u32 D_CE_WRAPPER_BASE_ADDRESS;
-};
-
-
-/* target */
-/* helper macros to fetch registers via ar->targdef */
-#define CE0_BASE_ADDRESS_T(ar) ((ar)->targetdef->D_CE0_BASE_ADDRESS)
-#define CE1_BASE_ADDRESS_T(ar) ((ar)->targetdef->D_CE1_BASE_ADDRESS)
-#define FW_INDICATOR_ADDRESS_T(ar) ((ar)->targetdef->D_FW_INDICATOR_ADDRESS)
-#define DRAM_BASE_ADDRESS_T(ar) ((ar)->targetdef->D_DRAM_BASE_ADDRESS)
-#define SOC_CORE_BASE_ADDRESS_T(ar) ((ar)->targetdef->D_SOC_CORE_BASE_ADDRESS)
-#define CORE_CTRL_ADDRESS_T(ar) ((ar)->targetdef->D_CORE_CTRL_ADDRESS)
-#define CE_COUNT_T(ar) ((ar)->targetdef->D_CE_COUNT)
-#define PCIE_INTR_ENABLE_ADDRESS_T(ar) \
-				((ar)->targetdef->D_PCIE_INTR_ENABLE_ADDRESS)
-#define PCIE_INTR_CLR_ADDRESS_T(ar) ((ar)->targetdef->D_PCIE_INTR_CLR_ADDRESS)
-#define PCIE_INTR_FIRMWARE_MASK_T(ar) \
-				((ar)->targetdef->D_PCIE_INTR_FIRMWARE_MASK)
-#define PCIE_INTR_CE_MASK_ALL_T(ar) ((ar)->targetdef->D_PCIE_INTR_CE_MASK_ALL)
-#define CORE_CTRL_CPU_INTR_MASK_T(ar) \
-				((ar)->targetdef->D_CORE_CTRL_CPU_INTR_MASK)
-#define CE_WRAPPER_BASE_ADDRESS_T(ar) \
-				((ar)->targetdef->D_CE_WRAPPER_BASE_ADDRESS)
-#define MSI_NUM_REQUEST_T(ar) ((ar)->targetdef->D_MSI_NUM_REQUEST)
-#define MSI_ASSIGN_FW_T(ar) ((ar)->targetdef->D_MSI_ASSIGN_FW)
-#define MSI_ASSIGN_CE_INITIAL_T(ar) ((ar)->targetdef->D_MSI_ASSIGN_CE_INITIAL)
-#define MSI_ASSIGN_CE_MAX_T(ar) ((ar)->targetdef->D_MSI_ASSIGN_CE_MAX)
-
-/* HOST REGISTERS TABLE */
-struct hostdef {
-	u32 D_INT_STATUS_ENABLE_ERROR_LSB;
-	u32 D_INT_STATUS_ENABLE_ERROR_MASK;
-	u32 D_INT_STATUS_ENABLE_CPU_LSB;
-	u32 D_INT_STATUS_ENABLE_CPU_MASK;
-	u32 D_INT_STATUS_ENABLE_COUNTER_LSB;
-	u32 D_INT_STATUS_ENABLE_COUNTER_MASK;
-	u32 D_INT_STATUS_ENABLE_MBOX_DATA_LSB;
-	u32 D_INT_STATUS_ENABLE_MBOX_DATA_MASK;
-	u32 D_ERROR_STATUS_ENABLE_RX_UNDERFLOW_LSB;
-	u32 D_ERROR_STATUS_ENABLE_RX_UNDERFLOW_MASK;
-	u32 D_ERROR_STATUS_ENABLE_TX_OVERFLOW_LSB;
-	u32 D_ERROR_STATUS_ENABLE_TX_OVERFLOW_MASK;
-	u32 D_COUNTER_INT_STATUS_ENABLE_BIT_LSB;
-	u32 D_COUNTER_INT_STATUS_ENABLE_BIT_MASK;
-	u32 D_INT_STATUS_ENABLE_ADDRESS;
-	u32 D_CPU_INT_STATUS_ENABLE_BIT_LSB;
-	u32 D_CPU_INT_STATUS_ENABLE_BIT_MASK;
-	u32 D_HOST_INT_STATUS_ADDRESS;
-	u32 D_CPU_INT_STATUS_ADDRESS;
-	u32 D_ERROR_INT_STATUS_ADDRESS;
-	u32 D_ERROR_INT_STATUS_WAKEUP_MASK;
-	u32 D_ERROR_INT_STATUS_WAKEUP_LSB;
-	u32 D_ERROR_INT_STATUS_RX_UNDERFLOW_MASK;
-	u32 D_ERROR_INT_STATUS_RX_UNDERFLOW_LSB;
-	u32 D_ERROR_INT_STATUS_TX_OVERFLOW_MASK;
-	u32 D_ERROR_INT_STATUS_TX_OVERFLOW_LSB;
-	u32 D_COUNT_DEC_ADDRESS;
-	u32 D_HOST_INT_STATUS_CPU_MASK;
-	u32 D_HOST_INT_STATUS_CPU_LSB;
-	u32 D_HOST_INT_STATUS_ERROR_MASK;
-	u32 D_HOST_INT_STATUS_ERROR_LSB;
-	u32 D_HOST_INT_STATUS_COUNTER_MASK;
-	u32 D_HOST_INT_STATUS_COUNTER_LSB;
-	u32 D_RX_LOOKAHEAD_VALID_ADDRESS;
-	u32 D_WINDOW_DATA_ADDRESS;
-	u32 D_WINDOW_READ_ADDR_ADDRESS;
-	u32 D_WINDOW_WRITE_ADDR_ADDRESS;
-	u32 D_SOC_GLOBAL_RESET_ADDRESS;
-	u32 D_RTC_STATE_ADDRESS;
-	u32 D_RTC_STATE_COLD_RESET_MASK;
-	u32 D_PCIE_LOCAL_BASE_ADDRESS;
-	u32 D_PCIE_SOC_WAKE_RESET;
-	u32 D_PCIE_SOC_WAKE_ADDRESS;
-	u32 D_PCIE_SOC_WAKE_V_MASK;
-	u32 D_RTC_STATE_V_MASK;
-	u32 D_RTC_STATE_V_LSB;
-	u32 D_FW_IND_EVENT_PENDING;
-	u32 D_FW_IND_INITIALIZED;
-	u32 D_RTC_STATE_V_ON;
-};
-
-/* host */
-#define SOC_GLOBAL_RESET_ADDRESS_T(ar) \
-				((ar)->hostdef->D_SOC_GLOBAL_RESET_ADDRESS)
-#define RTC_STATE_ADDRESS_T(ar)	((ar)->hostdef->D_RTC_STATE_ADDRESS)
-#define RTC_STATE_COLD_RESET_MASK_T(ar) \
-				((ar)->hostdef->D_RTC_STATE_COLD_RESET_MASK)
-#define PCIE_LOCAL_BASE_ADDRESS_T(ar) \
-				((ar)->hostdef->D_PCIE_LOCAL_BASE_ADDRESS)
-#define PCIE_SOC_WAKE_RESET_T(ar) ((ar)->hostdef->D_PCIE_SOC_WAKE_RESET)
-#define PCIE_SOC_WAKE_ADDRESS_T(ar) ((ar)->hostdef->D_PCIE_SOC_WAKE_ADDRESS)
-#define PCIE_SOC_WAKE_V_MASK_T(ar) ((ar)->hostdef->D_PCIE_SOC_WAKE_V_MASK)
-#define RTC_STATE_V_MASK_T(ar) ((ar)->hostdef->D_RTC_STATE_V_MASK)
-#define RTC_STATE_V_LSB_T(ar) ((ar)->hostdef->D_RTC_STATE_V_LSB)
-#define FW_IND_EVENT_PENDING_T(ar) ((ar)->hostdef->D_FW_IND_EVENT_PENDING)
-#define FW_IND_INITIALIZED_T(ar) ((ar)->hostdef->D_FW_IND_INITIALIZED)
-#define RTC_STATE_V_ON_T(ar) ((ar)->hostdef->D_RTC_STATE_V_ON)
-#define RTC_STATE_V_GET(ar, x) \
-		(((x) & RTC_STATE_V_MASK_T(ar)) >> RTC_STATE_V_LSB_T(ar))
-
-#endif /* __REGTABLE_H__ */
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* [ath9k-devel] [RFC] ath10k: kill regtable
  2013-04-22 10:02 [ath9k-devel] [RFC] ath10k: kill regtable Janusz Dziedzic
@ 2013-04-23  4:51 ` Kalle Valo
  0 siblings, 0 replies; 2+ messages in thread
From: Kalle Valo @ 2013-04-23  4:51 UTC (permalink / raw)
  To: ath9k-devel

Janusz Dziedzic <janusz.dziedzic@tieto.com> writes:

> Remove register table abstraction layer.
> Use direct defines for ar988x.
>
> Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com>

Thanks, I applied this even if you sent it as RFC. I hope that's ok. 

But the commit log doesn't answer the question "Why?". I know why, but
rest of the community doesn't. I added a comment explaining that.

-- 
Kalle Valo

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2013-04-23  4:51 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-04-22 10:02 [ath9k-devel] [RFC] ath10k: kill regtable Janusz Dziedzic
2013-04-23  4:51 ` Kalle Valo

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.