LCOV - code coverage report
Current view: top level - drivers/common/cnxk - roc_sso_priv.h (source / functions) Hit Total Coverage
Test: Code coverage Lines: 0 1 0.0 %
Date: 2025-02-01 18:54:23 Functions: 0 0 -
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 0 0 -

           Branch data     Line data    Source code
       1                 :            : /* SPDX-License-Identifier: BSD-3-Clause
       2                 :            :  * Copyright(C) 2021 Marvell.
       3                 :            :  */
       4                 :            : 
       5                 :            : #ifndef _ROC_SSO_PRIV_H_
       6                 :            : #define _ROC_SSO_PRIV_H_
       7                 :            : 
       8                 :            : struct sso_rsrc {
       9                 :            :         uint16_t rsrc_id;
      10                 :            :         uint64_t base;
      11                 :            : };
      12                 :            : 
      13                 :            : struct sso {
      14                 :            :         struct plt_pci_device *pci_dev;
      15                 :            :         struct dev dev;
      16                 :            :         /* EVA memory area */
      17                 :            :         uintptr_t agg_mem[MAX_RVU_BLKLF_CNT];
      18                 :            :         uint32_t agg_used[MAX_RVU_BLKLF_CNT];
      19                 :            :         uint32_t agg_cnt[MAX_RVU_BLKLF_CNT];
      20                 :            :         /* Interrupt handler args. */
      21                 :            :         struct sso_rsrc hws_rsrc[MAX_RVU_BLKLF_CNT];
      22                 :            :         struct sso_rsrc hwgrp_rsrc[MAX_RVU_BLKLF_CNT];
      23                 :            :         /* MSIX offsets */
      24                 :            :         uint16_t hws_msix_offset[MAX_RVU_BLKLF_CNT];
      25                 :            :         uint16_t hwgrp_msix_offset[MAX_RVU_BLKLF_CNT];
      26                 :            :         /* SSO link mapping. */
      27                 :            :         struct plt_bitmap **link_map;
      28                 :            :         void *link_map_mem;
      29                 :            : } __plt_cache_aligned;
      30                 :            : 
      31                 :            : enum sso_err_status {
      32                 :            :         SSO_ERR_PARAM = -4096,
      33                 :            :         SSO_ERR_DEVICE_NOT_BOUNDED = -4097,
      34                 :            : };
      35                 :            : 
      36                 :            : enum sso_lf_type {
      37                 :            :         SSO_LF_TYPE_HWS,
      38                 :            :         SSO_LF_TYPE_HWGRP,
      39                 :            : };
      40                 :            : 
      41                 :            : static inline struct sso *
      42                 :            : roc_sso_to_sso_priv(struct roc_sso *roc_sso)
      43                 :            : {
      44                 :          0 :         return (struct sso *)&roc_sso->reserved[0];
      45                 :            : }
      46                 :            : 
      47                 :            : /* SSO LF ops */
      48                 :            : int sso_lf_alloc(struct dev *dev, enum sso_lf_type lf_type, uint16_t nb_lf,
      49                 :            :                  void **rsp);
      50                 :            : int sso_lf_free(struct dev *dev, enum sso_lf_type lf_type, uint16_t nb_lf);
      51                 :            : void sso_hws_link_modify(uint8_t hws, uintptr_t base, struct plt_bitmap *bmp, uint16_t hwgrp[],
      52                 :            :                          uint16_t n, uint8_t set, uint16_t enable);
      53                 :            : int sso_hwgrp_alloc_xaq(struct dev *dev, uint32_t npa_aura_id, uint16_t hwgrps);
      54                 :            : int sso_hwgrp_release_xaq(struct dev *dev, uint16_t hwgrps);
      55                 :            : int sso_hwgrp_init_xaq_aura(struct dev *dev, struct roc_sso_xaq_data *xaq,
      56                 :            :                             uint32_t nb_xae, uint32_t xae_waes,
      57                 :            :                             uint32_t xaq_buf_size, uint16_t nb_hwgrp);
      58                 :            : int sso_hwgrp_free_xaq_aura(struct dev *dev, struct roc_sso_xaq_data *xaq,
      59                 :            :                             uint16_t nb_hwgrp);
      60                 :            : 
      61                 :            : /* SSO IRQ */
      62                 :            : int sso_register_irqs_priv(struct roc_sso *roc_sso,
      63                 :            :                            struct plt_intr_handle *handle, uint16_t nb_hws,
      64                 :            :                            uint16_t nb_hwgrp);
      65                 :            : void sso_unregister_irqs_priv(struct roc_sso *roc_sso,
      66                 :            :                               struct plt_intr_handle *handle, uint16_t nb_hws,
      67                 :            :                               uint16_t nb_hwgrp);
      68                 :            : 
      69                 :            : #endif /* _ROC_SSO_PRIV_H_ */

Generated by: LCOV version 1.14