From mboxrd@z Thu Jan 1 00:00:00 1970 From: kbuild test robot Subject: Re: [PATCH v2] drm/i915/glk: Reuse broxton code for geminilake Date: Fri, 11 Nov 2016 23:43:05 +0800 Message-ID: <201611112337.9viikrCU%fengguang.wu@intel.com> References: <1478871063-7238-1-git-send-email-ander.conselvan.de.oliveira@intel.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="YZ5djTAD1cGYuMQK" Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTPS id EF6816E079 for ; Fri, 11 Nov 2016 15:44:08 +0000 (UTC) Content-Disposition: inline In-Reply-To: <1478871063-7238-1-git-send-email-ander.conselvan.de.oliveira@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" Cc: intel-gfx@lists.freedesktop.org, kbuild-all@01.org, Ander Conselvan de Oliveira List-Id: intel-gfx@lists.freedesktop.org --YZ5djTAD1cGYuMQK Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Hi Ander, [auto build test ERROR on drm-intel/for-linux-next] [also build test ERROR on next-20161111] [cannot apply to v4.9-rc4] [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/Ander-Conselvan-de-Oliveira/drm-i915-glk-Reuse-broxton-code-for-geminilake/20161111-215001 base: git://anongit.freedesktop.org/drm-intel for-linux-next config: i386-randconfig-x006-201645 (attached as .config) compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901 reproduce: # save the attached .config to linux build tree make ARCH=i386 All error/warnings (new ones prefixed by >>): In file included from include/uapi/linux/stddef.h:1:0, from include/linux/stddef.h:4, from include/uapi/linux/posix_types.h:4, from include/uapi/linux/types.h:13, from include/linux/types.h:5, from include/linux/list.h:4, from include/linux/agp_backend.h:33, from include/drm/drmP.h:35, from drivers/gpu/drm/i915/intel_mocs.h:52, from drivers/gpu/drm/i915/intel_mocs.c:23: drivers/gpu/drm/i915/intel_mocs.c: In function 'get_mocs_settings': >> drivers/gpu/drm/i915/intel_mocs.c:185:13: error: implicit declaration of function 'IS_GEN9_LP' [-Werror=implicit-function-declaration] } else if (IS_GEN9_LP(dev_priv)) { ^ include/linux/compiler.h:149:30: note: in definition of macro '__trace_if' if (__builtin_constant_p(!!(cond)) ? !!(cond) : \ ^~~~ >> drivers/gpu/drm/i915/intel_mocs.c:185:9: note: in expansion of macro 'if' } else if (IS_GEN9_LP(dev_priv)) { ^~ Cyclomatic Complexity 1 drivers/gpu/drm/i915/i915_reg.h:i915_mmio_reg_offset Cyclomatic Complexity 1 drivers/gpu/drm/i915/intel_ringbuffer.h:intel_ring_emit Cyclomatic Complexity 1 drivers/gpu/drm/i915/intel_ringbuffer.h:intel_ring_emit_reg Cyclomatic Complexity 1 drivers/gpu/drm/i915/intel_ringbuffer.h:intel_ring_advance Cyclomatic Complexity 1 drivers/gpu/drm/i915/i915_drv.h:to_i915 Cyclomatic Complexity 1 drivers/gpu/drm/i915/intel_mocs.c:l3cc_combine Cyclomatic Complexity 9 drivers/gpu/drm/i915/intel_mocs.c:mocs_register Cyclomatic Complexity 23 drivers/gpu/drm/i915/intel_mocs.c:get_mocs_settings Cyclomatic Complexity 9 drivers/gpu/drm/i915/intel_mocs.c:emit_mocs_control_table Cyclomatic Complexity 11 drivers/gpu/drm/i915/intel_mocs.c:emit_mocs_l3cc_table Cyclomatic Complexity 8 drivers/gpu/drm/i915/intel_mocs.c:intel_mocs_init_engine Cyclomatic Complexity 6 drivers/gpu/drm/i915/intel_mocs.c:intel_mocs_init_l3cc_table Cyclomatic Complexity 6 drivers/gpu/drm/i915/intel_mocs.c:intel_rcs_context_init_mocs cc1: all warnings being treated as errors -- In file included from include/uapi/linux/stddef.h:1:0, from include/linux/stddef.h:4, from include/uapi/linux/posix_types.h:4, from include/uapi/linux/types.h:13, from include/linux/types.h:5, from include/drm/drm_dp_helper.h:26, from drivers/gpu/drm/i915/intel_bios.c:28: drivers/gpu/drm/i915/intel_bios.c: In function 'intel_bios_is_port_hpd_inverted': >> drivers/gpu/drm/i915/intel_bios.c:1768:20: error: implicit declaration of function 'IS_GEN9_LP' [-Werror=implicit-function-declaration] if (WARN_ON_ONCE(!IS_GEN9_LP(dev_priv))) ^ include/linux/compiler.h:149:30: note: in definition of macro '__trace_if' if (__builtin_constant_p(!!(cond)) ? !!(cond) : \ ^~~~ >> drivers/gpu/drm/i915/intel_bios.c:1768:2: note: in expansion of macro 'if' if (WARN_ON_ONCE(!IS_GEN9_LP(dev_priv))) ^~ >> drivers/gpu/drm/i915/i915_drv.h:95:25: note: in expansion of macro 'WARN_ONCE' #define WARN_ON_ONCE(x) WARN_ONCE((x), "%s", "WARN_ON_ONCE(" __stringify(x) ")") ^~~~~~~~~ >> drivers/gpu/drm/i915/intel_bios.c:1768:6: note: in expansion of macro 'WARN_ON_ONCE' if (WARN_ON_ONCE(!IS_GEN9_LP(dev_priv))) ^~~~~~~~~~~~ Cyclomatic Complexity 1 arch/x86/include/asm/bitops.h:fls Cyclomatic Complexity 1 include/linux/log2.h:__ilog2_u32 Cyclomatic Complexity 1 include/asm-generic/getorder.h:__get_order Cyclomatic Complexity 56 include/linux/slab.h:kmalloc_index Cyclomatic Complexity 67 include/linux/slab.h:kmalloc_large Cyclomatic Complexity 9 include/linux/slab.h:kmalloc Cyclomatic Complexity 17 include/linux/slab.h:kmalloc_array Cyclomatic Complexity 1 include/linux/slab.h:kcalloc Cyclomatic Complexity 1 include/linux/slab.h:kzalloc Cyclomatic Complexity 1 drivers/gpu/drm/i915/intel_bios.c:get_lvds_dvo_timing Cyclomatic Complexity 6 drivers/gpu/drm/i915/intel_bios.c:intel_bios_ssc_frequency Cyclomatic Complexity 1 drivers/gpu/drm/i915/intel_bios.c:child_device_ptr Cyclomatic Complexity 1 drivers/gpu/drm/i915/intel_bios.c:get_bdb_header Cyclomatic Complexity 9 drivers/gpu/drm/i915/intel_bios.c:_get_blocksize Cyclomatic Complexity 6 drivers/gpu/drm/i915/intel_bios.c:find_section Cyclomatic Complexity 1 drivers/gpu/drm/i915/intel_bios.c:get_blocksize Cyclomatic Complexity 11 drivers/gpu/drm/i915/intel_bios.c:get_lvds_fp_timing Cyclomatic Complexity 4 drivers/gpu/drm/i915/intel_bios.c:init_vbt_defaults Cyclomatic Complexity 11 drivers/gpu/drm/i915/intel_bios.c:parse_general_features Cyclomatic Complexity 11 drivers/gpu/drm/i915/intel_bios.c:parse_lfp_backlight Cyclomatic Complexity 25 drivers/gpu/drm/i915/intel_bios.c:parse_sdvo_device_mapping Cyclomatic Complexity 7 drivers/gpu/drm/i915/intel_bios.c:parse_driver_features Cyclomatic Complexity 25 drivers/gpu/drm/i915/intel_bios.c:parse_edp Cyclomatic Complexity 7 drivers/gpu/drm/i915/intel_bios.c:parse_psr Cyclomatic Complexity 14 drivers/gpu/drm/i915/intel_bios.c:find_panel_sequence_block Cyclomatic Complexity 11 drivers/gpu/drm/i915/intel_bios.c:goto_next_sequence_v3 Cyclomatic Complexity 11 drivers/gpu/drm/i915/intel_bios.c:goto_next_sequence Cyclomatic Complexity 8 drivers/gpu/drm/i915/intel_bios.c:sanitize_ddc_pin Cyclomatic Complexity 8 drivers/gpu/drm/i915/intel_bios.c:sanitize_aux_ch Cyclomatic Complexity 3 drivers/gpu/drm/i915/intel_bios.c:translate_iboost Cyclomatic Complexity 89 drivers/gpu/drm/i915/intel_bios.c:parse_ddi_port Cyclomatic Complexity 8 drivers/gpu/drm/i915/intel_bios.c:parse_ddi_ports Cyclomatic Complexity 6 drivers/gpu/drm/i915/intel_bios.c:parse_general_definitions Cyclomatic Complexity 9 drivers/gpu/drm/i915/intel_bios.c:fill_detail_timing_data Cyclomatic Complexity 28 drivers/gpu/drm/i915/intel_bios.c:parse_lfp_panel_data Cyclomatic Complexity 11 drivers/gpu/drm/i915/intel_bios.c:parse_sdvo_panel_data Cyclomatic Complexity 35 drivers/gpu/drm/i915/intel_bios.c:parse_device_mapping Cyclomatic Complexity 21 drivers/gpu/drm/i915/intel_bios.c:parse_mipi_sequence Cyclomatic Complexity 11 drivers/gpu/drm/i915/intel_bios.c:intel_bios_is_valid_vbt Cyclomatic Complexity 4 drivers/gpu/drm/i915/intel_bios.c:find_vbt Cyclomatic Complexity 9 drivers/gpu/drm/i915/intel_bios.c:intel_bios_is_tv_present Cyclomatic Complexity 17 drivers/gpu/drm/i915/intel_bios.c:intel_bios_is_lvds_present Cyclomatic Complexity 21 drivers/gpu/drm/i915/intel_bios.c:intel_bios_is_port_present Cyclomatic Complexity 12 drivers/gpu/drm/i915/intel_bios.c:intel_bios_is_port_edp Cyclomatic Complexity 17 drivers/gpu/drm/i915/intel_bios.c:intel_bios_is_port_dp_dual_mode Cyclomatic Complexity 8 drivers/gpu/drm/i915/intel_bios.c:intel_bios_is_dsi_present Cyclomatic Complexity 16 drivers/gpu/drm/i915/intel_bios.c:parse_mipi_config Cyclomatic Complexity 11 drivers/gpu/drm/i915/intel_bios.c:intel_bios_init Cyclomatic Complexity 26 drivers/gpu/drm/i915/intel_bios.c:intel_bios_is_port_hpd_inverted Cyclomatic Complexity 18 drivers/gpu/drm/i915/intel_bios.c:intel_bios_is_lspcon_present cc1: all warnings being treated as errors -- In file included from include/uapi/linux/stddef.h:1:0, from include/linux/stddef.h:4, from include/uapi/linux/posix_types.h:4, from include/uapi/linux/types.h:13, from include/linux/types.h:5, from include/linux/list.h:4, from include/linux/dmi.h:4, from drivers/gpu/drm/i915/intel_display.c:27: drivers/gpu/drm/i915/intel_display.c: In function 'intel_PLL_is_valid': >> drivers/gpu/drm/i915/intel_display.c:617:35: error: implicit declaration of function 'IS_GEN9_LP' [-Werror=implicit-function-declaration] !IS_CHERRYVIEW(dev_priv) && !IS_GEN9_LP(dev_priv)) ^ include/linux/compiler.h:149:30: note: in definition of macro '__trace_if' if (__builtin_constant_p(!!(cond)) ? !!(cond) : \ ^~~~ drivers/gpu/drm/i915/intel_display.c:616:2: note: in expansion of macro 'if' if (!IS_PINEVIEW(dev_priv) && !IS_VALLEYVIEW(dev_priv) && ^~ Cyclomatic Complexity 5 include/linux/compiler.h:__read_once_size Cyclomatic Complexity 5 include/linux/compiler.h:__write_once_size Cyclomatic Complexity 1 arch/x86/include/asm/bitops.h:constant_test_bit Cyclomatic Complexity 1 arch/x86/include/asm/bitops.h:ffs Cyclomatic Complexity 1 arch/x86/include/asm/bitops.h:fls Cyclomatic Complexity 1 include/linux/bitops.h:fls_long Cyclomatic Complexity 1 include/linux/log2.h:__ilog2_u32 Cyclomatic Complexity 3 include/linux/log2.h:is_power_of_2 Cyclomatic Complexity 1 include/linux/log2.h:__roundup_pow_of_two Cyclomatic Complexity 1 include/linux/list.h:INIT_LIST_HEAD Cyclomatic Complexity 1 include/linux/list.h:list_empty Cyclomatic Complexity 1 include/linux/err.h:ERR_PTR Cyclomatic Complexity 1 include/linux/err.h:PTR_ERR Cyclomatic Complexity 2 include/linux/err.h:IS_ERR Cyclomatic Complexity 1 include/linux/err.h:ERR_CAST Cyclomatic Complexity 2 include/linux/err.h:PTR_ERR_OR_ZERO Cyclomatic Complexity 1 arch/x86/include/asm/atomic.h:atomic_read Cyclomatic Complexity 1 arch/x86/include/asm/atomic.h:atomic_set Cyclomatic Complexity 1 arch/x86/include/asm/atomic.h:atomic_sub_and_test Cyclomatic Complexity 1 arch/x86/include/asm/atomic.h:atomic_inc Cyclomatic Complexity 1 arch/x86/include/asm/atomic.h:atomic_dec Cyclomatic Complexity 1 arch/x86/include/asm/atomic.h:atomic_add_return Cyclomatic Complexity 1 arch/x86/include/asm/atomic.h:atomic_cmpxchg Cyclomatic Complexity 1 arch/x86/include/asm/atomic.h:atomic_or Cyclomatic Complexity 5 arch/x86/include/asm/atomic.h:__atomic_add_unless Cyclomatic Complexity 1 include/linux/atomic.h:atomic_add_unless Cyclomatic Complexity 1 include/asm-generic/getorder.h:__get_order Cyclomatic Complexity 1 include/linux/jump_label.h:static_key_count Cyclomatic Complexity 2 include/linux/jump_label.h:static_key_false Cyclomatic Complexity 1 arch/x86/include/asm/paravirt.h:arch_local_save_flags Cyclomatic Complexity 1 arch/x86/include/asm/paravirt.h:arch_local_irq_restore Cyclomatic Complexity 1 arch/x86/include/asm/paravirt.h:arch_local_irq_disable Cyclomatic Complexity 1 arch/x86/include/asm/paravirt.h:arch_local_irq_enable Cyclomatic Complexity 1 arch/x86/include/asm/paravirt.h:arch_local_irq_save Cyclomatic Complexity 3 arch/x86/include/asm/div64.h:div_u64_rem Cyclomatic Complexity 1 include/linux/math64.h:div_u64 Cyclomatic Complexity 1 arch/x86/include/asm/irqflags.h:arch_irqs_disabled_flags Cyclomatic Complexity 1 arch/x86/include/asm/processor.h:rep_nop Cyclomatic Complexity 1 arch/x86/include/asm/processor.h:cpu_relax Cyclomatic Complexity 1 include/linux/mutex.h:mutex_is_locked Cyclomatic Complexity 1 arch/x86/include/asm/preempt.h:preempt_count Cyclomatic Complexity 8 arch/x86/include/asm/preempt.h:__preempt_count_add Cyclomatic Complexity 1 arch/x86/include/asm/preempt.h:__preempt_count_dec_and_test Cyclomatic Complexity 1 arch/x86/include/asm/preempt.h:should_resched 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_lock_irq Cyclomatic Complexity 2 include/linux/spinlock.h:spin_unlock Cyclomatic Complexity 2 include/linux/spinlock.h:spin_unlock_irq Cyclomatic Complexity 3 include/linux/spinlock.h:spin_unlock_irqrestore Cyclomatic Complexity 3 include/linux/seqlock.h:__read_seqcount_begin Cyclomatic Complexity 1 include/linux/seqlock.h:raw_read_seqcount_begin Cyclomatic Complexity 1 include/linux/seqlock.h:read_seqcount_begin Cyclomatic Complexity 2 include/linux/seqlock.h:__read_seqcount_retry Cyclomatic Complexity 1 include/linux/seqlock.h:read_seqcount_retry Cyclomatic Complexity 1 include/linux/wait.h:waitqueue_active Cyclomatic Complexity 1 include/linux/jiffies.h:_msecs_to_jiffies Cyclomatic Complexity 5 include/linux/jiffies.h:msecs_to_jiffies Cyclomatic Complexity 1 include/linux/jiffies.h:_usecs_to_jiffies Cyclomatic Complexity 4 include/linux/jiffies.h:usecs_to_jiffies Cyclomatic Complexity 1 include/linux/rcupdate.h:rcu_read_lock Cyclomatic Complexity 1 include/linux/rcupdate.h:rcu_read_unlock Cyclomatic Complexity 1 include/linux/rcupdate.h:rcu_read_lock_sched_notrace Cyclomatic Complexity 2 include/linux/rcupdate.h:rcu_read_unlock_sched_notrace Cyclomatic Complexity 9 include/linux/idr.h:idr_find Cyclomatic Complexity 13 include/linux/kref.h:kref_get Cyclomatic Complexity 5 include/linux/kref.h:kref_sub Cyclomatic Complexity 1 include/linux/kref.h:kref_put Cyclomatic Complexity 1 include/linux/kref.h:kref_get_unless_zero Cyclomatic Complexity 1 include/linux/workqueue.h:queue_work Cyclomatic Complexity 1 include/linux/workqueue.h:flush_scheduled_work Cyclomatic Complexity 1 include/linux/sched.h:local_clock Cyclomatic Complexity 56 include/linux/slab.h:kmalloc_index Cyclomatic Complexity 67 include/linux/slab.h:kmalloc_large Cyclomatic Complexity 9 include/linux/slab.h:kmalloc Cyclomatic Complexity 1 include/linux/slab.h:kzalloc Cyclomatic Complexity 1 arch/x86/include/asm/io.h:outb Cyclomatic Complexity 1 arch/x86/include/asm/io.h:inb Cyclomatic Complexity 1 include/linux/vgaarb.h:vga_get_uninterruptible Cyclomatic Complexity 1 include/linux/pci.h:pci_read_config_word Cyclomatic Complexity 1 include/linux/pci.h:pci_write_config_word Cyclomatic Complexity 3 include/linux/dma-fence.h:dma_fence_put Cyclomatic Complexity 3 include/linux/dma-fence.h:dma_fence_get Cyclomatic Complexity 5 include/linux/dma-fence.h:dma_fence_is_signaled Cyclomatic Complexity 1 include/linux/ww_mutex.h:ww_mutex_is_locked Cyclomatic Complexity 1 include/drm/drm_modeset_lock.h:drm_modeset_is_locked Cyclomatic Complexity 1 include/drm/drm_rect.h:drm_rect_width Cyclomatic Complexity 1 include/drm/drm_rect.h:drm_rect_height Cyclomatic Complexity 1 include/drm/drm_framebuffer.h:drm_framebuffer_reference Cyclomatic Complexity 1 include/drm/drm_framebuffer.h:drm_framebuffer_unreference Cyclomatic Complexity 1 include/drm/drm_connector.h:drm_connector_index Cyclomatic Complexity 1 include/drm/drm_connector.h:drm_connector_reference -- In file included from include/uapi/linux/stddef.h:1:0, from include/linux/stddef.h:4, from include/uapi/linux/posix_types.h:4, from include/uapi/linux/types.h:13, from include/linux/types.h:5, from include/linux/async.h:15, from drivers/gpu/drm/i915/intel_drv.h:28, from drivers/gpu/drm/i915/intel_dpll_mgr.c:24: drivers/gpu/drm/i915/intel_dpll_mgr.c: In function 'intel_shared_dpll_init': >> drivers/gpu/drm/i915/intel_dpll_mgr.c:1864:11: error: implicit declaration of function 'IS_GEN9_LP' [-Werror=implicit-function-declaration] else if (IS_GEN9_LP(dev_priv)) ^ include/linux/compiler.h:149:30: note: in definition of macro '__trace_if' if (__builtin_constant_p(!!(cond)) ? !!(cond) : \ ^~~~ >> drivers/gpu/drm/i915/intel_dpll_mgr.c:1864:7: note: in expansion of macro 'if' else if (IS_GEN9_LP(dev_priv)) ^~ Cyclomatic Complexity 1 arch/x86/include/asm/paravirt.h:arch_local_save_flags Cyclomatic Complexity 3 arch/x86/include/asm/div64.h:div_u64_rem Cyclomatic Complexity 1 include/linux/math64.h:div_u64 Cyclomatic Complexity 1 arch/x86/include/asm/irqflags.h:arch_irqs_disabled_flags Cyclomatic Complexity 1 arch/x86/include/asm/processor.h:rep_nop Cyclomatic Complexity 1 arch/x86/include/asm/processor.h:cpu_relax Cyclomatic Complexity 1 arch/x86/include/asm/preempt.h:preempt_count Cyclomatic Complexity 1 include/linux/jiffies.h:_usecs_to_jiffies Cyclomatic Complexity 4 include/linux/jiffies.h:usecs_to_jiffies Cyclomatic Complexity 1 include/drm/drm_crtc.h:drm_crtc_index Cyclomatic Complexity 4 include/drm/drmP.h:drm_can_sleep Cyclomatic Complexity 2 drivers/gpu/drm/i915/i915_drv.h:onoff Cyclomatic Complexity 1 drivers/gpu/drm/i915/i915_drv.h:to_i915 Cyclomatic Complexity 1 drivers/gpu/drm/i915/intel_drv.h:enc_to_dig_port Cyclomatic Complexity 1 drivers/gpu/drm/i915/intel_drv.h:enc_to_mst Cyclomatic Complexity 3 drivers/gpu/drm/i915/intel_dpll_mgr.c:ibx_pch_dpll_mode_set Cyclomatic Complexity 1 drivers/gpu/drm/i915/intel_dpll_mgr.c:hsw_ddi_wrpll_disable Cyclomatic Complexity 1 drivers/gpu/drm/i915/intel_dpll_mgr.c:hsw_ddi_spll_disable Cyclomatic Complexity 6 drivers/gpu/drm/i915/intel_dpll_mgr.c:hsw_wrpll_get_budget_for_freq Cyclomatic Complexity 1 drivers/gpu/drm/i915/intel_dpll_mgr.c:hsw_ddi_lcpll_enable Cyclomatic Complexity 1 drivers/gpu/drm/i915/intel_dpll_mgr.c:hsw_ddi_lcpll_disable Cyclomatic Complexity 1 drivers/gpu/drm/i915/intel_dpll_mgr.c:hsw_ddi_lcpll_get_hw_state Cyclomatic Complexity 1 drivers/gpu/drm/i915/intel_dpll_mgr.c:skl_ddi_pll_write_ctrl1 Cyclomatic Complexity 1 drivers/gpu/drm/i915/intel_dpll_mgr.c:skl_ddi_dpll0_enable Cyclomatic Complexity 1 drivers/gpu/drm/i915/intel_dpll_mgr.c:skl_ddi_pll_disable Cyclomatic Complexity 1 drivers/gpu/drm/i915/intel_dpll_mgr.c:skl_ddi_dpll0_disable Cyclomatic Complexity 1 drivers/gpu/drm/i915/intel_dpll_mgr.c:bxt_ddi_pll_disable Cyclomatic Complexity 4 drivers/gpu/drm/i915/intel_dpll_mgr.c:bxt_ddi_dp_pll_dividers Cyclomatic Complexity 33 drivers/gpu/drm/i915/intel_dpll_mgr.c:hsw_wrpll_update_rnp Cyclomatic Complexity 6 drivers/gpu/drm/i915/intel_dpll_mgr.c:hsw_ddi_calculate_wrpll Cyclomatic Complexity 39 drivers/gpu/drm/i915/intel_dpll_mgr.c:skl_wrpll_get_multipliers Cyclomatic Complexity 18 drivers/gpu/drm/i915/intel_dpll_mgr.c:skl_wrpll_params_populate Cyclomatic Complexity 23 drivers/gpu/drm/i915/intel_dpll_mgr.c:bxt_ddi_set_dpll_hw_state Cyclomatic Complexity 15 drivers/gpu/drm/i915/intel_dpll_mgr.c:ibx_assert_pch_refclk_enabled Cyclomatic Complexity 7 drivers/gpu/drm/i915/intel_dpll_mgr.c:intel_ddi_pll_init Cyclomatic Complexity 9 drivers/gpu/drm/i915/intel_dpll_mgr.c:intel_find_shared_dpll Cyclomatic Complexity 3 drivers/gpu/drm/i915/intel_dpll_mgr.c:hsw_ddi_hdmi_get_dpll Cyclomatic Complexity 5 drivers/gpu/drm/i915/intel_dpll_mgr.c:ibx_pch_dpll_get_hw_state Cyclomatic Complexity 2 drivers/gpu/drm/i915/intel_dpll_mgr.c:hsw_ddi_spll_get_hw_state Cyclomatic Complexity 2 drivers/gpu/drm/i915/intel_dpll_mgr.c:hsw_ddi_wrpll_get_hw_state Cyclomatic Complexity 6 drivers/gpu/drm/i915/intel_dpll_mgr.c:skl_ddi_pll_get_hw_state Cyclomatic Complexity 6 drivers/gpu/drm/i915/intel_dpll_mgr.c:skl_ddi_dpll0_get_hw_state Cyclomatic Complexity 6 drivers/gpu/drm/i915/intel_dpll_mgr.c:ibx_pch_dpll_disable Cyclomatic Complexity 5 drivers/gpu/drm/i915/intel_dpll_mgr.c:ibx_pch_dpll_enable Cyclomatic Complexity 1 drivers/gpu/drm/i915/intel_dpll_mgr.c:hsw_ddi_spll_enable Cyclomatic Complexity 1 drivers/gpu/drm/i915/intel_dpll_mgr.c:hsw_ddi_wrpll_enable Cyclomatic Complexity 1 drivers/gpu/drm/i915/intel_dpll_mgr.c:skl_wrpll_context_init Cyclomatic Complexity 5 drivers/gpu/drm/i915/intel_dpll_mgr.c:bxt_ddi_hdmi_pll_dividers Cyclomatic Complexity 1 drivers/gpu/drm/i915/intel_dpll_mgr.c:bxt_ddi_hdmi_set_dpll_hw_state Cyclomatic Complexity 5 drivers/gpu/drm/i915/intel_dpll_mgr.c:bxt_ddi_pll_get_hw_state Cyclomatic Complexity 11 drivers/gpu/drm/i915/intel_dpll_mgr.c:bxt_ddi_pll_enable Cyclomatic Complexity 20 drivers/gpu/drm/i915/intel_dpll_mgr.c:skl_wrpll_try_divider Cyclomatic Complexity 16 drivers/gpu/drm/i915/intel_dpll_mgr.c:skl_ddi_calculate_wrpll Cyclomatic Complexity 2 drivers/gpu/drm/i915/intel_dpll_mgr.c:skl_ddi_hdmi_pll_dividers Cyclomatic Complexity 2 drivers/gpu/drm/i915/intel_dpll_mgr.c:skl_ddi_pll_enable Cyclomatic Complexity 1 drivers/gpu/drm/i915/intel_dpll_mgr.c:intel_get_shared_dpll_by_id Cyclomatic Complexity 7 drivers/gpu/drm/i915/intel_dpll_mgr.c:intel_get_shared_dpll_id Cyclomatic Complexity 1 drivers/gpu/drm/i915/intel_dpll_mgr.c:intel_shared_dpll_config_get Cyclomatic Complexity 3 drivers/gpu/drm/i915/intel_dpll_mgr.c:intel_reference_shared_dpll Cyclomatic Complexity 5 drivers/gpu/drm/i915/intel_dpll_mgr.c:ibx_get_dpll Cyclomatic Complexity 1 drivers/gpu/drm/i915/intel_dpll_mgr.c:intel_shared_dpll_config_put Cyclomatic Complexity 12 drivers/gpu/drm/i915/intel_dpll_mgr.c:assert_shared_dpll Cyclomatic Complexity 13 drivers/gpu/drm/i915/intel_dpll_mgr.c:intel_prepare_shared_dpll Cyclomatic Complexity 22 drivers/gpu/drm/i915/intel_dpll_mgr.c:intel_enable_shared_dpll Cyclomatic Complexity 13 drivers/gpu/drm/i915/intel_dpll_mgr.c:intel_disable_shared_dpll Cyclomatic Complexity 3 drivers/gpu/drm/i915/intel_dpll_mgr.c:intel_shared_dpll_commit Cyclomatic Complexity 6 drivers/gpu/drm/i915/intel_dpll_mgr.c:hsw_ddi_dp_get_dpll Cyclomatic Complexity 22 drivers/gpu/drm/i915/intel_dpll_mgr.c:hsw_get_dpll Cyclomatic Complexity 7 drivers/gpu/drm/i915/intel_dpll_mgr.c:skl_ddi_dp_set_dpll_hw_state Cyclomatic Complexity 11 drivers/gpu/drm/i915/intel_dpll_mgr.c:skl_find_link_pll Cyclomatic Complexity 22 drivers/gpu/drm/i915/intel_dpll_mgr.c:skl_get_dpll Cyclomatic Complexity 1 drivers/gpu/drm/i915/intel_dpll_mgr.c:bxt_ddi_dp_set_dpll_hw_state Cyclomatic Complexity 9 drivers/gpu/drm/i915/intel_dpll_mgr.c:bxt_get_dpll Cyclomatic Complexity 17 drivers/gpu/drm/i915/intel_dpll_mgr.c:intel_shared_dpll_init Cyclomatic Complexity 5 drivers/gpu/drm/i915/intel_dpll_mgr.c:intel_get_shared_dpll cc1: all warnings being treated as errors .. vim +/IS_GEN9_LP +185 drivers/gpu/drm/i915/intel_mocs.c 17 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 20 * SOFTWARE. 21 */ 22 > 23 #include "intel_mocs.h" 24 #include "intel_lrc.h" 25 #include "intel_ringbuffer.h" 26 27 /* structures required */ 28 struct drm_i915_mocs_entry { 29 u32 control_value; 30 u16 l3cc_value; 31 }; 32 33 struct drm_i915_mocs_table { 34 u32 size; 35 const struct drm_i915_mocs_entry *table; 36 }; 37 38 /* Defines for the tables (XXX_MOCS_0 - XXX_MOCS_63) */ 39 #define LE_CACHEABILITY(value) ((value) << 0) 40 #define LE_TGT_CACHE(value) ((value) << 2) 41 #define LE_LRUM(value) ((value) << 4) 42 #define LE_AOM(value) ((value) << 6) 43 #define LE_RSC(value) ((value) << 7) 44 #define LE_SCC(value) ((value) << 8) 45 #define LE_PFM(value) ((value) << 11) 46 #define LE_SCF(value) ((value) << 14) 47 48 /* Defines for the tables (LNCFMOCS0 - LNCFMOCS31) - two entries per word */ 49 #define L3_ESC(value) ((value) << 0) 50 #define L3_SCC(value) ((value) << 1) 51 #define L3_CACHEABILITY(value) ((value) << 4) 52 53 /* Helper defines */ 54 #define GEN9_NUM_MOCS_ENTRIES 62 /* 62 out of 64 - 63 & 64 are reserved. */ 55 56 /* (e)LLC caching options */ 57 #define LE_PAGETABLE 0 58 #define LE_UC 1 59 #define LE_WT 2 60 #define LE_WB 3 61 62 /* L3 caching options */ 63 #define L3_DIRECT 0 64 #define L3_UC 1 65 #define L3_RESERVED 2 66 #define L3_WB 3 67 68 /* Target cache */ 69 #define LE_TC_PAGETABLE 0 70 #define LE_TC_LLC 1 71 #define LE_TC_LLC_ELLC 2 72 #define LE_TC_LLC_ELLC_ALT 3 73 74 /* 75 * MOCS tables 76 * 77 * These are the MOCS tables that are programmed across all the rings. 78 * The control value is programmed to all the rings that support the 79 * MOCS registers. While the l3cc_values are only programmed to the 80 * LNCFCMOCS0 - LNCFCMOCS32 registers. 81 * 82 * These tables are intended to be kept reasonably consistent across 83 * platforms. However some of the fields are not applicable to all of 84 * them. 85 * 86 * Entries not part of the following tables are undefined as far as 87 * userspace is concerned and shouldn't be relied upon. For the time 88 * being they will be implicitly initialized to the strictest caching 89 * configuration (uncached) to guarantee forwards compatibility with 90 * userspace programs written against more recent kernels providing 91 * additional MOCS entries. 92 * 93 * NOTE: These tables MUST start with being uncached and the length 94 * MUST be less than 63 as the last two registers are reserved 95 * by the hardware. These tables are part of the kernel ABI and 96 * may only be updated incrementally by adding entries at the 97 * end. 98 */ 99 static const struct drm_i915_mocs_entry skylake_mocs_table[] = { 100 [I915_MOCS_UNCACHED] = { 101 /* 0x00000009 */ 102 .control_value = LE_CACHEABILITY(LE_UC) | 103 LE_TGT_CACHE(LE_TC_LLC_ELLC) | 104 LE_LRUM(0) | LE_AOM(0) | LE_RSC(0) | LE_SCC(0) | 105 LE_PFM(0) | LE_SCF(0), 106 107 /* 0x0010 */ 108 .l3cc_value = L3_ESC(0) | L3_SCC(0) | L3_CACHEABILITY(L3_UC), 109 }, 110 [I915_MOCS_PTE] = { 111 /* 0x00000038 */ 112 .control_value = LE_CACHEABILITY(LE_PAGETABLE) | 113 LE_TGT_CACHE(LE_TC_LLC_ELLC) | 114 LE_LRUM(3) | LE_AOM(0) | LE_RSC(0) | LE_SCC(0) | 115 LE_PFM(0) | LE_SCF(0), 116 /* 0x0030 */ 117 .l3cc_value = L3_ESC(0) | L3_SCC(0) | L3_CACHEABILITY(L3_WB), 118 }, 119 [I915_MOCS_CACHED] = { 120 /* 0x0000003b */ 121 .control_value = LE_CACHEABILITY(LE_WB) | 122 LE_TGT_CACHE(LE_TC_LLC_ELLC) | 123 LE_LRUM(3) | LE_AOM(0) | LE_RSC(0) | LE_SCC(0) | 124 LE_PFM(0) | LE_SCF(0), 125 /* 0x0030 */ 126 .l3cc_value = L3_ESC(0) | L3_SCC(0) | L3_CACHEABILITY(L3_WB), 127 }, 128 }; 129 130 /* NOTE: the LE_TGT_CACHE is not used on Broxton */ 131 static const struct drm_i915_mocs_entry broxton_mocs_table[] = { 132 [I915_MOCS_UNCACHED] = { 133 /* 0x00000009 */ 134 .control_value = LE_CACHEABILITY(LE_UC) | 135 LE_TGT_CACHE(LE_TC_LLC_ELLC) | 136 LE_LRUM(0) | LE_AOM(0) | LE_RSC(0) | LE_SCC(0) | 137 LE_PFM(0) | LE_SCF(0), 138 139 /* 0x0010 */ 140 .l3cc_value = L3_ESC(0) | L3_SCC(0) | L3_CACHEABILITY(L3_UC), 141 }, 142 [I915_MOCS_PTE] = { 143 /* 0x00000038 */ 144 .control_value = LE_CACHEABILITY(LE_PAGETABLE) | 145 LE_TGT_CACHE(LE_TC_LLC_ELLC) | 146 LE_LRUM(3) | LE_AOM(0) | LE_RSC(0) | LE_SCC(0) | 147 LE_PFM(0) | LE_SCF(0), 148 149 /* 0x0030 */ 150 .l3cc_value = L3_ESC(0) | L3_SCC(0) | L3_CACHEABILITY(L3_WB), 151 }, 152 [I915_MOCS_CACHED] = { 153 /* 0x00000039 */ 154 .control_value = LE_CACHEABILITY(LE_UC) | 155 LE_TGT_CACHE(LE_TC_LLC_ELLC) | 156 LE_LRUM(3) | LE_AOM(0) | LE_RSC(0) | LE_SCC(0) | 157 LE_PFM(0) | LE_SCF(0), 158 159 /* 0x0030 */ 160 .l3cc_value = L3_ESC(0) | L3_SCC(0) | L3_CACHEABILITY(L3_WB), 161 }, 162 }; 163 164 /** 165 * get_mocs_settings() 166 * @dev_priv: i915 device. 167 * @table: Output table that will be made to point at appropriate 168 * MOCS values for the device. 169 * 170 * This function will return the values of the MOCS table that needs to 171 * be programmed for the platform. It will return the values that need 172 * to be programmed and if they need to be programmed. 173 * 174 * Return: true if there are applicable MOCS settings for the device. 175 */ 176 static bool get_mocs_settings(struct drm_i915_private *dev_priv, 177 struct drm_i915_mocs_table *table) 178 { 179 bool result = false; 180 181 if (IS_SKYLAKE(dev_priv) || IS_KABYLAKE(dev_priv)) { 182 table->size = ARRAY_SIZE(skylake_mocs_table); 183 table->table = skylake_mocs_table; 184 result = true; > 185 } else if (IS_GEN9_LP(dev_priv)) { 186 table->size = ARRAY_SIZE(broxton_mocs_table); 187 table->table = broxton_mocs_table; 188 result = true; --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation --YZ5djTAD1cGYuMQK Content-Type: application/gzip Content-Disposition: attachment; filename=".config.gz" Content-Transfer-Encoding: base64 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 kQEA --YZ5djTAD1cGYuMQK Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4 IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg== --YZ5djTAD1cGYuMQK--