linux_dsm_epyc7002/drivers/gpu/drm/radeon
Eric Engestrom b3c11ac267 drm: move allocation out of drm_get_format_name()
The function's behaviour was changed in 90844f0004, without changing
its signature, causing people to keep using it the old way without
realising they were now leaking memory.
Rob Clark also noticed it was also allocating GFP_KERNEL memory in
atomic contexts, breaking them.

Instead of having to allocate GFP_ATOMIC memory and fixing the callers
to make them cleanup the memory afterwards, let's change the function's
signature by having the caller take care of the memory and passing it to
the function.
The new parameter is a single-field struct in order to enforce the size
of its buffer and help callers to correctly manage their memory.

Fixes: 90844f0004 ("drm: make drm_get_format_name thread-safe")
Cc: Rob Clark <robdclark@gmail.com>
Cc: Christian König <christian.koenig@amd.com>
Acked-by: Christian König <christian.koenig@amd.com>
Acked-by: Rob Clark <robdclark@gmail.com>
Acked-by: Sinclair Yeh <syeh@vmware.com> (vmwgfx)
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Suggested-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Eric Engestrom <eric@engestrom.ch>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: http://patchwork.freedesktop.org/patch/msgid/20161112011309.9799-1-eric@engestrom.ch
2016-11-12 14:19:38 +01:00
..
reg_srcs
.gitignore
atom-bits.h
atom-names.h
atom-types.h
atom.c drm/radeon: fix indentation. 2016-03-16 18:08:06 -04:00
atom.h drm/radeon: add locking around atombios scratch space usage 2014-11-11 17:22:26 -05:00
atombios_crtc.c drm: move allocation out of drm_get_format_name() 2016-11-12 14:19:38 +01:00
atombios_dp.c drm/radeon: Don't retry 7 times in radeon_dp_dpcd() 2016-08-08 13:28:26 -04:00
atombios_encoders.c drm/radeon: add missing header dependencies 2016-10-25 14:38:18 -04:00
atombios_i2c.c drm/radeon: add locking around atombios scratch space usage 2014-11-11 17:22:26 -05:00
atombios.h drm/radeon: fix comment 2015-05-26 15:09:03 +02:00
avivod.h
btc_dpm.c drm/radeon: fix indentation. 2016-03-16 18:08:06 -04:00
btc_dpm.h Revert "drm/radeon: drop btc_get_max_clock_from_voltage_dependency_table" 2014-10-13 11:34:13 -04:00
btcd.h
cayman_blit_shaders.c drm: fix trivial typos 2015-10-21 11:35:11 -04:00
cayman_blit_shaders.h
ci_dpm.c drm/radeon/ci add comment to document intentionally unreachable code 2016-07-29 14:36:45 -04:00
ci_dpm.h drm/radeon: bind fan control on CI cards to hwmon interface (v2) 2015-01-22 10:38:48 -05:00
ci_smc.c drm/radeon: fix indentation. 2016-03-16 18:08:06 -04:00
cik_blit_shaders.c
cik_blit_shaders.h
cik_reg.h drm/radeon: Add H/W debugger kfd->kgd functions 2015-06-03 11:31:12 +03:00
cik_sdma.c drm/radeon: Avoid double gpu reset by adding a timeout on IB ring tests. 2016-02-10 14:17:15 -05:00
cik.c drm/radeon: squash lines for simple wrapper functions 2016-09-15 10:39:37 -04:00
cikd.h drm/radeon: switch UVD code to use UVD_NO_OP for padding 2016-08-24 16:25:05 -04:00
clearstate_cayman.h
clearstate_ci.h
clearstate_defs.h
clearstate_evergreen.h
clearstate_si.h
cypress_dpm.c drm/radeon: fix indentation. 2016-03-16 18:08:06 -04:00
cypress_dpm.h
dce3_1_afmt.c drm/radeon: use proper ACR regisiter for DCE3.2 2015-06-01 23:16:22 -04:00
dce6_afmt.c drm/radeon: Add a common function for DFS handling 2016-01-27 12:48:32 -05:00
evergreen_blit_shaders.c drm: fix trivial typos 2015-10-21 11:35:11 -04:00
evergreen_blit_shaders.h
evergreen_cs.c drm/radeon: add missing header dependencies 2016-10-25 14:38:18 -04:00
evergreen_dma.c drm/radeon: split semaphore and sync object handling v2 2014-11-20 13:00:16 -05:00
evergreen_hdmi.c drm/radeon: fix indentation. 2016-03-16 18:08:06 -04:00
evergreen_reg.h drm/radeon: fix vertical bars appear on monitor (v2) 2016-04-27 12:27:08 -04:00
evergreen_smc.h
evergreen.c drm/radeon: switch UVD code to use UVD_NO_OP for padding 2016-08-24 16:25:05 -04:00
evergreend.h drm/radeon: switch UVD code to use UVD_NO_OP for padding 2016-08-24 16:25:05 -04:00
Kconfig drm/radeon: remove UMS support 2015-12-02 12:45:54 -05:00
kv_dpm.c drm/radeon: fix array out of bounds 2016-05-16 10:25:13 -04:00
kv_dpm.h
kv_smc.c
Makefile drm/radeon: remove UMS support 2015-12-02 12:45:54 -05:00
mkregtable.c Replace mentions of "list_struct" to "list_head" 2014-11-20 14:45:15 +01:00
ni_dma.c drm/radeon: Remove rdev->gart.pages_addr array 2015-01-22 11:48:03 -05:00
ni_dpm.c drm/radeon: fix indentation. 2016-03-16 18:08:06 -04:00
ni_dpm.h
ni_reg.h drm/radeon/mst: port some MST setup code from DAL. 2016-04-06 14:57:46 -04:00
ni.c drm/radeon: drop register readback in cayman_cp_int_cntl_setup 2016-10-25 13:57:22 -04:00
nid.h drm/radeon: switch UVD code to use UVD_NO_OP for padding 2016-08-24 16:25:05 -04:00
nislands_smc.h
ObjectID.h
ppsmc.h drm/radeon/dpm: add thermal dpm support for CI 2014-11-20 13:00:10 -05:00
pptable.h drm/radeon/dpm: add smc fan control for CI (v2) 2014-11-20 13:00:10 -05:00
r100_track.h
r100.c drm/radeon: squash lines for simple wrapper functions 2016-09-15 10:39:37 -04:00
r100d.h
r200.c drm/radeon: rename radeon_cs_reloc to radeon_bo_list 2014-12-03 14:26:47 -05:00
r300_reg.h
r300.c drm/radeon: allow to force hard GPU reset. 2016-05-02 13:08:54 -04:00
r300d.h
r420.c
r420d.h
r500_reg.h
r520.c
r520d.h
r600_blit_shaders.c drm: fix trivial typos 2015-10-21 11:35:11 -04:00
r600_blit_shaders.h
r600_cs.c drm/radeon: add missing header dependencies 2016-10-25 14:38:18 -04:00
r600_dma.c drm/radeon: Avoid double gpu reset by adding a timeout on IB ring tests. 2016-02-10 14:17:15 -05:00
r600_dpm.c drm/radeon: change vblank_time's calculation method to reduce computational error. 2016-10-13 18:25:49 -04:00
r600_dpm.h drm/radeon/dpm: add smc fan control for SI (v2) 2014-11-20 13:00:09 -05:00
r600_hdmi.c drm/radeon: fix indentation. 2016-03-16 18:08:06 -04:00
r600_reg.h
r600.c drm/radeon: squash lines for simple wrapper functions 2016-09-15 10:39:37 -04:00
r600d.h drm/radeon: add support for UVD_NO_OP register 2016-08-24 16:25:04 -04:00
radeon_acpi.c drm/radeon/atif: Send a hotplug event when we get dgpu display request 2016-09-22 10:30:58 -04:00
radeon_acpi.h drm/radeon: update radeon acpi header 2016-02-26 14:16:58 -05:00
radeon_agp.c add blacklist for thinkpad T40p 2015-11-30 14:44:34 -05:00
radeon_asic.c drm/radeon: add driver option to disable vce block. 2016-05-02 13:08:53 -04:00
radeon_asic.h drm/radeon: Support DRM_MODE_PAGE_FLIP_ASYNC 2016-05-04 20:19:03 -04:00
radeon_atombios.c drm/radeon: add missing header dependencies 2016-10-25 14:38:18 -04:00
radeon_atpx_handler.c Linux 4.8-rc8 2016-09-28 12:08:49 +10:00
radeon_audio.c drm/radeon: Add a common function for DFS handling 2016-01-27 12:48:32 -05:00
radeon_audio.h drm/radeon: Add a common function for DFS handling 2016-01-27 12:48:32 -05:00
radeon_benchmark.c drm/radeon: fix the crash in benchmark functions 2015-02-02 11:39:35 -05:00
radeon_bios.c drm/radeon: Drop unnecessary #include <linux/vga_switcheroo.h> 2015-10-14 16:16:37 -04:00
radeon_clocks.c drm/radeon: add missing header dependencies 2016-10-25 14:38:18 -04:00
radeon_combios.c PCI: Remove includes of asm/pci-bridge.h 2016-02-05 16:29:28 -06:00
radeon_connectors.c drm/radeon: fix up dp aux tear down (v2) 2016-10-12 15:44:13 -04:00
radeon_cs.c drm: remove unused dev variables 2016-05-18 19:16:24 +02:00
radeon_cursor.c drm: Remove unused drm_device from drm_gem_object_lookup() 2016-05-17 08:47:30 +02:00
radeon_device.c Merge tag 'topic/drm-misc-2016-10-27' of git://anongit.freedesktop.org/git/drm-intel into drm-next 2016-10-28 11:33:52 +10:00
radeon_display.c dma-buf: Rename struct fence to dma_fence 2016-10-25 14:40:39 +02:00
radeon_dp_auxch.c Revert "drm/radeon: fix DP link training issue with second 4K monitor" 2016-10-24 17:00:26 -04:00
radeon_dp_mst.c drm/radeon: mark symbols static where possible 2016-10-25 14:38:19 -04:00
radeon_drv.c drm/radeon: allow TA_CS_BC_BASE_ADDR on SI 2016-10-12 15:44:15 -04:00
radeon_drv.h drm/radeon: remove UMS support 2015-12-02 12:45:54 -05:00
radeon_encoders.c drm/radeon: move bl encoder assignment into bl init 2015-10-29 11:13:18 -04:00
radeon_family.h
radeon_fb.c drm: radeon: Replace drm_fb_get_bpp_depth() with drm_format_plane_cpp() 2016-10-18 15:23:44 +05:30
radeon_fence.c dma-buf: Rename struct fence to dma_fence 2016-10-25 14:40:39 +02:00
radeon_gart.c drm/radeon: Don't flush the GART TLB if rdev->gart.ptr == NULL 2015-07-16 12:39:37 -04:00
radeon_gem.c drm: radeon: Replace drm_fb_get_bpp_depth() with drm_format_plane_cpp() 2016-10-18 15:23:44 +05:30
radeon_i2c.c drm/radeon: fix up dp aux tear down (v2) 2016-10-12 15:44:13 -04:00
radeon_ib.c drm/radeon: fix indentation. 2016-03-16 18:08:06 -04:00
radeon_ioc32.c
radeon_irq_kms.c drm: Nuke ->vblank_disable_allowed 2016-05-21 07:03:31 +10:00
radeon_kfd.c drm/radeon: Return -EPROBE_DEFER when amdkfd not loaded 2016-02-27 22:52:40 +02:00
radeon_kfd.h drm/radeon: Return -EPROBE_DEFER when amdkfd not loaded 2016-02-27 22:52:40 +02:00
radeon_kms.c drm/radeon: handle runtime pm in drm pre/post close 2016-09-02 10:34:49 -04:00
radeon_legacy_crtc.c drm/radeon: use drm_crtc_vblank_{on,off}() 2016-06-13 18:38:00 +02:00
radeon_legacy_encoders.c drm/radeon: add missing header dependencies 2016-10-25 14:38:18 -04:00
radeon_legacy_tv.c
radeon_mn.c drm/radeon: make radeon_mn_get wait for mmap_sem killable 2016-05-23 17:04:14 -07:00
radeon_mode.h Merge branch 'drm-next-4.5' of git://people.freedesktop.org/~agd5f/linux into drm-next 2015-12-23 14:15:26 +10:00
radeon_object.c drm/drivers: add support for using the arch wc mapping API. 2016-10-26 16:48:01 +10:00
radeon_object.h drm/ttm: remove use_ticket parameter from ttm_bo_reserve 2016-05-04 20:21:21 -04:00
radeon_pm.c drm/radeon/pm: autoswitch power state when in balanced mode 2016-10-25 14:44:03 -04:00
radeon_prime.c drm/radeon: export reservation_object from dmabuf to ttm 2014-10-03 09:19:17 -04:00
radeon_reg.h
radeon_ring.c drm/radeon: always dump the ring content if it's available 2015-03-27 10:17:43 -04:00
radeon_sa.c drm/radeon: hold reference to fences in radeon_sa_bo_new 2016-02-10 14:07:44 -05:00
radeon_semaphore.c drm/radeon: fix indentation. 2016-03-16 18:08:06 -04:00
radeon_sync.c dma-buf: Rename struct fence to dma_fence 2016-10-25 14:40:39 +02:00
radeon_test.c drm/radeon: fix the crash in test functions 2015-02-02 11:39:36 -05:00
radeon_trace_points.c
radeon_trace.h tracing/drm: Remove unused TRACE_SYSTEM_STRING define 2015-04-07 12:29:23 -04:00
radeon_ttm.c drm/ttm: make eviction decision a driver callback v2 2016-10-25 14:44:04 -04:00
radeon_ucode.c
radeon_ucode.h
radeon_uvd.c dma-buf: Rename struct fence to dma_fence 2016-10-25 14:40:39 +02:00
radeon_vce.c drm/radeon: fix indentation. 2016-03-16 18:08:06 -04:00
radeon_vm.c drm/radeon: fix indentation. 2016-03-16 18:08:06 -04:00
radeon.h dma-buf: Rename struct fence to dma_fence 2016-10-25 14:40:39 +02:00
rs100d.h
rs400.c drm/radeon: Split off gart_get_page_entry ASIC hook from set_page_entry 2015-01-22 11:46:17 -05:00
rs400d.h
rs600.c drm/radeon: Support DRM_MODE_PAGE_FLIP_ASYNC 2016-05-04 20:19:03 -04:00
rs600d.h
rs690.c drm/radeon: Fixup hw vblank counter/ts for new drm_update_vblank_count() (v2) 2015-12-18 17:29:47 -05:00
rs690d.h
rs780_dpm.c drm/radeon: fix indentation. 2016-03-16 18:08:06 -04:00
rs780_dpm.h
rs780d.h
rv6xx_dpm.c drm/radeon: fix indentation. 2016-03-16 18:08:06 -04:00
rv6xx_dpm.h
rv6xxd.h
rv200d.h
rv250d.h
rv350d.h
rv515.c drm/radeon: Prevent races on pre DCE4 between flip submission and completion. 2016-10-04 11:15:58 -04:00
rv515d.h
rv730_dpm.c drm/radeon: make some dpm errors debug only 2015-11-25 11:28:42 -05:00
rv730d.h
rv740_dpm.c drm/radeon: fix indentation. 2016-03-16 18:08:06 -04:00
rv740d.h
rv770_dma.c drm/radeon: split semaphore and sync object handling v2 2014-11-20 13:00:16 -05:00
rv770_dpm.c drm/radeon: fix indentation. 2016-03-16 18:08:06 -04:00
rv770_dpm.h drm/radeon: comment out some currently unused 7xx dpm code 2015-01-22 10:38:58 -05:00
rv770_smc.c
rv770_smc.h
rv770.c drm/radeon: switch UVD code to use UVD_NO_OP for padding 2016-08-24 16:25:05 -04:00
rv770d.h drm/radeon: switch UVD code to use UVD_NO_OP for padding 2016-08-24 16:25:05 -04:00
si_blit_shaders.c
si_blit_shaders.h
si_dma.c drm/radeon: Remove rdev->gart.pages_addr array 2015-01-22 11:48:03 -05:00
si_dpm.c drm/radeon/si_dpm: workaround for SI kickers 2016-10-26 15:39:59 -04:00
si_dpm.h drm/radeon: bind fan control on SI cards to hwmon interface 2015-01-22 10:38:48 -05:00
si_reg.h
si_smc.c
si.c drm/radeon: mark symbols static where possible 2016-10-25 14:38:19 -04:00
sid.h drm/radeon: allow TA_CS_BC_BASE_ADDR on SI 2016-10-12 15:44:15 -04:00
sislands_smc.h drm/radeon/si/dpm: fix phase shedding setup 2016-09-28 16:13:16 -04:00
smu7_discrete.h drm/radeon/dpm: add smc fan control for CI (v2) 2014-11-20 13:00:10 -05:00
smu7_fusion.h
smu7.h
sumo_dpm.c drm/radeon: fix indentation. 2016-03-16 18:08:06 -04:00
sumo_dpm.h drm/radeon: comment out some currently unused sumo dpm code 2015-01-22 10:38:57 -05:00
sumo_smc.c
sumod.h
trinity_dpm.c drm/radeon: fix indentation. 2016-03-16 18:08:06 -04:00
trinity_dpm.h
trinity_smc.c
trinityd.h
uvd_v1_0.c drm/radeon: handle more than 10 UVD sessions 2016-05-04 20:19:43 -04:00
uvd_v2_2.c drm/radeon: handle more than 10 UVD sessions 2016-05-04 20:19:43 -04:00
uvd_v3_1.c
uvd_v4_2.c drm/radeon: handle more than 10 UVD sessions 2016-05-04 20:19:43 -04:00
vce_v1_0.c drm/radeon: properly byte swap vce firmware setup 2016-01-22 10:50:24 -05:00
vce_v2_0.c drm/radeon: fix indentation. 2016-03-16 18:08:06 -04:00