ath10k: move pci init structures
It doesn't make much sense to have copy engine configuration structures spread across the whole source file. Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
This commit is contained in:
parent
1bbb119db0
commit
d7bfb7aa54
@ -222,6 +222,102 @@ static const struct ce_pipe_config target_ce_config_wlan[] = {
|
|||||||
/* CE7 used only by Host */
|
/* CE7 used only by Host */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Map from service/endpoint to Copy Engine.
|
||||||
|
* This table is derived from the CE_PCI TABLE, above.
|
||||||
|
* It is passed to the Target at startup for use by firmware.
|
||||||
|
*/
|
||||||
|
static const struct service_to_pipe target_service_to_ce_map_wlan[] = {
|
||||||
|
{
|
||||||
|
ATH10K_HTC_SVC_ID_WMI_DATA_VO,
|
||||||
|
PIPEDIR_OUT, /* out = UL = host -> target */
|
||||||
|
3,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
ATH10K_HTC_SVC_ID_WMI_DATA_VO,
|
||||||
|
PIPEDIR_IN, /* in = DL = target -> host */
|
||||||
|
2,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
ATH10K_HTC_SVC_ID_WMI_DATA_BK,
|
||||||
|
PIPEDIR_OUT, /* out = UL = host -> target */
|
||||||
|
3,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
ATH10K_HTC_SVC_ID_WMI_DATA_BK,
|
||||||
|
PIPEDIR_IN, /* in = DL = target -> host */
|
||||||
|
2,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
ATH10K_HTC_SVC_ID_WMI_DATA_BE,
|
||||||
|
PIPEDIR_OUT, /* out = UL = host -> target */
|
||||||
|
3,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
ATH10K_HTC_SVC_ID_WMI_DATA_BE,
|
||||||
|
PIPEDIR_IN, /* in = DL = target -> host */
|
||||||
|
2,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
ATH10K_HTC_SVC_ID_WMI_DATA_VI,
|
||||||
|
PIPEDIR_OUT, /* out = UL = host -> target */
|
||||||
|
3,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
ATH10K_HTC_SVC_ID_WMI_DATA_VI,
|
||||||
|
PIPEDIR_IN, /* in = DL = target -> host */
|
||||||
|
2,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
ATH10K_HTC_SVC_ID_WMI_CONTROL,
|
||||||
|
PIPEDIR_OUT, /* out = UL = host -> target */
|
||||||
|
3,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
ATH10K_HTC_SVC_ID_WMI_CONTROL,
|
||||||
|
PIPEDIR_IN, /* in = DL = target -> host */
|
||||||
|
2,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
ATH10K_HTC_SVC_ID_RSVD_CTRL,
|
||||||
|
PIPEDIR_OUT, /* out = UL = host -> target */
|
||||||
|
0, /* could be moved to 3 (share with WMI) */
|
||||||
|
},
|
||||||
|
{
|
||||||
|
ATH10K_HTC_SVC_ID_RSVD_CTRL,
|
||||||
|
PIPEDIR_IN, /* in = DL = target -> host */
|
||||||
|
1,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
ATH10K_HTC_SVC_ID_TEST_RAW_STREAMS, /* not currently used */
|
||||||
|
PIPEDIR_OUT, /* out = UL = host -> target */
|
||||||
|
0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
ATH10K_HTC_SVC_ID_TEST_RAW_STREAMS, /* not currently used */
|
||||||
|
PIPEDIR_IN, /* in = DL = target -> host */
|
||||||
|
1,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
ATH10K_HTC_SVC_ID_HTT_DATA_MSG,
|
||||||
|
PIPEDIR_OUT, /* out = UL = host -> target */
|
||||||
|
4,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
ATH10K_HTC_SVC_ID_HTT_DATA_MSG,
|
||||||
|
PIPEDIR_IN, /* in = DL = target -> host */
|
||||||
|
1,
|
||||||
|
},
|
||||||
|
|
||||||
|
/* (Additions here) */
|
||||||
|
|
||||||
|
{ /* Must be last */
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
static bool ath10k_pci_irq_pending(struct ath10k *ar)
|
static bool ath10k_pci_irq_pending(struct ath10k *ar)
|
||||||
{
|
{
|
||||||
u32 cause;
|
u32 cause;
|
||||||
@ -1377,102 +1473,6 @@ static int ath10k_pci_bmi_wait(struct ath10k_ce_pipe *tx_pipe,
|
|||||||
return -ETIMEDOUT;
|
return -ETIMEDOUT;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* Map from service/endpoint to Copy Engine.
|
|
||||||
* This table is derived from the CE_PCI TABLE, above.
|
|
||||||
* It is passed to the Target at startup for use by firmware.
|
|
||||||
*/
|
|
||||||
static const struct service_to_pipe target_service_to_ce_map_wlan[] = {
|
|
||||||
{
|
|
||||||
ATH10K_HTC_SVC_ID_WMI_DATA_VO,
|
|
||||||
PIPEDIR_OUT, /* out = UL = host -> target */
|
|
||||||
3,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
ATH10K_HTC_SVC_ID_WMI_DATA_VO,
|
|
||||||
PIPEDIR_IN, /* in = DL = target -> host */
|
|
||||||
2,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
ATH10K_HTC_SVC_ID_WMI_DATA_BK,
|
|
||||||
PIPEDIR_OUT, /* out = UL = host -> target */
|
|
||||||
3,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
ATH10K_HTC_SVC_ID_WMI_DATA_BK,
|
|
||||||
PIPEDIR_IN, /* in = DL = target -> host */
|
|
||||||
2,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
ATH10K_HTC_SVC_ID_WMI_DATA_BE,
|
|
||||||
PIPEDIR_OUT, /* out = UL = host -> target */
|
|
||||||
3,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
ATH10K_HTC_SVC_ID_WMI_DATA_BE,
|
|
||||||
PIPEDIR_IN, /* in = DL = target -> host */
|
|
||||||
2,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
ATH10K_HTC_SVC_ID_WMI_DATA_VI,
|
|
||||||
PIPEDIR_OUT, /* out = UL = host -> target */
|
|
||||||
3,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
ATH10K_HTC_SVC_ID_WMI_DATA_VI,
|
|
||||||
PIPEDIR_IN, /* in = DL = target -> host */
|
|
||||||
2,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
ATH10K_HTC_SVC_ID_WMI_CONTROL,
|
|
||||||
PIPEDIR_OUT, /* out = UL = host -> target */
|
|
||||||
3,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
ATH10K_HTC_SVC_ID_WMI_CONTROL,
|
|
||||||
PIPEDIR_IN, /* in = DL = target -> host */
|
|
||||||
2,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
ATH10K_HTC_SVC_ID_RSVD_CTRL,
|
|
||||||
PIPEDIR_OUT, /* out = UL = host -> target */
|
|
||||||
0, /* could be moved to 3 (share with WMI) */
|
|
||||||
},
|
|
||||||
{
|
|
||||||
ATH10K_HTC_SVC_ID_RSVD_CTRL,
|
|
||||||
PIPEDIR_IN, /* in = DL = target -> host */
|
|
||||||
1,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
ATH10K_HTC_SVC_ID_TEST_RAW_STREAMS, /* not currently used */
|
|
||||||
PIPEDIR_OUT, /* out = UL = host -> target */
|
|
||||||
0,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
ATH10K_HTC_SVC_ID_TEST_RAW_STREAMS, /* not currently used */
|
|
||||||
PIPEDIR_IN, /* in = DL = target -> host */
|
|
||||||
1,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
ATH10K_HTC_SVC_ID_HTT_DATA_MSG,
|
|
||||||
PIPEDIR_OUT, /* out = UL = host -> target */
|
|
||||||
4,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
ATH10K_HTC_SVC_ID_HTT_DATA_MSG,
|
|
||||||
PIPEDIR_IN, /* in = DL = target -> host */
|
|
||||||
1,
|
|
||||||
},
|
|
||||||
|
|
||||||
/* (Additions here) */
|
|
||||||
|
|
||||||
{ /* Must be last */
|
|
||||||
0,
|
|
||||||
0,
|
|
||||||
0,
|
|
||||||
},
|
|
||||||
};
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Send an interrupt to the device to wake up the Target CPU
|
* Send an interrupt to the device to wake up the Target CPU
|
||||||
* so it has an opportunity to notice any changed state.
|
* so it has an opportunity to notice any changed state.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user