Hi Manasi, Thank you for the patch! Yet something to improve: [auto build test ERROR on drm-intel/for-linux-next] [also build test ERROR on v5.1-rc3 next-20190403] [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/Manasi-Navare/drm-i915-dp-On-link-train-failure-on-eDP-retry-with-max-params-first/20190404-115622 base: git://anongit.freedesktop.org/drm-intel for-linux-next config: i386-randconfig-x006-201913 (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 errors (new ones prefixed by >>): drivers/gpu/drm/i915/intel_dp.c: In function 'intel_dp_uses_max_link_params': drivers/gpu/drm/i915/intel_dp.c:466:50: error: parameter name omitted static bool intel_dp_uses_max_link_params(struct intel_dp*, ^~~~~~~~ drivers/gpu/drm/i915/intel_dp.c:470:22: error: 'intel_dp' undeclared (first use in this function) return link_rate == intel_dp->max_link_rate && ^~~~~~~~ drivers/gpu/drm/i915/intel_dp.c:470:22: note: each undeclared identifier is reported only once for each function it appears in drivers/gpu/drm/i915/intel_dp.c: In function 'intel_dp_get_link_train_fallback_values': >> drivers/gpu/drm/i915/intel_dp.c:484:7: error: the address of 'intel_dp_uses_max_link_params' will always evaluate as 'true' [-Werror=address] if (!intel_dp_uses_max_link_params) { ^ drivers/gpu/drm/i915/intel_dp.c:486:4: error: implicit declaration of function 'DRM_DEBUGS_KMS'; did you mean 'DRM_DEBUG_KMS'? [-Werror=implicit-function-declaration] DRM_DEBUGS_KMS("Retrying Link training for eDP with max link parameters\n"); ^~~~~~~~~~~~~~ DRM_DEBUG_KMS cc1: all warnings being treated as errors vim +484 drivers/gpu/drm/i915/intel_dp.c 465 > 466 static bool intel_dp_uses_max_link_params(struct intel_dp*, 467 int link_rate, 468 u8 lane_count) 469 { 470 return link_rate == intel_dp->max_link_rate && 471 lane_count == intel_dp->max_link_lane_count; 472 } 473 474 int intel_dp_get_link_train_fallback_values(struct intel_dp *intel_dp, 475 int link_rate, u8 lane_count) 476 { 477 int index; 478 479 index = intel_dp_rate_index(intel_dp->common_rates, 480 intel_dp->num_common_rates, 481 link_rate); 482 483 if (intel_dp_is_edp(intel_dp)) { > 484 if (!intel_dp_uses_max_link_params) { 485 intel_dp->retry_with_max_link_params = true; 486 DRM_DEBUGS_KMS("Retrying Link training for eDP with max link parameters\n"); 487 return 0; 488 } else if (!intel_dp_can_link_train_fallback_for_edp(intel_dp, 489 intel_dp->common_rates[index - 1], 490 lane_count)) { 491 DRM_DEBUG_KMS("Retrying Link training for eDP with same parameters\n"); 492 return 0; 493 } 494 } 495 if (index > 0) { 496 intel_dp->max_link_rate = intel_dp->common_rates[index - 1]; 497 intel_dp->max_link_lane_count = lane_count; 498 } else if (lane_count > 1) { 499 intel_dp->max_link_rate = intel_dp_max_common_rate(intel_dp); 500 intel_dp->max_link_lane_count = lane_count >> 1; 501 } else { 502 DRM_ERROR("Link Training Unsuccessful\n"); 503 return -1; 504 } 505 506 return 0; 507 } 508 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation