File: xe_mmio.h

package info (click to toggle)
intel-gpu-tools 2.2-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 63,360 kB
  • sloc: xml: 781,458; ansic: 360,567; python: 8,336; yacc: 2,781; perl: 1,196; sh: 1,177; lex: 487; asm: 227; lisp: 35; makefile: 30
file content (41 lines) | stat: -rw-r--r-- 1,348 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
/* SPDX-License-Identifier: MIT */
/*
 * Copyright(c) 2024 Intel Corporation. All rights reserved.
 */

#include "lib/intel_io.h"
#include "lib/igt_sizes.h"

#ifndef XE_MMIO_H
#define XE_MMIO_H

#define TILE_MMIO_SIZE		SZ_16M
#define GGTT_OFFSET_IN_TILE	SZ_8M

typedef uint64_t xe_ggtt_pte_t;

struct xe_mmio {
	int fd;
	struct intel_mmio_data intel_mmio;
};

void xe_mmio_vf_access_init(int pf_fd, int vf_id, struct xe_mmio *mmio);
void xe_mmio_access_init(int pf_fd, struct xe_mmio *mmio);
void xe_mmio_access_fini(struct xe_mmio *mmio);

uint32_t xe_mmio_read32(struct xe_mmio *mmio, uint32_t offset);
uint64_t xe_mmio_read64(struct xe_mmio *mmio, uint32_t offset);

void xe_mmio_write32(struct xe_mmio *mmio, uint32_t offset, uint32_t val);
void xe_mmio_write64(struct xe_mmio *mmio, uint32_t offset, uint64_t val);

uint32_t xe_mmio_gt_read32(struct xe_mmio *mmio, int gt, uint32_t offset);
uint64_t xe_mmio_gt_read64(struct xe_mmio *mmio, int gt, uint32_t offset);

void xe_mmio_gt_write32(struct xe_mmio *mmio, int gt, uint32_t offset, uint32_t val);
void xe_mmio_gt_write64(struct xe_mmio *mmio, int gt, uint32_t offset, uint64_t val);

xe_ggtt_pte_t xe_mmio_ggtt_read(struct xe_mmio *mmio, int gt, uint32_t pte_offset);
void xe_mmio_ggtt_write(struct xe_mmio *mmio, int gt, uint32_t pte_offset, xe_ggtt_pte_t pte);

#endif	/* XE_MMIO_H */