Re: [PATCH] scsi: ibmvfc: interface updates for future FPIN and MQ support
by kernel test robot
Hi Tyrel,
I love your patch! Yet something to improve:
[auto build test ERROR on powerpc/next]
[also build test ERROR on mkp-scsi/for-next scsi/for-next v5.9-rc3 next-20200828]
[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/0day-ci/linux/commits/Tyrel-Datwyler/scsi-ibmvfc-inter...
base: https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git next
config: powerpc-defconfig (attached as .config)
compiler: powerpc64-linux-gcc (GCC) 9.3.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
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=powerpc
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 drivers/scsi/ibmvscsi/ibmvfc.c:32:
>> drivers/scsi/ibmvscsi/ibmvfc.h:500:13: error: expected ':', ',', ';', '}' or '__attribute__' before 'nvmeof_vas_channels'
500 | __be32 num nvmeof_vas_channels;
| ^~~~~~~~~~~~~~~~~~~
>> drivers/scsi/ibmvscsi/ibmvfc.h:506:17: error: expected declaration specifiers or '...' before '(' token
506 | }__attrribute__((packed, aligned (8)));
| ^
>> drivers/scsi/ibmvscsi/ibmvfc.h:526:28: error: field 'common' has incomplete type
526 | struct ibmvfc_madd_common common;
| ^~~~~~
>> drivers/scsi/ibmvscsi/ibmvfc.h:627:2: error: expected ':', ',', ';', '}' or '__attribute__' before 'u8'
627 | u8 pad;
| ^~
In file included from include/linux/byteorder/big_endian.h:5,
from arch/powerpc/include/uapi/asm/byteorder.h:14,
from include/asm-generic/bitops/le.h:6,
from arch/powerpc/include/asm/bitops.h:246,
from include/linux/bitops.h:29,
from include/linux/kernel.h:12,
from include/linux/list.h:9,
from include/linux/module.h:12,
from drivers/scsi/ibmvscsi/ibmvfc.c:10:
drivers/scsi/ibmvscsi/ibmvfc.c: In function 'ibmvfc_handle_async':
>> drivers/scsi/ibmvscsi/ibmvfc.c:2665:75: error: 'struct ibmvfc_async_crq' has no member named 'event'
2665 | const struct ibmvfc_async_desc *desc = ibmvfc_get_ae_desc(be64_to_cpu(crq->event));
| ^~
include/uapi/linux/byteorder/big_endian.h:38:51: note: in definition of macro '__be64_to_cpu'
38 | #define __be64_to_cpu(x) ((__force __u64)(__be64)(x))
| ^
drivers/scsi/ibmvscsi/ibmvfc.c:2665:60: note: in expansion of macro 'be64_to_cpu'
2665 | const struct ibmvfc_async_desc *desc = ibmvfc_get_ae_desc(be64_to_cpu(crq->event));
| ^~~~~~~~~~~
>> drivers/scsi/ibmvscsi/ibmvfc.c:2669:57: error: 'struct ibmvfc_async_crq' has no member named 'scsi_id'
2669 | " node_name: %llx%s\n", desc->desc, be64_to_cpu(crq->scsi_id),
| ^~
include/uapi/linux/byteorder/big_endian.h:38:51: note: in definition of macro '__be64_to_cpu'
38 | #define __be64_to_cpu(x) ((__force __u64)(__be64)(x))
| ^
drivers/scsi/ibmvscsi/ibmvfc.h:818:4: note: in expansion of macro 'dev_err'
818 | dev_err((vhost)->dev, ##__VA_ARGS__); \
| ^~~~~~~
drivers/scsi/ibmvscsi/ibmvfc.c:2668:2: note: in expansion of macro 'ibmvfc_log'
2668 | ibmvfc_log(vhost, desc->log_level, "%s event received. scsi_id: %llx, wwpn: %llx,"
| ^~~~~~~~~~
>> drivers/scsi/ibmvscsi/ibmvfc.c:2670:21: error: 'struct ibmvfc_async_crq' has no member named 'wwpn'
2670 | be64_to_cpu(crq->wwpn), be64_to_cpu(crq->node_name),
| ^~
include/uapi/linux/byteorder/big_endian.h:38:51: note: in definition of macro '__be64_to_cpu'
38 | #define __be64_to_cpu(x) ((__force __u64)(__be64)(x))
| ^
drivers/scsi/ibmvscsi/ibmvfc.h:818:4: note: in expansion of macro 'dev_err'
818 | dev_err((vhost)->dev, ##__VA_ARGS__); \
| ^~~~~~~
drivers/scsi/ibmvscsi/ibmvfc.c:2668:2: note: in expansion of macro 'ibmvfc_log'
2668 | ibmvfc_log(vhost, desc->log_level, "%s event received. scsi_id: %llx, wwpn: %llx,"
| ^~~~~~~~~~
>> drivers/scsi/ibmvscsi/ibmvfc.c:2670:45: error: 'struct ibmvfc_async_crq' has no member named 'node_name'
2670 | be64_to_cpu(crq->wwpn), be64_to_cpu(crq->node_name),
| ^~
include/uapi/linux/byteorder/big_endian.h:38:51: note: in definition of macro '__be64_to_cpu'
38 | #define __be64_to_cpu(x) ((__force __u64)(__be64)(x))
| ^
drivers/scsi/ibmvscsi/ibmvfc.h:818:4: note: in expansion of macro 'dev_err'
818 | dev_err((vhost)->dev, ##__VA_ARGS__); \
| ^~~~~~~
drivers/scsi/ibmvscsi/ibmvfc.c:2668:2: note: in expansion of macro 'ibmvfc_log'
2668 | ibmvfc_log(vhost, desc->log_level, "%s event received. scsi_id: %llx, wwpn: %llx,"
| ^~~~~~~~~~
drivers/scsi/ibmvscsi/ibmvfc.c:2673:25: error: 'struct ibmvfc_async_crq' has no member named 'event'
2673 | switch (be64_to_cpu(crq->event)) {
| ^~
include/uapi/linux/byteorder/big_endian.h:38:51: note: in definition of macro '__be64_to_cpu'
38 | #define __be64_to_cpu(x) ((__force __u64)(__be64)(x))
| ^
drivers/scsi/ibmvscsi/ibmvfc.c:2673:10: note: in expansion of macro 'be64_to_cpu'
2673 | switch (be64_to_cpu(crq->event)) {
| ^~~~~~~~~~~
drivers/scsi/ibmvscsi/ibmvfc.c:2714:12: error: 'struct ibmvfc_async_crq' has no member named 'scsi_id'
2714 | if (!crq->scsi_id && !crq->wwpn && !crq->node_name)
| ^~
drivers/scsi/ibmvscsi/ibmvfc.c:2714:29: error: 'struct ibmvfc_async_crq' has no member named 'wwpn'
2714 | if (!crq->scsi_id && !crq->wwpn && !crq->node_name)
| ^~
drivers/scsi/ibmvscsi/ibmvfc.c:2714:43: error: 'struct ibmvfc_async_crq' has no member named 'node_name'
2714 | if (!crq->scsi_id && !crq->wwpn && !crq->node_name)
| ^~
drivers/scsi/ibmvscsi/ibmvfc.c:2716:11: error: 'struct ibmvfc_async_crq' has no member named 'scsi_id'
2716 | if (crq->scsi_id && cpu_to_be64(tgt->scsi_id) != crq->scsi_id)
| ^~
drivers/scsi/ibmvscsi/ibmvfc.c:2716:56: error: 'struct ibmvfc_async_crq' has no member named 'scsi_id'
2716 | if (crq->scsi_id && cpu_to_be64(tgt->scsi_id) != crq->scsi_id)
| ^~
drivers/scsi/ibmvscsi/ibmvfc.c:2718:11: error: 'struct ibmvfc_async_crq' has no member named 'wwpn'
2718 | if (crq->wwpn && cpu_to_be64(tgt->ids.port_name) != crq->wwpn)
| ^~
drivers/scsi/ibmvscsi/ibmvfc.c:2718:59: error: 'struct ibmvfc_async_crq' has no member named 'wwpn'
2718 | if (crq->wwpn && cpu_to_be64(tgt->ids.port_name) != crq->wwpn)
| ^~
drivers/scsi/ibmvscsi/ibmvfc.c:2720:11: error: 'struct ibmvfc_async_crq' has no member named 'node_name'
2720 | if (crq->node_name && cpu_to_be64(tgt->ids.node_name) != crq->node_name)
| ^~
drivers/scsi/ibmvscsi/ibmvfc.c:2720:64: error: 'struct ibmvfc_async_crq' has no member named 'node_name'
2720 | if (crq->node_name && cpu_to_be64(tgt->ids.node_name) != crq->node_name)
| ^~
In file included from include/linux/byteorder/big_endian.h:5,
from arch/powerpc/include/uapi/asm/byteorder.h:14,
from include/asm-generic/bitops/le.h:6,
from arch/powerpc/include/asm/bitops.h:246,
from include/linux/bitops.h:29,
from include/linux/kernel.h:12,
from include/linux/list.h:9,
from include/linux/module.h:12,
from drivers/scsi/ibmvscsi/ibmvfc.c:10:
drivers/scsi/ibmvscsi/ibmvfc.c:2722:42: error: 'struct ibmvfc_async_crq' has no member named 'event'
2722 | if (tgt->need_login && be64_to_cpu(crq->event) == IBMVFC_AE_ELS_LOGO)
| ^~
include/uapi/linux/byteorder/big_endian.h:38:51: note: in definition of macro '__be64_to_cpu'
38 | #define __be64_to_cpu(x) ((__force __u64)(__be64)(x))
| ^
drivers/scsi/ibmvscsi/ibmvfc.c:2722:27: note: in expansion of macro 'be64_to_cpu'
2722 | if (tgt->need_login && be64_to_cpu(crq->event) == IBMVFC_AE_ELS_LOGO)
| ^~~~~~~~~~~
drivers/scsi/ibmvscsi/ibmvfc.c:2724:43: error: 'struct ibmvfc_async_crq' has no member named 'event'
2724 | if (!tgt->need_login || be64_to_cpu(crq->event) == IBMVFC_AE_ELS_PLOGI) {
| ^~
include/uapi/linux/byteorder/big_endian.h:38:51: note: in definition of macro '__be64_to_cpu'
38 | #define __be64_to_cpu(x) ((__force __u64)(__be64)(x))
| ^
drivers/scsi/ibmvscsi/ibmvfc.c:2724:28: note: in expansion of macro 'be64_to_cpu'
2724 | if (!tgt->need_login || be64_to_cpu(crq->event) == IBMVFC_AE_ELS_PLOGI) {
| ^~~~~~~~~~~
In file included from include/linux/device.h:15,
from include/linux/dma-mapping.h:7,
from drivers/scsi/ibmvscsi/ibmvfc.c:12:
drivers/scsi/ibmvscsi/ibmvfc.c:2741:66: error: 'struct ibmvfc_async_crq' has no member named 'event'
2741 | dev_err(vhost->dev, "Unknown async event received: %lld\n", crq->event);
| ^~
include/linux/dev_printk.h:104:32: note: in definition of macro 'dev_err'
104 | _dev_err(dev, dev_fmt(fmt), ##__VA_ARGS__)
| ^~~~~~~~~~~
# https://github.com/0day-ci/linux/commit/b2aced49faf50075e9a74e7a253d1ad77...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Tyrel-Datwyler/scsi-ibmvfc-interface-updates-for-future-FPIN-and-MQ-support/20200901-012005
git checkout b2aced49faf50075e9a74e7a253d1ad77cce1c0c
vim +500 drivers/scsi/ibmvscsi/ibmvfc.h
490
491 struct ibmvfc_channel_enquiry {
492 struct ibmvfc_mad_common common;
493 __be32 flags;
494 #define IBMVFC_NO_CHANNELS_TO_CRQ_SUPPORT 0x01
495 #define IBMVFC_SUPPORT_VARIABLE_SUBQ_MSG 0x02
496 #define IBMVFC_NO_N_TO_M_CHANNELS_SUPPORT 0x04
497 __be32 num_scsi_subq_channels;
498 __be32 num_nvmeof_subq_channels;
499 __be32 num_scsi_vas_channels;
> 500 __be32 num nvmeof_vas_channels;
501 }__attribute__((packed, aligned (8)));
502
503 struct ibmvfc_channel_setup_mad {
504 struct ibmvfc_mad_common common;
505 struct srp_direct_buf buffer;
> 506 }__attrribute__((packed, aligned (8)));
507
508 #define IBMVFC_MAX_CHANNELS 502
509
510 struct ibmvfc_channel_setup {
511 __be32 flags;
512 #define IBMVFC_CANCEL_CHANNELS 0x01
513 #define IBMVFC_USE_BUFFER 0x02
514 #define IBMVFC_CHANNELS_CANCELED 0x04
515 __be32 reserved;
516 __be32 num_scsi_subq_channels;
517 __be32 num_nvmeof_subq_channels;
518 __be32 num_scsi_vas_channels;
519 __be32 num_nvmeof_vas_channels;
520 struct srp_direct_buf buffer;
521 __be64 reserved2[5];
522 __be64 channel_handles[IBMVFC_MAX_CHANNELS];
523 }__attribute__((packed, aligned (8)));
524
525 struct ibmvfc_connection_info {
> 526 struct ibmvfc_madd_common common;
527 __be64 information_bits;
528 #define IBMVFC_NO_FC_IO_CHANNEL 0x01
529 #define IBMVFC_NO_PHYP_VAS 0x02
530 #define IBMVFC_NO_PHYP_SUBQ 0x04
531 #define IBMVFC_PHYP_DEPRECATED_SUBQ 0x08
532 #define IBMVFC_PHYP_PRESERVED_SUBQ 0x10
533 #define IBMVFC_PHYP_FULL_SUBQ 0x20
534 __be64 reserved[16];
535 }__attribute__((packed, aligned (8)));
536
537 struct ibmvfc_trace_start_entry {
538 u32 xfer_len;
539 }__attribute__((packed));
540
541 struct ibmvfc_trace_end_entry {
542 u16 status;
543 u16 error;
544 u8 fcp_rsp_flags;
545 u8 rsp_code;
546 u8 scsi_status;
547 u8 reserved;
548 }__attribute__((packed));
549
550 struct ibmvfc_trace_entry {
551 struct ibmvfc_event *evt;
552 u32 time;
553 u32 scsi_id;
554 u32 lun;
555 u8 fmt;
556 u8 op_code;
557 u8 tmf_flags;
558 u8 type;
559 #define IBMVFC_TRC_START 0x00
560 #define IBMVFC_TRC_END 0xff
561 union {
562 struct ibmvfc_trace_start_entry start;
563 struct ibmvfc_trace_end_entry end;
564 } u;
565 }__attribute__((packed, aligned (8)));
566
567 enum ibmvfc_crq_formats {
568 IBMVFC_CMD_FORMAT = 0x01,
569 IBMVFC_ASYNC_EVENT = 0x02,
570 IBMVFC_MAD_FORMAT = 0x04,
571 };
572
573 enum ibmvfc_async_event {
574 IBMVFC_AE_ELS_PLOGI = 0x0001,
575 IBMVFC_AE_ELS_LOGO = 0x0002,
576 IBMVFC_AE_ELS_PRLO = 0x0004,
577 IBMVFC_AE_SCN_NPORT = 0x0008,
578 IBMVFC_AE_SCN_GROUP = 0x0010,
579 IBMVFC_AE_SCN_DOMAIN = 0x0020,
580 IBMVFC_AE_SCN_FABRIC = 0x0040,
581 IBMVFC_AE_LINK_UP = 0x0080,
582 IBMVFC_AE_LINK_DOWN = 0x0100,
583 IBMVFC_AE_LINK_DEAD = 0x0200,
584 IBMVFC_AE_HALT = 0x0400,
585 IBMVFC_AE_RESUME = 0x0800,
586 IBMVFC_AE_ADAPTER_FAILED = 0x1000,
587 IBMVFC_AE_FPIN = 0x2000,
588 };
589
590 struct ibmvfc_async_desc {
591 const char *desc;
592 enum ibmvfc_async_event ae;
593 int log_level;
594 };
595
596 struct ibmvfc_crq {
597 volatile u8 valid;
598 volatile u8 format;
599 u8 reserved[6];
600 volatile __be64 ioba;
601 }__attribute__((packed, aligned (8)));
602
603 struct ibmvfc_crq_queue {
604 struct ibmvfc_crq *msgs;
605 int size, cur;
606 dma_addr_t msg_token;
607 };
608
609 enum ibmvfc_ae_link_state {
610 IBMVFC_AE_LS_LINK_UP = 0x01,
611 IBMVFC_AE_LS_LINK_BOUNCED = 0x02,
612 IBMVFC_AE_LS_LINK_DOWN = 0x04,
613 IBMVFC_AE_LS_LINK_DEAD = 0x08,
614 };
615
616 enum ibmvfc_ae_fpin_status {
617 IBMVFC_AE_FPIN_LINK_CONGESTED = 0x1,
618 IBMVFC_AE_FPIN_PORT_CONGESTED = 0x2,
619 IBMVFC_AE_FPIN_PORT_CLEARED = 0x3,
620 IBMVFC_AE_FPIN_PORT_DEGRADED = 0x4,
621 };
622
623 struct ibmvfc_async_crq {
624 volatile u8 valid;
625 u8 link_state;
626 u8 fpin_status
> 627 u8 pad;
628 __be32 pad2;
629 volatile __be64 event;
630 volatile __be64 scsi_id;
631 volatile __be64 wwpn;
632 volatile __be64 node_name;
633 __be64 reserved;
634 }__attribute__((packed, aligned (8)));
635
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
6 months
[jkirsher-next-queue:dev-queue 6/54] drivers/net/ethernet/intel/igb/igb_main.c:2881:6: warning: no previous prototype for 'igb_xdp_ring_update_tail'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue.git dev-queue
head: 6d046ecc1304263afa6f58b7617da6927a08fa72
commit: 614e8e50553041d02fbc50dbe192ea8df9399321 [6/54] igb: add XDP support
config: ia64-randconfig-r005-20200831 (attached as .config)
compiler: ia64-linux-gcc (GCC) 9.3.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
git checkout 614e8e50553041d02fbc50dbe192ea8df9399321
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=ia64
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 arch/ia64/include/asm/pgtable.h:154,
from include/linux/pgtable.h:6,
from include/linux/mm.h:33,
from include/linux/pagemap.h:8,
from drivers/net/ethernet/intel/igb/igb_main.c:11:
arch/ia64/include/asm/mmu_context.h: In function 'reload_context':
arch/ia64/include/asm/mmu_context.h:137:41: warning: variable 'old_rr4' set but not used [-Wunused-but-set-variable]
137 | unsigned long rr0, rr1, rr2, rr3, rr4, old_rr4;
| ^~~~~~~
drivers/net/ethernet/intel/igb/igb_main.c: At top level:
>> drivers/net/ethernet/intel/igb/igb_main.c:2881:6: warning: no previous prototype for 'igb_xdp_ring_update_tail' [-Wmissing-prototypes]
2881 | void igb_xdp_ring_update_tail(struct igb_ring *ring)
| ^~~~~~~~~~~~~~~~~~~~~~~~
# https://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue.git/c...
git remote add jkirsher-next-queue https://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue.git
git fetch --no-tags jkirsher-next-queue dev-queue
git checkout 614e8e50553041d02fbc50dbe192ea8df9399321
vim +/igb_xdp_ring_update_tail +2881 drivers/net/ethernet/intel/igb/igb_main.c
2880
> 2881 void igb_xdp_ring_update_tail(struct igb_ring *ring)
2882 {
2883 /* Force memory writes to complete before letting h/w know there
2884 * are new descriptors to fetch.
2885 */
2886 wmb();
2887 writel(ring->next_to_use, ring->tail);
2888 }
2889
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
6 months
[gfs2:for-next.bob6m 4/11] arch/arc/include/asm/bitops.h:235:1: sparse: sparse: context imbalance in 'gfs2_remove_from_journal' - different lock contexts for basic block
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2.git for-next.bob6m
head: fd5ce905071cc34294900a21a773d9f8c72f5119
commit: 13305ed1a4a46cb3cd7352bd793638133e601f01 [4/11] gfs2: Wipe jdata and ail1 in gfs2_journal_wipe, formerly gfs2_meta_wipe
config: arc-randconfig-s032-20200831 (attached as .config)
compiler: arceb-elf-gcc (GCC) 9.3.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.2-191-g10164920-dirty
git checkout 13305ed1a4a46cb3cd7352bd793638133e601f01
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=arc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
fs/gfs2/meta_io.c: note: in included file (through include/linux/bitops.h, include/linux/kernel.h, include/asm-generic/bug.h, ...):
>> arch/arc/include/asm/bitops.h:235:1: sparse: sparse: context imbalance in 'gfs2_remove_from_journal' - different lock contexts for basic block
# https://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2.git/commi...
git remote add gfs2 https://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2.git
git fetch --no-tags gfs2 for-next.bob6m
git checkout 13305ed1a4a46cb3cd7352bd793638133e601f01
vim +/gfs2_remove_from_journal +235 arch/arc/include/asm/bitops.h
04e2eee4b02edc Vineet Gupta 2015-03-31 214
04e2eee4b02edc Vineet Gupta 2015-03-31 215 #define BIT_OPS(op, c_op, asm_op) \
04e2eee4b02edc Vineet Gupta 2015-03-31 216 \
04e2eee4b02edc Vineet Gupta 2015-03-31 217 /* set_bit(), clear_bit(), change_bit() */ \
04e2eee4b02edc Vineet Gupta 2015-03-31 218 BIT_OP(op, c_op, asm_op) \
04e2eee4b02edc Vineet Gupta 2015-03-31 219 \
04e2eee4b02edc Vineet Gupta 2015-03-31 220 /* test_and_set_bit(), test_and_clear_bit(), test_and_change_bit() */\
04e2eee4b02edc Vineet Gupta 2015-03-31 221 TEST_N_BIT_OP(op, c_op, asm_op) \
04e2eee4b02edc Vineet Gupta 2015-03-31 222 \
04e2eee4b02edc Vineet Gupta 2015-03-31 223 /* __set_bit(), __clear_bit(), __change_bit() */ \
04e2eee4b02edc Vineet Gupta 2015-03-31 224 __BIT_OP(op, c_op, asm_op) \
04e2eee4b02edc Vineet Gupta 2015-03-31 225 \
04e2eee4b02edc Vineet Gupta 2015-03-31 226 /* __test_and_set_bit(), __test_and_clear_bit(), __test_and_change_bit() */\
04e2eee4b02edc Vineet Gupta 2015-03-31 227 __TEST_N_BIT_OP(op, c_op, asm_op)
04e2eee4b02edc Vineet Gupta 2015-03-31 228
a5a10d99a94660 Noam Camus 2015-05-16 229 #ifndef CONFIG_ARC_PLAT_EZNPS
04e2eee4b02edc Vineet Gupta 2015-03-31 230 BIT_OPS(set, |, bset)
04e2eee4b02edc Vineet Gupta 2015-03-31 231 BIT_OPS(clear, & ~, bclr)
04e2eee4b02edc Vineet Gupta 2015-03-31 232 BIT_OPS(change, ^, bxor)
a5a10d99a94660 Noam Camus 2015-05-16 233 #else
a5a10d99a94660 Noam Camus 2015-05-16 234 BIT_OPS(set, |, CTOP_INST_AOR_DI_R2_R2_R3)
a5a10d99a94660 Noam Camus 2015-05-16 @235 BIT_OPS(clear, & ~, CTOP_INST_AAND_DI_R2_R2_R3)
a5a10d99a94660 Noam Camus 2015-05-16 236 BIT_OPS(change, ^, CTOP_INST_AXOR_DI_R2_R2_R3)
a5a10d99a94660 Noam Camus 2015-05-16 237 #endif
14e968bad788de Vineet Gupta 2013-01-18 238
:::::: The code at line 235 was first introduced by commit
:::::: a5a10d99a946602cf4ae50eadc65c2480dbd2e56 ARC: [plat-eznps] Use dedicated atomic/bitops/cmpxchg
:::::: TO: Noam Camus <noamc(a)ezchip.com>
:::::: CC: Vineet Gupta <vgupta(a)synopsys.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
6 months
[plbossart-sound:fix/inclusing-language-bclk-fsync 10/10] sound/soc/intel/keembay/kmb_platform.c:361:13: error: 'struct kmb_i2s_info' has no member named 'master'
by kernel test robot
tree: https://github.com/plbossart/sound fix/inclusing-language-bclk-fsync
head: 2e789b27772d47971d275ada4be1e2c4f4f101ea
commit: 2e789b27772d47971d275ada4be1e2c4f4f101ea [10/10] ASoC: Intel: keembay: use inclusive language for bclk and fsync
config: nios2-allyesconfig (attached as .config)
compiler: nios2-linux-gcc (GCC) 9.3.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
git checkout 2e789b27772d47971d275ada4be1e2c4f4f101ea
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=nios2
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 >>):
sound/soc/intel/keembay/kmb_platform.c: In function 'kmb_i2s_start':
>> sound/soc/intel/keembay/kmb_platform.c:361:13: error: 'struct kmb_i2s_info' has no member named 'master'
361 | if (kmb_i2s->master)
| ^~
sound/soc/intel/keembay/kmb_platform.c: In function 'kmb_set_dai_fmt':
sound/soc/intel/keembay/kmb_platform.c:398:10: error: 'struct kmb_i2s_info' has no member named 'master'
398 | kmb_i2s->master = false;
| ^~
>> sound/soc/intel/keembay/kmb_platform.c:402:10: error: 'MASTER_MODE' undeclared (first use in this function); did you mean 'ATTR_MODE'?
402 | writel(MASTER_MODE, kmb_i2s->pss_base + I2S_GEN_CFG_0);
| ^~~~~~~~~~~
| ATTR_MODE
sound/soc/intel/keembay/kmb_platform.c:402:10: note: each undeclared identifier is reported only once for each function it appears in
sound/soc/intel/keembay/kmb_platform.c:413:10: error: 'struct kmb_i2s_info' has no member named 'master'
413 | kmb_i2s->master = true;
| ^~
sound/soc/intel/keembay/kmb_platform.c: In function 'kmb_dai_hw_params':
sound/soc/intel/keembay/kmb_platform.c:513:14: error: 'struct kmb_i2s_info' has no member named 'master'
513 | if (kmb_i2s->master)
| ^~
sound/soc/intel/keembay/kmb_platform.c:518:6: error: 'MASTER_MODE' undeclared (first use in this function); did you mean 'ATTR_MODE'?
518 | !MASTER_MODE | TDM_OPERATION;
| ^~~~~~~~~~~
| ATTR_MODE
sound/soc/intel/keembay/kmb_platform.c:527:16: error: 'struct kmb_i2s_info' has no member named 'master'
527 | if (!(kmb_i2s->master))
| ^~
sound/soc/intel/keembay/kmb_platform.c:547:13: error: 'struct kmb_i2s_info' has no member named 'master'
547 | if (kmb_i2s->master) {
| ^~
# https://github.com/plbossart/sound/commit/2e789b27772d47971d275ada4be1e2c...
git remote add plbossart-sound https://github.com/plbossart/sound
git fetch --no-tags plbossart-sound fix/inclusing-language-bclk-fsync
git checkout 2e789b27772d47971d275ada4be1e2c4f4f101ea
vim +361 sound/soc/intel/keembay/kmb_platform.c
c5477e966728f8 Sia Jee Heng 2020-06-09 345
c5477e966728f8 Sia Jee Heng 2020-06-09 346 static void kmb_i2s_start(struct kmb_i2s_info *kmb_i2s,
c5477e966728f8 Sia Jee Heng 2020-06-09 347 struct snd_pcm_substream *substream)
c5477e966728f8 Sia Jee Heng 2020-06-09 348 {
c5477e966728f8 Sia Jee Heng 2020-06-09 349 struct i2s_clk_config_data *config = &kmb_i2s->config;
c5477e966728f8 Sia Jee Heng 2020-06-09 350
c5477e966728f8 Sia Jee Heng 2020-06-09 351 /* I2S Programming sequence in Keem_Bay_VPU_DB_v1.1 */
c5477e966728f8 Sia Jee Heng 2020-06-09 352 writel(1, kmb_i2s->i2s_base + IER);
c5477e966728f8 Sia Jee Heng 2020-06-09 353
c5477e966728f8 Sia Jee Heng 2020-06-09 354 if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK)
c5477e966728f8 Sia Jee Heng 2020-06-09 355 writel(1, kmb_i2s->i2s_base + ITER);
c5477e966728f8 Sia Jee Heng 2020-06-09 356 else
c5477e966728f8 Sia Jee Heng 2020-06-09 357 writel(1, kmb_i2s->i2s_base + IRER);
c5477e966728f8 Sia Jee Heng 2020-06-09 358
c5477e966728f8 Sia Jee Heng 2020-06-09 359 kmb_i2s_irq_trigger(kmb_i2s, substream->stream, config->chan_nr, true);
c5477e966728f8 Sia Jee Heng 2020-06-09 360
c5477e966728f8 Sia Jee Heng 2020-06-09 @361 if (kmb_i2s->master)
c5477e966728f8 Sia Jee Heng 2020-06-09 362 writel(1, kmb_i2s->i2s_base + CER);
c5477e966728f8 Sia Jee Heng 2020-06-09 363 else
c5477e966728f8 Sia Jee Heng 2020-06-09 364 writel(0, kmb_i2s->i2s_base + CER);
c5477e966728f8 Sia Jee Heng 2020-06-09 365 }
c5477e966728f8 Sia Jee Heng 2020-06-09 366
c5477e966728f8 Sia Jee Heng 2020-06-09 367 static void kmb_i2s_stop(struct kmb_i2s_info *kmb_i2s,
c5477e966728f8 Sia Jee Heng 2020-06-09 368 struct snd_pcm_substream *substream)
c5477e966728f8 Sia Jee Heng 2020-06-09 369 {
c5477e966728f8 Sia Jee Heng 2020-06-09 370 /* I2S Programming sequence in Keem_Bay_VPU_DB_v1.1 */
c5477e966728f8 Sia Jee Heng 2020-06-09 371 kmb_i2s_clear_irqs(kmb_i2s, substream->stream);
c5477e966728f8 Sia Jee Heng 2020-06-09 372
c5477e966728f8 Sia Jee Heng 2020-06-09 373 if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK)
c5477e966728f8 Sia Jee Heng 2020-06-09 374 writel(0, kmb_i2s->i2s_base + ITER);
c5477e966728f8 Sia Jee Heng 2020-06-09 375 else
c5477e966728f8 Sia Jee Heng 2020-06-09 376 writel(0, kmb_i2s->i2s_base + IRER);
c5477e966728f8 Sia Jee Heng 2020-06-09 377
c5477e966728f8 Sia Jee Heng 2020-06-09 378 kmb_i2s_irq_trigger(kmb_i2s, substream->stream, 8, false);
c5477e966728f8 Sia Jee Heng 2020-06-09 379
c5477e966728f8 Sia Jee Heng 2020-06-09 380 if (!kmb_i2s->active) {
c5477e966728f8 Sia Jee Heng 2020-06-09 381 writel(0, kmb_i2s->i2s_base + CER);
c5477e966728f8 Sia Jee Heng 2020-06-09 382 writel(0, kmb_i2s->i2s_base + IER);
c5477e966728f8 Sia Jee Heng 2020-06-09 383 }
c5477e966728f8 Sia Jee Heng 2020-06-09 384 }
c5477e966728f8 Sia Jee Heng 2020-06-09 385
c5477e966728f8 Sia Jee Heng 2020-06-09 386 static void kmb_disable_clk(void *clk)
c5477e966728f8 Sia Jee Heng 2020-06-09 387 {
c5477e966728f8 Sia Jee Heng 2020-06-09 388 clk_disable_unprepare(clk);
c5477e966728f8 Sia Jee Heng 2020-06-09 389 }
c5477e966728f8 Sia Jee Heng 2020-06-09 390
c5477e966728f8 Sia Jee Heng 2020-06-09 391 static int kmb_set_dai_fmt(struct snd_soc_dai *cpu_dai, unsigned int fmt)
c5477e966728f8 Sia Jee Heng 2020-06-09 392 {
c5477e966728f8 Sia Jee Heng 2020-06-09 393 struct kmb_i2s_info *kmb_i2s = snd_soc_dai_get_drvdata(cpu_dai);
c5477e966728f8 Sia Jee Heng 2020-06-09 394 int ret;
c5477e966728f8 Sia Jee Heng 2020-06-09 395
2e789b27772d47 Pierre-Louis Bossart 2020-08-31 396 switch (fmt & SND_SOC_DAIFMT_CLOCK_PROVIDER_MASK) {
2e789b27772d47 Pierre-Louis Bossart 2020-08-31 397 case SND_SOC_DAIFMT_CBP_CFP:
c5477e966728f8 Sia Jee Heng 2020-06-09 398 kmb_i2s->master = false;
c5477e966728f8 Sia Jee Heng 2020-06-09 399 ret = 0;
c5477e966728f8 Sia Jee Heng 2020-06-09 400 break;
2e789b27772d47 Pierre-Louis Bossart 2020-08-31 401 case SND_SOC_DAIFMT_CBF_CFF:
c5477e966728f8 Sia Jee Heng 2020-06-09 @402 writel(MASTER_MODE, kmb_i2s->pss_base + I2S_GEN_CFG_0);
c5477e966728f8 Sia Jee Heng 2020-06-09 403
c5477e966728f8 Sia Jee Heng 2020-06-09 404 ret = clk_prepare_enable(kmb_i2s->clk_i2s);
c5477e966728f8 Sia Jee Heng 2020-06-09 405 if (ret < 0)
c5477e966728f8 Sia Jee Heng 2020-06-09 406 return ret;
c5477e966728f8 Sia Jee Heng 2020-06-09 407
c5477e966728f8 Sia Jee Heng 2020-06-09 408 ret = devm_add_action_or_reset(kmb_i2s->dev, kmb_disable_clk,
c5477e966728f8 Sia Jee Heng 2020-06-09 409 kmb_i2s->clk_i2s);
c5477e966728f8 Sia Jee Heng 2020-06-09 410 if (ret)
c5477e966728f8 Sia Jee Heng 2020-06-09 411 return ret;
c5477e966728f8 Sia Jee Heng 2020-06-09 412
c5477e966728f8 Sia Jee Heng 2020-06-09 413 kmb_i2s->master = true;
c5477e966728f8 Sia Jee Heng 2020-06-09 414 break;
c5477e966728f8 Sia Jee Heng 2020-06-09 415 default:
c5477e966728f8 Sia Jee Heng 2020-06-09 416 return -EINVAL;
c5477e966728f8 Sia Jee Heng 2020-06-09 417 }
c5477e966728f8 Sia Jee Heng 2020-06-09 418
c5477e966728f8 Sia Jee Heng 2020-06-09 419 return ret;
c5477e966728f8 Sia Jee Heng 2020-06-09 420 }
c5477e966728f8 Sia Jee Heng 2020-06-09 421
:::::: The code at line 361 was first introduced by commit
:::::: c5477e966728f8e9d1434543d4ee677d515e1078 ASoC: Intel: Add KeemBay platform driver
:::::: TO: Sia Jee Heng <jee.heng.sia(a)intel.com>
:::::: CC: Mark Brown <broonie(a)kernel.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
6 months
[android-common:android12-5.4 3942/9974] drivers/rtc/hctosys.c:24:5: warning: no previous prototype for 'rtc_hctosys'
by kernel test robot
Hi Steve,
FYI, the error/warning still remains.
tree: https://android.googlesource.com/kernel/common android12-5.4
head: 700ba04e5a064b221a9966af8be5d70e8986ca85
commit: 5f378fd56aa3988be21e859254a2d72628d044c6 [3942/9974] ANDROID: rtc: class: support hctosys from modular RTC drivers
config: i386-randconfig-r034-20200831 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce (this is a W=1 build):
git checkout 5f378fd56aa3988be21e859254a2d72628d044c6
# save the attached .config to linux build tree
make W=1 ARCH=i386
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/rtc/hctosys.c:24:5: warning: no previous prototype for 'rtc_hctosys' [-Wmissing-prototypes]
24 | int rtc_hctosys(void)
| ^~~~~~~~~~~
git remote add android-common https://android.googlesource.com/kernel/common
git fetch --no-tags android-common android12-5.4
git checkout 5f378fd56aa3988be21e859254a2d72628d044c6
vim +/rtc_hctosys +24 drivers/rtc/hctosys.c
12
13 /* IMPORTANT: the RTC only stores whole seconds. It is arbitrary
14 * whether it stores the most close value or the value with partial
15 * seconds truncated. However, it is important that we use it to store
16 * the truncated value. This is because otherwise it is necessary,
17 * in an rtc sync function, to read both xtime.tv_sec and
18 * xtime.tv_nsec. On some processors (i.e. ARM), an atomic read
19 * of >32bits is not possible. So storing the most close value would
20 * slow down the sync API. So here we have the truncated value and
21 * the best guess is to add 0.5s.
22 */
23
> 24 int rtc_hctosys(void)
25 {
26 int err = -ENODEV;
27 struct rtc_time tm;
28 struct timespec64 tv64 = {
29 .tv_nsec = NSEC_PER_SEC >> 1,
30 };
31 struct rtc_device *rtc = rtc_class_open(CONFIG_RTC_HCTOSYS_DEVICE);
32
33 if (!rtc) {
34 pr_info("unable to open rtc device (%s)\n",
35 CONFIG_RTC_HCTOSYS_DEVICE);
36 goto err_open;
37 }
38
39 err = rtc_read_time(rtc, &tm);
40 if (err) {
41 dev_err(rtc->dev.parent,
42 "hctosys: unable to read the hardware clock\n");
43 goto err_read;
44 }
45
46 tv64.tv_sec = rtc_tm_to_time64(&tm);
47
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
6 months
arch/x86/mm/init.o: warning: objtool: save_mr()+0x3a: unreachable instruction
by kernel test robot
CC: linux-kernel(a)vger.kernel.org
TO: Josh Poimboeuf <jpoimboe(a)redhat.com>
CC: Borislav Petkov <bp(a)suse.de>
CC: Kees Cook <keescook(a)chromium.org>
CC: Miroslav Benes <mbenes(a)suse.cz>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: b51594df17d0ce80b9f9f35394a1f42d7ac94472
commit: bd841d6154f5f41f8a32d3c1b0bc229e326e640a objtool: Fix CONFIG_UBSAN_TRAP unreachable warnings
date: 5 months ago
config: x86_64-randconfig-r036-20200831 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project c10e63677f5d20f18010f8f68c631ddc97546f7d)
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 x86_64 cross compiling tool for clang build
# apt-get install binutils-x86-64-linux-gnu
git checkout bd841d6154f5f41f8a32d3c1b0bc229e326e640a
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64
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 >>):
>> arch/x86/mm/init.o: warning: objtool: save_mr()+0x3a: unreachable instruction
--
>> arch/x86/kernel/apic/apic.o: warning: objtool: __apic_intr_mode_select()+0x98: unreachable instruction
--
>> fs/block_dev.o: warning: objtool: bdev_cache_init()+0x74: unreachable instruction
--
>> fs/buffer.o: warning: objtool: __x64_sys_bdflush()+0x6f: unreachable instruction
--
>> fs/reiserfs/prints.o: warning: objtool: reiserfs_abort()+0xc1: unreachable instruction
--
>> fs/reiserfs/item_ops.o: warning: objtool: direntry_create_vi()+0x25e: unreachable instruction
--
>> fs/reiserfs/journal.o: warning: objtool: journal_mark_dirty()+0x2d2: unreachable instruction
--
>> fs/ext4/super.o: warning: objtool: ext4_handle_error()+0xac: unreachable instruction
--
>> fs/ocfs2/journal.o: warning: objtool: __ocfs2_recovery_thread()+0xef2: unreachable instruction
--
>> block/bio-integrity.o: warning: objtool: bio_integrity_init()+0x55: unreachable instruction
--
>> block/bio.o: warning: objtool: init_bio()+0x89: unreachable instruction
..
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
6 months