[Intel-gfx] [PATCH 11/16] drm/i915: Drop has_pxp from device info
kernel test robot
lkp at intel.com
Sat May 7 19:47:12 UTC 2022
Hi "José,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on drm-tip/drm-tip]
[cannot apply to drm-intel/for-linux-next linus/master v5.18-rc5 next-20220506]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/intel-lab-lkp/linux/commits/Jos-Roberto-de-Souza/drm-i915-Drop-has_llc-from-device-info/20220507-213117
base: git://anongit.freedesktop.org/drm/drm-tip drm-tip
config: i386-allyesconfig (https://download.01.org/0day-ci/archive/20220508/202205080306.RJOsIJwU-lkp@intel.com/config)
compiler: gcc-11 (Debian 11.2.0-20) 11.2.0
reproduce (this is a W=1 build):
# https://github.com/intel-lab-lkp/linux/commit/c1a7677ed60d6907adf2824e35480433cde736ce
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Jos-Roberto-de-Souza/drm-i915-Drop-has_llc-from-device-info/20220507-213117
git checkout c1a7677ed60d6907adf2824e35480433cde736ce
# save the config file
mkdir build_dir && cp config build_dir/.config
make W=1 O=build_dir ARCH=i386 SHELL=/bin/bash
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp at intel.com>
All errors (new ones prefixed by >>):
drivers/gpu/drm/i915/pxp/intel_pxp.c: In function 'intel_pxp_init':
>> drivers/gpu/drm/i915/pxp/intel_pxp.c:114:32: error: expected ')' before 'return'
114 | if (!HAS_PXP(gt->i915))
| ~ ^
| )
115 | return;
| ~~~~~~
>> drivers/gpu/drm/i915/pxp/intel_pxp.c:144:1: error: expected expression before '}' token
144 | }
| ^
>> drivers/gpu/drm/i915/pxp/intel_pxp.c:112:13: error: unused variable 'ret' [-Werror=unused-variable]
112 | int ret;
| ^~~
At top level:
>> drivers/gpu/drm/i915/pxp/intel_pxp.c:74:12: error: 'create_vcs_context' defined but not used [-Werror=unused-function]
74 | static int create_vcs_context(struct intel_pxp *pxp)
| ^~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
--
drivers/gpu/drm/i915/pxp/intel_pxp_debugfs.c:61:6: error: no previous prototype for 'intel_pxp_debugfs_register' [-Werror=missing-prototypes]
61 | void intel_pxp_debugfs_register(struct intel_pxp *pxp, struct dentry *gt_root)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/i915/pxp/intel_pxp_debugfs.c: In function 'intel_pxp_debugfs_register':
>> drivers/gpu/drm/i915/pxp/intel_pxp_debugfs.c:72:46: error: expected ')' before 'return'
72 | if (!HAS_PXP((pxp_to_gt(pxp)->i915)))
| ~ ^
| )
73 | return;
| ~~~~~~
>> drivers/gpu/drm/i915/pxp/intel_pxp_debugfs.c:80:1: error: expected expression before '}' token
80 | }
| ^
>> drivers/gpu/drm/i915/pxp/intel_pxp_debugfs.c:67:24: error: unused variable 'root' [-Werror=unused-variable]
67 | struct dentry *root;
| ^~~~
>> drivers/gpu/drm/i915/pxp/intel_pxp_debugfs.c:63:51: error: unused variable 'files' [-Werror=unused-variable]
63 | static const struct intel_gt_debugfs_file files[] = {
| ^~~~~
At top level:
>> drivers/gpu/drm/i915/pxp/intel_pxp_debugfs.c:63:51: error: 'files' defined but not used [-Werror=unused-const-variable=]
cc1: all warnings being treated as errors
vim +114 drivers/gpu/drm/i915/pxp/intel_pxp.c
e0111ce0f5cbd2 Daniele Ceraolo Spurio 2021-09-24 73
3ad2dd9c4caa73 Daniele Ceraolo Spurio 2021-09-24 @74 static int create_vcs_context(struct intel_pxp *pxp)
3ad2dd9c4caa73 Daniele Ceraolo Spurio 2021-09-24 75 {
3ad2dd9c4caa73 Daniele Ceraolo Spurio 2021-09-24 76 static struct lock_class_key pxp_lock;
3ad2dd9c4caa73 Daniele Ceraolo Spurio 2021-09-24 77 struct intel_gt *gt = pxp_to_gt(pxp);
3ad2dd9c4caa73 Daniele Ceraolo Spurio 2021-09-24 78 struct intel_engine_cs *engine;
3ad2dd9c4caa73 Daniele Ceraolo Spurio 2021-09-24 79 struct intel_context *ce;
3ad2dd9c4caa73 Daniele Ceraolo Spurio 2021-09-24 80 int i;
3ad2dd9c4caa73 Daniele Ceraolo Spurio 2021-09-24 81
3ad2dd9c4caa73 Daniele Ceraolo Spurio 2021-09-24 82 /*
3ad2dd9c4caa73 Daniele Ceraolo Spurio 2021-09-24 83 * Find the first VCS engine present. We're guaranteed there is one
3ad2dd9c4caa73 Daniele Ceraolo Spurio 2021-09-24 84 * if we're in this function due to the check in has_pxp
3ad2dd9c4caa73 Daniele Ceraolo Spurio 2021-09-24 85 */
3ad2dd9c4caa73 Daniele Ceraolo Spurio 2021-09-24 86 for (i = 0, engine = NULL; !engine; i++)
3ad2dd9c4caa73 Daniele Ceraolo Spurio 2021-09-24 87 engine = gt->engine_class[VIDEO_DECODE_CLASS][i];
3ad2dd9c4caa73 Daniele Ceraolo Spurio 2021-09-24 88
3ad2dd9c4caa73 Daniele Ceraolo Spurio 2021-09-24 89 GEM_BUG_ON(!engine || engine->class != VIDEO_DECODE_CLASS);
3ad2dd9c4caa73 Daniele Ceraolo Spurio 2021-09-24 90
3ad2dd9c4caa73 Daniele Ceraolo Spurio 2021-09-24 91 ce = intel_engine_create_pinned_context(engine, engine->gt->vm, SZ_4K,
3ad2dd9c4caa73 Daniele Ceraolo Spurio 2021-09-24 92 I915_GEM_HWS_PXP_ADDR,
3ad2dd9c4caa73 Daniele Ceraolo Spurio 2021-09-24 93 &pxp_lock, "pxp_context");
3ad2dd9c4caa73 Daniele Ceraolo Spurio 2021-09-24 94 if (IS_ERR(ce)) {
3ad2dd9c4caa73 Daniele Ceraolo Spurio 2021-09-24 95 drm_err(>->i915->drm, "failed to create VCS ctx for PXP\n");
3ad2dd9c4caa73 Daniele Ceraolo Spurio 2021-09-24 96 return PTR_ERR(ce);
3ad2dd9c4caa73 Daniele Ceraolo Spurio 2021-09-24 97 }
3ad2dd9c4caa73 Daniele Ceraolo Spurio 2021-09-24 98
3ad2dd9c4caa73 Daniele Ceraolo Spurio 2021-09-24 99 pxp->ce = ce;
3ad2dd9c4caa73 Daniele Ceraolo Spurio 2021-09-24 100
3ad2dd9c4caa73 Daniele Ceraolo Spurio 2021-09-24 101 return 0;
3ad2dd9c4caa73 Daniele Ceraolo Spurio 2021-09-24 102 }
3ad2dd9c4caa73 Daniele Ceraolo Spurio 2021-09-24 103
3ad2dd9c4caa73 Daniele Ceraolo Spurio 2021-09-24 104 static void destroy_vcs_context(struct intel_pxp *pxp)
3ad2dd9c4caa73 Daniele Ceraolo Spurio 2021-09-24 105 {
3ad2dd9c4caa73 Daniele Ceraolo Spurio 2021-09-24 106 intel_engine_destroy_pinned_context(fetch_and_zero(&pxp->ce));
3ad2dd9c4caa73 Daniele Ceraolo Spurio 2021-09-24 107 }
3ad2dd9c4caa73 Daniele Ceraolo Spurio 2021-09-24 108
3ad2dd9c4caa73 Daniele Ceraolo Spurio 2021-09-24 109 void intel_pxp_init(struct intel_pxp *pxp)
3ad2dd9c4caa73 Daniele Ceraolo Spurio 2021-09-24 110 {
3ad2dd9c4caa73 Daniele Ceraolo Spurio 2021-09-24 111 struct intel_gt *gt = pxp_to_gt(pxp);
3ad2dd9c4caa73 Daniele Ceraolo Spurio 2021-09-24 @112 int ret;
3ad2dd9c4caa73 Daniele Ceraolo Spurio 2021-09-24 113
3ad2dd9c4caa73 Daniele Ceraolo Spurio 2021-09-24 @114 if (!HAS_PXP(gt->i915))
3ad2dd9c4caa73 Daniele Ceraolo Spurio 2021-09-24 115 return;
3ad2dd9c4caa73 Daniele Ceraolo Spurio 2021-09-24 116
cbbd3764b2399a Huang, Sean Z 2021-09-24 117 mutex_init(&pxp->tee_mutex);
cbbd3764b2399a Huang, Sean Z 2021-09-24 118
2ae096872a2c61 Huang, Sean Z 2021-09-24 119 /*
2ae096872a2c61 Huang, Sean Z 2021-09-24 120 * we'll use the completion to check if there is a termination pending,
2ae096872a2c61 Huang, Sean Z 2021-09-24 121 * so we start it as completed and we reinit it when a termination
2ae096872a2c61 Huang, Sean Z 2021-09-24 122 * is triggered.
2ae096872a2c61 Huang, Sean Z 2021-09-24 123 */
2ae096872a2c61 Huang, Sean Z 2021-09-24 124 init_completion(&pxp->termination);
2ae096872a2c61 Huang, Sean Z 2021-09-24 125 complete_all(&pxp->termination);
2ae096872a2c61 Huang, Sean Z 2021-09-24 126
32271ecd6596e6 Daniele Ceraolo Spurio 2021-09-24 127 mutex_init(&pxp->arb_mutex);
2ae096872a2c61 Huang, Sean Z 2021-09-24 128 INIT_WORK(&pxp->session_work, intel_pxp_session_work);
2ae096872a2c61 Huang, Sean Z 2021-09-24 129
3ad2dd9c4caa73 Daniele Ceraolo Spurio 2021-09-24 130 ret = create_vcs_context(pxp);
3ad2dd9c4caa73 Daniele Ceraolo Spurio 2021-09-24 131 if (ret)
3ad2dd9c4caa73 Daniele Ceraolo Spurio 2021-09-24 132 return;
3ad2dd9c4caa73 Daniele Ceraolo Spurio 2021-09-24 133
0436ac1b008d48 Huang, Sean Z 2021-09-24 134 ret = intel_pxp_tee_component_init(pxp);
0436ac1b008d48 Huang, Sean Z 2021-09-24 135 if (ret)
0436ac1b008d48 Huang, Sean Z 2021-09-24 136 goto out_context;
0436ac1b008d48 Huang, Sean Z 2021-09-24 137
3ad2dd9c4caa73 Daniele Ceraolo Spurio 2021-09-24 138 drm_info(>->i915->drm, "Protected Xe Path (PXP) protected content support initialized\n");
0436ac1b008d48 Huang, Sean Z 2021-09-24 139
0436ac1b008d48 Huang, Sean Z 2021-09-24 140 return;
0436ac1b008d48 Huang, Sean Z 2021-09-24 141
0436ac1b008d48 Huang, Sean Z 2021-09-24 142 out_context:
0436ac1b008d48 Huang, Sean Z 2021-09-24 143 destroy_vcs_context(pxp);
3ad2dd9c4caa73 Daniele Ceraolo Spurio 2021-09-24 @144 }
3ad2dd9c4caa73 Daniele Ceraolo Spurio 2021-09-24 145
--
0-DAY CI Kernel Test Service
https://01.org/lkp
More information about the Intel-gfx
mailing list