[Freedreno] [DPU PATCH v2 2/3] drm/msm/dp: add displayPort driver support

kbuild test robot lkp at intel.com
Wed Jan 9 05:57:29 UTC 2019


Hi Chandan,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on robclark/msm-next]
[also build test ERROR on v5.0-rc1 next-20190108]
[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/Chandan-Uddaraju/List-of-patches-for-DP-drivers-on-SnapDragon/20190109-052537
base:   git://people.freedesktop.org/~robclark/linux msm-next
config: arm-allmodconfig (attached as .config)
compiler: arm-linux-gnueabi-gcc (Debian 7.2.0-11) 7.2.0
reproduce:
        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
        GCC_VERSION=7.2.0 make.cross ARCH=arm 

All error/warnings (new ones prefixed by >>):

   In file included from drivers/gpu/drm/msm/dp/dp_link.c:9:0:
   drivers/gpu/drm/msm/dp/dp_panel.h:20:26: error: field 'drm_mode' has incomplete type
     struct drm_display_mode drm_mode;
                             ^~~~~~~~
   drivers/gpu/drm/msm/dp/dp_link.c: In function 'dp_link_get_period':
   drivers/gpu/drm/msm/dp/dp_link.c:52:3: error: implicit declaration of function 'DRM_ERROR'; did you mean 'DRM_IOR'? [-Werror=implicit-function-declaration]
      DRM_ERROR("failed to read test_audio_period (0x%x)\n", addr);
      ^~~~~~~~~
      DRM_IOR
   drivers/gpu/drm/msm/dp/dp_link.c: In function 'dp_link_parse_audio_channel_period':
   drivers/gpu/drm/msm/dp/dp_link.c:75:33: error: 'DP_TEST_AUDIO_PERIOD_CH1' undeclared (first use in this function); did you mean 'DP_TEST_BIT_DEPTH_12'?
     ret = dp_link_get_period(link, DP_TEST_AUDIO_PERIOD_CH1);
                                    ^~~~~~~~~~~~~~~~~~~~~~~~
                                    DP_TEST_BIT_DEPTH_12
   drivers/gpu/drm/msm/dp/dp_link.c:75:33: note: each undeclared identifier is reported only once for each function it appears in
   drivers/gpu/drm/msm/dp/dp_link.c:80:2: error: implicit declaration of function 'DRM_DEBUG_DP'; did you mean 'KERN_DEBUG'? [-Werror=implicit-function-declaration]
     DRM_DEBUG_DP("test_audio_period_ch_1 = 0x%x\n", ret);
     ^~~~~~~~~~~~
     KERN_DEBUG
>> drivers/gpu/drm/msm/dp/dp_link.c:82:33: error: 'DP_TEST_AUDIO_PERIOD_CH2' undeclared (first use in this function); did you mean 'DP_TEST_AUDIO_PERIOD_CH1'?
     ret = dp_link_get_period(link, DP_TEST_AUDIO_PERIOD_CH2);
                                    ^~~~~~~~~~~~~~~~~~~~~~~~
                                    DP_TEST_AUDIO_PERIOD_CH1
>> drivers/gpu/drm/msm/dp/dp_link.c:90:33: error: 'DP_TEST_AUDIO_PERIOD_CH3' undeclared (first use in this function); did you mean 'DP_TEST_AUDIO_PERIOD_CH2'?
     ret = dp_link_get_period(link, DP_TEST_AUDIO_PERIOD_CH3);
                                    ^~~~~~~~~~~~~~~~~~~~~~~~
                                    DP_TEST_AUDIO_PERIOD_CH2
>> drivers/gpu/drm/msm/dp/dp_link.c:97:33: error: 'DP_TEST_AUDIO_PERIOD_CH4' undeclared (first use in this function); did you mean 'DP_TEST_AUDIO_PERIOD_CH3'?
     ret = dp_link_get_period(link, DP_TEST_AUDIO_PERIOD_CH4);
                                    ^~~~~~~~~~~~~~~~~~~~~~~~
                                    DP_TEST_AUDIO_PERIOD_CH3
>> drivers/gpu/drm/msm/dp/dp_link.c:104:33: error: 'DP_TEST_AUDIO_PERIOD_CH5' undeclared (first use in this function); did you mean 'DP_TEST_AUDIO_PERIOD_CH4'?
     ret = dp_link_get_period(link, DP_TEST_AUDIO_PERIOD_CH5);
                                    ^~~~~~~~~~~~~~~~~~~~~~~~
                                    DP_TEST_AUDIO_PERIOD_CH4
>> drivers/gpu/drm/msm/dp/dp_link.c:111:33: error: 'DP_TEST_AUDIO_PERIOD_CH6' undeclared (first use in this function); did you mean 'DP_TEST_AUDIO_PERIOD_CH5'?
     ret = dp_link_get_period(link, DP_TEST_AUDIO_PERIOD_CH6);
                                    ^~~~~~~~~~~~~~~~~~~~~~~~
                                    DP_TEST_AUDIO_PERIOD_CH5
>> drivers/gpu/drm/msm/dp/dp_link.c:118:33: error: 'DP_TEST_AUDIO_PERIOD_CH7' undeclared (first use in this function); did you mean 'DP_TEST_AUDIO_PERIOD_CH6'?
     ret = dp_link_get_period(link, DP_TEST_AUDIO_PERIOD_CH7);
                                    ^~~~~~~~~~~~~~~~~~~~~~~~
                                    DP_TEST_AUDIO_PERIOD_CH6
>> drivers/gpu/drm/msm/dp/dp_link.c:125:33: error: 'DP_TEST_AUDIO_PERIOD_CH8' undeclared (first use in this function); did you mean 'DP_TEST_AUDIO_PERIOD_CH7'?
     ret = dp_link_get_period(link, DP_TEST_AUDIO_PERIOD_CH8);
                                    ^~~~~~~~~~~~~~~~~~~~~~~~
                                    DP_TEST_AUDIO_PERIOD_CH7
   drivers/gpu/drm/msm/dp/dp_link.c: In function 'dp_link_parse_audio_pattern_type':
>> drivers/gpu/drm/msm/dp/dp_link.c:143:5: error: 'DP_TEST_AUDIO_PATTERN_TYPE' undeclared (first use in this function); did you mean 'DP_TEST_PHY_PATTERN'?
        DP_TEST_AUDIO_PATTERN_TYPE, &data);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~
        DP_TEST_PHY_PATTERN
   drivers/gpu/drm/msm/dp/dp_link.c: In function 'dp_link_parse_audio_mode':
   drivers/gpu/drm/msm/dp/dp_link.c:172:47: error: 'DP_TEST_AUDIO_MODE' undeclared (first use in this function); did you mean 'DP_TEST_COUNT_MASK'?
     rlen = drm_dp_dpcd_readb(link->aux->drm_aux, DP_TEST_AUDIO_MODE, &data);
                                                  ^~~~~~~~~~~~~~~~~~
                                                  DP_TEST_COUNT_MASK
   drivers/gpu/drm/msm/dp/dp_link.c: In function 'dp_link_is_video_audio_test_requested':
