1
0
Fork 0
alistair23-linux/drivers/gpu/drm/amd/amdgpu
Kees Cook 6da2ec5605 treewide: kmalloc() -> kmalloc_array()
The kmalloc() function has a 2-factor argument form, kmalloc_array(). This
patch replaces cases of:

        kmalloc(a * b, gfp)

with:
        kmalloc_array(a * b, gfp)

as well as handling cases of:

        kmalloc(a * b * c, gfp)

with:

        kmalloc(array3_size(a, b, c), gfp)

as it's slightly less ugly than:

        kmalloc_array(array_size(a, b), c, gfp)

This does, however, attempt to ignore constant size factors like:

        kmalloc(4 * 1024, gfp)

though any constants defined via macros get caught up in the conversion.

Any factors with a sizeof() of "unsigned char", "char", and "u8" were
dropped, since they're redundant.

The tools/ directory was manually excluded, since it has its own
implementation of kmalloc().

The Coccinelle script used for this was:

// Fix redundant parens around sizeof().
@@
type TYPE;
expression THING, E;
@@

(
  kmalloc(
-	(sizeof(TYPE)) * E
+	sizeof(TYPE) * E
  , ...)
|
  kmalloc(
-	(sizeof(THING)) * E
+	sizeof(THING) * E
  , ...)
)

// Drop single-byte sizes and redundant parens.
@@
expression COUNT;
typedef u8;
typedef __u8;
@@

(
  kmalloc(
-	sizeof(u8) * (COUNT)
+	COUNT
  , ...)
|
  kmalloc(
-	sizeof(__u8) * (COUNT)
+	COUNT
  , ...)
|
  kmalloc(
-	sizeof(char) * (COUNT)
+	COUNT
  , ...)
|
  kmalloc(
-	sizeof(unsigned char) * (COUNT)
+	COUNT
  , ...)
|
  kmalloc(
-	sizeof(u8) * COUNT
+	COUNT
  , ...)
|
  kmalloc(
-	sizeof(__u8) * COUNT
+	COUNT
  , ...)
|
  kmalloc(
-	sizeof(char) * COUNT
+	COUNT
  , ...)
|
  kmalloc(
-	sizeof(unsigned char) * COUNT
+	COUNT
  , ...)
)

// 2-factor product with sizeof(type/expression) and identifier or constant.
@@
type TYPE;
expression THING;
identifier COUNT_ID;
constant COUNT_CONST;
@@

(
- kmalloc
+ kmalloc_array
  (
-	sizeof(TYPE) * (COUNT_ID)
+	COUNT_ID, sizeof(TYPE)
  , ...)
|
- kmalloc
+ kmalloc_array
  (
-	sizeof(TYPE) * COUNT_ID
+	COUNT_ID, sizeof(TYPE)
  , ...)
|
- kmalloc
+ kmalloc_array
  (
-	sizeof(TYPE) * (COUNT_CONST)
+	COUNT_CONST, sizeof(TYPE)
  , ...)
|
- kmalloc
+ kmalloc_array
  (
-	sizeof(TYPE) * COUNT_CONST
+	COUNT_CONST, sizeof(TYPE)
  , ...)
|
- kmalloc
+ kmalloc_array
  (
-	sizeof(THING) * (COUNT_ID)
+	COUNT_ID, sizeof(THING)
  , ...)
|
- kmalloc
+ kmalloc_array
  (
-	sizeof(THING) * COUNT_ID
+	COUNT_ID, sizeof(THING)
  , ...)
|
- kmalloc
+ kmalloc_array
  (
-	sizeof(THING) * (COUNT_CONST)
+	COUNT_CONST, sizeof(THING)
  , ...)
|
- kmalloc
+ kmalloc_array
  (
-	sizeof(THING) * COUNT_CONST
+	COUNT_CONST, sizeof(THING)
  , ...)
)

// 2-factor product, only identifiers.
@@
identifier SIZE, COUNT;
@@

- kmalloc
+ kmalloc_array
  (
-	SIZE * COUNT
+	COUNT, SIZE
  , ...)

// 3-factor product with 1 sizeof(type) or sizeof(expression), with
// redundant parens removed.
@@
expression THING;
identifier STRIDE, COUNT;
type TYPE;
@@

(
  kmalloc(
-	sizeof(TYPE) * (COUNT) * (STRIDE)
+	array3_size(COUNT, STRIDE, sizeof(TYPE))
  , ...)
|
  kmalloc(
-	sizeof(TYPE) * (COUNT) * STRIDE
+	array3_size(COUNT, STRIDE, sizeof(TYPE))
  , ...)
|
  kmalloc(
-	sizeof(TYPE) * COUNT * (STRIDE)
+	array3_size(COUNT, STRIDE, sizeof(TYPE))
  , ...)
|
  kmalloc(
-	sizeof(TYPE) * COUNT * STRIDE
+	array3_size(COUNT, STRIDE, sizeof(TYPE))
  , ...)
|
  kmalloc(
-	sizeof(THING) * (COUNT) * (STRIDE)
+	array3_size(COUNT, STRIDE, sizeof(THING))
  , ...)
|
  kmalloc(
-	sizeof(THING) * (COUNT) * STRIDE
+	array3_size(COUNT, STRIDE, sizeof(THING))
  , ...)
|
  kmalloc(
-	sizeof(THING) * COUNT * (STRIDE)
+	array3_size(COUNT, STRIDE, sizeof(THING))
  , ...)
|
  kmalloc(
-	sizeof(THING) * COUNT * STRIDE
+	array3_size(COUNT, STRIDE, sizeof(THING))
  , ...)
)

