[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/dri-devel/attachments/20190109/3c8819a3/attachment-0001.gz>
More information about the dri-devel
mailing list