>> drivers/gpu/drm/msm/dp/dp_link.c:577:5: error: 'DP_TEST_LINK_AUDIO_PATTERN' undeclared (first use in this function); did you mean 'DP_TEST_LINK_VIDEO_PATTERN'?
        DP_TEST_LINK_AUDIO_PATTERN |
        ^~~~~~~~~~~~~~~~~~~~~~~~~~
        DP_TEST_LINK_VIDEO_PATTERN
>> drivers/gpu/drm/msm/dp/dp_link.c:578:5: error: 'DP_TEST_LINK_AUDIO_DISABLED_VIDEO' undeclared (first use in this function); did you mean 'DP_TEST_LINK_AUDIO_PATTERN'?
        DP_TEST_LINK_AUDIO_DISABLED_VIDEO);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        DP_TEST_LINK_AUDIO_PATTERN
   drivers/gpu/drm/msm/dp/dp_link.c: In function 'dp_link_is_video_pattern_requested':
>> drivers/gpu/drm/msm/dp/dp_link.c:974:3: error: 'DP_TEST_LINK_AUDIO_DISABLED_VIDEO' undeclared (first use in this function); did you mean 'DP_TEST_LINK_VIDEO_PATTERN'?
      DP_TEST_LINK_AUDIO_DISABLED_VIDEO);
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      DP_TEST_LINK_VIDEO_PATTERN
   drivers/gpu/drm/msm/dp/dp_link.c: In function 'dp_link_is_audio_pattern_requested':
   drivers/gpu/drm/msm/dp/dp_link.c:979:41: error: 'DP_TEST_LINK_AUDIO_PATTERN' undeclared (first use in this function); did you mean 'DP_TEST_LINK_VIDEO_PATTERN'?
     return (link->request.test_requested & DP_TEST_LINK_AUDIO_PATTERN);
                                            ^~~~~~~~~~~~~~~~~~~~~~~~~~
                                            DP_TEST_LINK_VIDEO_PATTERN
   drivers/gpu/drm/msm/dp/dp_link.c: In function 'dp_link_process_request':
   drivers/gpu/drm/msm/dp/dp_link.c:1052:28: error: 'DP_TEST_LINK_AUDIO_PATTERN' undeclared (first use in this function); did you mean 'DP_TEST_LINK_VIDEO_PATTERN'?
      dp_link->sink_request |= DP_TEST_LINK_AUDIO_PATTERN;
                               ^~~~~~~~~~~~~~~~~~~~~~~~~~
                               DP_TEST_LINK_VIDEO_PATTERN
   drivers/gpu/drm/msm/dp/dp_link.c: In function 'dp_link_get_colorimetry_config':
>> drivers/gpu/drm/msm/dp/dp_link.c:1078:8: error: 'DP_TEST_DYNAMIC_RANGE_VESA' undeclared (first use in this function); did you mean 'DP_TEST_DYNAMIC_RANGE_CEA'?
      cc = DP_TEST_DYNAMIC_RANGE_VESA;
           ^~~~~~~~~~~~~~~~~~~~~~~~~~
           DP_TEST_DYNAMIC_RANGE_CEA
   drivers/gpu/drm/msm/dp/dp_link.c: In function 'dp_link_is_video_pattern_requested':
>> drivers/gpu/drm/msm/dp/dp_link.c:975:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
   drivers/gpu/drm/msm/dp/dp_link.c: In function 'dp_link_is_audio_pattern_requested':
   drivers/gpu/drm/msm/dp/dp_link.c:980:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
   cc1: some warnings being treated as errors

vim +82 drivers/gpu/drm/msm/dp/dp_link.c

    69	
    70	static int dp_link_parse_audio_channel_period(struct dp_link_private *link)
    71	{
    72		int ret = 0;
    73		struct dp_link_test_audio *req = &link->dp_link.test_audio;
    74	
  > 75		ret = dp_link_get_period(link, DP_TEST_AUDIO_PERIOD_CH1);
    76		if (ret == -EINVAL)
    77			goto exit;
    78	
    79		req->test_audio_period_ch_1 = ret;
    80		DRM_DEBUG_DP("test_audio_period_ch_1 = 0x%x\n", ret);
    81	
  > 82		ret = dp_link_get_period(link, DP_TEST_AUDIO_PERIOD_CH2);
    83		if (ret == -EINVAL)
    84			goto exit;
    85	
    86		req->test_audio_period_ch_2 = ret;
    87		DRM_DEBUG_DP("test_audio_period_ch_2 = 0x%x\n", ret);
    88	
    89		/* TEST_AUDIO_PERIOD_CH_3 (Byte 0x275) */
  > 90		ret = dp_link_get_period(link, DP_TEST_AUDIO_PERIOD_CH3);
    91		if (ret == -EINVAL)
    92			goto exit;
    93	
    94		req->test_audio_period_ch_3 = ret;
    95		DRM_DEBUG_DP("test_audio_period_ch_3 = 0x%x\n", ret);
    96	
  > 97		ret = dp_link_get_period(link, DP_TEST_AUDIO_PERIOD_CH4);
    98		if (ret == -EINVAL)
    99			goto exit;
   100	
   101		req->test_audio_period_ch_4 = ret;
   102		DRM_DEBUG_DP("test_audio_period_ch_4 = 0x%x\n", ret);
   103	
 > 104		ret = dp_link_get_period(link, DP_TEST_AUDIO_PERIOD_CH5);
   105		if (ret == -EINVAL)
   106			goto exit;
   107	
   108		req->test_audio_period_ch_5 = ret;
   109		DRM_DEBUG_DP("test_audio_period_ch_5 = 0x%x\n", ret);
   110	
 > 111		ret = dp_link_get_period(link, DP_TEST_AUDIO_PERIOD_CH6);
   112		if (ret == -EINVAL)
   113			goto exit;
   114	
   115		req->test_audio_period_ch_6 = ret;
   116		DRM_DEBUG_DP("test_audio_period_ch_6 = 0x%x\n", ret);
   117	
 > 118		ret = dp_link_get_period(link, DP_TEST_AUDIO_PERIOD_CH7);
   119		if (ret == -EINVAL)
   120			goto exit;
   121	
   122		req->test_audio_period_ch_7 = ret;
   123		DRM_DEBUG_DP("test_audio_period_ch_7 = 0x%x\n", ret);
   124	
 > 125		ret = dp_link_get_period(link, DP_TEST_AUDIO_PERIOD_CH8);
   126		if (ret == -EINVAL)
   127			goto exit;
   128	
   129		req->test_audio_period_ch_8 = ret;
   130		DRM_DEBUG_DP("test_audio_period_ch_8 = 0x%x\n", ret);
   131	exit:
   132		return ret;
   133	}
   134	
   135	static int dp_link_parse_audio_pattern_type(struct dp_link_private *link)
   136	{
   137		int ret = 0;
   138		u8 data;
   139		ssize_t rlen;
   140		int const max_audio_pattern_type = 0x1;
   141	
   142		rlen = drm_dp_dpcd_readb(link->aux->drm_aux,
 > 143					DP_TEST_AUDIO_PATTERN_TYPE, &data);
   144		if (rlen < 0) {
   145			DRM_ERROR("failed to read link audio mode. rlen=%zd\n", rlen);
   146			return rlen;
   147		}
   148	
   149		/* Audio Pattern Type - Bits 7:0 */
   150		if ((int)data > max_audio_pattern_type) {
   151			DRM_ERROR("invalid audio pattern type = 0x%x\n", data);
   152			ret = -EINVAL;
   153			goto exit;
   154		}
   155	
   156		link->dp_link.test_audio.test_audio_pattern_type = data;
   157		DRM_DEBUG_DP("audio pattern type = 0x%x\n", data);
   158	exit:
   159		return ret;
   160	}
   161	
   162	static int dp_link_parse_audio_mode(struct dp_link_private *link)
   163	{
   164		int ret = 0;
   165		u8 data;
   166		ssize_t rlen;
   167		int const max_audio_sampling_rate = 0x6;
   168		int const max_audio_channel_count = 0x8;
   169		int sampling_rate = 0x0;
   170		int channel_count = 0x0;
   171	
 > 172		rlen = drm_dp_dpcd_readb(link->aux->drm_aux, DP_TEST_AUDIO_MODE, &data);
   173		if (rlen < 0) {
   174			DRM_ERROR("failed to read link audio mode. rlen=%zd\n", rlen);
   175			return rlen;
   176		}
   177	
   178		/* Sampling Rate - Bits 3:0 */
   179		sampling_rate = data & 0xF;
   180		if (sampling_rate > max_audio_sampling_rate) {
   181			DRM_ERROR("sampling rate (0x%x) greater than max (0x%x)\n",
   182					sampling_rate, max_audio_sampling_rate);
   183			ret = -EINVAL;
   184			goto exit;
   185		}
   186	
   187		/* Channel Count - Bits 7:4 */
   188		channel_count = ((data & 0xF0) >> 4) + 1;
   189		if (channel_count > max_audio_channel_count) {
   190			DRM_ERROR("channel_count (0x%x) greater than max (0x%x)\n",
   191					channel_count, max_audio_channel_count);
   192			ret = -EINVAL;
   193			goto exit;
   194		}
   195	
   196		link->dp_link.test_audio.test_audio_sampling_rate = sampling_rate;
   197		link->dp_link.test_audio.test_audio_channel_count = channel_count;
   198		DRM_DEBUG_DP("sampling_rate = 0x%x, channel_count = 0x%x\n",
   199						sampling_rate, channel_count);
   200	exit:
   201		return ret;
   202	}
   203	

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 67764 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/freedreno/attachments/20190109/3c8819a3/attachment-0001.gz>


More information about the Freedreno mailing list