openUBMC Chip Abstract Layer V0.1
载入中...
搜索中...
未找到
edma.h
浏览该文件的文档.
1/*
2 * Copyright (c) Huawei Technologies Co., Ltd. 2025. All rights reserved.
3 *
4 * this file licensed under the Mulan PSL v2.
5 * You can use this software according to the terms and conditions of the Mulan PSL v2.
6 * You may obtain a copy of Mulan PSL v2 at:
7 * http://license.coscl.org.cn/MulanPSL2
8 *
9 * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR
10 * IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR
11 * PURPOSE.
12 * See the Mulan PSL v2 for more details.
13 */
18#ifndef DRIVER_EDMA_H
19#define DRIVER_EDMA_H
20#include "driver.h"
21
22namespace DRIVER_EDMA {
23
24using namespace bcal;
25
26
31struct EdmaMsg {
32 uint8_t msg_type;
33 uint8_t len;
34 uint8_t lun:2;
35 uint8_t netfn:6;
36 uint8_t seq;
37 uint8_t cmd;
38 uint8_t data[1];
39};
40
46class Edma {
47public:
53 virtual uint8_t poll() = 0;
62 virtual string_t read(int32_t index, uint32_t max_len, uint32_t timeout) = 0;
70 virtual void write(int32_t index, const string_view_t &val, uint32_t timeout) = 0;
71};
72} // namespace
73#endif
PCIe DMA 驱动接口 BMC通过PCIe DMA接口与HOST通信
Definition edma.h:46
virtual string_t read(int32_t index, uint32_t max_len, uint32_t timeout)=0
读取制定 PCIe DMA 通道的数据
virtual uint8_t poll()=0
轮询所有 PCIe DMA 通道是否有数据可读
virtual void write(int32_t index, const string_view_t &val, uint32_t timeout)=0
向指定 PCIe DMA 通道写入数据
BCAL 驱动公共接口定义
EDMA 收发消息结构体
Definition edma.h:31
uint8_t netfn
Definition edma.h:35
uint8_t cmd
Definition edma.h:37
uint8_t data[1]
Definition edma.h:38
uint8_t msg_type
Definition edma.h:32
uint8_t len
Definition edma.h:33
uint8_t seq
Definition edma.h:36
uint8_t lun
Definition edma.h:34