Message ID | 20230720025232.7701-2-quic_wgong@quicinc.com (mailing list archive) |
---|---|
State | Changes Requested |
Delegated to: | Kalle Valo |
Headers | show |
Series | wifi: ath12k: add support device recovery for WCN7850 | expand |
Subject nit: s/mhi/MHI On 7/19/2023 7:52 PM, Wen Gong wrote: > RDDM is RAM DUMP DUBUG module, it is used to debugging issue when firmware s/DUBUG/DEBUG/ s/debugging issue/ debug issues/ > hit error. encounters an error. > > The rddm_size is needed by firmware while MHI enter RDDM state, add it s/, add/. Add/ > to support device recovery when ath12k receive MHI_CB_EE_RDDM message. > > Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.0-03427-QCAHMTSWPL_V1.0_V2.0_SILICONZ-1.15378.4 > > Signed-off-by: Wen Gong <quic_wgong@quicinc.com> > --- > drivers/net/wireless/ath/ath12k/hw.c | 3 +++ > drivers/net/wireless/ath/ath12k/hw.h | 1 + > drivers/net/wireless/ath/ath12k/mhi.c | 1 + > 3 files changed, 5 insertions(+) > > diff --git a/drivers/net/wireless/ath/ath12k/hw.c b/drivers/net/wireless/ath/ath12k/hw.c > index 5991cc91cd00..c69cfca67f7d 100644 > --- a/drivers/net/wireless/ath/ath12k/hw.c > +++ b/drivers/net/wireless/ath/ath12k/hw.c > @@ -907,6 +907,7 @@ static const struct ath12k_hw_params ath12k_hw_params[] = { > .hal_ops = &hal_qcn9274_ops, > > .qmi_cnss_feature_bitmap = BIT(CNSS_QDSS_CFG_MISS_V01), > + .rddm_size = 0, > }, > { > .name = "wcn7850 hw2.0", > @@ -964,6 +965,7 @@ static const struct ath12k_hw_params ath12k_hw_params[] = { > > .qmi_cnss_feature_bitmap = BIT(CNSS_QDSS_CFG_MISS_V01) | > BIT(CNSS_PCIE_PERST_NO_PULL_V01), > + .rddm_size = 0x780000, > }, > { > .name = "qcn9274 hw2.0", > @@ -1019,6 +1021,7 @@ static const struct ath12k_hw_params ath12k_hw_params[] = { > .hal_ops = &hal_qcn9274_ops, > > .qmi_cnss_feature_bitmap = BIT(CNSS_QDSS_CFG_MISS_V01), > + .rddm_size = 0, > }, > }; > > diff --git a/drivers/net/wireless/ath/ath12k/hw.h b/drivers/net/wireless/ath/ath12k/hw.h > index e6c4223c283c..7d82b76ad021 100644 > --- a/drivers/net/wireless/ath/ath12k/hw.h > +++ b/drivers/net/wireless/ath/ath12k/hw.h > @@ -186,6 +186,7 @@ struct ath12k_hw_params { > const struct hal_ops *hal_ops; > > u64 qmi_cnss_feature_bitmap; > + u32 rddm_size; > }; > > struct ath12k_hw_ops { > diff --git a/drivers/net/wireless/ath/ath12k/mhi.c b/drivers/net/wireless/ath/ath12k/mhi.c > index 42f1140baa4f..91b2abf6da44 100644 > --- a/drivers/net/wireless/ath/ath12k/mhi.c > +++ b/drivers/net/wireless/ath/ath12k/mhi.c > @@ -366,6 +366,7 @@ int ath12k_mhi_register(struct ath12k_pci *ab_pci) > mhi_ctrl->fw_image = ab_pci->amss_path; > mhi_ctrl->regs = ab->mem; > mhi_ctrl->reg_len = ab->mem_len; > + mhi_ctrl->rddm_size = ab->hw_params->rddm_size; > > ret = ath12k_mhi_get_msi(ab_pci); > if (ret) { actual code LGTM, subject/commit text nits can be addressed when you upstream
diff --git a/drivers/net/wireless/ath/ath12k/hw.c b/drivers/net/wireless/ath/ath12k/hw.c index 5991cc91cd00..c69cfca67f7d 100644 --- a/drivers/net/wireless/ath/ath12k/hw.c +++ b/drivers/net/wireless/ath/ath12k/hw.c @@ -907,6 +907,7 @@ static const struct ath12k_hw_params ath12k_hw_params[] = { .hal_ops = &hal_qcn9274_ops, .qmi_cnss_feature_bitmap = BIT(CNSS_QDSS_CFG_MISS_V01), + .rddm_size = 0, }, { .name = "wcn7850 hw2.0", @@ -964,6 +965,7 @@ static const struct ath12k_hw_params ath12k_hw_params[] = { .qmi_cnss_feature_bitmap = BIT(CNSS_QDSS_CFG_MISS_V01) | BIT(CNSS_PCIE_PERST_NO_PULL_V01), + .rddm_size = 0x780000, }, { .name = "qcn9274 hw2.0", @@ -1019,6 +1021,7 @@ static const struct ath12k_hw_params ath12k_hw_params[] = { .hal_ops = &hal_qcn9274_ops, .qmi_cnss_feature_bitmap = BIT(CNSS_QDSS_CFG_MISS_V01), + .rddm_size = 0, }, }; diff --git a/drivers/net/wireless/ath/ath12k/hw.h b/drivers/net/wireless/ath/ath12k/hw.h index e6c4223c283c..7d82b76ad021 100644 --- a/drivers/net/wireless/ath/ath12k/hw.h +++ b/drivers/net/wireless/ath/ath12k/hw.h @@ -186,6 +186,7 @@ struct ath12k_hw_params { const struct hal_ops *hal_ops; u64 qmi_cnss_feature_bitmap; + u32 rddm_size; }; struct ath12k_hw_ops { diff --git a/drivers/net/wireless/ath/ath12k/mhi.c b/drivers/net/wireless/ath/ath12k/mhi.c index 42f1140baa4f..91b2abf6da44 100644 --- a/drivers/net/wireless/ath/ath12k/mhi.c +++ b/drivers/net/wireless/ath/ath12k/mhi.c @@ -366,6 +366,7 @@ int ath12k_mhi_register(struct ath12k_pci *ab_pci) mhi_ctrl->fw_image = ab_pci->amss_path; mhi_ctrl->regs = ab->mem; mhi_ctrl->reg_len = ab->mem_len; + mhi_ctrl->rddm_size = ab->hw_params->rddm_size; ret = ath12k_mhi_get_msi(ab_pci); if (ret) {
RDDM is RAM DUMP DUBUG module, it is used to debugging issue when firmware hit error. The rddm_size is needed by firmware while MHI enter RDDM state, add it to support device recovery when ath12k receive MHI_CB_EE_RDDM message. Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.0-03427-QCAHMTSWPL_V1.0_V2.0_SILICONZ-1.15378.4 Signed-off-by: Wen Gong <quic_wgong@quicinc.com> --- drivers/net/wireless/ath/ath12k/hw.c | 3 +++ drivers/net/wireless/ath/ath12k/hw.h | 1 + drivers/net/wireless/ath/ath12k/mhi.c | 1 + 3 files changed, 5 insertions(+)