// 3-factor product with 2 sizeof(variable), with redundant parens removed.
@@
expression THING1, THING2;
identifier COUNT;
type TYPE1, TYPE2;
@@

(
  kmalloc(
-	sizeof(TYPE1) * sizeof(TYPE2) * COUNT
+	array3_size(COUNT, sizeof(TYPE1), sizeof(TYPE2))
  , ...)
|
  kmalloc(
-	sizeof(TYPE1) * sizeof(THING2) * (COUNT)
+	array3_size(COUNT, sizeof(TYPE1), sizeof(TYPE2))
  , ...)
|
  kmalloc(
-	sizeof(THING1) * sizeof(THING2) * COUNT
+	array3_size(COUNT, sizeof(THING1), sizeof(THING2))
  , ...)
|
  kmalloc(
-	sizeof(THING1) * sizeof(THING2) * (COUNT)
+	array3_size(COUNT, sizeof(THING1), sizeof(THING2))
  , ...)
|
  kmalloc(
-	sizeof(TYPE1) * sizeof(THING2) * COUNT
+	array3_size(COUNT, sizeof(TYPE1), sizeof(THING2))
  , ...)
|
  kmalloc(
-	sizeof(TYPE1) * sizeof(THING2) * (COUNT)
+	array3_size(COUNT, sizeof(TYPE1), sizeof(THING2))
  , ...)
)

// 3-factor product, only identifiers, with redundant parens removed.
@@
identifier STRIDE, SIZE, COUNT;
@@

(
  kmalloc(
-	(COUNT) * STRIDE * SIZE
+	array3_size(COUNT, STRIDE, SIZE)
  , ...)
|
  kmalloc(
-	COUNT * (STRIDE) * SIZE
+	array3_size(COUNT, STRIDE, SIZE)
  , ...)
|
  kmalloc(
-	COUNT * STRIDE * (SIZE)
+	array3_size(COUNT, STRIDE, SIZE)
  , ...)
|
  kmalloc(
-	(COUNT) * (STRIDE) * SIZE
+	array3_size(COUNT, STRIDE, SIZE)
  , ...)
|
  kmalloc(
-	COUNT * (STRIDE) * (SIZE)
+	array3_size(COUNT, STRIDE, SIZE)
  , ...)
|
  kmalloc(
-	(COUNT) * STRIDE * (SIZE)
+	array3_size(COUNT, STRIDE, SIZE)
  , ...)
|
  kmalloc(
-	(COUNT) * (STRIDE) * (SIZE)
+	array3_size(COUNT, STRIDE, SIZE)
  , ...)
|
  kmalloc(
-	COUNT * STRIDE * SIZE
+	array3_size(COUNT, STRIDE, SIZE)
  , ...)
)

// Any remaining multi-factor products, first at least 3-factor products,
// when they're not all constants...
@@
expression E1, E2, E3;
constant C1, C2, C3;
@@

(
  kmalloc(C1 * C2 * C3, ...)
|
  kmalloc(
-	(E1) * E2 * E3
+	array3_size(E1, E2, E3)
  , ...)
|
  kmalloc(
-	(E1) * (E2) * E3
+	array3_size(E1, E2, E3)
  , ...)
|
  kmalloc(
-	(E1) * (E2) * (E3)
+	array3_size(E1, E2, E3)
  , ...)
|
  kmalloc(
-	E1 * E2 * E3
+	array3_size(E1, E2, E3)
  , ...)
)

// And then all remaining 2 factors products when they're not all constants,
// keeping sizeof() as the second factor argument.
@@
expression THING, E1, E2;
type TYPE;
constant C1, C2, C3;
@@

(
  kmalloc(sizeof(THING) * C2, ...)
|
  kmalloc(sizeof(TYPE) * C2, ...)
|
  kmalloc(C1 * C2 * C3, ...)
|
  kmalloc(C1 * C2, ...)
|
- kmalloc
+ kmalloc_array
  (
-	sizeof(TYPE) * (E2)
+	E2, sizeof(TYPE)
  , ...)
|
- kmalloc
+ kmalloc_array
  (
-	sizeof(TYPE) * E2
+	E2, sizeof(TYPE)
  , ...)
|
- kmalloc
+ kmalloc_array
  (
-	sizeof(THING) * (E2)
+	E2, sizeof(THING)
  , ...)
|
- kmalloc
+ kmalloc_array
  (
-	sizeof(THING) * E2
+	E2, sizeof(THING)
  , ...)
|
- kmalloc
+ kmalloc_array
  (
-	(E1) * E2
+	E1, E2
  , ...)
|
- kmalloc
+ kmalloc_array
  (
-	(E1) * (E2)
+	E1, E2
  , ...)
|
- kmalloc
+ kmalloc_array
  (
-	E1 * E2
+	E1, E2
  , ...)
)

