xe_guc_ads.c
Linux fault injection headerNative loop contains a write call
SHA-2565a13280d2c370625edfd1db06fb274351971d349b12f0ac3609230307664b1e5
MaleculeO(Er)H(F)
Evidence
1// SPDX-License-Identifier: MIT
2/*
3 * Copyright © 2022 Intel Corporation
4 */
5
6#include "xe_guc_ads.h"
7
8#include <linux/fault-inject.h>
9
10#include <drm/drm_managed.h>
11
12#include <generated/xe_wa_oob.h>
13
14#include "abi/guc_actions_abi.h"
15#include "regs/xe_engine_regs.h"
16#include "regs/xe_gt_regs.h"
17#include "regs/xe_guc_regs.h"
18#include "xe_bo.h"
19#include "xe_gt.h"
20#include "xe_gt_ccs_mode.h"
21#include "xe_gt_mcr.h"
22#include "xe_gt_printk.h"
23#include "xe_guc.h"
24#include "xe_guc_buf.h"
25#include "xe_guc_capture.h"
26#include "xe_guc_ct.h"
27#include "xe_hw_engine.h"
28#include "xe_lrc.h"
29#include "xe_map.h"
30#include "xe_mmio.h"
31#include "xe_wa.h"
32
33/* Slack of a few additional entries per engine */
34#define ADS_REGSET_EXTRA_MAX 8
35
36static st …
61:38… 4K)
62#define GUC_PAGE_RES_TIMEOUT_US (-1)
63
64/*
65 * The Additional Data Struct (ADS) has pointers for different buffers used by
66 * the GuC. One single gem object contains the ADS struct itself (guc_ads) and
67 * all the extra buffers indirectly linked via the ADS struct's entries.
68 *
69 * Layout of the AD …
332:4…
333 * On RC6 exit, GuC will write register 0xB04 with the default value provided. As of now,
334 * the default value for this register is determined to be 0xC40. This could change in the
335 * future, so GuC depends on KMD …
830:6… _dpa = xe_bo_main_addr(ads->bo, PAGE_SIZE) + um_queue_offset;
831
832 for (i = 0; i < GUC_UM_HW_QUEUE_MAX; ++i) {
833 ads_blob_write(ads, um_init_params.queue_params[i].base_dpa,
834 with_dpa ? (base_dpa + (i * GUC_UM_QUEUE_SIZE)) : 0);
835 ads_blob_write(a …
995:27… uc->buf, sizeof(*policies));
996
997 if (!xe_guc_buf_is_valid(buf))
998 return -ENOBUFS;
999
1000 policies = xe_guc_buf_cpu_ptr(buf);
1001 memset(policies, 0, sizeof(*policies));
1002
1003 policies->dpc_promote_time = ads_blob_read(ads, policies.dpc …