Message ID | 20180706085622.27945-3-govinds@codeaurora.org (mailing list archive) |
---|---|
State | Changes Requested |
Delegated to: | Kalle Valo |
Headers | show |
Hi Govind, On Fri, Jul 06, 2018 at 02:26:19PM +0530, Govind Singh wrote: > From: Rakesh Pillai <pillair@codeaurora.org> > > 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 <pillair@codeaurora.org> > Signed-off-by: Govind Singh <govinds@codeaurora.org> > --- > drivers/net/wireless/ath/ath10k/core.c | 8 ++++++++ > drivers/net/wireless/ath/ath10k/core.h | 2 ++ > 2 files changed, 10 insertions(+) > > diff --git a/drivers/net/wireless/ath/ath10k/core.c b/drivers/net/wireless/ath/ath10k/core.c > index 85c58ebbfb26..840e301b6a6e 100644 > --- a/drivers/net/wireless/ath/ath10k/core.c > +++ b/drivers/net/wireless/ath/ath10k/core.c > @@ -1440,6 +1440,14 @@ static int ath10k_core_create_board_name(struct ath10k *ar, char *name, > goto out; > } > > + if (ar->id.qmi_ids_valid) { > + scnprintf(name, name_len, > + "bus=%s,qmi-board-id=%x", > + 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 427ee5752bb0..20f03f3a7080 100644 > --- a/drivers/net/wireless/ath/ath10k/core.h > +++ b/drivers/net/wireless/ath/ath10k/core.h > @@ -941,7 +941,9 @@ struct ath10k { > u32 subsystem_device; > > bool bmi_ids_valid; > + bool qmi_ids_valid; > u8 bmi_board_id; > + u8 qmi_board_id; IIUC, QMI board IDs may be more than 8 bits. (And your qmi.c code seems to suggest this as well.) Should this be u32? Brian > u8 bmi_chip_id; > > char bdf_ext[ATH10K_SMBIOS_BDF_EXT_STR_LENGTH]; > -- > 2.17.0 >
diff --git a/drivers/net/wireless/ath/ath10k/core.c b/drivers/net/wireless/ath/ath10k/core.c index 85c58ebbfb26..840e301b6a6e 100644 --- a/drivers/net/wireless/ath/ath10k/core.c +++ b/drivers/net/wireless/ath/ath10k/core.c @@ -1440,6 +1440,14 @@ static int ath10k_core_create_board_name(struct ath10k *ar, char *name, goto out; } + if (ar->id.qmi_ids_valid) { + scnprintf(name, name_len, + "bus=%s,qmi-board-id=%x", + 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 427ee5752bb0..20f03f3a7080 100644 --- a/drivers/net/wireless/ath/ath10k/core.h +++ b/drivers/net/wireless/ath/ath10k/core.h @@ -941,7 +941,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];