Signed-off-by: Kees Cook <keescook@chromium.org>
2018-06-12 16:19:22 -07:00
..
Kconfig drm/amd/dc: Add dc display driver (v2) 2017-09-26 17:01:32 -04:00
Makefile drm/amdgpu/df: implement df v3_6 callback functions (v2) 2018-05-18 16:08:15 -05:00
ObjectID.h Revert "drm/amdgpu: Add virtual connector and encoder macros." 2016-10-25 14:38:06 -04:00
amdgpu.h drm/amdgpu: add new DF callback for ECC setup 2018-05-23 23:51:21 -05:00
amdgpu_acp.c drm for v4.18-rc1 2018-06-06 08:16:33 -07:00
amdgpu_acp.h drm/amdgpu: rework IP block registration (v2) 2016-10-25 14:38:45 -04:00
amdgpu_acpi.c drm/amdgpu: Notify sbios device ready before send request 2018-03-07 16:27:00 -05:00
amdgpu_afmt.c gpu: drm: amd/radeon: Convert printk(KERN_<LEVEL> to pr_<level> 2017-03-29 23:53:24 -04:00
amdgpu_amdkfd.c drm/amdgpu: Use dev_info() to report amdkfd is not supported for this ASIC 2018-05-24 14:07:14 -07:00
amdgpu_amdkfd.h drm/amdgpu: conditionally compile amdgpu's amdkfd files 2018-05-18 22:18:16 +03:00
amdgpu_amdkfd_fence.c drm/amdgpu: Add KFD eviction fence 2018-02-06 20:32:35 -05:00
amdgpu_amdkfd_gfx_v7.c treewide: kmalloc() -> kmalloc_array() 2018-06-12 16:19:22 -07:00
amdgpu_amdkfd_gfx_v8.c treewide: kmalloc() -> kmalloc_array() 2018-06-12 16:19:22 -07:00
amdgpu_amdkfd_gfx_v9.c treewide: kmalloc() -> kmalloc_array() 2018-06-12 16:19:22 -07:00
amdgpu_amdkfd_gpuvm.c drm/amdgpu: include pagemap.h for release_pages() 2018-05-17 14:59:08 +10:00
amdgpu_atombios.c drm/amdgpu: move atom functions from amdgpu_device.c 2017-12-18 10:58:35 -05:00
amdgpu_atombios.h drm/amdgpu: move atom functions from amdgpu_device.c 2017-12-18 10:58:35 -05:00
amdgpu_atomfirmware.c drm/amdgpu: Update GFX info structure to match what vega20 used 2018-05-24 10:07:55 -05:00
amdgpu_atomfirmware.h drm/amdgpu/atomfirmware: add parser for gfx_info table 2018-05-17 10:13:22 -05:00
amdgpu_atpx_handler.c drm/amdgpu: fix amdgpu_atpx_get_client_id()'s return type 2018-05-15 13:43:50 -05:00
amdgpu_benchmark.c drm/amdgpu: use amdgpu_bo_param for amdgpu_bo_create v2 2018-05-15 13:43:28 -05:00
amdgpu_bios.c drm/amdgpu: rename amdgpu_need_post 2017-12-18 10:59:46 -05:00
amdgpu_bo_list.c drm/amdgpu: Fix always_valid bos multiple LRU insertions. 2018-02-19 14:19:13 -05:00
amdgpu_cgs.c drm/amdgpu: Add smu firmware support for vega20 2018-05-17 10:13:10 -05:00
amdgpu_connectors.c drm/admgpu: fix mode_valid's return type 2018-05-15 13:43:51 -05:00
amdgpu_connectors.h drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
amdgpu_cs.c Merge branch 'drm-next-4.18' of git://people.freedesktop.org/~agd5f/linux into drm-next 2018-05-16 08:31:29 +10:00
amdgpu_ctx.c drm/amdgpu: Skip drm_sched_entity related ops for KIQ ring. 2018-05-18 16:08:16 -05:00
amdgpu_debugfs.c drm/amd/amdgpu: Add some documentation to the debugfs entries 2018-05-15 13:44:19 -05:00
amdgpu_debugfs.h drm/amdgpu: move debugfs functions to their own file 2017-12-18 10:59:01 -05:00
amdgpu_device.c drm/amdgpu: skip CG for VCN when late_init/fini 2018-05-24 00:15:44 -05:00
amdgpu_display.c drm/amdgpu: Rename amdgpu_display_framebuffer_domains() 2018-05-15 13:43:43 -05:00
amdgpu_display.h drm/amdgpu: Rename amdgpu_display_framebuffer_domains() 2018-05-15 13:43:43 -05:00
amdgpu_dpm.c drm/amdgpu: Set pm_display_cfg in non-dc mode 2018-04-11 13:07:51 -05:00
amdgpu_dpm.h drm/amdgpu: move PP_FEATURE_MASK to amd_shared header 2018-05-15 13:43:38 -05:00
amdgpu_drv.c drm/amdgpu: flag Vega20 as experimental 2018-05-18 16:08:16 -05:00
amdgpu_drv.h drm/amdgpu: merge amdgpu_family.h into amd_shared.h (v2) 2015-08-17 16:50:21 -04:00
amdgpu_encoders.c drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
amdgpu_fb.c drm/amdgpu: Rename amdgpu_display_framebuffer_domains() 2018-05-15 13:43:43 -05:00
amdgpu_fence.c drm/amdgpu/vg20:Restruct uvd.inst to support multiple instances 2018-05-18 16:08:12 -05:00
amdgpu_gart.c drm/amdgpu: use amdgpu_bo_param for amdgpu_bo_create v2 2018-05-15 13:43:28 -05:00
amdgpu_gart.h drm/amdgpu: move struct gart_funcs into amdgpu_gmc.h 2018-02-19 14:17:44 -05:00
amdgpu_gds.h amdgpu: move ttm stuff to amdgpu_ttm.h 2016-08-19 12:30:58 -04:00
amdgpu_gem.c drm/amdgpu: print the BO flags in the gem debugfs entry 2018-05-15 13:44:27 -05:00
amdgpu_gfx.c drm/amdgpu: use queue 0 for kiq ring 2018-01-29 23:14:30 -05:00
amdgpu_gfx.h drm/amdgpu/gfx: consolidate mqd buffer setup code 2017-06-07 18:20:59 -04:00
amdgpu_gmc.h drm/amdgpu: separate PASID mapping from VM flush v2 2018-02-19 14:20:18 -05:00
amdgpu_gtt_mgr.c drm/amdgpu: Add a missing lock for drm_mm_takedown 2018-02-20 15:09:21 -05:00
amdgpu_i2c.c drm/amdgpu: Remove checking for atombios 2017-01-27 11:12:39 -05:00
amdgpu_i2c.h drm/amdgpu/i2c: add const where appropriate 2016-09-27 13:00:52 -04:00
amdgpu_ib.c drm/amdgpu: optionally do a writeback but don't invalidate TC for IB fences 2018-05-15 13:43:32 -05:00
amdgpu_ids.c drm/amdgpu: update the PASID mapping only on demand 2018-02-19 14:20:18 -05:00
amdgpu_ids.h drm/amdgpu: update the PASID mapping only on demand 2018-02-19 14:20:18 -05:00
amdgpu_ih.c drm/amdgpu: rename amdgpu_wb_* functions 2017-12-18 10:59:07 -05:00
amdgpu_ih.h drm/amdgpu: Move IH clientid defs to separate file 2018-03-14 15:16:35 -05:00
amdgpu_ioc32.c drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
amdgpu_irq.c drm/amdgpu: Fix kernel NULL pointer dereference when amdgpu fini 2018-03-20 23:44:21 -05:00
amdgpu_irq.h drm/amdgpu: drop the drm irq pre/post/un install callbacks 2018-02-19 14:18:16 -05:00
amdgpu_job.c drm/amdgpu: rename vm_id to vmid 2017-12-27 11:34:02 -05:00
amdgpu_kms.c drm/amdgpu/vg20:Restruct uvd.inst to support multiple instances 2018-05-18 16:08:12 -05:00
amdgpu_mn.c drm/amdgpu: Avoid reclaim while holding locks taken in MMU notifier 2018-03-23 15:32:30 -04:00
amdgpu_mn.h drm/amdgpu: Add MMU notifier type for KFD userptr 2018-03-23 15:32:28 -04:00
amdgpu_mode.h drm/amdgpu: Move GEM BO to drm_framebuffer 2018-04-11 13:07:56 -05:00
amdgpu_object.c drm/amdgpu: set ttm bo priority before initialization 2018-05-15 13:44:23 -05:00
amdgpu_object.h drm/amdgpu: set preferred_domain independent of fallback handling 2018-05-15 13:43:31 -05:00
amdgpu_pll.c drm/amdgpu: add missing header dependencies 2016-09-14 15:10:37 -04:00
amdgpu_pll.h drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
amdgpu_pm.c drm/amdgpu: Fix display corruption on CI with dpm enabled 2018-05-15 13:44:19 -05:00
amdgpu_pm.h drm/amdgpu: Fix amdgpu_pm_acpi_event_handler warning 2017-08-15 14:46:06 -04:00
amdgpu_prime.c drm/amdgpu: Rename amdgpu_display_framebuffer_domains() 2018-05-15 13:43:43 -05:00
amdgpu_psp.c drm/amdgpu/psp: Add initial psp support for vega20 2018-05-17 10:13:11 -05:00
amdgpu_psp.h drm/amdgpu/soc15: don't abuse IP soft reset for adapter reset 2018-02-19 14:18:31 -05:00
amdgpu_queue_mgr.c drm/amdgpu/vg20:Enable 2nd instance queue maping for uvd 7.2 2018-05-18 16:08:14 -05:00
amdgpu_ring.c drm/amdgpu/vg20:Restruct uvd.inst to support multiple instances 2018-05-18 16:08:12 -05:00
amdgpu_ring.h drm/amdgpu/vg20:increase 3 rings for AMDGPU_MAX_RINGS 2018-05-18 16:08:12 -05:00
amdgpu_sa.c drm/amdgpu: cleanup SA inti and fini(v2) 2018-02-28 14:18:07 -05:00
amdgpu_sched.c drm: move amd_gpu_scheduler into common location 2017-12-07 11:51:56 -05:00
amdgpu_sched.h drm: move amd_gpu_scheduler into common location 2017-12-07 11:51:56 -05:00
amdgpu_sync.c drm/amdgpu: add amdgpu_sync_clone 2018-02-06 20:32:37 -05:00
amdgpu_sync.h drm/amdgpu: add amdgpu_sync_clone 2018-02-06 20:32:37 -05:00
amdgpu_test.c drm/amdgpu: use amdgpu_bo_param for amdgpu_bo_create v2 2018-05-15 13:43:28 -05:00
amdgpu_trace.h drm/amdgpu: fix null pointer for bo unmap trace function 2018-05-15 13:44:25 -05:00
amdgpu_trace_points.c main drm pull request for v4.15 2017-11-15 20:42:10 -08:00
amdgpu_ttm.c drm/amd/amdgpu: Code comments for the amdgpu_ttm.c driver. (v2) 2018-05-18 16:08:19 -05:00
amdgpu_ttm.h drm/amdgpu: Free VGA stolen memory as soon as possible. 2018-05-15 13:43:16 -05:00
amdgpu_ucode.c drm/amdgpu: Set vega20 load_type to AMDGPU_FW_LOAD_DIRECT. 2018-05-17 10:13:22 -05:00
amdgpu_ucode.h drm/amdgpu: add save restore list cntl gpm and srm firmware support 2018-05-15 13:43:36 -05:00
amdgpu_uvd.c drm/amdgpu: Take uvd encode rings into account in idle work (v2) 2018-05-18 16:08:20 -05:00
amdgpu_uvd.h drm/amdgpu/vg20:Restruct uvd to support multiple uvds 2018-05-18 16:08:12 -05:00
amdgpu_vce.c drm/amdgpu: Specify vega20 vce firmware 2018-05-17 10:13:12 -05:00
amdgpu_vce.h drm/amdgpu: limit the VM address space with older VCE FW versions 2018-02-19 14:19:05 -05:00
amdgpu_vcn.c drm/amdgpu: Add runtime VCN PG support 2018-05-24 10:07:52 -05:00
amdgpu_vcn.h drm/amdgpu: Add VCN static PG support on RV 2018-05-24 10:07:51 -05:00
amdgpu_vf_error.c drm/amdgpu:fix vf_error_put 2017-10-20 13:28:44 -04:00
amdgpu_vf_error.h drm/amdgpu: fix vf error handling 2017-09-28 16:03:20 -04:00
amdgpu_virt.c drm/amdgpu: give warning before sleep in kiq_r/wreg 2018-03-07 16:10:13 -05:00
amdgpu_virt.h drm/amdgpu: move static CSA address to top of address space v2 2018-02-19 14:18:48 -05:00
amdgpu_vm.c drm/amdgpu: move VM BOs on LRU again 2018-05-24 10:07:54 -05:00
amdgpu_vm.h drm/amdgpu: move VM BOs on LRU again 2018-05-24 10:07:54 -05:00
amdgpu_vram_mgr.c drm/amdgpu: move struct amdgpu_mc into amdgpu_gmc.h 2018-02-19 14:17:43 -05:00
atom.c drm/amdgpu: Add debugfs file for VBIOS and version 2017-08-29 15:27:54 -04:00
atom.h drm/amdgpu: Add debugfs file for VBIOS and version 2017-08-29 15:27:54 -04:00
atombios_crtc.c drm/amdgpu/atom: fix ps allocation size for EnableDispPowerGating 2017-06-20 12:06:49 -04:00
atombios_crtc.h drm/amdgpu/atom: add SetDCEClock helper 2016-05-04 20:23:53 -04:00
atombios_dp.c drm/amdgpu: Don't retry 7 times in amdgpu_atombios_dp_get_dpcd() 2016-08-08 13:28:39 -04:00
atombios_dp.h drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
atombios_encoders.c drm/amdgpu: save/restore backlight level in legacy dce code 2018-03-14 15:39:51 -05:00
atombios_encoders.h drm/amdgpu: save/restore backlight level in legacy dce code 2018-03-14 15:39:51 -05:00
atombios_i2c.c drm/amd/amdgpu: Fix missing null check in atombios_i2c.c 2017-12-06 12:47:59 -05:00
atombios_i2c.h drm/amdgpu: fix power distribution issue for Polaris10 XT 2016-07-14 16:39:35 -04:00
ci_dpm.c drm/amdgpu: use pp_feature member to store the mask 2018-05-15 13:43:40 -05:00
ci_dpm.h drm/amd/pp: Revert gfx/compute profile switch sysfs 2018-03-06 13:12:38 -05:00
ci_smc.c drm/amd: fix include notation and remove -Iinclude/drm flag 2017-05-16 17:17:41 +02:00
cik.c drm/amdgpu/cik: implement asic need_full_reset callback 2018-04-11 13:07:58 -05:00
cik.h drm/amdgpu: add PASID mapping for GMC v7 2018-02-19 14:18:10 -05:00
cik_dpm.h drm/amdgpu: Remove wrapper layer of smu ip functions 2018-03-15 09:57:50 -05:00
cik_ih.c drm/amdgpu: use the TTM dummy page instead of allocating one 2018-02-26 23:09:36 -05:00
cik_ih.h drm/amdgpu: rework IP block registration (v2) 2016-10-25 14:38:45 -04:00
cik_sdma.c drm/amdgpu/sdma: fix mask in emit_pipeline_sync 2018-04-03 12:52:58 -05:00
cik_sdma.h drm/amdgpu: rework IP block registration (v2) 2016-10-25 14:38:45 -04:00
cikd.h drm/amdgpu: Fix definition of KFD_CIK_SDMA_QUEUE_OFFSET 2017-11-27 18:29:47 -05:00
clearstate_ci.h drm/amdgpu: Add support for CIK parts 2015-06-03 21:03:17 -04:00
clearstate_defs.h
…
clearstate_gfx9.h drm/amdgpu: remove some old gc 9.x registers 2017-12-13 17:28:08 -05:00
clearstate_si.h drm/amdgpu: move misc si headers into amdgpu 2017-01-27 12:20:41 -05:00
clearstate_vi.h drm/amdgpu: Add initial VI support 2015-06-03 21:03:17 -04:00
cz_ih.c drm/amdgpu: use the TTM dummy page instead of allocating one 2018-02-26 23:09:36 -05:00
cz_ih.h drm/amdgpu: rework IP block registration (v2) 2016-10-25 14:38:45 -04:00
dce_v6_0.c drm/amdgpu: Move GEM BO to drm_framebuffer 2018-04-11 13:07:56 -05:00
dce_v6_0.h drm/amdgpu: rework IP block registration (v2) 2016-10-25 14:38:45 -04:00
dce_v8_0.c drm/amdgpu: Move GEM BO to drm_framebuffer 2018-04-11 13:07:56 -05:00
dce_v8_0.h drm/amdgpu: rework IP block registration (v2) 2016-10-25 14:38:45 -04:00
dce_v10_0.c drm/amdgpu: Move GEM BO to drm_framebuffer 2018-04-11 13:07:56 -05:00
dce_v10_0.h drm/amdgpu: rework IP block registration (v2) 2016-10-25 14:38:45 -04:00
dce_v11_0.c drm/amdgpu: Add VEGAM support to the legacy DCE 11 module 2018-05-15 13:44:02 -05:00
dce_v11_0.h drm/amdgpu: rework IP block registration (v2) 2016-10-25 14:38:45 -04:00
dce_virtual.c drm/amdgpu/virtual_dce: Add vega20 support 2018-05-17 10:13:13 -05:00
dce_virtual.h drm/amdgpu: rework IP block registration (v2) 2016-10-25 14:38:45 -04:00
df_v1_7.c drm/amdgpu: add a df 1.7 implementation of enable_ecc_force_par_wr_rmw 2018-05-23 23:51:21 -05:00
df_v1_7.h drm/amdgpu/df: implement df v1_7 callback functions 2018-04-11 13:07:54 -05:00
df_v3_6.c drm/amdgpu/df: implement df v3_6 callback functions (v2) 2018-05-18 16:08:15 -05:00
df_v3_6.h drm/amdgpu/df: implement df v3_6 callback functions (v2) 2018-05-18 16:08:15 -05:00
emu_soc.c drm/amdgpu: Add place holder for soc15 asic init on emulation 2018-02-19 14:19:49 -05:00
gfx_v6_0.c drm/amdgpu: Add support for SRBM selection v3 2018-04-03 13:08:44 -05:00
gfx_v6_0.h drm/amdgpu: rework IP block registration (v2) 2016-10-25 14:38:45 -04:00
gfx_v7_0.c drm/amdgpu: Add support for SRBM selection v3 2018-04-03 13:08:44 -05:00
gfx_v7_0.h drm/amdgpu: unify MQD programming sequence for kfd and amdgpu v2 2017-05-31 16:48:48 -04:00
gfx_v8_0.c drm/amdgpu: initialize VEGAM GFX 2018-05-15 13:43:58 -05:00
gfx_v8_0.h drm/amdgpu: unify MQD programming sequence for kfd and amdgpu v2 2017-05-31 16:48:48 -04:00
gfx_v9_0.c drm/amdgpu: Use vbios table for gpu info on vega20 2018-05-17 10:13:22 -05:00
gfx_v9_0.h drm/amdgpu: set gfx_v9_0_ip_funcs as static 2017-08-15 14:46:13 -04:00
gfxhub_v1_0.c drm/amdgpu: use the TTM dummy page instead of allocating one 2018-02-26 23:09:36 -05:00
gfxhub_v1_0.h drm/amdgpu: drop old ip definitions for gfxhub and mmhub 2017-08-15 14:46:00 -04:00
gmc_v6_0.c drm/amdgpu: Free VGA stolen memory as soon as possible. 2018-05-15 13:43:16 -05:00
gmc_v6_0.h drm/amdgpu: rework IP block registration (v2) 2016-10-25 14:38:45 -04:00
gmc_v7_0.c drm/amdgpu: Free VGA stolen memory as soon as possible. 2018-05-15 13:43:16 -05:00
gmc_v7_0.h drm/amdgpu: rework IP block registration (v2) 2016-10-25 14:38:45 -04:00
gmc_v8_0.c drm/amdgpu: initialize VEGAM GMC (v2) 2018-05-15 13:43:56 -05:00
gmc_v8_0.h drm/amdgpu: rework IP block registration (v2) 2016-10-25 14:38:45 -04:00
gmc_v9_0.c drm/amdgpu/gmc9: disable partial wr rmw if ECC is not enabled 2018-05-23 23:51:22 -05:00
gmc_v9_0.h drm/amdgpu: Add GMC 9.0 support (v2) 2017-03-29 23:54:44 -04:00
iceland_ih.c drm/amdgpu: use the TTM dummy page instead of allocating one 2018-02-26 23:09:36 -05:00
iceland_ih.h drm/amdgpu: rework IP block registration (v2) 2016-10-25 14:38:45 -04:00
iceland_sdma_pkt_open.h drm/amdgpu: add count field for the SDMA NOP packet v2 2015-09-02 12:21:35 -04:00
kv_dpm.c drm/amdgpu: use pp_feature member to store the mask 2018-05-15 13:43:40 -05:00
kv_dpm.h drm/amdgpu: Add support for CIK parts 2015-06-03 21:03:17 -04:00
kv_smc.c drm/amd: fix include notation and remove -Iinclude/drm flag 2017-05-16 17:17:41 +02:00
mmhub_v1_0.c drm/amdgpu/mmhub: Add clockgating support for vega20 2018-05-17 10:13:13 -05:00
mmhub_v1_0.h drm/amdgpu: drop old ip definitions for gfxhub and mmhub 2017-08-15 14:46:00 -04:00
mmsch_v1_0.h drm/amdgpu/vce4: move mm table constructions functions into mmsch header file 2017-04-28 17:32:57 -04:00
mxgpu_ai.c drm/amdgpu/sriov: Need to set in_gpu_reset flag to back after gpu reset 2018-05-15 13:44:06 -05:00
mxgpu_ai.h drm/amdgpu: refactoring mailbox to fix TDR handshake bugs(v2) 2018-03-14 14:38:27 -05:00
mxgpu_vi.c drm/amdgpu: rename amdgpu_gpu_recover 2017-12-18 10:59:58 -05:00
mxgpu_vi.h drm/amdgpu/sriov:increate mailbox polling timeout 2017-09-26 15:14:12 -04:00
nbio_v6_1.c drm/amdgpu/nbio6: Correct PCIE_INDEX/DATA pair used for smn register accessing 2018-03-20 23:43:25 -05:00
nbio_v6_1.h drm/amdgpu: convert nbio to use callbacks (v2) 2017-12-13 17:28:07 -05:00
nbio_v7_0.c drm/amdgpu: Add nbio support for vega20 (v2) 2018-05-17 10:13:18 -05:00
nbio_v7_0.h drm/amdgpu: convert nbio to use callbacks (v2) 2017-12-13 17:28:07 -05:00
ppsmc.h drm/amdgpu: add new definitions into ppsmc.h for iceland 2016-07-15 12:33:31 -04:00
psp_gfx_if.h drm/amdgpu: update psp gfx if header 2018-05-15 13:43:35 -05:00
psp_v3_1.c drm/amdgpu/psp: Add initial psp support for vega20 2018-05-17 10:13:11 -05:00
psp_v3_1.h drm/amdgpu/psp: use a function pointer structure 2018-02-19 14:18:31 -05:00
psp_v10_0.c drm/amdgpu: add save restore list cntl gpm and srm firmware support 2018-05-15 13:43:36 -05:00
psp_v10_0.h drm/amdgpu/psp: use a function pointer structure 2018-02-19 14:18:31 -05:00
r600_dpm.h drm/amdgpu: add SI DPM support (v4) 2016-08-31 15:21:09 -04:00
sdma_v2_4.c drm/amdgpu/sdma: fix mask in emit_pipeline_sync 2018-04-03 12:52:58 -05:00
sdma_v2_4.h drm/amdgpu: rework IP block registration (v2) 2016-10-25 14:38:45 -04:00
sdma_v3_0.c drm/amdgpu: add VEGAM SDMA golden settings 2018-05-15 13:43:57 -05:00
sdma_v3_0.h drm/amdgpu: rework IP block registration (v2) 2016-10-25 14:38:45 -04:00
sdma_v4_0.c drm/amdgpu/sdma4: Add clockgating support for vega20 2018-05-17 10:13:14 -05:00
sdma_v4_0.h drm/amdgpu: add SDMA v4.0 implementation (v2) 2017-03-29 23:54:45 -04:00
si.c drm/amdgpu/si: implement asic need_full_reset callback 2018-04-11 13:07:57 -05:00
si.h drm/amdgpu: implement gmc_v6_0_emit_flush_gpu_tlb 2018-02-19 14:18:08 -05:00
si_dma.c drm/amdgpu: change amdgpu_ttm_set_active_vram_size 2018-03-05 15:37:12 -05:00
si_dma.h drm/amdgpu: rework IP block registration (v2) 2016-10-25 14:38:45 -04:00
si_dpm.c drm/amdgpu: Use dpm_enabled as dpm state flag 2018-04-11 13:07:49 -05:00
si_dpm.h drm/amdgpu: Remove wrapper layer of smu ip functions 2018-03-15 09:57:50 -05:00
si_enums.h drm/amdgpu: update HAINAN_GB_ADDR_CONFIG_GOLDEN 2017-02-08 17:25:02 -05:00
si_ih.c drm/amdgpu: rename vm_id to vmid 2017-12-27 11:34:02 -05:00
si_ih.h drm/amdgpu: rework IP block registration (v2) 2016-10-25 14:38:45 -04:00
si_smc.c drm/amd: fix include notation and remove -Iinclude/drm flag 2017-05-16 17:17:41 +02:00
sid.h drm/amdgpu: move misc si headers into amdgpu 2017-01-27 12:20:41 -05:00
sislands_smc.h drm/amdgpu/si/dpm: fix phase shedding setup 2016-09-28 16:13:17 -04:00
soc15.c drm/amdgpu: Enable VCN static PG by default on RV 2018-05-24 10:07:51 -05:00
soc15.h drm/amdgpu/soc15: dynamic initialize ip offset for vega20 2018-05-17 10:13:17 -05:00
soc15_common.h drm/amdgpu: Add SOC15_WAIT_ON_RREG macro define 2018-05-24 00:18:02 -05:00
soc15d.h Merge branch 'drm-next-4.18' of git://people.freedesktop.org/~agd5f/linux into drm-next 2018-05-16 08:31:29 +10:00
tonga_ih.c drm/amdgpu: use the TTM dummy page instead of allocating one 2018-02-26 23:09:36 -05:00
tonga_ih.h drm/amdgpu: rework IP block registration (v2) 2016-10-25 14:38:45 -04:00
tonga_sdma_pkt_open.h drm/amdgpu: add count field for the SDMA NOP packet v2 2015-09-02 12:21:35 -04:00
uvd_v4_2.c drm/amdgpu: fix insert nop for UVD4.2 ring 2018-05-18 16:08:32 -05:00
uvd_v4_2.h drm/amdgpu: rework IP block registration (v2) 2016-10-25 14:38:45 -04:00
uvd_v5_0.c drm/amdgpu: fix insert nop for UVD5 ring 2018-05-18 16:08:32 -05:00
uvd_v5_0.h drm/amdgpu: rework IP block registration (v2) 2016-10-25 14:38:45 -04:00
uvd_v6_0.c drm/amdgpu: fix insert nop for UVD6 ring 2018-05-18 16:08:31 -05:00
uvd_v6_0.h drm/amdgpu: rework IP block registration (v2) 2016-10-25 14:38:45 -04:00
uvd_v7_0.c drm/amdgpu: fix insert nop for UVD7 ring 2018-05-18 16:08:31 -05:00
uvd_v7_0.h drm/amdgpu: add initial uvd 7.0 support for vega10 2017-03-29 23:54:47 -04:00
vce_v2_0.c drm/amdgpu: various cleanups for uvd/vce. 2017-04-04 13:40:33 -04:00
vce_v2_0.h drm/amdgpu: rework IP block registration (v2) 2016-10-25 14:38:45 -04:00
vce_v3_0.c drm/amdgpu: add VEGAM to VCE harvest config 2018-05-15 13:44:00 -05:00
vce_v3_0.h drm/amdgpu: rework IP block registration (v2) 2016-10-25 14:38:45 -04:00
vce_v4_0.c Merge branch 'drm-next-4.18' of git://people.freedesktop.org/~agd5f/linux into drm-next 2018-05-16 08:31:29 +10:00
vce_v4_0.h drm/amdgpu: add initial vce 4.0 support for vega10 2017-03-29 23:54:47 -04:00
vcn_v1_0.c drm/amdgpu: Add runtime VCN PG support 2018-05-24 10:07:52 -05:00
vcn_v1_0.h drm/amdgpu: add vcn ip block and type 2017-05-24 17:41:27 -04:00
vega10_ih.c drm/amdgpu: Move IH clientid defs to separate file 2018-03-14 15:16:35 -05:00
vega10_ih.h drm/amdgpu: add vega10 interrupt handler 2017-03-29 23:54:46 -04:00
vega10_reg_init.c drm/amdgpu: add MP1 and THM hw ip base reg offset 2018-05-15 13:43:04 -05:00
vega10_sdma_pkt_open.h drm/amdgpu: add SDMA 4.0 packet header 2017-03-29 23:54:30 -04:00
vega20_reg_init.c drm/amdgpu/soc15: dynamic initialize ip offset for vega20 2018-05-17 10:13:17 -05:00
vi.c drm/amdgpu: add VEGAM support to vi 2018-05-15 13:44:00 -05:00
vi.h drm/amdgpu: add PASID mapping for GMC v8 2018-02-19 14:18:11 -05:00
vi_dpm.h drm/amdgpu: cleanup useless extern functions 2017-01-27 11:12:43 -05:00
vid.h drm/amdgpu: Implement amdgpu SDMA functions for VI 2017-11-01 19:22:00 -04:00