]> git.proxmox.com Git - ceph.git/blame - ceph/src/dpdk/drivers/net/qede/base/ecore_init_ops.h
bump version to 12.2.12-pve1
[ceph.git] / ceph / src / dpdk / drivers / net / qede / base / ecore_init_ops.h
CommitLineData
7c673cae
FG
1/*
2 * Copyright (c) 2016 QLogic Corporation.
3 * All rights reserved.
4 * www.qlogic.com
5 *
6 * See LICENSE.qede_pmd for copyright and licensing details.
7 */
8
9#ifndef __ECORE_INIT_OPS__
10#define __ECORE_INIT_OPS__
11
12#include "ecore.h"
13
14/**
15 * @brief ecore_init_iro_array - init iro_arr.
16 *
17 *
18 * @param p_dev
19 */
20void ecore_init_iro_array(struct ecore_dev *p_dev);
21
22/**
23 * @brief ecore_init_run - Run the init-sequence.
24 *
25 *
26 * @param p_hwfn
27 * @param p_ptt
28 * @param phase
29 * @param phase_id
30 * @param modes
31 * @return _ecore_status_t
32 */
33enum _ecore_status_t ecore_init_run(struct ecore_hwfn *p_hwfn,
34 struct ecore_ptt *p_ptt,
35 int phase,
36 int phase_id,
37 int modes);
38
39/**
40 * @brief ecore_init_hwfn_allocate - Allocate RT array, Store 'values' ptrs.
41 *
42 *
43 * @param p_hwfn
44 *
45 * @return _ecore_status_t
46 */
47enum _ecore_status_t ecore_init_alloc(struct ecore_hwfn *p_hwfn);
48
49/**
50 * @brief ecore_init_hwfn_deallocate
51 *
52 *
53 * @param p_hwfn
54 */
55void ecore_init_free(struct ecore_hwfn *p_hwfn);
56
57
58/**
59 * @brief ecore_init_clear_rt_data - Clears the runtime init array.
60 *
61 *
62 * @param p_hwfn
63 */
64void ecore_init_clear_rt_data(struct ecore_hwfn *p_hwfn);
65
66/**
67 * @brief ecore_init_store_rt_reg - Store a configuration value in the RT array.
68 *
69 *
70 * @param p_hwfn
71 * @param rt_offset
72 * @param val
73 */
74void ecore_init_store_rt_reg(struct ecore_hwfn *p_hwfn,
75 u32 rt_offset,
76 u32 val);
77
78#define STORE_RT_REG(hwfn, offset, val) \
79 ecore_init_store_rt_reg(hwfn, offset, val)
80
81#define OVERWRITE_RT_REG(hwfn, offset, val) \
82 ecore_init_store_rt_reg(hwfn, offset, val)
83
84/**
85* @brief
86*
87*
88* @param p_hwfn
89* @param rt_offset
90* @param val
91* @param size
92*/
93
94void ecore_init_store_rt_agg(struct ecore_hwfn *p_hwfn,
95 u32 rt_offset,
96 u32 *val,
97 osal_size_t size);
98
99#define STORE_RT_REG_AGG(hwfn, offset, val) \
100 ecore_init_store_rt_agg(hwfn, offset, (u32 *)&val, sizeof(val))
101
102
103/**
104 * @brief
105 * Initialize GTT global windows and set admin window
106 * related params of GTT/PTT to default values.
107 *
108 * @param p_hwfn
109 */
110void ecore_gtt_init(struct ecore_hwfn *p_hwfn);
111#endif /* __ECORE_INIT_OPS__ */