Eine aufbereitete Darstellung der Quelle

 
     
 
 
Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 

Benutzer

Quelle  ahb.h  Sprache: unbekannt

 
/* SPDX-License-Identifier: BSD-3-Clause-Clear */
/*
 * Copyright (c) 2018-2019 The Linux Foundation. All rights reserved.
 * Copyright (c) 2022-2025, Qualcomm Innovation Center, Inc. All rights reserved.
 */

#ifndef ATH12K_AHB_H
#define ATH12K_AHB_H

#include <linux/clk.h>
#include <linux/remoteproc/qcom_rproc.h>
#include "core.h"

#define ATH12K_AHB_RECOVERY_TIMEOUT (3 * HZ)

#define ATH12K_AHB_SMP2P_SMEM_MSG  GENMASK(15, 0)
#define ATH12K_AHB_SMP2P_SMEM_SEQ_NO  GENMASK(31, 16)
#define ATH12K_AHB_SMP2P_SMEM_VALUE_MASK 0xFFFFFFFF
#define ATH12K_PCI_CE_WAKE_IRQ   2
#define ATH12K_PCI_IRQ_CE0_OFFSET  3
#define ATH12K_ROOTPD_READY_TIMEOUT  (5 * HZ)
#define ATH12K_RPROC_AFTER_POWERUP  QCOM_SSR_AFTER_POWERUP
#define ATH12K_AHB_FW_PREFIX   "q6_fw"
#define ATH12K_AHB_FW_SUFFIX   ".mdt"
#define ATH12K_AHB_FW2    "iu_fw.mdt"
#define ATH12K_AHB_UPD_SWID   0x12
#define ATH12K_USERPD_SPAWN_TIMEOUT  (5 * HZ)
#define ATH12K_USERPD_READY_TIMEOUT  (10 * HZ)
#define ATH12K_USERPD_STOP_TIMEOUT  (5 * HZ)
#define ATH12K_USERPD_ID_MASK   GENMASK(9, 8)
#define ATH12K_USERPD_FW_NAME_LEN  35

enum ath12k_ahb_smp2p_msg_id {
 ATH12K_AHB_POWER_SAVE_ENTER = 1,
 ATH12K_AHB_POWER_SAVE_EXIT,
};

enum ath12k_ahb_userpd_irq {
 ATH12K_USERPD_SPAWN_IRQ,
 ATH12K_USERPD_READY_IRQ,
 ATH12K_USERPD_STOP_ACK_IRQ,
 ATH12K_USERPD_MAX_IRQ,
};

struct ath12k_base;

struct ath12k_ahb {
 struct ath12k_base *ab;
 struct rproc *tgt_rproc;
 struct clk *xo_clk;
 struct completion rootpd_ready;
 struct notifier_block root_pd_nb;
 void *root_pd_notifier;
 struct qcom_smem_state *spawn_state;
 struct qcom_smem_state *stop_state;
 struct completion userpd_spawned;
 struct completion userpd_ready;
 struct completion userpd_stopped;
 u32 userpd_id;
 u32 spawn_bit;
 u32 stop_bit;
 int userpd_irq_num[ATH12K_USERPD_MAX_IRQ];
};

static inline struct ath12k_ahb *ath12k_ab_to_ahb(struct ath12k_base *ab)
{
 return (struct ath12k_ahb *)ab->drv_priv;
}

#ifdef CONFIG_ATH12K_AHB
int ath12k_ahb_init(void);
void ath12k_ahb_exit(void);
#else
static inline int ath12k_ahb_init(void)
{
 return 0;
}

static inline void ath12k_ahb_exit(void) {};
#endif
#endif

Messung V0.5 in Prozent
C=98 H=100 G=98

[0.11QuellennavigatorsProjekt 2026-10-12]

                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Open Source Software

     Quellcodebibliothek
     Eigene Quellcodes
     Fremde Quellcodes
     Suchen

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik

Statistik
#Sources=1127926
#Domains=1947682