From: kernel test robot <lkp@intel.com>
To: kbuild@lists.01.org
Subject: drivers/gpu/drm/radeon/radeon_agp.c:338 radeon_agp_init() warn: should 'rdev->agp->agp_info.aper_size << 20' be a 64 bit type?
Date: Wed, 29 Dec 2021 18:41:46 +0800 [thread overview]
Message-ID: <202112291857.K4ms2IL8-lkp@intel.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 11580 bytes --]
CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Thomas Zimmermann <tzimmermann@suse.de>
CC: Alex Deucher <alexander.deucher@amd.com>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: e7c124bd04631973a3cc0df19ab881b56d8a2d50
commit: 43359786a51e7fa7d89a45908de0ecee2d1dafa6 drm/radeon: Move AGP data structures into radeon
date: 8 months ago
:::::: branch date: 13 hours ago
:::::: commit date: 8 months ago
config: parisc-randconfig-m031-20211229 (https://download.01.org/0day-ci/archive/20211229/202112291857.K4ms2IL8-lkp(a)intel.com/config)
compiler: hppa-linux-gcc (GCC) 11.2.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
smatch warnings:
drivers/gpu/drm/radeon/radeon_agp.c:338 radeon_agp_init() warn: should 'rdev->agp->agp_info.aper_size << 20' be a 64 bit type?
vim +338 drivers/gpu/drm/radeon/radeon_agp.c
771fe6b912fca54 Jerome Glisse 2009-06-05 219
771fe6b912fca54 Jerome Glisse 2009-06-05 220 int radeon_agp_init(struct radeon_device *rdev)
771fe6b912fca54 Jerome Glisse 2009-06-05 221 {
a7fb8a23c1afa60 Daniel Vetter 2015-09-09 222 #if IS_ENABLED(CONFIG_AGP)
771fe6b912fca54 Jerome Glisse 2009-06-05 223 struct radeon_agpmode_quirk *p = radeon_agpmode_quirk_list;
43359786a51e7fa Thomas Zimmermann 2021-05-07 224 struct radeon_agp_mode mode;
43359786a51e7fa Thomas Zimmermann 2021-05-07 225 struct radeon_agp_info info;
771fe6b912fca54 Jerome Glisse 2009-06-05 226 uint32_t agp_status;
771fe6b912fca54 Jerome Glisse 2009-06-05 227 int default_mode;
771fe6b912fca54 Jerome Glisse 2009-06-05 228 bool is_v3;
771fe6b912fca54 Jerome Glisse 2009-06-05 229 int ret;
771fe6b912fca54 Jerome Glisse 2009-06-05 230
771fe6b912fca54 Jerome Glisse 2009-06-05 231 /* Acquire AGP. */
43359786a51e7fa Thomas Zimmermann 2021-05-07 232 ret = radeon_agp_head_acquire(rdev);
771fe6b912fca54 Jerome Glisse 2009-06-05 233 if (ret) {
771fe6b912fca54 Jerome Glisse 2009-06-05 234 DRM_ERROR("Unable to acquire AGP: %d\n", ret);
771fe6b912fca54 Jerome Glisse 2009-06-05 235 return ret;
771fe6b912fca54 Jerome Glisse 2009-06-05 236 }
771fe6b912fca54 Jerome Glisse 2009-06-05 237
43359786a51e7fa Thomas Zimmermann 2021-05-07 238 ret = radeon_agp_head_info(rdev, &info);
771fe6b912fca54 Jerome Glisse 2009-06-05 239 if (ret) {
43359786a51e7fa Thomas Zimmermann 2021-05-07 240 radeon_agp_head_release(rdev);
771fe6b912fca54 Jerome Glisse 2009-06-05 241 DRM_ERROR("Unable to get AGP info: %d\n", ret);
771fe6b912fca54 Jerome Glisse 2009-06-05 242 return ret;
771fe6b912fca54 Jerome Glisse 2009-06-05 243 }
2dea2e29b9fad48 John Kacur 2010-01-31 244
43359786a51e7fa Thomas Zimmermann 2021-05-07 245 if (rdev->agp->agp_info.aper_size < 32) {
43359786a51e7fa Thomas Zimmermann 2021-05-07 246 radeon_agp_head_release(rdev);
2dea2e29b9fad48 John Kacur 2010-01-31 247 dev_warn(rdev->dev, "AGP aperture too small (%zuM) "
2dea2e29b9fad48 John Kacur 2010-01-31 248 "need at least 32M, disabling AGP\n",
43359786a51e7fa Thomas Zimmermann 2021-05-07 249 rdev->agp->agp_info.aper_size);
2dea2e29b9fad48 John Kacur 2010-01-31 250 return -EINVAL;
2dea2e29b9fad48 John Kacur 2010-01-31 251 }
2dea2e29b9fad48 John Kacur 2010-01-31 252
771fe6b912fca54 Jerome Glisse 2009-06-05 253 mode.mode = info.mode;
e57415d85f72e36 Alex Deucher 2010-08-18 254 /* chips with the agp to pcie bridge don't have the AGP_STATUS register
e57415d85f72e36 Alex Deucher 2010-08-18 255 * Just use the whatever mode the host sets up.
e57415d85f72e36 Alex Deucher 2010-08-18 256 */
e57415d85f72e36 Alex Deucher 2010-08-18 257 if (rdev->family <= CHIP_RV350)
771fe6b912fca54 Jerome Glisse 2009-06-05 258 agp_status = (RREG32(RADEON_AGP_STATUS) | RADEON_AGPv3_MODE) & mode.mode;
e57415d85f72e36 Alex Deucher 2010-08-18 259 else
e57415d85f72e36 Alex Deucher 2010-08-18 260 agp_status = mode.mode;
771fe6b912fca54 Jerome Glisse 2009-06-05 261 is_v3 = !!(agp_status & RADEON_AGPv3_MODE);
771fe6b912fca54 Jerome Glisse 2009-06-05 262
771fe6b912fca54 Jerome Glisse 2009-06-05 263 if (is_v3) {
771fe6b912fca54 Jerome Glisse 2009-06-05 264 default_mode = (agp_status & RADEON_AGPv3_8X_MODE) ? 8 : 4;
771fe6b912fca54 Jerome Glisse 2009-06-05 265 } else {
771fe6b912fca54 Jerome Glisse 2009-06-05 266 if (agp_status & RADEON_AGP_4X_MODE) {
771fe6b912fca54 Jerome Glisse 2009-06-05 267 default_mode = 4;
771fe6b912fca54 Jerome Glisse 2009-06-05 268 } else if (agp_status & RADEON_AGP_2X_MODE) {
771fe6b912fca54 Jerome Glisse 2009-06-05 269 default_mode = 2;
771fe6b912fca54 Jerome Glisse 2009-06-05 270 } else {
771fe6b912fca54 Jerome Glisse 2009-06-05 271 default_mode = 1;
771fe6b912fca54 Jerome Glisse 2009-06-05 272 }
771fe6b912fca54 Jerome Glisse 2009-06-05 273 }
771fe6b912fca54 Jerome Glisse 2009-06-05 274
771fe6b912fca54 Jerome Glisse 2009-06-05 275 /* Apply AGPMode Quirks */
771fe6b912fca54 Jerome Glisse 2009-06-05 276 while (p && p->chip_device != 0) {
771fe6b912fca54 Jerome Glisse 2009-06-05 277 if (info.id_vendor == p->hostbridge_vendor &&
771fe6b912fca54 Jerome Glisse 2009-06-05 278 info.id_device == p->hostbridge_device &&
771fe6b912fca54 Jerome Glisse 2009-06-05 279 rdev->pdev->vendor == p->chip_vendor &&
771fe6b912fca54 Jerome Glisse 2009-06-05 280 rdev->pdev->device == p->chip_device &&
771fe6b912fca54 Jerome Glisse 2009-06-05 281 rdev->pdev->subsystem_vendor == p->subsys_vendor &&
771fe6b912fca54 Jerome Glisse 2009-06-05 282 rdev->pdev->subsystem_device == p->subsys_device) {
771fe6b912fca54 Jerome Glisse 2009-06-05 283 default_mode = p->default_mode;
771fe6b912fca54 Jerome Glisse 2009-06-05 284 }
771fe6b912fca54 Jerome Glisse 2009-06-05 285 ++p;
771fe6b912fca54 Jerome Glisse 2009-06-05 286 }
771fe6b912fca54 Jerome Glisse 2009-06-05 287
771fe6b912fca54 Jerome Glisse 2009-06-05 288 if (radeon_agpmode > 0) {
771fe6b912fca54 Jerome Glisse 2009-06-05 289 if ((radeon_agpmode < (is_v3 ? 4 : 1)) ||
771fe6b912fca54 Jerome Glisse 2009-06-05 290 (radeon_agpmode > (is_v3 ? 8 : 4)) ||
771fe6b912fca54 Jerome Glisse 2009-06-05 291 (radeon_agpmode & (radeon_agpmode - 1))) {
771fe6b912fca54 Jerome Glisse 2009-06-05 292 DRM_ERROR("Illegal AGP Mode: %d (valid %s), leaving at %d\n",
771fe6b912fca54 Jerome Glisse 2009-06-05 293 radeon_agpmode, is_v3 ? "4, 8" : "1, 2, 4",
771fe6b912fca54 Jerome Glisse 2009-06-05 294 default_mode);
771fe6b912fca54 Jerome Glisse 2009-06-05 295 radeon_agpmode = default_mode;
771fe6b912fca54 Jerome Glisse 2009-06-05 296 } else {
771fe6b912fca54 Jerome Glisse 2009-06-05 297 DRM_INFO("AGP mode requested: %d\n", radeon_agpmode);
771fe6b912fca54 Jerome Glisse 2009-06-05 298 }
771fe6b912fca54 Jerome Glisse 2009-06-05 299 } else {
771fe6b912fca54 Jerome Glisse 2009-06-05 300 radeon_agpmode = default_mode;
771fe6b912fca54 Jerome Glisse 2009-06-05 301 }
771fe6b912fca54 Jerome Glisse 2009-06-05 302
771fe6b912fca54 Jerome Glisse 2009-06-05 303 mode.mode &= ~RADEON_AGP_MODE_MASK;
771fe6b912fca54 Jerome Glisse 2009-06-05 304 if (is_v3) {
771fe6b912fca54 Jerome Glisse 2009-06-05 305 switch (radeon_agpmode) {
771fe6b912fca54 Jerome Glisse 2009-06-05 306 case 8:
771fe6b912fca54 Jerome Glisse 2009-06-05 307 mode.mode |= RADEON_AGPv3_8X_MODE;
771fe6b912fca54 Jerome Glisse 2009-06-05 308 break;
771fe6b912fca54 Jerome Glisse 2009-06-05 309 case 4:
771fe6b912fca54 Jerome Glisse 2009-06-05 310 default:
771fe6b912fca54 Jerome Glisse 2009-06-05 311 mode.mode |= RADEON_AGPv3_4X_MODE;
771fe6b912fca54 Jerome Glisse 2009-06-05 312 break;
771fe6b912fca54 Jerome Glisse 2009-06-05 313 }
771fe6b912fca54 Jerome Glisse 2009-06-05 314 } else {
771fe6b912fca54 Jerome Glisse 2009-06-05 315 switch (radeon_agpmode) {
771fe6b912fca54 Jerome Glisse 2009-06-05 316 case 4:
771fe6b912fca54 Jerome Glisse 2009-06-05 317 mode.mode |= RADEON_AGP_4X_MODE;
771fe6b912fca54 Jerome Glisse 2009-06-05 318 break;
771fe6b912fca54 Jerome Glisse 2009-06-05 319 case 2:
771fe6b912fca54 Jerome Glisse 2009-06-05 320 mode.mode |= RADEON_AGP_2X_MODE;
771fe6b912fca54 Jerome Glisse 2009-06-05 321 break;
771fe6b912fca54 Jerome Glisse 2009-06-05 322 case 1:
771fe6b912fca54 Jerome Glisse 2009-06-05 323 default:
771fe6b912fca54 Jerome Glisse 2009-06-05 324 mode.mode |= RADEON_AGP_1X_MODE;
771fe6b912fca54 Jerome Glisse 2009-06-05 325 break;
771fe6b912fca54 Jerome Glisse 2009-06-05 326 }
771fe6b912fca54 Jerome Glisse 2009-06-05 327 }
771fe6b912fca54 Jerome Glisse 2009-06-05 328
771fe6b912fca54 Jerome Glisse 2009-06-05 329 mode.mode &= ~RADEON_AGP_FW_MODE; /* disable fw */
43359786a51e7fa Thomas Zimmermann 2021-05-07 330 ret = radeon_agp_head_enable(rdev, mode);
771fe6b912fca54 Jerome Glisse 2009-06-05 331 if (ret) {
771fe6b912fca54 Jerome Glisse 2009-06-05 332 DRM_ERROR("Unable to enable AGP (mode = 0x%lx)\n", mode.mode);
43359786a51e7fa Thomas Zimmermann 2021-05-07 333 radeon_agp_head_release(rdev);
771fe6b912fca54 Jerome Glisse 2009-06-05 334 return ret;
771fe6b912fca54 Jerome Glisse 2009-06-05 335 }
771fe6b912fca54 Jerome Glisse 2009-06-05 336
43359786a51e7fa Thomas Zimmermann 2021-05-07 337 rdev->mc.agp_base = rdev->agp->agp_info.aper_base;
43359786a51e7fa Thomas Zimmermann 2021-05-07 @338 rdev->mc.gtt_size = rdev->agp->agp_info.aper_size << 20;
d594e46ace22afa Jerome Glisse 2010-02-17 339 rdev->mc.gtt_start = rdev->mc.agp_base;
d594e46ace22afa Jerome Glisse 2010-02-17 340 rdev->mc.gtt_end = rdev->mc.gtt_start + rdev->mc.gtt_size - 1;
d594e46ace22afa Jerome Glisse 2010-02-17 341 dev_info(rdev->dev, "GTT: %lluM 0x%08llX - 0x%08llX\n",
d594e46ace22afa Jerome Glisse 2010-02-17 342 rdev->mc.gtt_size >> 20, rdev->mc.gtt_start, rdev->mc.gtt_end);
771fe6b912fca54 Jerome Glisse 2009-06-05 343
771fe6b912fca54 Jerome Glisse 2009-06-05 344 /* workaround some hw issues */
771fe6b912fca54 Jerome Glisse 2009-06-05 345 if (rdev->family < CHIP_R200) {
771fe6b912fca54 Jerome Glisse 2009-06-05 346 WREG32(RADEON_AGP_CNTL, RREG32(RADEON_AGP_CNTL) | 0x000e0000);
771fe6b912fca54 Jerome Glisse 2009-06-05 347 }
771fe6b912fca54 Jerome Glisse 2009-06-05 348 return 0;
771fe6b912fca54 Jerome Glisse 2009-06-05 349 #else
771fe6b912fca54 Jerome Glisse 2009-06-05 350 return 0;
771fe6b912fca54 Jerome Glisse 2009-06-05 351 #endif
771fe6b912fca54 Jerome Glisse 2009-06-05 352 }
771fe6b912fca54 Jerome Glisse 2009-06-05 353
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
next reply other threads:[~2021-12-29 10:41 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-12-29 10:41 kernel test robot [this message]
-- strict thread matches above, loose matches on Subject: below --
2022-03-12 2:28 drivers/gpu/drm/radeon/radeon_agp.c:338 radeon_agp_init() warn: should 'rdev->agp->agp_info.aper_size << 20' be a 64 bit type? kernel test robot
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=202112291857.K4ms2IL8-lkp@intel.com \
--to=lkp@intel.com \
--cc=kbuild@lists.01.org \
/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.