openUBMC Chip Abstract Layer
V0.1
载入中...
搜索中...
未找到
include
bcal
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
22
namespace
DRIVER_EDMA {
23
24
using namespace
bcal;
25
26
31
struct
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
46
class
Edma
{
47
public
:
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
DRIVER_EDMA::Edma
PCIe DMA 驱动接口 BMC通过PCIe DMA接口与HOST通信
Definition
edma.h:46
DRIVER_EDMA::Edma::read
virtual string_t read(int32_t index, uint32_t max_len, uint32_t timeout)=0
读取制定 PCIe DMA 通道的数据
DRIVER_EDMA::Edma::poll
virtual uint8_t poll()=0
轮询所有 PCIe DMA 通道是否有数据可读
DRIVER_EDMA::Edma::write
virtual void write(int32_t index, const string_view_t &val, uint32_t timeout)=0
向指定 PCIe DMA 通道写入数据
driver.h
BCAL 驱动公共接口定义
DRIVER_EDMA::EdmaMsg
EDMA 收发消息结构体
Definition
edma.h:31
DRIVER_EDMA::EdmaMsg::netfn
uint8_t netfn
Definition
edma.h:35
DRIVER_EDMA::EdmaMsg::cmd
uint8_t cmd
Definition
edma.h:37
DRIVER_EDMA::EdmaMsg::data
uint8_t data[1]
Definition
edma.h:38
DRIVER_EDMA::EdmaMsg::msg_type
uint8_t msg_type
Definition
edma.h:32
DRIVER_EDMA::EdmaMsg::len
uint8_t len
Definition
edma.h:33
DRIVER_EDMA::EdmaMsg::seq
uint8_t seq
Definition
edma.h:36
DRIVER_EDMA::EdmaMsg::lun
uint8_t lun
Definition
edma.h:34
制作者
1.9.8