aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2016-12-13 12:35:09 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2016-12-13 12:35:09 -0500
commit9439b3710df688d853eb6cb4851256f2c92b1797 (patch)
treea0e5de21bbe65ac73fb69cfacaa700fb8e934483 /drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
parent7079efc9d3e7f1f7cdd34082ec58209026315057 (diff)
parent2cf026ae85c42f253feb9f420d1b4bc99bd5503d (diff)
Merge tag 'drm-for-v4.10' of git://people.freedesktop.org/~airlied/linux
Pull drm updates from Dave Airlie: "This is the main pull request for drm for 4.10 kernel. New drivers: - ZTE VOU display driver (zxdrm) - Amlogic Meson Graphic Controller GXBB/GXL/GXM SoCs (meson) - MXSFB support (mxsfb) Core: - Format handling has been reworked - Better atomic state debugging - drm_mm leak debugging - Atomic explicit fencing support - fbdev helper ops - Documentation updates - MST fbcon fixes Bridge: - Silicon Image SiI8620 driver Panel: - Add support for new simple panels i915: - GVT Device model - Better HDMI2.0 support on skylake - More watermark fixes - GPU idling rework for suspend/resume - DP Audio workarounds - Scheduler prep-work - Opregion CADL handling - GPU scheduler and priority boosting amdgfx/radeon: - Support for virtual devices - New VM manager for non-contig VRAM buffers - UVD powergating - SI register header cleanup - Cursor fixes - Powermanagement fixes nouveau: - Powermangement reworks for better voltage/clock changes - Atomic modesetting support - Displayport Multistream (MST) support. - GP102/104 hang and cursor fixes - GP106 support hisilicon: - hibmc support (BMC chip for aarch64 servers) armada: - add tracing support for overlay change - refactor plane support - de-midlayer the driver omapdrm: - Timing code cleanups rcar-du: - R8A7792/R8A7796 support - Misc fixes. sunxi: - A31 SoC display engine support imx-drm: - YUV format support - Cleanup plane atomic update mali-dp: - Misc fixes dw-hdmi: - Add support for HDMI i2c master controller tegra: - IOMMU support fixes - Error handling fixes tda998x: - Fix connector registration - Improved robustness - Fix infoframe/audio compliance virtio: - fix busid issues - allocate more vbufs qxl: - misc fixes and cleanups. vc4: - Fragment shader threading - ETC1 support - VEC (tv-out) support msm: - A5XX GPU support - Lots of atomic changes tilcdc: - Misc fixes and cleanups. etnaviv: - Fix dma-buf export path - DRAW_INSTANCED support - fix driver on i.MX6SX exynos: - HDMI refactoring fsl-dcu: - fbdev changes" * tag 'drm-for-v4.10' of git://people.freedesktop.org/~airlied/linux: (1343 commits) drm/nouveau/kms/nv50: fix atomic regression on original G80 drm/nouveau/bl: Do not register interface if Apple GMUX detected drm/nouveau/bl: Assign different names to interfaces drm/nouveau/bios/dp: fix handling of LevelEntryTableIndex on DP table 4.2 drm/nouveau/ltc: protect clearing of comptags with mutex drm/nouveau/gr/gf100-: handle GPC/TPC/MPC trap drm/nouveau/core: recognise GP106 chipset drm/nouveau/ttm: wait for bo fence to signal before unmapping vmas drm/nouveau/gr/gf100-: FECS intr handling is not relevant on proprietary ucode drm/nouveau/gr/gf100-: properly ack all FECS error interrupts drm/nouveau/fifo/gf100-: recover from host mmu faults drm: Add fake controlD* symlinks for backwards compat drm/vc4: Don't use drm_put_dev drm/vc4: Document VEC DT binding drm/vc4: Add support for the VEC (Video Encoder) IP drm: Add TV connector states to drm_connector_state drm: Turn DRM_MODE_SUBCONNECTOR_xx definitions into an enum drm/vc4: Fix ->clock_select setting for the VEC encoder drm/amdgpu/dce6: Set MASTER_UPDATE_MODE to 0 in resume_mc_access as well drm/amdgpu: use pin rather than pin_restricted in a few cases ...
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c25
1 files changed, 16 insertions, 9 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
index e0890deccb2f..8cb937b2bfcc 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
@@ -58,9 +58,10 @@
58 * - 3.6.0 - kmd involves use CONTEXT_CONTROL in ring buffer. 58 * - 3.6.0 - kmd involves use CONTEXT_CONTROL in ring buffer.
59 * - 3.7.0 - Add support for VCE clock list packet 59 * - 3.7.0 - Add support for VCE clock list packet
60 * - 3.8.0 - Add support raster config init in the kernel 60 * - 3.8.0 - Add support raster config init in the kernel
61 * - 3.9.0 - Add support for memory query info about VRAM and GTT.
61 */ 62 */
62#define KMS_DRIVER_MAJOR 3 63#define KMS_DRIVER_MAJOR 3
63#define KMS_DRIVER_MINOR 8 64#define KMS_DRIVER_MINOR 9
64#define KMS_DRIVER_PATCHLEVEL 0 65#define KMS_DRIVER_PATCHLEVEL 0
65 66
66int amdgpu_vram_limit = 0; 67int amdgpu_vram_limit = 0;
@@ -85,12 +86,13 @@ int amdgpu_vm_size = 64;
85int amdgpu_vm_block_size = -1; 86int amdgpu_vm_block_size = -1;
86int amdgpu_vm_fault_stop = 0; 87int amdgpu_vm_fault_stop = 0;
87int amdgpu_vm_debug = 0; 88int amdgpu_vm_debug = 0;
89int amdgpu_vram_page_split = 1024;
88int amdgpu_exp_hw_support = 0; 90int amdgpu_exp_hw_support = 0;
89int amdgpu_sched_jobs = 32; 91int amdgpu_sched_jobs = 32;
90int amdgpu_sched_hw_submission = 2; 92int amdgpu_sched_hw_submission = 2;
91int amdgpu_powerplay = -1; 93int amdgpu_powerplay = -1;
92int amdgpu_powercontainment = 1; 94int amdgpu_no_evict = 0;
93int amdgpu_sclk_deep_sleep_en = 1; 95int amdgpu_direct_gma_size = 0;
94unsigned amdgpu_pcie_gen_cap = 0; 96unsigned amdgpu_pcie_gen_cap = 0;
95unsigned amdgpu_pcie_lane_cap = 0; 97unsigned amdgpu_pcie_lane_cap = 0;
96unsigned amdgpu_cg_mask = 0xffffffff; 98unsigned amdgpu_cg_mask = 0xffffffff;
@@ -165,6 +167,9 @@ module_param_named(vm_fault_stop, amdgpu_vm_fault_stop, int, 0444);
165MODULE_PARM_DESC(vm_debug, "Debug VM handling (0 = disabled (default), 1 = enabled)"); 167MODULE_PARM_DESC(vm_debug, "Debug VM handling (0 = disabled (default), 1 = enabled)");
166module_param_named(vm_debug, amdgpu_vm_debug, int, 0644); 168module_param_named(vm_debug, amdgpu_vm_debug, int, 0644);
167 169
170MODULE_PARM_DESC(vram_page_split, "Number of pages after we split VRAM allocations (default 1024, -1 = disable)");
171module_param_named(vram_page_split, amdgpu_vram_page_split, int, 0444);
172
168MODULE_PARM_DESC(exp_hw_support, "experimental hw support (1 = enable, 0 = disable (default))"); 173MODULE_PARM_DESC(exp_hw_support, "experimental hw support (1 = enable, 0 = disable (default))");
169module_param_named(exp_hw_support, amdgpu_exp_hw_support, int, 0444); 174module_param_named(exp_hw_support, amdgpu_exp_hw_support, int, 0444);
170 175
@@ -177,14 +182,14 @@ module_param_named(sched_hw_submission, amdgpu_sched_hw_submission, int, 0444);
177MODULE_PARM_DESC(powerplay, "Powerplay component (1 = enable, 0 = disable, -1 = auto (default))"); 182MODULE_PARM_DESC(powerplay, "Powerplay component (1 = enable, 0 = disable, -1 = auto (default))");
178module_param_named(powerplay, amdgpu_powerplay, int, 0444); 183module_param_named(powerplay, amdgpu_powerplay, int, 0444);
179 184
180MODULE_PARM_DESC(powercontainment, "Power Containment (1 = enable (default), 0 = disable)");
181module_param_named(powercontainment, amdgpu_powercontainment, int, 0444);
182
183MODULE_PARM_DESC(ppfeaturemask, "all power features enabled (default))"); 185MODULE_PARM_DESC(ppfeaturemask, "all power features enabled (default))");
184module_param_named(ppfeaturemask, amdgpu_pp_feature_mask, int, 0444); 186module_param_named(ppfeaturemask, amdgpu_pp_feature_mask, int, 0444);
185 187
186MODULE_PARM_DESC(sclkdeepsleep, "SCLK Deep Sleep (1 = enable (default), 0 = disable)"); 188MODULE_PARM_DESC(no_evict, "Support pinning request from user space (1 = enable, 0 = disable (default))");
187module_param_named(sclkdeepsleep, amdgpu_sclk_deep_sleep_en, int, 0444); 189module_param_named(no_evict, amdgpu_no_evict, int, 0444);
190
191MODULE_PARM_DESC(direct_gma_size, "Direct GMA size in megabytes (max 96MB)");
192module_param_named(direct_gma_size, amdgpu_direct_gma_size, int, 0444);
188 193
189MODULE_PARM_DESC(pcie_gen_cap, "PCIE Gen Caps (0: autodetect (default))"); 194MODULE_PARM_DESC(pcie_gen_cap, "PCIE Gen Caps (0: autodetect (default))");
190module_param_named(pcie_gen_cap, amdgpu_pcie_gen_cap, uint, 0444); 195module_param_named(pcie_gen_cap, amdgpu_pcie_gen_cap, uint, 0444);
@@ -201,7 +206,8 @@ module_param_named(pg_mask, amdgpu_pg_mask, uint, 0444);
201MODULE_PARM_DESC(disable_cu, "Disable CUs (se.sh.cu,...)"); 206MODULE_PARM_DESC(disable_cu, "Disable CUs (se.sh.cu,...)");
202module_param_named(disable_cu, amdgpu_disable_cu, charp, 0444); 207module_param_named(disable_cu, amdgpu_disable_cu, charp, 0444);
203 208
204MODULE_PARM_DESC(virtual_display, "Enable virtual display feature (the virtual_display will be set like xxxx:xx:xx.x;xxxx:xx:xx.x)"); 209MODULE_PARM_DESC(virtual_display,
210 "Enable virtual display feature (the virtual_display will be set like xxxx:xx:xx.x,x;xxxx:xx:xx.x,x)");
205module_param_named(virtual_display, amdgpu_virtual_display, charp, 0444); 211module_param_named(virtual_display, amdgpu_virtual_display, charp, 0444);
206 212
207static const struct pci_device_id pciidlist[] = { 213static const struct pci_device_id pciidlist[] = {
@@ -381,6 +387,7 @@ static const struct pci_device_id pciidlist[] = {
381 {0x1002, 0x6939, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_TONGA}, 387 {0x1002, 0x6939, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_TONGA},
382 /* fiji */ 388 /* fiji */
383 {0x1002, 0x7300, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_FIJI}, 389 {0x1002, 0x7300, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_FIJI},
390 {0x1002, 0x730F, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_FIJI},
384 /* carrizo */ 391 /* carrizo */
385 {0x1002, 0x9870, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_CARRIZO|AMD_IS_APU}, 392 {0x1002, 0x9870, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_CARRIZO|AMD_IS_APU},
386 {0x1002, 0x9874, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_CARRIZO|AMD_IS_APU}, 393 {0x1002, 0x9874, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_CARRIZO|AMD_IS_APU},