From: kernel test robot <lkp@intel.com>
To: Jammy Huang <jammy_huang@aspeedtech.com>,
tzimmermann@suse.de, jfalempe@redhat.com,
maarten.lankhorst@linux.intel.com, mripard@kernel.org,
airlied@redhat.com, airlied@gmail.com, daniel@ffwll.ch
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev,
dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2] drm/ast: Support timings, 1280x720/1280x960/1600x900
Date: Tue, 24 Dec 2024 19:16:09 +0800 [thread overview]
Message-ID: <202412241827.pakDEV5a-lkp@intel.com> (raw)
In-Reply-To: <20241224025430.3773224-1-jammy_huang@aspeedtech.com>
Hi Jammy,
kernel test robot noticed the following build errors:
[auto build test ERROR on 4bbf9020becbfd8fc2c3da790855b7042fad455b]
url: https://github.com/intel-lab-lkp/linux/commits/Jammy-Huang/drm-ast-Support-timings-1280x720-1280x960-1600x900/20241224-105552
base: 4bbf9020becbfd8fc2c3da790855b7042fad455b
patch link: https://lore.kernel.org/r/20241224025430.3773224-1-jammy_huang%40aspeedtech.com
patch subject: [PATCH v2] drm/ast: Support timings, 1280x720/1280x960/1600x900
config: powerpc-randconfig-001-20241224 (https://download.01.org/0day-ci/archive/20241224/202412241827.pakDEV5a-lkp@intel.com/config)
compiler: clang version 15.0.7 (https://github.com/llvm/llvm-project 8dfdcc7b7bf66834a761bd8de445840ef68e4d1a)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241224/202412241827.pakDEV5a-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202412241827.pakDEV5a-lkp@intel.com/
All errors (new ones prefixed by >>):
>> drivers/gpu/drm/ast/ast_mode.c:150:12: error: use of undeclared identifier 'crtc'
else if (crtc->mode.crtc_vdisplay == 720)
^
drivers/gpu/drm/ast/ast_mode.c:152:12: error: use of undeclared identifier 'crtc'
else if (crtc->mode.crtc_vdisplay == 960)
^
2 errors generated.
vim +/crtc +150 drivers/gpu/drm/ast/ast_mode.c
108
109 static bool ast_get_vbios_mode_info(const struct drm_format_info *format,
110 const struct drm_display_mode *mode,
111 struct drm_display_mode *adjusted_mode,
112 struct ast_vbios_mode_info *vbios_mode)
113 {
114 u32 refresh_rate_index = 0, refresh_rate;
115 const struct ast_vbios_enhtable *best = NULL;
116 u32 hborder, vborder;
117 bool check_sync;
118
119 switch (format->cpp[0] * 8) {
120 case 8:
121 vbios_mode->std_table = &vbios_stdtable[VGAModeIndex];
122 break;
123 case 16:
124 vbios_mode->std_table = &vbios_stdtable[HiCModeIndex];
125 break;
126 case 24:
127 case 32:
128 vbios_mode->std_table = &vbios_stdtable[TrueCModeIndex];
129 break;
130 default:
131 return false;
132 }
133
134 switch (mode->crtc_hdisplay) {
135 case 640:
136 vbios_mode->enh_table = &res_640x480[refresh_rate_index];
137 break;
138 case 800:
139 vbios_mode->enh_table = &res_800x600[refresh_rate_index];
140 break;
141 case 1024:
142 vbios_mode->enh_table = &res_1024x768[refresh_rate_index];
143 break;
144 case 1152:
145 vbios_mode->enh_table = &res_1152x864[refresh_rate_index];
146 break;
147 case 1280:
148 if (mode->crtc_vdisplay == 800)
149 vbios_mode->enh_table = &res_1280x800[refresh_rate_index];
> 150 else if (crtc->mode.crtc_vdisplay == 720)
151 vbios_mode->enh_table = &res_1280x720[refresh_rate_index];
152 else if (crtc->mode.crtc_vdisplay == 960)
153 vbios_mode->enh_table = &res_1280x960[refresh_rate_index];
154 else
155 vbios_mode->enh_table = &res_1280x1024[refresh_rate_index];
156 break;
157 case 1360:
158 vbios_mode->enh_table = &res_1360x768[refresh_rate_index];
159 break;
160 case 1440:
161 vbios_mode->enh_table = &res_1440x900[refresh_rate_index];
162 break;
163 case 1600:
164 if (mode->crtc_vdisplay == 900)
165 vbios_mode->enh_table = &res_1600x900[refresh_rate_index];
166 else
167 vbios_mode->enh_table = &res_1600x1200[refresh_rate_index];
168 break;
169 case 1680:
170 vbios_mode->enh_table = &res_1680x1050[refresh_rate_index];
171 break;
172 case 1920:
173 if (mode->crtc_vdisplay == 1080)
174 vbios_mode->enh_table = &res_1920x1080[refresh_rate_index];
175 else
176 vbios_mode->enh_table = &res_1920x1200[refresh_rate_index];
177 break;
178 default:
179 return false;
180 }
181
182 refresh_rate = drm_mode_vrefresh(mode);
183 check_sync = vbios_mode->enh_table->flags & WideScreenMode;
184
185 while (1) {
186 const struct ast_vbios_enhtable *loop = vbios_mode->enh_table;
187
188 while (loop->refresh_rate != 0xff) {
189 if ((check_sync) &&
190 (((mode->flags & DRM_MODE_FLAG_NVSYNC) &&
191 (loop->flags & PVSync)) ||
192 ((mode->flags & DRM_MODE_FLAG_PVSYNC) &&
193 (loop->flags & NVSync)) ||
194 ((mode->flags & DRM_MODE_FLAG_NHSYNC) &&
195 (loop->flags & PHSync)) ||
196 ((mode->flags & DRM_MODE_FLAG_PHSYNC) &&
197 (loop->flags & NHSync)))) {
198 loop++;
199 continue;
200 }
201 if (loop->refresh_rate <= refresh_rate
202 && (!best || loop->refresh_rate > best->refresh_rate))
203 best = loop;
204 loop++;
205 }
206 if (best || !check_sync)
207 break;
208 check_sync = 0;
209 }
210
211 if (best)
212 vbios_mode->enh_table = best;
213
214 hborder = (vbios_mode->enh_table->flags & HBorder) ? 8 : 0;
215 vborder = (vbios_mode->enh_table->flags & VBorder) ? 8 : 0;
216
217 adjusted_mode->crtc_htotal = vbios_mode->enh_table->ht;
218 adjusted_mode->crtc_hblank_start = vbios_mode->enh_table->hde + hborder;
219 adjusted_mode->crtc_hblank_end = vbios_mode->enh_table->ht - hborder;
220 adjusted_mode->crtc_hsync_start = vbios_mode->enh_table->hde + hborder +
221 vbios_mode->enh_table->hfp;
222 adjusted_mode->crtc_hsync_end = (vbios_mode->enh_table->hde + hborder +
223 vbios_mode->enh_table->hfp +
224 vbios_mode->enh_table->hsync);
225
226 adjusted_mode->crtc_vtotal = vbios_mode->enh_table->vt;
227 adjusted_mode->crtc_vblank_start = vbios_mode->enh_table->vde + vborder;
228 adjusted_mode->crtc_vblank_end = vbios_mode->enh_table->vt - vborder;
229 adjusted_mode->crtc_vsync_start = vbios_mode->enh_table->vde + vborder +
230 vbios_mode->enh_table->vfp;
231 adjusted_mode->crtc_vsync_end = (vbios_mode->enh_table->vde + vborder +
232 vbios_mode->enh_table->vfp +
233 vbios_mode->enh_table->vsync);
234
235 return true;
236 }
237
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
prev parent reply other threads:[~2024-12-24 11:16 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-12-24 2:54 [PATCH v2] drm/ast: Support timings, 1280x720/1280x960/1600x900 Jammy Huang
2024-12-24 8:48 ` kernel test robot
2024-12-24 11:16 ` kernel test robot [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202412241827.pakDEV5a-lkp@intel.com \
--to=lkp@intel.com \
--cc=airlied@gmail.com \
--cc=airlied@redhat.com \
--cc=daniel@ffwll.ch \
--cc=dri-devel@lists.freedesktop.org \
--cc=jammy_huang@aspeedtech.com \
--cc=jfalempe@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=llvm@lists.linux.dev \
--cc=maarten.lankhorst@linux.intel.com \
--cc=mripard@kernel.org \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=tzimmermann@suse.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.