Hi Ramalingam, [auto build test ERROR on v4.5-rc7] [cannot apply to drm-intel/for-linux-next next-20160311] [if your patch is applied to the wrong git tree, please drop us a note to help improving the system] url: https://github.com/0day-ci/linux/commits/Ramalingam-C/drm-i915-BXT-Tolerance-at-BXT-DSI-pipe_config-comparison/20160311-212559 config: x86_64-allmodconfig (attached as .config) reproduce: # save the attached .config to linux build tree make ARCH=x86_64 All error/warnings (new ones prefixed by >>): drivers/gpu/drm/i915/intel_display.c: In function 'intel_pipe_config_compare': >> drivers/gpu/drm/i915/intel_display.c:12655:16: error: implicit declaration of function 'enc_to_intel_dsi' [-Werror=implicit-function-declaration] intel_dsi = enc_to_intel_dsi(&intel_encoder->base); \ ^ >> drivers/gpu/drm/i915/intel_display.c:12672:4: note: in expansion of macro 'BXT_DSI_PIPE_CONF_CHECK_I_RANGE' BXT_DSI_PIPE_CONF_CHECK_I_RANGE(name) \ ^ >> drivers/gpu/drm/i915/intel_display.c:12787:2: note: in expansion of macro 'PIPE_CONF_CHECK_I_RANGE' PIPE_CONF_CHECK_I_RANGE(base.adjusted_mode.crtc_htotal); ^ >> drivers/gpu/drm/i915/intel_display.c:12655:14: warning: assignment makes pointer from integer without a cast [-Wint-conversion] intel_dsi = enc_to_intel_dsi(&intel_encoder->base); \ ^ >> drivers/gpu/drm/i915/intel_display.c:12672:4: note: in expansion of macro 'BXT_DSI_PIPE_CONF_CHECK_I_RANGE' BXT_DSI_PIPE_CONF_CHECK_I_RANGE(name) \ ^ >> drivers/gpu/drm/i915/intel_display.c:12787:2: note: in expansion of macro 'PIPE_CONF_CHECK_I_RANGE' PIPE_CONF_CHECK_I_RANGE(base.adjusted_mode.crtc_htotal); ^ In file included from include/linux/list.h:8:0, from include/linux/dmi.h:4, from drivers/gpu/drm/i915/intel_display.c:27: >> drivers/gpu/drm/i915/intel_display.c:12647:34: error: dereferencing pointer to incomplete type 'struct intel_dsi' DIV_ROUND_UP((3 * 8 * intel_dsi->lane_count * 100), \ ^ include/linux/kernel.h:67:30: note: in definition of macro 'DIV_ROUND_UP' #define DIV_ROUND_UP(n,d) (((n) + (d) - 1) / (d)) ^ >> drivers/gpu/drm/i915/intel_display.c:12660:4: note: in expansion of macro 'MAX_BXT_DSI_TIMING_RETRIVAL_ERR' MAX_BXT_DSI_TIMING_RETRIVAL_ERR))) { \ ^ >> drivers/gpu/drm/i915/intel_display.c:12672:4: note: in expansion of macro 'BXT_DSI_PIPE_CONF_CHECK_I_RANGE' BXT_DSI_PIPE_CONF_CHECK_I_RANGE(name) \ ^ >> drivers/gpu/drm/i915/intel_display.c:12787:2: note: in expansion of macro 'PIPE_CONF_CHECK_I_RANGE' PIPE_CONF_CHECK_I_RANGE(base.adjusted_mode.crtc_htotal); ^ >> drivers/gpu/drm/i915/intel_display.c:12648:4: error: implicit declaration of function 'dsi_pixel_format_bpp' [-Werror=implicit-function-declaration] (dsi_pixel_format_bpp(intel_dsi->pixel_format) * \ ^ include/linux/kernel.h:67:36: note: in definition of macro 'DIV_ROUND_UP' #define DIV_ROUND_UP(n,d) (((n) + (d) - 1) / (d)) ^ >> drivers/gpu/drm/i915/intel_display.c:12660:4: note: in expansion of macro 'MAX_BXT_DSI_TIMING_RETRIVAL_ERR' MAX_BXT_DSI_TIMING_RETRIVAL_ERR))) { \ ^ >> drivers/gpu/drm/i915/intel_display.c:12672:4: note: in expansion of macro 'BXT_DSI_PIPE_CONF_CHECK_I_RANGE' BXT_DSI_PIPE_CONF_CHECK_I_RANGE(name) \ ^ >> drivers/gpu/drm/i915/intel_display.c:12787:2: note: in expansion of macro 'PIPE_CONF_CHECK_I_RANGE' PIPE_CONF_CHECK_I_RANGE(base.adjusted_mode.crtc_htotal); ^ >> drivers/gpu/drm/i915/intel_display.c:12655:14: warning: assignment makes pointer from integer without a cast [-Wint-conversion] intel_dsi = enc_to_intel_dsi(&intel_encoder->base); \ ^ >> drivers/gpu/drm/i915/intel_display.c:12672:4: note: in expansion of macro 'BXT_DSI_PIPE_CONF_CHECK_I_RANGE' BXT_DSI_PIPE_CONF_CHECK_I_RANGE(name) \ ^ drivers/gpu/drm/i915/intel_display.c:12788:2: note: in expansion of macro 'PIPE_CONF_CHECK_I_RANGE' PIPE_CONF_CHECK_I_RANGE(base.adjusted_mode.crtc_hblank_start); ^ >> drivers/gpu/drm/i915/intel_display.c:12655:14: warning: assignment makes pointer from integer without a cast [-Wint-conversion] intel_dsi = enc_to_intel_dsi(&intel_encoder->base); \ ^ >> drivers/gpu/drm/i915/intel_display.c:12672:4: note: in expansion of macro 'BXT_DSI_PIPE_CONF_CHECK_I_RANGE' BXT_DSI_PIPE_CONF_CHECK_I_RANGE(name) \ ^ drivers/gpu/drm/i915/intel_display.c:12789:2: note: in expansion of macro 'PIPE_CONF_CHECK_I_RANGE' PIPE_CONF_CHECK_I_RANGE(base.adjusted_mode.crtc_hblank_end); ^ >> drivers/gpu/drm/i915/intel_display.c:12655:14: warning: assignment makes pointer from integer without a cast [-Wint-conversion] intel_dsi = enc_to_intel_dsi(&intel_encoder->base); \ ^ >> drivers/gpu/drm/i915/intel_display.c:12672:4: note: in expansion of macro 'BXT_DSI_PIPE_CONF_CHECK_I_RANGE' BXT_DSI_PIPE_CONF_CHECK_I_RANGE(name) \ ^ drivers/gpu/drm/i915/intel_display.c:12790:2: note: in expansion of macro 'PIPE_CONF_CHECK_I_RANGE' PIPE_CONF_CHECK_I_RANGE(base.adjusted_mode.crtc_hsync_start); ^ vim +/enc_to_intel_dsi +12655 drivers/gpu/drm/i915/intel_display.c 12641 * htotal = hactive + hfp + hsync + hbp. Here last three lements might have 12642 * the converson error, hence we consider the 3 times of error as tolerance. 12643 */ 12644 12645 #define MAX_BXT_DSI_TIMING_RETRIVAL_ERR \ 12646 (intel_dsi == NULL ? 0 : \ 12647 DIV_ROUND_UP((3 * 8 * intel_dsi->lane_count * 100), \ 12648 (dsi_pixel_format_bpp(intel_dsi->pixel_format) * \ 12649 intel_dsi->burst_mode_ratio))) 12650 12651 #define BXT_DSI_PIPE_CONF_CHECK_I_RANGE(name) { \ 12652 for_each_encoder_on_crtc(dev, &crtc->base, \ 12653 intel_encoder) { \ 12654 if (intel_encoder->type == INTEL_OUTPUT_DSI) { \ 12655 intel_dsi = enc_to_intel_dsi(&intel_encoder->base); \ 12656 } \ 12657 } \ 12658 if (!(current_config->name < pipe_config->name && \ 12659 current_config->name >= (pipe_config->name - \ 12660 MAX_BXT_DSI_TIMING_RETRIVAL_ERR))) { \ 12661 INTEL_ERR_OR_DBG_KMS("mismatch in " #name " " \ 12662 "(expected %i, found %i(Err tolerance considered))\n", \ 12663 current_config->name, \ 12664 pipe_config->name); \ 12665 ret = false; \ 12666 } \ 12667 } 12668 12669 #define PIPE_CONF_CHECK_I_RANGE(name) { \ 12670 if (current_config->name != pipe_config->name) { \ 12671 if (IS_BROXTON(dev) && crtc->config->has_dsi_encoder) { \ 12672 BXT_DSI_PIPE_CONF_CHECK_I_RANGE(name) \ 12673 } else { \ 12674 INTEL_ERR_OR_DBG_KMS("mismatch in " #name " " \ 12675 "(expected %i, found %i)\n", \ 12676 current_config->name, \ 12677 pipe_config->name); \ 12678 ret = false; \ 12679 } \ 12680 } \ 12681 } 12682 12683 #define PIPE_CONF_CHECK_M_N(name) \ 12684 if (!intel_compare_link_m_n(¤t_config->name, \ 12685 &pipe_config->name,\ 12686 adjust)) { \ 12687 INTEL_ERR_OR_DBG_KMS("mismatch in " #name " " \ 12688 "(expected tu %i gmch %i/%i link %i/%i, " \ 12689 "found tu %i, gmch %i/%i link %i/%i)\n", \ 12690 current_config->name.tu, \ 12691 current_config->name.gmch_m, \ 12692 current_config->name.gmch_n, \ 12693 current_config->name.link_m, \ 12694 current_config->name.link_n, \ 12695 pipe_config->name.tu, \ 12696 pipe_config->name.gmch_m, \ 12697 pipe_config->name.gmch_n, \ 12698 pipe_config->name.link_m, \ 12699 pipe_config->name.link_n); \ 12700 ret = false; \ 12701 } 12702 12703 #define PIPE_CONF_CHECK_M_N_ALT(name, alt_name) \ 12704 if (!intel_compare_link_m_n(¤t_config->name, \ 12705 &pipe_config->name, adjust) && \ 12706 !intel_compare_link_m_n(¤t_config->alt_name, \ 12707 &pipe_config->name, adjust)) { \ 12708 INTEL_ERR_OR_DBG_KMS("mismatch in " #name " " \ 12709 "(expected tu %i gmch %i/%i link %i/%i, " \ 12710 "or tu %i gmch %i/%i link %i/%i, " \ 12711 "found tu %i, gmch %i/%i link %i/%i)\n", \ 12712 current_config->name.tu, \ 12713 current_config->name.gmch_m, \ 12714 current_config->name.gmch_n, \ 12715 current_config->name.link_m, \ 12716 current_config->name.link_n, \ 12717 current_config->alt_name.tu, \ 12718 current_config->alt_name.gmch_m, \ 12719 current_config->alt_name.gmch_n, \ 12720 current_config->alt_name.link_m, \ 12721 current_config->alt_name.link_n, \ 12722 pipe_config->name.tu, \ 12723 pipe_config->name.gmch_m, \ 12724 pipe_config->name.gmch_n, \ 12725 pipe_config->name.link_m, \ 12726 pipe_config->name.link_n); \ 12727 ret = false; \ 12728 } 12729 12730 /* This is required for BDW+ where there is only one set of registers for 12731 * switching between high and low RR. 12732 * This macro can be used whenever a comparison has to be made between one 12733 * hw state and multiple sw state variables. 12734 */ 12735 #define PIPE_CONF_CHECK_I_ALT(name, alt_name) \ 12736 if ((current_config->name != pipe_config->name) && \ 12737 (current_config->alt_name != pipe_config->name)) { \ 12738 INTEL_ERR_OR_DBG_KMS("mismatch in " #name " " \ 12739 "(expected %i or %i, found %i)\n", \ 12740 current_config->name, \ 12741 current_config->alt_name, \ 12742 pipe_config->name); \ 12743 ret = false; \ 12744 } 12745 12746 #define PIPE_CONF_CHECK_FLAGS(name, mask) \ 12747 if ((current_config->name ^ pipe_config->name) & (mask)) { \ 12748 INTEL_ERR_OR_DBG_KMS("mismatch in " #name "(" #mask ") " \ 12749 "(expected %i, found %i)\n", \ 12750 current_config->name & (mask), \ 12751 pipe_config->name & (mask)); \ 12752 ret = false; \ 12753 } 12754 12755 #define PIPE_CONF_CHECK_CLOCK_FUZZY(name) \ 12756 if (!intel_fuzzy_clock_check(current_config->name, pipe_config->name)) { \ 12757 INTEL_ERR_OR_DBG_KMS("mismatch in " #name " " \ 12758 "(expected %i, found %i)\n", \ 12759 current_config->name, \ 12760 pipe_config->name); \ 12761 ret = false; \ 12762 } 12763 12764 #define PIPE_CONF_QUIRK(quirk) \ 12765 ((current_config->quirks | pipe_config->quirks) & (quirk)) 12766 12767 PIPE_CONF_CHECK_I(cpu_transcoder); 12768 12769 PIPE_CONF_CHECK_I(has_pch_encoder); 12770 PIPE_CONF_CHECK_I(fdi_lanes); 12771 PIPE_CONF_CHECK_M_N(fdi_m_n); 12772 12773 PIPE_CONF_CHECK_I(has_dp_encoder); 12774 PIPE_CONF_CHECK_I(lane_count); 12775 12776 if (INTEL_INFO(dev)->gen < 8) { 12777 PIPE_CONF_CHECK_M_N(dp_m_n); 12778 12779 if (current_config->has_drrs) 12780 PIPE_CONF_CHECK_M_N(dp_m2_n2); 12781 } else 12782 PIPE_CONF_CHECK_M_N_ALT(dp_m_n, dp_m2_n2); 12783 12784 PIPE_CONF_CHECK_I(has_dsi_encoder); 12785 12786 PIPE_CONF_CHECK_I(base.adjusted_mode.crtc_hdisplay); 12787 PIPE_CONF_CHECK_I_RANGE(base.adjusted_mode.crtc_htotal); 12788 PIPE_CONF_CHECK_I_RANGE(base.adjusted_mode.crtc_hblank_start); 12789 PIPE_CONF_CHECK_I_RANGE(base.adjusted_mode.crtc_hblank_end); 12790 PIPE_CONF_CHECK_I_RANGE(base.adjusted_mode.crtc_hsync_start); --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
Attachment:
.config.gz
Description: Binary data
_______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx