Re: [PATCH] xhci: dump event ring, testpatch for Luciano

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Mathias,

I love your patch! Perhaps something to improve:

[auto build test WARNING on v4.16]
[also build test WARNING on next-20180410]
[cannot apply to usb/usb-testing]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Mathias-Nyman/xhci-dump-event-ring-testpatch-for-Luciano/20180410-211241
config: i386-randconfig-x008-201814 (attached as .config)
compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
reproduce:
        # save the attached .config to linux build tree
        make ARCH=i386 

All warnings (new ones prefixed by >>):

   In file included from drivers/usb/host/xhci-ring.c:58:0:
   drivers/usb/host/xhci-ring.c: In function 'xhci_dump_ev_ring':
>> drivers/usb/host/xhci-ring.c:2272:19: warning: format '%llx' expects argument of type 'long long unsigned int', but argument 3 has type 'dma_addr_t {aka unsigned int}' [-Wformat=]
      xhci_warn(xhci, "%llx: %s\n", seg->dma + (i * sizeof(union xhci_trb)),
                      ^             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/usb/host/xhci.h:1900:48: note: in definition of macro 'xhci_warn'
     dev_warn(xhci_to_hcd(xhci)->self.controller , fmt , ## args)
                                                   ^~~
   drivers/usb/host/xhci-ring.c:2278:18: warning: format '%llx' expects argument of type 'long long unsigned int', but argument 3 has type 'dma_addr_t {aka unsigned int}' [-Wformat=]
     xhci_warn(xhci, "dequeue: %llx\n", xhci_trb_virt_to_dma(seg, xhci->event_ring->dequeue));
                     ^                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/usb/host/xhci.h:1900:48: note: in definition of macro 'xhci_warn'
     dev_warn(xhci_to_hcd(xhci)->self.controller , fmt , ## args)
                                                   ^~~
   Cyclomatic Complexity 5 include/linux/compiler.h:__read_once_size
   Cyclomatic Complexity 5 include/linux/compiler.h:__write_once_size
   Cyclomatic Complexity 2 arch/x86/include/asm/bitops.h:set_bit
   Cyclomatic Complexity 1 arch/x86/include/asm/bitops.h:test_and_clear_bit
   Cyclomatic Complexity 1 arch/x86/include/asm/bitops.h:constant_test_bit
   Cyclomatic Complexity 1 arch/x86/include/asm/bitops.h:variable_test_bit
   Cyclomatic Complexity 1 include/linux/list.h:INIT_LIST_HEAD
   Cyclomatic Complexity 2 include/linux/list.h:__list_add
   Cyclomatic Complexity 1 include/linux/list.h:list_add_tail
   Cyclomatic Complexity 1 include/linux/list.h:__list_del
   Cyclomatic Complexity 2 include/linux/list.h:__list_del_entry
   Cyclomatic Complexity 1 include/linux/list.h:list_del
   Cyclomatic Complexity 1 include/linux/list.h:list_del_init
   Cyclomatic Complexity 1 include/linux/list.h:list_empty
   Cyclomatic Complexity 3 include/linux/list.h:list_is_singular
   Cyclomatic Complexity 2 arch/x86/include/asm/jump_label.h:arch_static_branch
   Cyclomatic Complexity 1 include/linux/jump_label.h:static_key_false
   Cyclomatic Complexity 6 arch/x86/include/asm/preempt.h:__preempt_count_add
   Cyclomatic Complexity 6 arch/x86/include/asm/preempt.h:__preempt_count_sub
   Cyclomatic Complexity 1 include/linux/spinlock.h:spinlock_check
   Cyclomatic Complexity 1 include/linux/spinlock.h:spin_lock
   Cyclomatic Complexity 1 include/linux/spinlock.h:spin_unlock
   Cyclomatic Complexity 1 include/linux/spinlock.h:spin_unlock_irqrestore
   Cyclomatic Complexity 1 include/linux/jiffies.h:_msecs_to_jiffies
   Cyclomatic Complexity 3 include/linux/jiffies.h:msecs_to_jiffies
   Cyclomatic Complexity 1 include/linux/rcupdate.h:rcu_read_lock_sched_notrace
   Cyclomatic Complexity 1 include/linux/rcupdate.h:rcu_read_unlock_sched_notrace
   Cyclomatic Complexity 1 include/linux/timer.h:timer_pending
   Cyclomatic Complexity 2 include/linux/workqueue.h:to_delayed_work
   Cyclomatic Complexity 1 include/linux/workqueue.h:mod_delayed_work
   Cyclomatic Complexity 1 include/linux/mmzone.h:pfn_to_section_nr
   Cyclomatic Complexity 2 include/linux/mmzone.h:__nr_to_section
   Cyclomatic Complexity 1 include/linux/mmzone.h:__section_mem_map_addr
   Cyclomatic Complexity 1 include/linux/mmzone.h:__pfn_to_section
   Cyclomatic Complexity 1 include/linux/completion.h:reinit_completion
   Cyclomatic Complexity 1 arch/x86/include/asm/io.h:readl
   Cyclomatic Complexity 1 arch/x86/include/asm/io.h:writel
   Cyclomatic Complexity 1 include/linux/dma-debug.h:debug_dma_map_page
   Cyclomatic Complexity 1 include/linux/dma-debug.h:debug_dma_mapping_error
   Cyclomatic Complexity 1 include/linux/dma-debug.h:debug_dma_unmap_page
   Cyclomatic Complexity 1 include/linux/dma-mapping.h:valid_dma_direction
   Cyclomatic Complexity 1 arch/x86/include/asm/dma-mapping.h:get_arch_dma_ops
   Cyclomatic Complexity 4 include/linux/dma-mapping.h:get_dma_ops
   Cyclomatic Complexity 1 include/linux/dma-mapping.h:dma_map_single_attrs
   Cyclomatic Complexity 2 include/linux/dma-mapping.h:dma_unmap_single_attrs
   Cyclomatic Complexity 2 include/linux/dma-mapping.h:dma_mapping_error
   Cyclomatic Complexity 1 include/uapi/linux/usb/ch9.h:usb_endpoint_xfer_control
   Cyclomatic Complexity 1 include/uapi/linux/usb/ch9.h:usb_endpoint_xfer_isoc
   Cyclomatic Complexity 1 include/uapi/linux/usb/ch9.h:usb_endpoint_maxp
   Cyclomatic Complexity 1 include/linux/usb.h:usb_urb_dir_in
   Cyclomatic Complexity 1 include/linux/usb.h:usb_urb_dir_out
   Cyclomatic Complexity 2 include/linux/usb/hcd.h:bus_to_hcd
   Cyclomatic Complexity 1 include/linux/usb/hcd.h:usb_hcd_resume_root_hub
   Cyclomatic Complexity 1 include/linux/io-64-nonatomic-lo-hi.h:lo_hi_readq
   Cyclomatic Complexity 1 include/linux/io-64-nonatomic-lo-hi.h:lo_hi_writeq
   Cyclomatic Complexity 37 drivers/usb/host/xhci.h:xhci_trb_comp_code_string
   Cyclomatic Complexity 34 drivers/usb/host/xhci.h:xhci_trb_type_string
   Cyclomatic Complexity 2 drivers/usb/host/xhci.h:hcd_index
   Cyclomatic Complexity 2 drivers/usb/host/xhci.h:hcd_to_xhci
   Cyclomatic Complexity 1 drivers/usb/host/xhci.h:xhci_to_hcd
   Cyclomatic Complexity 1 drivers/usb/host/xhci.h:xhci_read_64
   Cyclomatic Complexity 1 drivers/usb/host/xhci.h:xhci_write_64
   Cyclomatic Complexity 1 drivers/usb/host/xhci.h:xhci_link_trb_quirk
   Cyclomatic Complexity 1 drivers/usb/host/xhci.h:xhci_urb_to_transfer_ring
   Cyclomatic Complexity 63 drivers/usb/host/xhci.h:xhci_decode_trb
   Cyclomatic Complexity 4 drivers/usb/host/xhci-trace.h:trace_xhci_dbg_quirks
   Cyclomatic Complexity 4 drivers/usb/host/xhci-trace.h:trace_xhci_dbg_reset_ep
   Cyclomatic Complexity 4 drivers/usb/host/xhci-trace.h:trace_xhci_dbg_cancel_urb
   Cyclomatic Complexity 4 drivers/usb/host/xhci-trace.h:trace_xhci_dbg_ring_expansion
   Cyclomatic Complexity 4 drivers/usb/host/xhci-trace.h:trace_xhci_handle_event
   Cyclomatic Complexity 4 drivers/usb/host/xhci-trace.h:trace_xhci_handle_command
   Cyclomatic Complexity 4 drivers/usb/host/xhci-trace.h:trace_xhci_handle_transfer
   Cyclomatic Complexity 4 drivers/usb/host/xhci-trace.h:trace_xhci_queue_trb
   Cyclomatic Complexity 4 drivers/usb/host/xhci-trace.h:trace_xhci_urb_giveback
   Cyclomatic Complexity 4 drivers/usb/host/xhci-trace.h:trace_xhci_handle_cmd_stop_ep
   Cyclomatic Complexity 4 drivers/usb/host/xhci-trace.h:trace_xhci_handle_cmd_set_deq_ep
   Cyclomatic Complexity 4 drivers/usb/host/xhci-trace.h:trace_xhci_handle_cmd_reset_ep
   Cyclomatic Complexity 4 drivers/usb/host/xhci-trace.h:trace_xhci_handle_cmd_config_ep
   Cyclomatic Complexity 4 drivers/usb/host/xhci-trace.h:trace_xhci_handle_cmd_disable_slot
   Cyclomatic Complexity 4 drivers/usb/host/xhci-trace.h:trace_xhci_handle_cmd_addr_dev
   Cyclomatic Complexity 4 drivers/usb/host/xhci-trace.h:trace_xhci_handle_cmd_reset_dev
   Cyclomatic Complexity 4 drivers/usb/host/xhci-trace.h:trace_xhci_handle_cmd_set_deq
   Cyclomatic Complexity 4 drivers/usb/host/xhci-trace.h:trace_xhci_inc_enq
   Cyclomatic Complexity 4 drivers/usb/host/xhci-trace.h:trace_xhci_inc_deq
   Cyclomatic Complexity 4 drivers/usb/host/xhci-trace.h:trace_xhci_handle_port_status
   Cyclomatic Complexity 1 drivers/usb/host/xhci-ring.c:trb_is_noop
   Cyclomatic Complexity 1 drivers/usb/host/xhci-ring.c:trb_is_link
   Cyclomatic Complexity 1 drivers/usb/host/xhci-ring.c:last_trb_on_seg
   Cyclomatic Complexity 3 drivers/usb/host/xhci-ring.c:last_trb_on_ring

vim +2272 drivers/usb/host/xhci-ring.c

  2265	
  2266	static void xhci_dump_ev_ring(struct xhci_hcd *xhci)
  2267	{
  2268		int i;
  2269		struct xhci_segment *seg = xhci->event_ring->first_seg;
  2270	
  2271		for (i = 0; i < TRBS_PER_SEGMENT; i++) {
> 2272			xhci_warn(xhci, "%llx: %s\n", seg->dma + (i * sizeof(union xhci_trb)),
  2273				 xhci_decode_trb(seg->trbs[i].generic.field[0],
  2274						 seg->trbs[i].generic.field[1],
  2275						 seg->trbs[i].generic.field[2],
  2276						 seg->trbs[i].generic.field[3]));
  2277		}
  2278		xhci_warn(xhci, "dequeue: %llx\n", xhci_trb_virt_to_dma(seg, xhci->event_ring->dequeue));
  2279	}
  2280	

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Attachment: .config.gz
Description: application/gzip


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux