[DPU PATCH v2 3/3] drm/msm/dp: add support for DP PLL driver
kbuild test robot
lkp at intel.com
Wed Jan 9 06:28:46 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 >>):
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_10'?
ret = dp_link_get_period(link, DP_TEST_AUDIO_PERIOD_CH1);
^~~~~~~~~~~~~~~~~~~~~~~~
DP_TEST_BIT_DEPTH_10
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: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_LINK_RATE'?
rlen = drm_dp_dpcd_readb(link->aux->drm_aux, DP_TEST_AUDIO_MODE, &data);
^~~~~~~~~~~~~~~~~~
DP_TEST_LINK_RATE
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]
}
^
--
drivers/gpu/drm/msm/dp/dp_power.c: In function 'dp_power_init':
>> drivers/gpu/drm/msm/dp/dp_power.c:677:28: warning: 'power' may be used uninitialized in this function [-Wmaybe-uninitialized]
pm_runtime_put_sync(&power->pdev->dev);
~~~~~^~~~~~
vim +75 drivers/gpu/drm/msm/dp/dp_link.c
c24ff5297 Chandan Uddaraju 2019-01-07 69
c24ff5297 Chandan Uddaraju 2019-01-07 70 static int dp_link_parse_audio_channel_period(struct dp_link_private *link)
c24ff5297 Chandan Uddaraju 2019-01-07 71 {
c24ff5297 Chandan Uddaraju 2019-01-07 72 int ret = 0;
c24ff5297 Chandan Uddaraju 2019-01-07 73 struct dp_link_test_audio *req = &link->dp_link.test_audio;
c24ff5297 Chandan Uddaraju 2019-01-07 74
c24ff5297 Chandan Uddaraju 2019-01-07 @75 ret = dp_link_get_period(link, DP_TEST_AUDIO_PERIOD_CH1);
c24ff5297 Chandan Uddaraju 2019-01-07 76 if (ret == -EINVAL)
c24ff5297 Chandan Uddaraju 2019-01-07 77 goto exit;
c24ff5297 Chandan Uddaraju 2019-01-07 78
c24ff5297 Chandan Uddaraju 2019-01-07 79 req->test_audio_period_ch_1 = ret;
c24ff5297 Chandan Uddaraju 2019-01-07 80 DRM_DEBUG_DP("test_audio_period_ch_1 = 0x%x\n", ret);
c24ff5297 Chandan Uddaraju 2019-01-07 81
c24ff5297 Chandan Uddaraju 2019-01-07 82 ret = dp_link_get_period(link, DP_TEST_AUDIO_PERIOD_CH2);
c24ff5297 Chandan Uddaraju 2019-01-07 83 if (ret == -EINVAL)
c24ff5297 Chandan Uddaraju 2019-01-07 84 goto exit;
c24ff5297 Chandan Uddaraju 2019-01-07 85
c24ff5297 Chandan Uddaraju 2019-01-07 86 req->test_audio_period_ch_2 = ret;
c24ff5297 Chandan Uddaraju 2019-01-07 87 DRM_DEBUG_DP("test_audio_period_ch_2 = 0x%x\n", ret);
c24ff5297 Chandan Uddaraju 2019-01-07 88
c24ff5297 Chandan Uddaraju 2019-01-07 89 /* TEST_AUDIO_PERIOD_CH_3 (Byte 0x275) */
c24ff5297 Chandan Uddaraju 2019-01-07 90 ret = dp_link_get_period(link, DP_TEST_AUDIO_PERIOD_CH3);
c24ff5297 Chandan Uddaraju 2019-01-07 91 if (ret == -EINVAL)
c24ff5297 Chandan Uddaraju 2019-01-07 92 goto exit;
c24ff5297 Chandan Uddaraju 2019-01-07 93
c24ff5297 Chandan Uddaraju 2019-01-07 94 req->test_audio_period_ch_3 = ret;
c24ff5297 Chandan Uddaraju 2019-01-07 95 DRM_DEBUG_DP("test_audio_period_ch_3 = 0x%x\n", ret);
c24ff5297 Chandan Uddaraju 2019-01-07 96
c24ff5297 Chandan Uddaraju 2019-01-07 97 ret = dp_link_get_period(link, DP_TEST_AUDIO_PERIOD_CH4);
c24ff5297 Chandan Uddaraju 2019-01-07 98 if (ret == -EINVAL)
c24ff5297 Chandan Uddaraju 2019-01-07 99 goto exit;
c24ff5297 Chandan Uddaraju 2019-01-07 100
c24ff5297 Chandan Uddaraju 2019-01-07 101 req->test_audio_period_ch_4 = ret;
c24ff5297 Chandan Uddaraju 2019-01-07 102 DRM_DEBUG_DP("test_audio_period_ch_4 = 0x%x\n", ret);
c24ff5297 Chandan Uddaraju 2019-01-07 103
c24ff5297 Chandan Uddaraju 2019-01-07 104 ret = dp_link_get_period(link, DP_TEST_AUDIO_PERIOD_CH5);
c24ff5297 Chandan Uddaraju 2019-01-07 105 if (ret == -EINVAL)
c24ff5297 Chandan Uddaraju 2019-01-07 106 goto exit;
c24ff5297 Chandan Uddaraju 2019-01-07 107
c24ff5297 Chandan Uddaraju 2019-01-07 108 req->test_audio_period_ch_5 = ret;
c24ff5297 Chandan Uddaraju 2019-01-07 109 DRM_DEBUG_DP("test_audio_period_ch_5 = 0x%x\n", ret);
c24ff5297 Chandan Uddaraju 2019-01-07 110
c24ff5297 Chandan Uddaraju 2019-01-07 111 ret = dp_link_get_period(link, DP_TEST_AUDIO_PERIOD_CH6);
c24ff5297 Chandan Uddaraju 2019-01-07 112 if (ret == -EINVAL)
c24ff5297 Chandan Uddaraju 2019-01-07 113 goto exit;
c24ff5297 Chandan Uddaraju 2019-01-07 114
c24ff5297 Chandan Uddaraju 2019-01-07 115 req->test_audio_period_ch_6 = ret;
c24ff5297 Chandan Uddaraju 2019-01-07 116 DRM_DEBUG_DP("test_audio_period_ch_6 = 0x%x\n", ret);
c24ff5297 Chandan Uddaraju 2019-01-07 117
c24ff5297 Chandan Uddaraju 2019-01-07 118 ret = dp_link_get_period(link, DP_TEST_AUDIO_PERIOD_CH7);
c24ff5297 Chandan Uddaraju 2019-01-07 119 if (ret == -EINVAL)
c24ff5297 Chandan Uddaraju 2019-01-07 120 goto exit;
c24ff5297 Chandan Uddaraju 2019-01-07 121
c24ff5297 Chandan Uddaraju 2019-01-07 122 req->test_audio_period_ch_7 = ret;
c24ff5297 Chandan Uddaraju 2019-01-07 123 DRM_DEBUG_DP("test_audio_period_ch_7 = 0x%x\n", ret);
c24ff5297 Chandan Uddaraju 2019-01-07 124
c24ff5297 Chandan Uddaraju 2019-01-07 125 ret = dp_link_get_period(link, DP_TEST_AUDIO_PERIOD_CH8);
c24ff5297 Chandan Uddaraju 2019-01-07 126 if (ret == -EINVAL)
c24ff5297 Chandan Uddaraju 2019-01-07 127 goto exit;
c24ff5297 Chandan Uddaraju 2019-01-07 128
c24ff5297 Chandan Uddaraju 2019-01-07 129 req->test_audio_period_ch_8 = ret;
c24ff5297 Chandan Uddaraju 2019-01-07 130 DRM_DEBUG_DP("test_audio_period_ch_8 = 0x%x\n", ret);
c24ff5297 Chandan Uddaraju 2019-01-07 131 exit:
c24ff5297 Chandan Uddaraju 2019-01-07 132 return ret;
c24ff5297 Chandan Uddaraju 2019-01-07 133 }
c24ff5297 Chandan Uddaraju 2019-01-07 134
c24ff5297 Chandan Uddaraju 2019-01-07 135 static int dp_link_parse_audio_pattern_type(struct dp_link_private *link)
c24ff5297 Chandan Uddaraju 2019-01-07 136 {
c24ff5297 Chandan Uddaraju 2019-01-07 137 int ret = 0;
c24ff5297 Chandan Uddaraju 2019-01-07 138 u8 data;
c24ff5297 Chandan Uddaraju 2019-01-07 139 ssize_t rlen;
c24ff5297 Chandan Uddaraju 2019-01-07 140 int const max_audio_pattern_type = 0x1;
c24ff5297 Chandan Uddaraju 2019-01-07 141
c24ff5297 Chandan Uddaraju 2019-01-07 142 rlen = drm_dp_dpcd_readb(link->aux->drm_aux,
c24ff5297 Chandan Uddaraju 2019-01-07 @143 DP_TEST_AUDIO_PATTERN_TYPE, &data);
c24ff5297 Chandan Uddaraju 2019-01-07 144 if (rlen < 0) {
c24ff5297 Chandan Uddaraju 2019-01-07 145 DRM_ERROR("failed to read link audio mode. rlen=%zd\n", rlen);
c24ff5297 Chandan Uddaraju 2019-01-07 146 return rlen;
c24ff5297 Chandan Uddaraju 2019-01-07 147 }
c24ff5297 Chandan Uddaraju 2019-01-07 148
c24ff5297 Chandan Uddaraju 2019-01-07 149 /* Audio Pattern Type - Bits 7:0 */
c24ff5297 Chandan Uddaraju 2019-01-07 150 if ((int)data > max_audio_pattern_type) {
c24ff5297 Chandan Uddaraju 2019-01-07 151 DRM_ERROR("invalid audio pattern type = 0x%x\n", data);
c24ff5297 Chandan Uddaraju 2019-01-07 152 ret = -EINVAL;
c24ff5297 Chandan Uddaraju 2019-01-07 153 goto exit;
c24ff5297 Chandan Uddaraju 2019-01-07 154 }
c24ff5297 Chandan Uddaraju 2019-01-07 155
c24ff5297 Chandan Uddaraju 2019-01-07 156 link->dp_link.test_audio.test_audio_pattern_type = data;
c24ff5297 Chandan Uddaraju 2019-01-07 157 DRM_DEBUG_DP("audio pattern type = 0x%x\n", data);
c24ff5297 Chandan Uddaraju 2019-01-07 158 exit:
c24ff5297 Chandan Uddaraju 2019-01-07 159 return ret;
c24ff5297 Chandan Uddaraju 2019-01-07 160 }
c24ff5297 Chandan Uddaraju 2019-01-07 161
c24ff5297 Chandan Uddaraju 2019-01-07 162 static int dp_link_parse_audio_mode(struct dp_link_private *link)
c24ff5297 Chandan Uddaraju 2019-01-07 163 {
c24ff5297 Chandan Uddaraju 2019-01-07 164 int ret = 0;
c24ff5297 Chandan Uddaraju 2019-01-07 165 u8 data;
c24ff5297 Chandan Uddaraju 2019-01-07 166 ssize_t rlen;
c24ff5297 Chandan Uddaraju 2019-01-07 167 int const max_audio_sampling_rate = 0x6;
c24ff5297 Chandan Uddaraju 2019-01-07 168 int const max_audio_channel_count = 0x8;
c24ff5297 Chandan Uddaraju 2019-01-07 169 int sampling_rate = 0x0;
c24ff5297 Chandan Uddaraju 2019-01-07 170 int channel_count = 0x0;
c24ff5297 Chandan Uddaraju 2019-01-07 171
c24ff5297 Chandan Uddaraju 2019-01-07 @172 rlen = drm_dp_dpcd_readb(link->aux->drm_aux, DP_TEST_AUDIO_MODE, &data);
c24ff5297 Chandan Uddaraju 2019-01-07 173 if (rlen < 0) {
c24ff5297 Chandan Uddaraju 2019-01-07 174 DRM_ERROR("failed to read link audio mode. rlen=%zd\n", rlen);
c24ff5297 Chandan Uddaraju 2019-01-07 175 return rlen;
c24ff5297 Chandan Uddaraju 2019-01-07 176 }
c24ff5297 Chandan Uddaraju 2019-01-07 177
c24ff5297 Chandan Uddaraju 2019-01-07 178 /* Sampling Rate - Bits 3:0 */
c24ff5297 Chandan Uddaraju 2019-01-07 179 sampling_rate = data & 0xF;
c24ff5297 Chandan Uddaraju 2019-01-07 180 if (sampling_rate > max_audio_sampling_rate) {
c24ff5297 Chandan Uddaraju 2019-01-07 181 DRM_ERROR("sampling rate (0x%x) greater than max (0x%x)\n",
c24ff5297 Chandan Uddaraju 2019-01-07 182 sampling_rate, max_audio_sampling_rate);
c24ff5297 Chandan Uddaraju 2019-01-07 183 ret = -EINVAL;
c24ff5297 Chandan Uddaraju 2019-01-07 184 goto exit;
c24ff5297 Chandan Uddaraju 2019-01-07 185 }
c24ff5297 Chandan Uddaraju 2019-01-07 186
c24ff5297 Chandan Uddaraju 2019-01-07 187 /* Channel Count - Bits 7:4 */
c24ff5297 Chandan Uddaraju 2019-01-07 188 channel_count = ((data & 0xF0) >> 4) + 1;
c24ff5297 Chandan Uddaraju 2019-01-07 189 if (channel_count > max_audio_channel_count) {
c24ff5297 Chandan Uddaraju 2019-01-07 190 DRM_ERROR("channel_count (0x%x) greater than max (0x%x)\n",
c24ff5297 Chandan Uddaraju 2019-01-07 191 channel_count, max_audio_channel_count);
c24ff5297 Chandan Uddaraju 2019-01-07 192 ret = -EINVAL;
c24ff5297 Chandan Uddaraju 2019-01-07 193 goto exit;
c24ff5297 Chandan Uddaraju 2019-01-07 194 }
c24ff5297 Chandan Uddaraju 2019-01-07 195
c24ff5297 Chandan Uddaraju 2019-01-07 196 link->dp_link.test_audio.test_audio_sampling_rate = sampling_rate;
c24ff5297 Chandan Uddaraju 2019-01-07 197 link->dp_link.test_audio.test_audio_channel_count = channel_count;
c24ff5297 Chandan Uddaraju 2019-01-07 198 DRM_DEBUG_DP("sampling_rate = 0x%x, channel_count = 0x%x\n",
c24ff5297 Chandan Uddaraju 2019-01-07 199 sampling_rate, channel_count);
c24ff5297 Chandan Uddaraju 2019-01-07 200 exit:
c24ff5297 Chandan Uddaraju 2019-01-07 201 return ret;
c24ff5297 Chandan Uddaraju 2019-01-07 202 }
c24ff5297 Chandan Uddaraju 2019-01-07 203
:::::: The code at line 75 was first introduced by commit
:::::: c24ff5297c35cef4b4da979f2889b9291fe59523 drm/msm/dp: add displayPort driver support
:::::: TO: Chandan Uddaraju <chandanu at codeaurora.org>
:::::: CC: 0day robot <lkp at intel.com>
---
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: 67773 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20190109/66fd4c2a/attachment-0001.gz>
More information about the dri-devel
mailing list