From: Rakesh Pillai <[email protected]>
Add support to create the boardname for non-bmi targets
like WCN3990, which uses qmi for bdf download. This
boardname is used to parse the board data from board-2.bin.
Signed-off-by: Rakesh Pillai <[email protected]>
Signed-off-by: Govind Singh <[email protected]>
---
drivers/net/wireless/ath/ath10k/core.c | 14 ++++++++++++++
drivers/net/wireless/ath/ath10k/core.h | 2 ++
2 files changed, 16 insertions(+)
diff --git a/drivers/net/wireless/ath/ath10k/core.c b/drivers/net/wireless/ath/ath10k/core.c
index 4cf54a7ef09a..8a592019cc4d 100644
--- a/drivers/net/wireless/ath/ath10k/core.c
+++ b/drivers/net/wireless/ath/ath10k/core.c
@@ -1429,6 +1429,20 @@ static int ath10k_core_create_board_name(struct ath10k *ar, char *name,
goto out;
}
+ if (ar->id.qmi_ids_valid) {
+ if (ar->id.qmi_board_id > 0x99)
+ scnprintf(name, name_len,
+ "bus=%s,qmi-board-id=%03x",
+ ath10k_bus_str(ar->hif.bus),
+ ar->id.qmi_board_id);
+ else
+ scnprintf(name, name_len,
+ "bus=%s,qmi-board-id=b%02x",
+ ath10k_bus_str(ar->hif.bus),
+ ar->id.qmi_board_id);
+ goto out;
+ }
+
scnprintf(name, name_len,
"bus=%s,vendor=%04x,device=%04x,subsystem-vendor=%04x,subsystem-device=%04x%s",
ath10k_bus_str(ar->hif.bus),
diff --git a/drivers/net/wireless/ath/ath10k/core.h b/drivers/net/wireless/ath/ath10k/core.h
index 951dbdd1c9eb..0a2e4a5c3612 100644
--- a/drivers/net/wireless/ath/ath10k/core.h
+++ b/drivers/net/wireless/ath/ath10k/core.h
@@ -940,7 +940,9 @@ struct ath10k {
u32 subsystem_device;
bool bmi_ids_valid;
+ bool qmi_ids_valid;
u8 bmi_board_id;
+ u8 qmi_board_id;
u8 bmi_chip_id;
char bdf_ext[ATH10K_SMBIOS_BDF_EXT_STR_LENGTH];
--
2.17.0
Acked-by: Niklas Cassel <[email protected]>
On Tue, Jun 05, 2018 at 06:04:48PM +0530, Govind Singh wrote:
> From: Rakesh Pillai <[email protected]>
>
> Add support to create the boardname for non-bmi targets
> like WCN3990, which uses qmi for bdf download. This
> boardname is used to parse the board data from board-2.bin.
>
> Signed-off-by: Rakesh Pillai <[email protected]>
> Signed-off-by: Govind Singh <[email protected]>
> ---
> drivers/net/wireless/ath/ath10k/core.c | 14 ++++++++++++++
> drivers/net/wireless/ath/ath10k/core.h | 2 ++
> 2 files changed, 16 insertions(+)
>
> diff --git a/drivers/net/wireless/ath/ath10k/core.c b/drivers/net/wireless/ath/ath10k/core.c
> index 4cf54a7ef09a..8a592019cc4d 100644
> --- a/drivers/net/wireless/ath/ath10k/core.c
> +++ b/drivers/net/wireless/ath/ath10k/core.c
> @@ -1429,6 +1429,20 @@ static int ath10k_core_create_board_name(struct ath10k *ar, char *name,
> goto out;
> }
>
> + if (ar->id.qmi_ids_valid) {
> + if (ar->id.qmi_board_id > 0x99)
> + scnprintf(name, name_len,
> + "bus=%s,qmi-board-id=%03x",
> + ath10k_bus_str(ar->hif.bus),
> + ar->id.qmi_board_id);
> + else
> + scnprintf(name, name_len,
> + "bus=%s,qmi-board-id=b%02x",
> + ath10k_bus_str(ar->hif.bus),
> + ar->id.qmi_board_id);
> + goto out;
> + }
> +
> scnprintf(name, name_len,
> "bus=%s,vendor=%04x,device=%04x,subsystem-vendor=%04x,subsystem-device=%04x%s",
> ath10k_bus_str(ar->hif.bus),
> diff --git a/drivers/net/wireless/ath/ath10k/core.h b/drivers/net/wireless/ath/ath10k/core.h
> index 951dbdd1c9eb..0a2e4a5c3612 100644
> --- a/drivers/net/wireless/ath/ath10k/core.h
> +++ b/drivers/net/wireless/ath/ath10k/core.h
> @@ -940,7 +940,9 @@ struct ath10k {
> u32 subsystem_device;
>
> bool bmi_ids_valid;
> + bool qmi_ids_valid;
> u8 bmi_board_id;
> + u8 qmi_board_id;
> u8 bmi_chip_id;
>
> char bdf_ext[ATH10K_SMBIOS_BDF_EXT_STR_LENGTH];
> --
> 2.17.0
>
>
> _______________________________________________
> ath10k mailing list
> [email protected]
> http://lists.infradead.org/mailman/listinfo/ath10k
Govind Singh <[email protected]> writes:
> From: Rakesh Pillai <[email protected]>
>
> Add support to create the boardname for non-bmi targets
> like WCN3990, which uses qmi for bdf download. This
> boardname is used to parse the board data from board-2.bin.
>
> Signed-off-by: Rakesh Pillai <[email protected]>
> Signed-off-by: Govind Singh <[email protected]>
> ---
> drivers/net/wireless/ath/ath10k/core.c | 14 ++++++++++++++
> drivers/net/wireless/ath/ath10k/core.h | 2 ++
> 2 files changed, 16 insertions(+)
>
> diff --git a/drivers/net/wireless/ath/ath10k/core.c b/drivers/net/wireless/ath/ath10k/core.c
> index 4cf54a7ef09a..8a592019cc4d 100644
> --- a/drivers/net/wireless/ath/ath10k/core.c
> +++ b/drivers/net/wireless/ath/ath10k/core.c
> @@ -1429,6 +1429,20 @@ static int ath10k_core_create_board_name(struct ath10k *ar, char *name,
> goto out;
> }
>
> + if (ar->id.qmi_ids_valid) {
> + if (ar->id.qmi_board_id > 0x99)
> + scnprintf(name, name_len,
> + "bus=%s,qmi-board-id=%03x",
> + ath10k_bus_str(ar->hif.bus),
> + ar->id.qmi_board_id);
> + else
> + scnprintf(name, name_len,
> + "bus=%s,qmi-board-id=b%02x",
> + ath10k_bus_str(ar->hif.bus),
> + ar->id.qmi_board_id);
> + goto out;
> + }
Why not just use %d? What benefit would hexadecimal format bring?
And why %02 and %03? I don't see the need for that.
--
Kalle Valo