Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/amdgpu: Make struct drm_driver const

Make the definition of struct drm_driver
a constant, to follow the latest developments
in the DRM layer.

Signed-off-by: Luben Tuikov <luben.tuikov@amd.com>
[danvet: Rebase onto devm_drm_dev_alloc patch and drop the freesync
ioctl line again that escaped from internal trees.]
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: https://patchwork.freedesktop.org/patch/msgid/20201104100425.1922351-6-daniel.vetter@ffwll.ch

authored by

Luben Tuikov and committed by
Daniel Vetter
5088d657 70a59dd8

+28 -27
+27 -4
drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
··· 40 40 #include "amdgpu.h" 41 41 #include "amdgpu_irq.h" 42 42 #include "amdgpu_dma_buf.h" 43 + #include "amdgpu_sched.h" 43 44 44 45 #include "amdgpu_amdkfd.h" 45 46 ··· 1095 1094 1096 1095 MODULE_DEVICE_TABLE(pci, pciidlist); 1097 1096 1098 - static struct drm_driver kms_driver; 1097 + static const struct drm_driver amdgpu_kms_driver; 1099 1098 1100 1099 static int amdgpu_pci_probe(struct pci_dev *pdev, 1101 1100 const struct pci_device_id *ent) ··· 1166 1165 if (ret) 1167 1166 return ret; 1168 1167 1169 - adev = devm_drm_dev_alloc(&pdev->dev, &kms_driver, typeof(*adev), ddev); 1168 + adev = devm_drm_dev_alloc(&pdev->dev, &amdgpu_kms_driver, typeof(*adev), ddev); 1170 1169 if (IS_ERR(adev)) 1171 1170 return PTR_ERR(adev); 1172 1171 ··· 1510 1509 return 0; 1511 1510 } 1512 1511 1513 - static struct drm_driver kms_driver = { 1512 + int amdgpu_info_ioctl(struct drm_device *dev, void *data, struct drm_file *filp); 1513 + 1514 + const struct drm_ioctl_desc amdgpu_ioctls_kms[] = { 1515 + DRM_IOCTL_DEF_DRV(AMDGPU_GEM_CREATE, amdgpu_gem_create_ioctl, DRM_AUTH|DRM_RENDER_ALLOW), 1516 + DRM_IOCTL_DEF_DRV(AMDGPU_CTX, amdgpu_ctx_ioctl, DRM_AUTH|DRM_RENDER_ALLOW), 1517 + DRM_IOCTL_DEF_DRV(AMDGPU_VM, amdgpu_vm_ioctl, DRM_AUTH|DRM_RENDER_ALLOW), 1518 + DRM_IOCTL_DEF_DRV(AMDGPU_SCHED, amdgpu_sched_ioctl, DRM_MASTER), 1519 + DRM_IOCTL_DEF_DRV(AMDGPU_BO_LIST, amdgpu_bo_list_ioctl, DRM_AUTH|DRM_RENDER_ALLOW), 1520 + DRM_IOCTL_DEF_DRV(AMDGPU_FENCE_TO_HANDLE, amdgpu_cs_fence_to_handle_ioctl, DRM_AUTH|DRM_RENDER_ALLOW), 1521 + /* KMS */ 1522 + DRM_IOCTL_DEF_DRV(AMDGPU_GEM_MMAP, amdgpu_gem_mmap_ioctl, DRM_AUTH|DRM_RENDER_ALLOW), 1523 + DRM_IOCTL_DEF_DRV(AMDGPU_GEM_WAIT_IDLE, amdgpu_gem_wait_idle_ioctl, DRM_AUTH|DRM_RENDER_ALLOW), 1524 + DRM_IOCTL_DEF_DRV(AMDGPU_CS, amdgpu_cs_ioctl, DRM_AUTH|DRM_RENDER_ALLOW), 1525 + DRM_IOCTL_DEF_DRV(AMDGPU_INFO, amdgpu_info_ioctl, DRM_AUTH|DRM_RENDER_ALLOW), 1526 + DRM_IOCTL_DEF_DRV(AMDGPU_WAIT_CS, amdgpu_cs_wait_ioctl, DRM_AUTH|DRM_RENDER_ALLOW), 1527 + DRM_IOCTL_DEF_DRV(AMDGPU_WAIT_FENCES, amdgpu_cs_wait_fences_ioctl, DRM_AUTH|DRM_RENDER_ALLOW), 1528 + DRM_IOCTL_DEF_DRV(AMDGPU_GEM_METADATA, amdgpu_gem_metadata_ioctl, DRM_AUTH|DRM_RENDER_ALLOW), 1529 + DRM_IOCTL_DEF_DRV(AMDGPU_GEM_VA, amdgpu_gem_va_ioctl, DRM_AUTH|DRM_RENDER_ALLOW), 1530 + DRM_IOCTL_DEF_DRV(AMDGPU_GEM_OP, amdgpu_gem_op_ioctl, DRM_AUTH|DRM_RENDER_ALLOW), 1531 + DRM_IOCTL_DEF_DRV(AMDGPU_GEM_USERPTR, amdgpu_gem_userptr_ioctl, DRM_AUTH|DRM_RENDER_ALLOW), 1532 + }; 1533 + 1534 + static const struct drm_driver amdgpu_kms_driver = { 1514 1535 .driver_features = 1515 1536 DRIVER_ATOMIC | 1516 1537 DRIVER_GEM | ··· 1543 1520 .lastclose = amdgpu_driver_lastclose_kms, 1544 1521 .irq_handler = amdgpu_irq_handler, 1545 1522 .ioctls = amdgpu_ioctls_kms, 1523 + .num_ioctls = ARRAY_SIZE(amdgpu_ioctls_kms), 1546 1524 .dumb_create = amdgpu_mode_dumb_create, 1547 1525 .dumb_map_offset = amdgpu_mode_dumb_mmap, 1548 1526 .fops = &amdgpu_driver_kms_fops, ··· 1596 1572 goto error_fence; 1597 1573 1598 1574 DRM_INFO("amdgpu kernel modesetting enabled.\n"); 1599 - kms_driver.num_ioctls = amdgpu_max_kms_ioctl; 1600 1575 amdgpu_register_atpx_handler(); 1601 1576 1602 1577 /* Ignore KFD init failures. Normal when CONFIG_HSA_AMD is not set. */
+1 -23
drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
··· 29 29 #include "amdgpu.h" 30 30 #include <drm/drm_debugfs.h> 31 31 #include <drm/amdgpu_drm.h> 32 - #include "amdgpu_sched.h" 33 32 #include "amdgpu_uvd.h" 34 33 #include "amdgpu_vce.h" 35 34 #include "atom.h" ··· 479 480 * etc. (all asics). 480 481 * Returns 0 on success, -EINVAL on failure. 481 482 */ 482 - static int amdgpu_info_ioctl(struct drm_device *dev, void *data, struct drm_file *filp) 483 + int amdgpu_info_ioctl(struct drm_device *dev, void *data, struct drm_file *filp) 483 484 { 484 485 struct amdgpu_device *adev = drm_to_adev(dev); 485 486 struct drm_amdgpu_info *info = data; ··· 1241 1242 1242 1243 amdgpu_irq_put(adev, &adev->crtc_irq, idx); 1243 1244 } 1244 - 1245 - const struct drm_ioctl_desc amdgpu_ioctls_kms[] = { 1246 - DRM_IOCTL_DEF_DRV(AMDGPU_GEM_CREATE, amdgpu_gem_create_ioctl, DRM_AUTH|DRM_RENDER_ALLOW), 1247 - DRM_IOCTL_DEF_DRV(AMDGPU_CTX, amdgpu_ctx_ioctl, DRM_AUTH|DRM_RENDER_ALLOW), 1248 - DRM_IOCTL_DEF_DRV(AMDGPU_VM, amdgpu_vm_ioctl, DRM_AUTH|DRM_RENDER_ALLOW), 1249 - DRM_IOCTL_DEF_DRV(AMDGPU_SCHED, amdgpu_sched_ioctl, DRM_MASTER), 1250 - DRM_IOCTL_DEF_DRV(AMDGPU_BO_LIST, amdgpu_bo_list_ioctl, DRM_AUTH|DRM_RENDER_ALLOW), 1251 - DRM_IOCTL_DEF_DRV(AMDGPU_FENCE_TO_HANDLE, amdgpu_cs_fence_to_handle_ioctl, DRM_AUTH|DRM_RENDER_ALLOW), 1252 - /* KMS */ 1253 - DRM_IOCTL_DEF_DRV(AMDGPU_GEM_MMAP, amdgpu_gem_mmap_ioctl, DRM_AUTH|DRM_RENDER_ALLOW), 1254 - DRM_IOCTL_DEF_DRV(AMDGPU_GEM_WAIT_IDLE, amdgpu_gem_wait_idle_ioctl, DRM_AUTH|DRM_RENDER_ALLOW), 1255 - DRM_IOCTL_DEF_DRV(AMDGPU_CS, amdgpu_cs_ioctl, DRM_AUTH|DRM_RENDER_ALLOW), 1256 - DRM_IOCTL_DEF_DRV(AMDGPU_INFO, amdgpu_info_ioctl, DRM_AUTH|DRM_RENDER_ALLOW), 1257 - DRM_IOCTL_DEF_DRV(AMDGPU_WAIT_CS, amdgpu_cs_wait_ioctl, DRM_AUTH|DRM_RENDER_ALLOW), 1258 - DRM_IOCTL_DEF_DRV(AMDGPU_WAIT_FENCES, amdgpu_cs_wait_fences_ioctl, DRM_AUTH|DRM_RENDER_ALLOW), 1259 - DRM_IOCTL_DEF_DRV(AMDGPU_GEM_METADATA, amdgpu_gem_metadata_ioctl, DRM_AUTH|DRM_RENDER_ALLOW), 1260 - DRM_IOCTL_DEF_DRV(AMDGPU_GEM_VA, amdgpu_gem_va_ioctl, DRM_AUTH|DRM_RENDER_ALLOW), 1261 - DRM_IOCTL_DEF_DRV(AMDGPU_GEM_OP, amdgpu_gem_op_ioctl, DRM_AUTH|DRM_RENDER_ALLOW), 1262 - DRM_IOCTL_DEF_DRV(AMDGPU_GEM_USERPTR, amdgpu_gem_userptr_ioctl, DRM_AUTH|DRM_RENDER_ALLOW) 1263 - }; 1264 - const int amdgpu_max_kms_ioctl = ARRAY_SIZE(amdgpu_ioctls_kms); 1265 1245 1266 1246 /* 1267 1247 * Debugfs info