Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/drivers/dma/amd/qdma/qdma-comm-regs.c
26285 views
1
// SPDX-License-Identifier: GPL-2.0-or-later
2
/*
3
* Copyright (C) 2023-2024, Advanced Micro Devices, Inc.
4
*/
5
6
#ifndef __QDMA_REGS_DEF_H
7
#define __QDMA_REGS_DEF_H
8
9
#include "qdma.h"
10
11
const struct qdma_reg qdma_regos_default[QDMA_REGO_MAX] = {
12
[QDMA_REGO_CTXT_DATA] = QDMA_REGO(0x804, 8),
13
[QDMA_REGO_CTXT_CMD] = QDMA_REGO(0x844, 1),
14
[QDMA_REGO_CTXT_MASK] = QDMA_REGO(0x824, 8),
15
[QDMA_REGO_MM_H2C_CTRL] = QDMA_REGO(0x1004, 1),
16
[QDMA_REGO_MM_C2H_CTRL] = QDMA_REGO(0x1204, 1),
17
[QDMA_REGO_QUEUE_COUNT] = QDMA_REGO(0x120, 1),
18
[QDMA_REGO_RING_SIZE] = QDMA_REGO(0x204, 1),
19
[QDMA_REGO_H2C_PIDX] = QDMA_REGO(0x18004, 1),
20
[QDMA_REGO_C2H_PIDX] = QDMA_REGO(0x18008, 1),
21
[QDMA_REGO_INTR_CIDX] = QDMA_REGO(0x18000, 1),
22
[QDMA_REGO_FUNC_ID] = QDMA_REGO(0x12c, 1),
23
[QDMA_REGO_ERR_INT] = QDMA_REGO(0xb04, 1),
24
[QDMA_REGO_ERR_STAT] = QDMA_REGO(0x248, 1),
25
};
26
27
const struct qdma_reg_field qdma_regfs_default[QDMA_REGF_MAX] = {
28
/* QDMA_REGO_CTXT_DATA fields */
29
[QDMA_REGF_IRQ_ENABLE] = QDMA_REGF(53, 53),
30
[QDMA_REGF_WBK_ENABLE] = QDMA_REGF(52, 52),
31
[QDMA_REGF_WBI_CHECK] = QDMA_REGF(34, 34),
32
[QDMA_REGF_IRQ_ARM] = QDMA_REGF(16, 16),
33
[QDMA_REGF_IRQ_VEC] = QDMA_REGF(138, 128),
34
[QDMA_REGF_IRQ_AGG] = QDMA_REGF(139, 139),
35
[QDMA_REGF_WBI_INTVL_ENABLE] = QDMA_REGF(35, 35),
36
[QDMA_REGF_MRKR_DISABLE] = QDMA_REGF(62, 62),
37
[QDMA_REGF_QUEUE_ENABLE] = QDMA_REGF(32, 32),
38
[QDMA_REGF_QUEUE_MODE] = QDMA_REGF(63, 63),
39
[QDMA_REGF_DESC_BASE] = QDMA_REGF(127, 64),
40
[QDMA_REGF_DESC_SIZE] = QDMA_REGF(49, 48),
41
[QDMA_REGF_RING_ID] = QDMA_REGF(47, 44),
42
[QDMA_REGF_QUEUE_BASE] = QDMA_REGF(11, 0),
43
[QDMA_REGF_QUEUE_MAX] = QDMA_REGF(44, 32),
44
[QDMA_REGF_FUNCTION_ID] = QDMA_REGF(24, 17),
45
[QDMA_REGF_INTR_AGG_BASE] = QDMA_REGF(66, 15),
46
[QDMA_REGF_INTR_VECTOR] = QDMA_REGF(11, 1),
47
[QDMA_REGF_INTR_SIZE] = QDMA_REGF(69, 67),
48
[QDMA_REGF_INTR_VALID] = QDMA_REGF(0, 0),
49
[QDMA_REGF_INTR_COLOR] = QDMA_REGF(14, 14),
50
[QDMA_REGF_INTR_FUNCTION_ID] = QDMA_REGF(125, 114),
51
/* QDMA_REGO_CTXT_CMD fields */
52
[QDMA_REGF_CMD_INDX] = QDMA_REGF(19, 7),
53
[QDMA_REGF_CMD_CMD] = QDMA_REGF(6, 5),
54
[QDMA_REGF_CMD_TYPE] = QDMA_REGF(4, 1),
55
[QDMA_REGF_CMD_BUSY] = QDMA_REGF(0, 0),
56
/* QDMA_REGO_QUEUE_COUNT fields */
57
[QDMA_REGF_QUEUE_COUNT] = QDMA_REGF(11, 0),
58
/* QDMA_REGO_ERR_INT fields */
59
[QDMA_REGF_ERR_INT_FUNC] = QDMA_REGF(11, 0),
60
[QDMA_REGF_ERR_INT_VEC] = QDMA_REGF(22, 12),
61
[QDMA_REGF_ERR_INT_ARM] = QDMA_REGF(24, 24),
62
};
63
64
#endif /* __QDMA_REGS_DEF_H */
65
66