1 /* SPDX-License-Identifier: ISC */
3 * Copyright (c) 2018 The Linux Foundation. All rights reserved.
13 struct ath10k_snoc_drv_priv
{
14 enum ath10k_hw_rev hw_rev
;
24 struct ath10k_snoc_pipe
{
25 struct ath10k_ce_pipe
*ce_hdl
;
27 struct ath10k
*hif_ce_state
;
31 struct ath10k_snoc
*ar_snoc
;
34 struct ath10k_snoc_target_info
{
41 struct ath10k_snoc_ce_irq
{
45 enum ath10k_snoc_flags
{
46 ATH10K_SNOC_FLAG_REGISTERED
,
47 ATH10K_SNOC_FLAG_UNREGISTERING
,
48 ATH10K_SNOC_FLAG_RECOVERY
,
49 ATH10K_SNOC_FLAG_8BIT_HOST_CAP_QUIRK
,
53 struct regulator_bulk_data
;
56 struct platform_device
*dev
;
60 struct ath10k_snoc_target_info target_info
;
62 struct ath10k_snoc_pipe pipe_info
[CE_COUNT_MAX
];
63 struct ath10k_snoc_ce_irq ce_irqs
[CE_COUNT_MAX
];
65 struct timer_list rx_post_retry
;
66 struct regulator_bulk_data
*vregs
;
68 struct clk_bulk_data
*clks
;
70 struct ath10k_qmi
*qmi
;
72 bool xo_cal_supported
;
76 static inline struct ath10k_snoc
*ath10k_snoc_priv(struct ath10k
*ar
)
78 return (struct ath10k_snoc
*)ar
->drv_priv
;
81 int ath10k_snoc_fw_indication(struct ath10k
*ar
, u64 type
);
82 void ath10k_snoc_fw_crashed_dump(struct ath10k
*ar
);