Skip to content

Commit 367c899

Browse files
erstromKalle Valo
authored andcommitted
ath10k: add bus type check in ath10k_init_hw_params
The bus type is used together with the other hw parameters to find a matching entry in ath10k_hw_params_list for the device. This is necessary since HL devices can have the same dev_id and target_version as a corresponding LL device (same chipset) and yet use a totally different configuration. Signed-off-by: Erik Stromdahl <erik.stromdahl@gmail.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
1 parent 7c2dd61 commit 367c899

File tree

3 files changed

+24
-9
lines changed

3 files changed

+24
-9
lines changed

drivers/net/wireless/ath/ath10k/core.c

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ static const struct ath10k_hw_params ath10k_hw_params_list[] = {
6464
{
6565
.id = QCA988X_HW_2_0_VERSION,
6666
.dev_id = QCA988X_2_0_DEVICE_ID,
67+
.bus = ATH10K_BUS_PCI,
6768
.name = "qca988x hw2.0",
6869
.patch_load_addr = QCA988X_HW_2_0_PATCH_LOAD_ADDR,
6970
.uart_pin = 7,
@@ -133,6 +134,7 @@ static const struct ath10k_hw_params ath10k_hw_params_list[] = {
133134
{
134135
.id = QCA9887_HW_1_0_VERSION,
135136
.dev_id = QCA9887_1_0_DEVICE_ID,
137+
.bus = ATH10K_BUS_PCI,
136138
.name = "qca9887 hw1.0",
137139
.patch_load_addr = QCA9887_HW_1_0_PATCH_LOAD_ADDR,
138140
.uart_pin = 7,
@@ -168,6 +170,7 @@ static const struct ath10k_hw_params ath10k_hw_params_list[] = {
168170
{
169171
.id = QCA6174_HW_2_1_VERSION,
170172
.dev_id = QCA6164_2_1_DEVICE_ID,
173+
.bus = ATH10K_BUS_PCI,
171174
.name = "qca6164 hw2.1",
172175
.patch_load_addr = QCA6174_HW_2_1_PATCH_LOAD_ADDR,
173176
.uart_pin = 6,
@@ -202,6 +205,7 @@ static const struct ath10k_hw_params ath10k_hw_params_list[] = {
202205
{
203206
.id = QCA6174_HW_2_1_VERSION,
204207
.dev_id = QCA6174_2_1_DEVICE_ID,
208+
.bus = ATH10K_BUS_PCI,
205209
.name = "qca6174 hw2.1",
206210
.patch_load_addr = QCA6174_HW_2_1_PATCH_LOAD_ADDR,
207211
.uart_pin = 6,
@@ -236,6 +240,7 @@ static const struct ath10k_hw_params ath10k_hw_params_list[] = {
236240
{
237241
.id = QCA6174_HW_3_0_VERSION,
238242
.dev_id = QCA6174_2_1_DEVICE_ID,
243+
.bus = ATH10K_BUS_PCI,
239244
.name = "qca6174 hw3.0",
240245
.patch_load_addr = QCA6174_HW_3_0_PATCH_LOAD_ADDR,
241246
.uart_pin = 6,
@@ -270,6 +275,7 @@ static const struct ath10k_hw_params ath10k_hw_params_list[] = {
270275
{
271276
.id = QCA6174_HW_3_2_VERSION,
272277
.dev_id = QCA6174_2_1_DEVICE_ID,
278+
.bus = ATH10K_BUS_PCI,
273279
.name = "qca6174 hw3.2",
274280
.patch_load_addr = QCA6174_HW_3_0_PATCH_LOAD_ADDR,
275281
.uart_pin = 6,
@@ -307,6 +313,7 @@ static const struct ath10k_hw_params ath10k_hw_params_list[] = {
307313
{
308314
.id = QCA99X0_HW_2_0_DEV_VERSION,
309315
.dev_id = QCA99X0_2_0_DEVICE_ID,
316+
.bus = ATH10K_BUS_PCI,
310317
.name = "qca99x0 hw2.0",
311318
.patch_load_addr = QCA99X0_HW_2_0_PATCH_LOAD_ADDR,
312319
.uart_pin = 7,
@@ -347,6 +354,7 @@ static const struct ath10k_hw_params ath10k_hw_params_list[] = {
347354
{
348355
.id = QCA9984_HW_1_0_DEV_VERSION,
349356
.dev_id = QCA9984_1_0_DEVICE_ID,
357+
.bus = ATH10K_BUS_PCI,
350358
.name = "qca9984/qca9994 hw1.0",
351359
.patch_load_addr = QCA9984_HW_1_0_PATCH_LOAD_ADDR,
352360
.uart_pin = 7,
@@ -394,6 +402,7 @@ static const struct ath10k_hw_params ath10k_hw_params_list[] = {
394402
{
395403
.id = QCA9888_HW_2_0_DEV_VERSION,
396404
.dev_id = QCA9888_2_0_DEVICE_ID,
405+
.bus = ATH10K_BUS_PCI,
397406
.name = "qca9888 hw2.0",
398407
.patch_load_addr = QCA9888_HW_2_0_PATCH_LOAD_ADDR,
399408
.uart_pin = 7,
@@ -438,6 +447,7 @@ static const struct ath10k_hw_params ath10k_hw_params_list[] = {
438447
{
439448
.id = QCA9377_HW_1_0_DEV_VERSION,
440449
.dev_id = QCA9377_1_0_DEVICE_ID,
450+
.bus = ATH10K_BUS_PCI,
441451
.name = "qca9377 hw1.0",
442452
.patch_load_addr = QCA9377_HW_1_0_PATCH_LOAD_ADDR,
443453
.uart_pin = 6,
@@ -472,6 +482,7 @@ static const struct ath10k_hw_params ath10k_hw_params_list[] = {
472482
{
473483
.id = QCA9377_HW_1_1_DEV_VERSION,
474484
.dev_id = QCA9377_1_0_DEVICE_ID,
485+
.bus = ATH10K_BUS_PCI,
475486
.name = "qca9377 hw1.1",
476487
.patch_load_addr = QCA9377_HW_1_0_PATCH_LOAD_ADDR,
477488
.uart_pin = 6,
@@ -508,6 +519,7 @@ static const struct ath10k_hw_params ath10k_hw_params_list[] = {
508519
{
509520
.id = QCA4019_HW_1_0_DEV_VERSION,
510521
.dev_id = 0,
522+
.bus = ATH10K_BUS_AHB,
511523
.name = "qca4019 hw1.0",
512524
.patch_load_addr = QCA4019_HW_1_0_PATCH_LOAD_ADDR,
513525
.uart_pin = 7,
@@ -549,6 +561,7 @@ static const struct ath10k_hw_params ath10k_hw_params_list[] = {
549561
{
550562
.id = WCN3990_HW_1_0_DEV_VERSION,
551563
.dev_id = 0,
564+
.bus = ATH10K_BUS_PCI,
552565
.name = "wcn3990 hw1.0",
553566
.continuous_frag_desc = true,
554567
.tx_chain_mask = 0x7,
@@ -2085,7 +2098,8 @@ static int ath10k_init_hw_params(struct ath10k *ar)
20852098
for (i = 0; i < ARRAY_SIZE(ath10k_hw_params_list); i++) {
20862099
hw_params = &ath10k_hw_params_list[i];
20872100

2088-
if (hw_params->id == ar->target_version &&
2101+
if (hw_params->bus == ar->hif.bus &&
2102+
hw_params->id == ar->target_version &&
20892103
hw_params->dev_id == ar->dev_id)
20902104
break;
20912105
}

drivers/net/wireless/ath/ath10k/core.h

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -92,14 +92,6 @@
9292

9393
struct ath10k;
9494

95-
enum ath10k_bus {
96-
ATH10K_BUS_PCI,
97-
ATH10K_BUS_AHB,
98-
ATH10K_BUS_SDIO,
99-
ATH10K_BUS_USB,
100-
ATH10K_BUS_SNOC,
101-
};
102-
10395
static inline const char *ath10k_bus_str(enum ath10k_bus bus)
10496
{
10597
switch (bus) {

drivers/net/wireless/ath/ath10k/hw.h

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,14 @@
2121

2222
#include "targaddrs.h"
2323

24+
enum ath10k_bus {
25+
ATH10K_BUS_PCI,
26+
ATH10K_BUS_AHB,
27+
ATH10K_BUS_SDIO,
28+
ATH10K_BUS_USB,
29+
ATH10K_BUS_SNOC,
30+
};
31+
2432
#define ATH10K_FW_DIR "ath10k"
2533

2634
#define QCA988X_2_0_DEVICE_ID_UBNT (0x11ac)
@@ -508,6 +516,7 @@ struct ath10k_hw_clk_params {
508516
struct ath10k_hw_params {
509517
u32 id;
510518
u16 dev_id;
519+
enum ath10k_bus bus;
511520
const char *name;
512521
u32 patch_load_addr;
513522
int uart_pin;

0 commit comments

Comments
 (0)