[frank-w-bpi-r2-4.14:5.16-next-hdmi 8/29] drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c:541:16: error: 'struct drm_encoder' has no member named 'port'
by kernel test robot
tree: https://github.com/frank-w/BPI-R2-4.14 5.16-next-hdmi
head: 2c863ab74e13844664d488782f9f0422bfea0471
commit: 1ced92d05c4d40fc24873af7445ec7c8a430c5ac [8/29] drm/rockchip: dw_hdmi: add rk3568 support
config: m68k-allmodconfig (https://download.01.org/0day-ci/archive/20220122/202201222232.RHlu2zzo-lk...)
compiler: m68k-linux-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/frank-w/BPI-R2-4.14/commit/1ced92d05c4d40fc24873af7445...
git remote add frank-w-bpi-r2-4.14 https://github.com/frank-w/BPI-R2-4.14
git fetch --no-tags frank-w-bpi-r2-4.14 5.16-next-hdmi
git checkout 1ced92d05c4d40fc24873af7445ec7c8a430c5ac
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=m68k SHELL=/bin/bash drivers/gpu/drm/rockchip/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
Note: the frank-w-bpi-r2-4.14/5.16-next-hdmi HEAD 2c863ab74e13844664d488782f9f0422bfea0471 builds fine.
It only hurts bisectability.
All errors (new ones prefixed by >>):
drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c: In function 'dw_hdmi_rockchip_bind':
>> drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c:541:16: error: 'struct drm_encoder' has no member named 'port'
541 | encoder->port = of_graph_get_port_by_id(dev->of_node, 0);
| ^~
vim +541 drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c
509
510 static int dw_hdmi_rockchip_bind(struct device *dev, struct device *master,
511 void *data)
512 {
513 struct platform_device *pdev = to_platform_device(dev);
514 struct dw_hdmi_plat_data *plat_data;
515 const struct of_device_id *match;
516 struct drm_device *drm = data;
517 struct drm_encoder *encoder;
518 struct rockchip_hdmi *hdmi;
519 int ret;
520
521 if (!pdev->dev.of_node)
522 return -ENODEV;
523
524 hdmi = devm_kzalloc(&pdev->dev, sizeof(*hdmi), GFP_KERNEL);
525 if (!hdmi)
526 return -ENOMEM;
527
528 match = of_match_node(dw_hdmi_rockchip_dt_ids, pdev->dev.of_node);
529 plat_data = devm_kmemdup(&pdev->dev, match->data,
530 sizeof(*plat_data), GFP_KERNEL);
531 if (!plat_data)
532 return -ENOMEM;
533
534 hdmi->dev = &pdev->dev;
535 hdmi->chip_data = plat_data->phy_data;
536 plat_data->phy_data = hdmi;
537 encoder = &hdmi->encoder;
538
539 encoder->possible_crtcs = drm_of_find_possible_crtcs(drm, dev->of_node);
540
> 541 encoder->port = of_graph_get_port_by_id(dev->of_node, 0);
542
543 /*
544 * If we failed to find the CRTC(s) which this encoder is
545 * supposed to be connected to, it's because the CRTC has
546 * not been registered yet. Defer probing, and hope that
547 * the required CRTC is added later.
548 */
549 if (encoder->possible_crtcs == 0)
550 return -EPROBE_DEFER;
551
552 ret = rockchip_hdmi_parse_dt(hdmi);
553 if (ret) {
554 DRM_DEV_ERROR(hdmi->dev, "Unable to parse OF data\n");
555 return ret;
556 }
557
558 hdmi->phy = devm_phy_optional_get(dev, "hdmi");
559 if (IS_ERR(hdmi->phy)) {
560 ret = PTR_ERR(hdmi->phy);
561 if (ret != -EPROBE_DEFER)
562 DRM_DEV_ERROR(hdmi->dev, "failed to get phy\n");
563 return ret;
564 }
565
566 ret = clk_prepare_enable(hdmi->ref_clk);
567 if (ret) {
568 DRM_DEV_ERROR(hdmi->dev, "Failed to enable HDMI reference clock: %d\n",
569 ret);
570 return ret;
571 }
572
573 if (hdmi->chip_data == &rk3568_chip_data) {
574 regmap_write(hdmi->regmap, RK3568_GRF_VO_CON1,
575 HIWORD_UPDATE(RK3568_HDMI_SDAIN_MSK |
576 RK3568_HDMI_SCLIN_MSK,
577 RK3568_HDMI_SDAIN_MSK |
578 RK3568_HDMI_SCLIN_MSK));
579 }
580
581 drm_encoder_helper_add(encoder, &dw_hdmi_rockchip_encoder_helper_funcs);
582 drm_simple_encoder_init(drm, encoder, DRM_MODE_ENCODER_TMDS);
583
584 platform_set_drvdata(pdev, hdmi);
585
586 hdmi->hdmi = dw_hdmi_bind(pdev, encoder, plat_data);
587
588 /*
589 * If dw_hdmi_bind() fails we'll never call dw_hdmi_unbind(),
590 * which would have called the encoder cleanup. Do it manually.
591 */
592 if (IS_ERR(hdmi->hdmi)) {
593 ret = PTR_ERR(hdmi->hdmi);
594 drm_encoder_cleanup(encoder);
595 clk_disable_unprepare(hdmi->ref_clk);
596 }
597
598 return ret;
599 }
600
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
8 months
[cel:topic-rpc-with-tls 9995/9999] net/tls/ttls.c:2148:9: error: too few arguments to function 'kernel_fpu_begin'
by kernel test robot
tree: git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux topic-rpc-with-tls
head: a72d5318846d67a7f3f5f2bcb4c0c09c4f8907d1
commit: 88772cc15e58e3bb69ab319d7fb2ed0cdce5a5a1 [9995/9999] Introduce CONFIG_TLS_SOFTIRQ to perform all TLS routines in softirq (fixes #1446).
config: s390-allyesconfig (https://download.01.org/0day-ci/archive/20220122/202201222234.oGj9OPe6-lk...)
compiler: s390-linux-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://git.kernel.org/pub/scm/linux/kernel/git/cel/linux.git/commit/?id=...
git remote add cel git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux
git fetch --no-tags cel topic-rpc-with-tls
git checkout 88772cc15e58e3bb69ab319d7fb2ed0cdce5a5a1
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=s390 SHELL=/bin/bash
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
In file included from net/tls/ttls.c:28:
arch/s390/include/asm/fpu/api.h: In function 'kernel_fpu_begin':
arch/s390/include/asm/fpu/api.h:97:14: error: invalid use of undefined type 'struct kernel_fpu'
97 | state->mask = S390_lowcore.fpu_flags;
| ^~
arch/s390/include/asm/fpu/api.h:98:14: error: implicit declaration of function 'test_cpu_flag' [-Werror=implicit-function-declaration]
98 | if (!test_cpu_flag(CIF_FPU))
| ^~~~~~~~~~~~~
arch/s390/include/asm/fpu/api.h:98:28: error: 'CIF_FPU' undeclared (first use in this function)
98 | if (!test_cpu_flag(CIF_FPU))
| ^~~~~~~
arch/s390/include/asm/fpu/api.h:98:28: note: each undeclared identifier is reported only once for each function it appears in
arch/s390/include/asm/fpu/api.h:101:23: error: invalid use of undefined type 'struct kernel_fpu'
101 | else if (state->mask & flags)
| ^~
arch/s390/include/asm/fpu/api.h: In function 'kernel_fpu_end':
arch/s390/include/asm/fpu/api.h:109:39: error: invalid use of undefined type 'struct kernel_fpu'
109 | S390_lowcore.fpu_flags = state->mask;
| ^~
arch/s390/include/asm/fpu/api.h:110:18: error: invalid use of undefined type 'struct kernel_fpu'
110 | if (state->mask & flags)
| ^~
In file included from arch/s390/include/asm/smp.h:13,
from include/linux/smp.h:85,
from include/linux/lockdep.h:14,
from include/linux/spinlock.h:59,
from include/linux/mmzone.h:8,
from include/linux/gfp.h:6,
from include/linux/slab.h:15,
from include/linux/crypto.h:20,
from include/crypto/aead.h:11,
from net/tls/ttls.c:29:
arch/s390/include/asm/processor.h: At top level:
arch/s390/include/asm/processor.h:58:19: error: static declaration of 'test_cpu_flag' follows non-static declaration
58 | static inline int test_cpu_flag(int flag)
| ^~~~~~~~~~~~~
In file included from net/tls/ttls.c:28:
arch/s390/include/asm/fpu/api.h:98:14: note: previous implicit declaration of 'test_cpu_flag' with type 'int()'
98 | if (!test_cpu_flag(CIF_FPU))
| ^~~~~~~~~~~~~
net/tls/ttls.c: In function '__ttls_send_record':
net/tls/ttls.c:1031:57: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
1031 | T_DBG("TLS send callback error %d\n", r);
| ^
net/tls/ttls.c: At top level:
net/tls/ttls.c:1290:1: warning: no previous prototype for 'ttls_handle_alert' [-Wmissing-prototypes]
1290 | ttls_handle_alert(TlsCtx *tls)
| ^~~~~~~~~~~~~~~~~
net/tls/ttls.c: In function 'ttls_parse_certificate':
net/tls/ttls.c:1582:74: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
1582 | T_DBG("client cert verification status: %d\n", r);
| ^
net/tls/ttls.c: In function 'ttls_recv':
>> net/tls/ttls.c:2148:9: error: too few arguments to function 'kernel_fpu_begin'
2148 | kernel_fpu_begin();
| ^~~~~~~~~~~~~~~~
In file included from net/tls/ttls.c:28:
arch/s390/include/asm/fpu/api.h:94:20: note: declared here
94 | static inline void kernel_fpu_begin(struct kernel_fpu *state, u32 flags)
| ^~~~~~~~~~~~~~~~
>> net/tls/ttls.c:2270:9: error: too few arguments to function 'kernel_fpu_end'
2270 | kernel_fpu_end();
| ^~~~~~~~~~~~~~
In file included from net/tls/ttls.c:28:
arch/s390/include/asm/fpu/api.h:107:20: note: declared here
107 | static inline void kernel_fpu_end(struct kernel_fpu *state, u32 flags)
| ^~~~~~~~~~~~~~
net/tls/ttls.c: At top level:
net/tls/ttls.c:2470:1: warning: no previous prototype for 'ttls_sig_hash_set_has' [-Wmissing-prototypes]
2470 | ttls_sig_hash_set_has(TlsSigHashSet *set, ttls_pk_type_t sig_alg,
| ^~~~~~~~~~~~~~~~~~~~~
net/tls/ttls.c:2484:1: warning: no previous prototype for 'ttls_sig_hash_set_const' [-Wmissing-prototypes]
2484 | ttls_sig_hash_set_const(TlsSigHashSet *set, ttls_pk_type_t sig_alg,
| ^~~~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
Kconfig warnings: (for reference only)
WARNING: unmet direct dependencies detected for CRYPTO_SHA1_SSSE3
Depends on CRYPTO && X86 && 64BIT
Selected by
- TLS_HANDSHAKE && NET && TLS && TLS_SOFTIRQ
vim +/kernel_fpu_begin +2148 net/tls/ttls.c
2111
2112 /**
2113 * Main TLS receive routine.
2114 *
2115 * Read a record, only one. A caller will call us again if a following record,
2116 * or it's part, is left in @buf.
2117 *
2118 * Silently ignore non-fatal alert and continue reading until a valid record is
2119 * found.
2120 *
2121 * @buf and @len defines a chunk of ingress network data, probably containing
2122 * parts of several TLS messages, e.g. a tail of last message, a short full
2123 * message and a begin of a next message.
2124 *
2125 * @return -EAGAIN if there is no ready data for upper layer (e.g. during
2126 * handshake or current record isn't fully read) and T_PASS if a record is ready
2127 * for upper layer protocol processing. Other negative values are returned on
2128 * errors.
2129 * The function adds the number of bytes parsed in @buf to @read.
2130 */
2131 int
2132 ttls_recv(void *tls_data, unsigned char *buf, size_t len, unsigned int *read)
2133 {
2134 int r;
2135 unsigned int hh_len = 0, parsed = *read;
2136 TlsCtx *tls = (TlsCtx *)tls_data;
2137 TlsIOCtx *io = &tls->io_in;
2138
2139 BUG_ON(!tls || !tls->conf);
2140 T_DBG3("%s: tls=%pK len=%lu read=%u\n", __func__, tls, len, *read);
2141
2142 /*
2143 * There are many code executed under the saved FPU context and
2144 * probably we won't call SIMD at all. However, in normal case
2145 * we do several crypto operations requiring SIMD and we do our
2146 * best to minimize the number of FPU context savings and restorings.
2147 */
> 2148 kernel_fpu_begin();
2149
2150 if (!(io->st_flags & TTLS_F_ST_HDRIV)) {
2151 unsigned int delta;
2152
2153 if ((r = ttls_parse_record_hdr(tls, buf, len, read)))
2154 goto out;
2155 delta = *read - parsed;
2156 len -= delta;
2157 buf += delta;
2158 parsed = *read;
2159
2160 if (io->msgtype == TTLS_MSG_HANDSHAKE
2161 && ttls_hs_checksumable(tls))
2162 {
2163 if (likely(delta >= TTLS_HS_HDR_LEN && len > 0)) {
2164 /*
2165 * Compute handshake checksum for the message
2166 * body and handshake header in one shot.
2167 */
2168 hh_len = TTLS_HS_HDR_LEN;
2169 } else {
2170 ttls_update_checksum(tls, io->hs_hdr,
2171 TTLS_HS_HDR_LEN);
2172 }
2173 }
2174 }
2175 WARN_ON_ONCE(!io->msglen);
2176
2177 /*
2178 * Current record is fully read and decrypted if necessary.
2179 * Skip alerts and empty records and read a next one.
2180 */
2181 switch (io->msgtype) {
2182 case TTLS_MSG_ALERT:
2183 if (unlikely(!ttls_xfrm_ready(tls))) {
2184 r = ttls_handle_alert(tls);
2185 goto out;
2186 }
2187 break;
2188
2189 case TTLS_MSG_CHANGE_CIPHER_SPEC:
2190 /* Parsed as part of handshake FSM. */
2191 case TTLS_MSG_HANDSHAKE:
2192 if (!len) {
2193 r = -EAGAIN;
2194 goto out;
2195 }
2196 if (unlikely(tls->state == TTLS_HANDSHAKE_OVER)) {
2197 T_DBG("refusing renegotiation, sending alert\n");
2198 ttls_send_alert(tls, TTLS_ALERT_LEVEL_FATAL,
2199 TTLS_ALERT_MSG_NO_RENEGOTIATION);
2200 r = TTLS_ERR_UNEXPECTED_MESSAGE;
2201 goto out;
2202 }
2203
2204 /*
2205 * We add ingress messages to the handshake session checksum
2206 * in two different places: here for message chunks and inside
2207 * the handshake state machine. @hh_len is used for the
2208 * checksumming only. We can not compute checksum for complete
2209 * messages here (either before or after the FSM call) because
2210 * before Hello message we have no idea which hash algorithm
2211 * we should use, but key derieval on KeyExchange phase may
2212 * require complete checksum for all the messages including
2213 * the KeyExchange one.
2214 */
2215 r = ttls_handshake_step(tls, buf, len, hh_len, read);
2216
2217 /* Cleanup security sensitive temporary data. */
2218 ttls_mpi_pool_cleanup_ctx(0, true);
2219
2220 if (r == -EAGAIN) {
2221 /* Add the handshake message chunk to the checksum. */
2222 BUG_ON(!tls->hs && tls->state != TTLS_HANDSHAKE_OVER);
2223 if (ttls_hs_checksumable(tls)) {
2224 size_t n = *read - (int)parsed + hh_len;
2225 ttls_update_checksum(tls, buf - hh_len, n);
2226 }
2227 }
2228 else if (r) {
2229 T_DBG("handshake error: %d\n", r);
2230 }
2231 goto out;
2232
2233 case TTLS_MSG_APPLICATION_DATA:
2234 /*
2235 * Don't allow application data before secured connection is
2236 * established.
2237 */
2238 if (unlikely(tls->state != TTLS_HANDSHAKE_OVER)) {
2239 T_WARN("TLS context isn't ready after handshake\n");
2240 r = -EPROTO;
2241 goto out;
2242 }
2243 break;
2244 }
2245
2246 if (!len) {
2247 r = -EAGAIN;
2248 goto out;
2249 }
2250
2251 /* Encrypted data, crypto context is guaranteed to be ready here. */
2252 if (io->msglen > io->rlen + len) {
2253 *read += len;
2254 io->rlen += len;
2255 r = -EAGAIN;
2256 goto out;
2257 }
2258 *read += io->msglen - io->rlen;
2259 if ((r = ttls_decrypt(tls, NULL))) {
2260 T_DBG("cannot decrypt msg on state %x, ret=%d%s\n",
2261 tls->state, r, r == -EBADMSG ? "(bad ciphertext)" : "");
2262 r = -EPROTO;
2263 goto out;
2264 }
2265
2266 if (io->msgtype == TTLS_MSG_ALERT)
2267 r = ttls_handle_alert(tls);
2268
2269 out:
> 2270 kernel_fpu_end();
2271
2272 return r;
2273 }
2274 EXPORT_SYMBOL(ttls_recv);
2275
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
8 months
[frank-w-bpi-r2-4.14:5.16-next-hdmi 27/29] drivers/gpu/drm/rockchip/rockchip_drm_vop2.c:2525:1: warning: the frame size of 1104 bytes is larger than 1024 bytes
by kernel test robot
tree: https://github.com/frank-w/BPI-R2-4.14 5.16-next-hdmi
head: 2c863ab74e13844664d488782f9f0422bfea0471
commit: 3283826ad3813c5a11ef43cc1dc895f8a12624de [27/29] drm: rockchip: Add VOP2 driver
config: nios2-allyesconfig (https://download.01.org/0day-ci/archive/20220122/202201222227.zy50TJ7O-lk...)
compiler: nios2-linux-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/frank-w/BPI-R2-4.14/commit/3283826ad3813c5a11ef43cc1dc...
git remote add frank-w-bpi-r2-4.14 https://github.com/frank-w/BPI-R2-4.14
git fetch --no-tags frank-w-bpi-r2-4.14 5.16-next-hdmi
git checkout 3283826ad3813c5a11ef43cc1dc895f8a12624de
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=nios2 SHELL=/bin/bash drivers/gpu/drm/rockchip/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
drivers/gpu/drm/rockchip/rockchip_drm_vop2.c: In function 'vop2_cluster_init':
>> drivers/gpu/drm/rockchip/rockchip_drm_vop2.c:2525:1: warning: the frame size of 1104 bytes is larger than 1024 bytes [-Wframe-larger-than=]
2525 | };
| ^
drivers/gpu/drm/rockchip/rockchip_drm_vop2.c: In function 'vop2_esmart_init':
drivers/gpu/drm/rockchip/rockchip_drm_vop2.c:2597:1: warning: the frame size of 1100 bytes is larger than 1024 bytes [-Wframe-larger-than=]
2597 | };
| ^
vim +2525 drivers/gpu/drm/rockchip/rockchip_drm_vop2.c
2450
2451 static int vop2_cluster_init(struct vop2_win *win)
2452 {
2453 struct vop2 *vop2 = win->vop2;
2454 int i;
2455 struct reg_field vop2_cluster_regs[VOP2_WIN_MAX_REG] = {
2456 [VOP2_WIN_ENABLE] = REG_FIELD(RK3568_CLUSTER_WIN_CTRL0, 0, 0),
2457 [VOP2_WIN_FORMAT] = REG_FIELD(RK3568_CLUSTER_WIN_CTRL0, 1, 5),
2458 [VOP2_WIN_RB_SWAP] = REG_FIELD(RK3568_CLUSTER_WIN_CTRL0, 14, 14),
2459 [VOP2_WIN_DITHER_UP] = REG_FIELD(RK3568_CLUSTER_WIN_CTRL0, 18, 18),
2460 [VOP2_WIN_ACT_INFO] = REG_FIELD(RK3568_CLUSTER_WIN_ACT_INFO, 0, 31),
2461 [VOP2_WIN_DSP_INFO] = REG_FIELD(RK3568_CLUSTER_WIN_DSP_INFO, 0, 31),
2462 [VOP2_WIN_DSP_ST] = REG_FIELD(RK3568_CLUSTER_WIN_DSP_ST, 0, 31),
2463 [VOP2_WIN_YRGB_MST] = REG_FIELD(RK3568_CLUSTER_WIN_YRGB_MST, 0, 31),
2464 [VOP2_WIN_UV_MST] = REG_FIELD(RK3568_CLUSTER_WIN_CBR_MST, 0, 31),
2465 [VOP2_WIN_YUV_CLIP] = REG_FIELD(RK3568_CLUSTER_WIN_CTRL0, 19, 19),
2466 [VOP2_WIN_YRGB_VIR] = REG_FIELD(RK3568_CLUSTER_WIN_VIR, 0, 15),
2467 [VOP2_WIN_UV_VIR] = REG_FIELD(RK3568_CLUSTER_WIN_VIR, 16, 31),
2468 [VOP2_WIN_Y2R_EN] = REG_FIELD(RK3568_CLUSTER_WIN_CTRL0, 8, 8),
2469 [VOP2_WIN_R2Y_EN] = REG_FIELD(RK3568_CLUSTER_WIN_CTRL0, 9, 9),
2470 [VOP2_WIN_CSC_MODE] = REG_FIELD(RK3568_CLUSTER_WIN_CTRL0, 10, 11),
2471
2472 /* Scale */
2473 [VOP2_WIN_SCALE_YRGB_X] = REG_FIELD(RK3568_CLUSTER_WIN_SCL_FACTOR_YRGB, 0, 15),
2474 [VOP2_WIN_SCALE_YRGB_Y] = REG_FIELD(RK3568_CLUSTER_WIN_SCL_FACTOR_YRGB, 16, 31),
2475 [VOP2_WIN_YRGB_VER_SCL_MODE] = REG_FIELD(RK3568_CLUSTER_WIN_CTRL1, 14, 15),
2476 [VOP2_WIN_YRGB_HOR_SCL_MODE] = REG_FIELD(RK3568_CLUSTER_WIN_CTRL1, 12, 13),
2477 [VOP2_WIN_BIC_COE_SEL] = REG_FIELD(RK3568_CLUSTER_WIN_CTRL1, 2, 3),
2478 [VOP2_WIN_VSD_YRGB_GT2] = REG_FIELD(RK3568_CLUSTER_WIN_CTRL1, 28, 28),
2479 [VOP2_WIN_VSD_YRGB_GT4] = REG_FIELD(RK3568_CLUSTER_WIN_CTRL1, 29, 29),
2480
2481 /* cluster regs */
2482 [VOP2_WIN_AFBC_ENABLE] = REG_FIELD(RK3568_CLUSTER_CTRL, 1, 1),
2483 [VOP2_WIN_CLUSTER_ENABLE] = REG_FIELD(RK3568_CLUSTER_CTRL, 0, 0),
2484 [VOP2_WIN_CLUSTER_LB_MODE] = REG_FIELD(RK3568_CLUSTER_CTRL, 4, 7),
2485
2486 /* afbc regs */
2487 [VOP2_WIN_AFBC_FORMAT] = REG_FIELD(RK3568_CLUSTER_WIN_AFBCD_CTRL, 2, 6),
2488 [VOP2_WIN_AFBC_RB_SWAP] = REG_FIELD(RK3568_CLUSTER_WIN_AFBCD_CTRL, 9, 9),
2489 [VOP2_WIN_AFBC_UV_SWAP] = REG_FIELD(RK3568_CLUSTER_WIN_AFBCD_CTRL, 10, 10),
2490 [VOP2_WIN_AFBC_AUTO_GATING_EN] = REG_FIELD(RK3568_CLUSTER_WIN_AFBCD_OUTPUT_CTRL, 4, 4),
2491 [VOP2_WIN_AFBC_HALF_BLOCK_EN] = REG_FIELD(RK3568_CLUSTER_WIN_AFBCD_CTRL, 7, 7),
2492 [VOP2_WIN_AFBC_BLOCK_SPLIT_EN] = REG_FIELD(RK3568_CLUSTER_WIN_AFBCD_CTRL, 8, 8),
2493 [VOP2_WIN_AFBC_HDR_PTR] = REG_FIELD(RK3568_CLUSTER_WIN_AFBCD_HDR_PTR, 0, 31),
2494 [VOP2_WIN_AFBC_PIC_SIZE] = REG_FIELD(RK3568_CLUSTER_WIN_AFBCD_PIC_SIZE, 0, 31),
2495 [VOP2_WIN_AFBC_PIC_VIR_WIDTH] = REG_FIELD(RK3568_CLUSTER_WIN_AFBCD_VIR_WIDTH, 0, 15),
2496 [VOP2_WIN_AFBC_TILE_NUM] = REG_FIELD(RK3568_CLUSTER_WIN_AFBCD_VIR_WIDTH, 16, 31),
2497 [VOP2_WIN_AFBC_PIC_OFFSET] = REG_FIELD(RK3568_CLUSTER_WIN_AFBCD_PIC_OFFSET, 0, 31),
2498 [VOP2_WIN_AFBC_DSP_OFFSET] = REG_FIELD(RK3568_CLUSTER_WIN_AFBCD_DSP_OFFSET, 0, 31),
2499 [VOP2_WIN_AFBC_TRANSFORM_OFFSET] = REG_FIELD(RK3568_CLUSTER_WIN_AFBCD_TRANSFORM_OFFSET, 0, 31),
2500 [VOP2_WIN_AFBC_ROTATE_90] = REG_FIELD(RK3568_CLUSTER_WIN_AFBCD_ROTATE_MODE, 0, 0),
2501 [VOP2_WIN_AFBC_ROTATE_270] = REG_FIELD(RK3568_CLUSTER_WIN_AFBCD_ROTATE_MODE, 1, 1),
2502 [VOP2_WIN_XMIRROR] = REG_FIELD(RK3568_CLUSTER_WIN_AFBCD_ROTATE_MODE, 2, 2),
2503 [VOP2_WIN_YMIRROR] = REG_FIELD(RK3568_CLUSTER_WIN_AFBCD_ROTATE_MODE, 3, 3),
2504 [VOP2_WIN_UV_SWAP] = { .reg = 0xffffffff },
2505 [VOP2_WIN_COLOR_KEY] = { .reg = 0xffffffff },
2506 [VOP2_WIN_COLOR_KEY_EN] = { .reg = 0xffffffff },
2507 [VOP2_WIN_SCALE_CBCR_X] = { .reg = 0xffffffff },
2508 [VOP2_WIN_SCALE_CBCR_Y] = { .reg = 0xffffffff },
2509 [VOP2_WIN_YRGB_HSCL_FILTER_MODE] = { .reg = 0xffffffff },
2510 [VOP2_WIN_YRGB_VSCL_FILTER_MODE] = { .reg = 0xffffffff },
2511 [VOP2_WIN_CBCR_VER_SCL_MODE] = { .reg = 0xffffffff },
2512 [VOP2_WIN_CBCR_HSCL_FILTER_MODE] = { .reg = 0xffffffff },
2513 [VOP2_WIN_CBCR_HOR_SCL_MODE] = { .reg = 0xffffffff },
2514 [VOP2_WIN_CBCR_VSCL_FILTER_MODE] = { .reg = 0xffffffff },
2515 [VOP2_WIN_VSD_CBCR_GT2] = { .reg = 0xffffffff },
2516 [VOP2_WIN_VSD_CBCR_GT4] = { .reg = 0xffffffff },
2517 };
2518
2519 for (i = 0; i < ARRAY_SIZE(vop2_cluster_regs); i++)
2520 vop2_cluster_regs[i].reg += win->offset;
2521
2522 return devm_regmap_field_bulk_alloc(vop2->dev, vop2->map, win->reg,
2523 vop2_cluster_regs,
2524 ARRAY_SIZE(vop2_cluster_regs));
> 2525 };
2526
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
8 months
[cel:topic-rpc-with-tls-upcall 15/18] net/tls/af_tlsh.c:243: undefined reference to `inet6_release'
by kernel test robot
tree: git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux topic-rpc-with-tls-upcall
head: da4c27539d2deaa2b9624c470a903b880497e398
commit: 2d835a81bb38c6378f4cc53d0eb2320248a11a4c [15/18] net/tls: Add support for PF_TLSH (a TLS handshake listener)
config: i386-randconfig-a005 (https://download.01.org/0day-ci/archive/20220122/202201222037.SQYbQlzI-lk...)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
# https://git.kernel.org/pub/scm/linux/kernel/git/cel/linux.git/commit/?id=...
git remote add cel git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux
git fetch --no-tags cel topic-rpc-with-tls-upcall
git checkout 2d835a81bb38c6378f4cc53d0eb2320248a11a4c
# save the config file to linux build tree
mkdir build_dir
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(a)intel.com>
All errors (new ones prefixed by >>):
ld: net/tls/af_tlsh.o: in function `tlsh_recvmsg':
net/tls/af_tlsh.c:594: undefined reference to `inet6_recvmsg'
ld: net/tls/af_tlsh.o: in function `tlsh_sendmsg':
net/tls/af_tlsh.c:564: undefined reference to `inet6_sendmsg'
ld: net/tls/af_tlsh.o: in function `tlsh_getname':
net/tls/af_tlsh.c:404: undefined reference to `inet6_getname'
ld: net/tls/af_tlsh.o: in function `tlsh_release':
>> net/tls/af_tlsh.c:243: undefined reference to `inet6_release'
vim +243 net/tls/af_tlsh.c
223
224 /**
225 * tlsh_release - free an AF_TLSH socket
226 * @sock: socket to release
227 *
228 * Return values:
229 * %0: success
230 */
231 static int tlsh_release(struct socket *sock)
232 {
233 struct sock *sk = sock->sk;
234
235 if (!sk)
236 return 0;
237
238 switch (sk->sk_family) {
239 case AF_INET:
240 return inet_release(sock);
241 #if IS_ENABLED(CONFIG_IPV6)
242 case AF_INET6:
> 243 return inet6_release(sock);
244 #endif
245 case AF_TLSH:
246 break;
247 default:
248 return 0;
249 }
250
251 sock_hold(sk); /* Ref: D */
252 sock_orphan(sk);
253 lock_sock(sk);
254
255 tlsh_unregister_listener(sk);
256 tlsh_accept_drain(sk);
257
258 sk->sk_state = TCP_CLOSE;
259 sk->sk_shutdown |= SEND_SHUTDOWN;
260 sk->sk_state_change(sk);
261
262 sk->sk_tls_bind_family = AF_UNSPEC;
263 sock->sk = NULL;
264 release_sock(sk);
265 sock_put(sk); /* Ref: D */
266
267 sock_put(sk); /* Ref: A */
268 return 0;
269 }
270
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
8 months
[cxl:preview 34/53] drivers/cxl/cxl.h:285:38: warning: 'struct pci_bus' declared inside parameter list will not be visible outside of this definition or declaration
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl.git preview
head: e675fabdbbcdb6e32dba688a20fb0bd42e0e2d5d
commit: 2b7a34a480122fb652df99554f6d59c5d9f3ef24 [34/53] cxl/core: Generalize dport enumeration in the core
config: arc-randconfig-r043-20220122 (https://download.01.org/0day-ci/archive/20220122/202201222055.733L3u7d-lk...)
compiler: arceb-elf-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl.git/commit/?id=2b...
git remote add cxl https://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl.git
git fetch --no-tags cxl preview
git checkout 2b7a34a480122fb652df99554f6d59c5d9f3ef24
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=arc SHELL=/bin/bash drivers/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
In file included from drivers/cxl/cxlmem.h:7,
from drivers/cxl/core/pmem.c:6:
>> drivers/cxl/cxl.h:285:38: warning: 'struct pci_bus' declared inside parameter list will not be visible outside of this definition or declaration
285 | struct pci_bus *bus);
| ^~~~~~~
vim +285 drivers/cxl/cxl.h
24be641caabe25 Ben Widawsky 2021-12-01 281
42c377a63d21df Dan Williams 2022-01-05 282 bool is_cxl_port(struct device *dev);
4812be97c015bd Dan Williams 2021-06-09 283 struct cxl_port *to_cxl_port(struct device *dev);
7237f27228ec66 Dan Williams 2022-01-18 284 int devm_cxl_register_pci_bus(struct device *host, struct device *uport,
7237f27228ec66 Dan Williams 2022-01-18 @285 struct pci_bus *bus);
7237f27228ec66 Dan Williams 2022-01-18 286 struct pci_bus *cxl_port_to_pci_bus(struct cxl_port *port);
4812be97c015bd Dan Williams 2021-06-09 287 struct cxl_port *devm_cxl_add_port(struct device *host, struct device *uport,
4812be97c015bd Dan Williams 2021-06-09 288 resource_size_t component_reg_phys,
4812be97c015bd Dan Williams 2021-06-09 289 struct cxl_port *parent_port);
3c39e157b25e0c Dan Williams 2022-01-18 290 struct cxl_port *find_cxl_root(struct device *dev);
2b7a34a480122f Dan Williams 2022-01-18 291 struct cxl_dport *devm_cxl_add_dport(struct device *host, struct cxl_port *port,
2b7a34a480122f Dan Williams 2022-01-18 292 struct device *dport, int port_id,
2b7a34a480122f Dan Williams 2022-01-18 293 resource_size_t component_reg_phys);
40ba17afdfabb0 Dan Williams 2021-06-09 294 struct cxl_decoder *to_cxl_decoder(struct device *dev);
8fdcb1704f61a8 Dan Williams 2021-06-15 295 bool is_root_decoder(struct device *dev);
42c377a63d21df Dan Williams 2022-01-05 296 bool is_cxl_decoder(struct device *dev);
24be641caabe25 Ben Widawsky 2021-12-01 297 struct cxl_decoder *cxl_root_decoder_alloc(struct cxl_port *port,
24be641caabe25 Ben Widawsky 2021-12-01 298 unsigned int nr_targets);
24be641caabe25 Ben Widawsky 2021-12-01 299 struct cxl_decoder *cxl_switch_decoder_alloc(struct cxl_port *port,
24be641caabe25 Ben Widawsky 2021-12-01 300 unsigned int nr_targets);
48667f676189ec Dan Williams 2021-09-21 301 int cxl_decoder_add(struct cxl_decoder *cxld, int *target_map);
48667f676189ec Dan Williams 2021-09-21 302 int cxl_decoder_autoremove(struct device *host, struct cxl_decoder *cxld);
40ba17afdfabb0 Dan Williams 2021-06-09 303
:::::: The code at line 285 was first introduced by commit
:::::: 7237f27228ec660f73924f38e553e1d2b2ff65c4 cxl/port: Introduce cxl_port_to_pci_bus()
:::::: TO: Dan Williams <dan.j.williams(a)intel.com>
:::::: CC: Dan Williams <dan.j.williams(a)intel.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
8 months
[cxl:preview 42/53] drivers/cxl/pci.c:437:7: warning: variable 'size' set but not used
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl.git preview
head: e675fabdbbcdb6e32dba688a20fb0bd42e0e2d5d
commit: 9f7f5289523a8cd7746b8aeca9350c87ecdc5747 [42/53] cxl/pci: Implement wait for media active
config: i386-randconfig-a013 (https://download.01.org/0day-ci/archive/20220122/202201222041.iNxUcO0N-lk...)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 7b3d30728816403d1fd73cc5082e9fb761262bce)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl.git/commit/?id=9f...
git remote add cxl https://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl.git
git fetch --no-tags cxl preview
git checkout 9f7f5289523a8cd7746b8aeca9350c87ecdc5747
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=i386 SHELL=/bin/bash drivers/cxl/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
>> drivers/cxl/pci.c:437:7: warning: variable 'size' set but not used [-Wunused-but-set-variable]
u64 size;
^
1 warning generated.
vim +/size +437 drivers/cxl/pci.c
419
420 /*
421 * Wait up to @mbox_ready_timeout for the device to report memory
422 * active.
423 */
424 static int wait_for_media_ready(struct cxl_dev_state *cxlds)
425 {
426 struct pci_dev *pdev = to_pci_dev(cxlds->dev);
427 int d = cxlds->cxl_dvsec;
428 bool active = false;
429 u64 md_status;
430 int rc, i;
431
432 rc = wait_for_valid(cxlds);
433 if (rc)
434 return rc;
435
436 for (i = mbox_ready_timeout; i; i--) {
> 437 u64 size;
438 u32 temp;
439 int rc;
440
441 rc = pci_read_config_dword(
442 pdev, d + CXL_DVSEC_RANGE_SIZE_HIGH(0), &temp);
443 if (rc)
444 return rc;
445 size = (u64)temp << 32;
446
447 rc = pci_read_config_dword(
448 pdev, d + CXL_DVSEC_RANGE_SIZE_LOW(0), &temp);
449 if (rc)
450 return rc;
451 size |= temp & CXL_DVSEC_MEM_SIZE_LOW_MASK;
452
453 active = FIELD_GET(CXL_DVSEC_MEM_ACTIVE, temp);
454 if (active)
455 break;
456 msleep(1);
457 }
458
459 if (!active) {
460 dev_err(&pdev->dev,
461 "timeout awaiting memory active after %d seconds\n",
462 mbox_ready_timeout);
463 return -ETIMEDOUT;
464 }
465
466 md_status = readq(cxlds->regs.memdev + CXLMDEV_STATUS_OFFSET);
467 if (!CXLMDEV_READY(md_status))
468 return -EIO;
469
470 return 0;
471 }
472
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
8 months
[freescale-fslc:5.10-2.1.x-imx 6352/9999] drivers/firmware/imx/s400-api.c:455:3: error: implicit declaration of function '__cpuc_flush_dcache_area'
by kernel test robot
Hi Pankaj,
FYI, the error/warning still remains.
tree: https://github.com/Freescale/linux-fslc 5.10-2.1.x-imx
head: f28a9b90c506241e614212f2ce314d8f5460819d
commit: b57b8221587134978fbcd522e87aab6f44fea710 [6352/9999] s4muap arm: fix for compilation issue.
config: riscv-randconfig-r042-20220120 (https://download.01.org/0day-ci/archive/20220122/202201222042.AZZAUxFl-lk...)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project d4baf3b1322b84816aa623d8e8cb45a49cb68b84)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install riscv cross compiling tool for clang build
# apt-get install binutils-riscv64-linux-gnu
# https://github.com/Freescale/linux-fslc/commit/b57b8221587134978fbcd522e8...
git remote add freescale-fslc https://github.com/Freescale/linux-fslc
git fetch --no-tags freescale-fslc 5.10-2.1.x-imx
git checkout b57b8221587134978fbcd522e87aab6f44fea710
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=riscv SHELL=/bin/bash drivers/firmware/imx/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
drivers/firmware/imx/s400-api.c:245:16: warning: no previous prototype for function 'imx_soc_device_register' [-Wmissing-prototypes]
struct device *imx_soc_device_register(void)
^
drivers/firmware/imx/s400-api.c:245:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
struct device *imx_soc_device_register(void)
^
static
>> drivers/firmware/imx/s400-api.c:455:3: error: implicit declaration of function '__cpuc_flush_dcache_area' [-Werror,-Wimplicit-function-declaration]
__cpuc_flush_dcache_area((void *) s, e);
^
1 warning and 1 error generated.
vim +/__cpuc_flush_dcache_area +455 drivers/firmware/imx/s400-api.c
338
339 static int s4_muap_ioctl_get_info(struct s4_mu_device_ctx *dev_ctx,
340 unsigned long arg)
341 {
342 struct imx_s400_api *s400_muap_priv = dev_ctx->s400_muap_priv;
343 struct s4_read_info info;
344
345 int ret = -EINVAL;
346
347 ret = (int)copy_from_user(&info, (u8 *)arg,
348 sizeof(info));
349 if (ret) {
350 devctx_err(dev_ctx, "Fail copy shared memory config to user\n");
351 ret = -EFAULT;
352 goto exit;
353 }
354
355 s400_muap_priv->tx_msg.header = (s400_muap_priv->cmd_tag << 24) |
356 (info.cmd_id << 16) |
357 (info.size << 8) |
358 S400_VERSION;
359
360 ret = imx_s400_api_call(s400_muap_priv, (void *) &info.resp);
361 if (ret) {
362 devctx_err(dev_ctx, "%s: imx_s400_api_call failed for cmd [0x%x]\n",
363 __func__, info.cmd_id);
364 ret = -EIO;
365 }
366
367 ret = (int)copy_to_user((u8 *)arg, &info,
368 sizeof(info));
369 if (ret) {
370 devctx_err(dev_ctx, "Failed to copy iobuff setup to user\n");
371 ret = -EFAULT;
372 }
373
374 exit:
375 return ret;
376 }
377 static int s4_muap_ioctl_img_auth_cmd_handler(struct s4_mu_device_ctx *dev_ctx,
378 unsigned long arg)
379 {
380 struct imx_s400_api *s400_muap_priv = dev_ctx->s400_muap_priv;
381 struct s4_muap_auth_image s4_muap_auth_image;
382 struct container_hdr *phdr = &s4_muap_auth_image.chdr;
383 struct image_info *img = &s4_muap_auth_image.img_info[0];
384 unsigned long base_addr = (unsigned long) &s4_muap_auth_image;
385
386 int i;
387 u16 length;
388 unsigned long s, e;
389 int ret = -EINVAL;
390
391 /* Check if not already configured. */
392 if (dev_ctx->secure_mem.dma_addr != 0u) {
393 devctx_err(dev_ctx, "Shared memory not configured\n");
394 goto exit;
395 }
396
397 ret = (int)copy_from_user(&s4_muap_auth_image, (u8 *)arg,
398 sizeof(s4_muap_auth_image));
399 if (ret) {
400 devctx_err(dev_ctx, "Fail copy shared memory config to user\n");
401 ret = -EFAULT;
402 goto exit;
403 }
404
405
406 if (!IS_ALIGNED(base_addr, 4)) {
407 devctx_err(dev_ctx, "Error: Image's address is not 4 byte aligned\n");
408 return -EINVAL;
409 }
410
411 if (phdr->tag != 0x87 && phdr->version != 0x0) {
412 devctx_err(dev_ctx, "Error: Wrong container header\n");
413 return -EFAULT;
414 }
415
416 if (!phdr->num_images) {
417 devctx_err(dev_ctx, "Error: Wrong container, no image found\n");
418 return -EFAULT;
419 }
420 length = phdr->length_lsb + (phdr->length_msb << 8);
421
422 devctx_dbg(dev_ctx, "container length %u\n", length);
423
424 s400_muap_priv->tx_msg.header = (s400_muap_priv->cmd_tag << 24) |
425 (S400_OEM_CNTN_AUTH_REQ << 16) |
426 (S400_OEM_CNTN_AUTH_REQ_SIZE << 8) |
427 S400_VERSION;
428 s400_muap_priv->tx_msg.data[0] = ((u32)(((base_addr) >> 16) >> 16));
429 s400_muap_priv->tx_msg.data[1] = ((u32)(base_addr));
430
431 ret = imx_s400_api_call(s400_muap_priv, (void *) &s4_muap_auth_image.resp);
432 if (ret || (s4_muap_auth_image.resp != S400_SUCCESS_IND)) {
433 devctx_err(dev_ctx, "Error: Container Authentication failed.\n");
434 ret = -EIO;
435 goto exit;
436 }
437
438 /* Copy images to dest address */
439 for (i = 0; i < phdr->num_images; i++) {
440 img = img + i;
441
442 //devctx_dbg(dev_ctx, "img %d, dst 0x%x, src 0x%lux, size 0x%x\n",
443 // i, (u32) img->dst,
444 // (unsigned long)img->offset + phdr, img->size);
445
446 memcpy((void *)img->dst, (const void *)(img->offset + phdr),
447 img->size);
448
449 s = img->dst & ~(CACHELINE_SIZE - 1);
450 e = ALIGN(img->dst + img->size, CACHELINE_SIZE) - 1;
451
452 #ifdef CONFIG_ARM64
453 __flush_dcache_area((void *) s, e);
454 #else
> 455 __cpuc_flush_dcache_area((void *) s, e);
456 #endif
457 s400_muap_priv->tx_msg.header = (s400_muap_priv->cmd_tag << 24) |
458 (S400_VERIFY_IMAGE_REQ << 16) |
459 (S400_VERIFY_IMAGE_REQ_SIZE << 8) |
460 S400_VERSION;
461 s400_muap_priv->tx_msg.data[0] = 1 << i;
462 ret = imx_s400_api_call(s400_muap_priv, (void *) &s4_muap_auth_image.resp);
463 if (ret || (s4_muap_auth_image.resp != S400_SUCCESS_IND)) {
464 devctx_err(dev_ctx, "Error: Image Verification failed.\n");
465 ret = -EIO;
466 goto exit;
467 }
468 }
469
470 exit:
471 s400_muap_priv->tx_msg.header = (s400_muap_priv->cmd_tag << 24) |
472 (S400_RELEASE_CONTAINER_REQ << 16) |
473 (S400_RELEASE_CONTAINER_REQ_SIZE << 8) |
474 S400_VERSION;
475 ret = imx_s400_api_call(s400_muap_priv, (void *) &s4_muap_auth_image.resp);
476 if (ret || (s4_muap_auth_image.resp != S400_SUCCESS_IND)) {
477 devctx_err(dev_ctx, "Error: Release Container failed.\n");
478 ret = -EIO;
479 }
480
481 ret = (int)copy_to_user((u8 *)arg, &s4_muap_auth_image,
482 sizeof(s4_muap_auth_image));
483 if (ret) {
484 devctx_err(dev_ctx, "Failed to copy iobuff setup to user\n");
485 ret = -EFAULT;
486 }
487 return ret;
488 }
489
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
8 months