Zephyr API Documentation 4.4.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
vc.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2023 Intel Corporation
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
12
13#ifndef ZEPHYR_INCLUDE_DRIVERS_PCIE_VC_H_
14#define ZEPHYR_INCLUDE_DRIVERS_PCIE_VC_H_
15
22
23#ifdef __cplusplus
24extern "C" {
25#endif
26
27#include <zephyr/kernel.h>
28#include <zephyr/types.h>
29#include <stdbool.h>
30
32
36#define PCIE_VC_MAX_COUNT 8U
37
38#define PCIE_VC_SET_TC0 BIT(0)
39#define PCIE_VC_SET_TC1 BIT(1)
40#define PCIE_VC_SET_TC2 BIT(2)
41#define PCIE_VC_SET_TC3 BIT(3)
42#define PCIE_VC_SET_TC4 BIT(4)
43#define PCIE_VC_SET_TC5 BIT(5)
44#define PCIE_VC_SET_TC6 BIT(6)
45#define PCIE_VC_SET_TC7 BIT(7)
46
59
70
77
92
93
94#ifdef __cplusplus
95}
96#endif
97
101
102#endif /* ZEPHYR_INCLUDE_DRIVERS_PCIE_VC_H_ */
Header file for the PCIe driver APIs.
uint32_t pcie_bdf_t
A unique PCI(e) endpoint (bus, device, function).
Definition pcie.h:48
#define PCIE_VC_MAX_COUNT
Maximum number of Virtual Channels: 1 default VC + 7 extended VCs.
Definition vc.h:36
int pcie_vc_enable(pcie_bdf_t bdf)
Enable PCIe Virtual Channel handling.
int pcie_vc_disable(pcie_bdf_t bdf)
Disable PCIe Virtual Channel handling.
int pcie_vc_map_tc(pcie_bdf_t bdf, struct pcie_vctc_map *map)
Map PCIe TC/VC.
Public kernel APIs.
__UINT8_TYPE__ uint8_t
Definition stdint.h:88
Traffic Class (TC) to Virtual Channel (VC) map.
Definition vc.h:48
uint8_t vc_tc[8U]
Map the TCs for each VC by setting bits relevantly Note: one bit cannot be set more than once among t...
Definition vc.h:53
int vc_count
Number of VCs being addressed.
Definition vc.h:57