aboutsummaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/amd/amdgpu
AgeCommit message (Collapse)AuthorFilesLines
2015-08-14Merge tag 'drm-amdkfd-next-fixes-2015-08-05' of ↵Dave Airlie1-1/+1
git://people.freedesktop.org/~gabbayo/linux into drm-next Two small bug fixes for the code you pulled for 4.3: - Used a SHIFT define instead of a MASK define to check if a bit is turned on when destroying hqd. Luckily, this is in gfx7 interface file with amdgpu, which was used only for bring-up purposes of amdgpu, so no real effect on a running system - Used a logical AND instead of a bitwise AND operator, when initializing sdma virtual memory when using SDMA queues * tag 'drm-amdkfd-next-fixes-2015-08-05' of git://people.freedesktop.org/~gabbayo/linux: drm/amdkfd: fix bug when initializing sdma vm drm/amdgpu: fix bug when amdkfd destroys hqd
2015-08-06drm/amdgpu: Use new drm_fb_helper functionsArchit Taneja1-31/+14
Use the newly created wrapper drm_fb_helper functions instead of calling core fbdev functions directly. They also simplify the fb_info creation. v3: - Don't touch remove_conflicting_framebuffers v2: - Fixed PTR_ERR issue mentioned by kbuild bot Cc: Fengguang Wu <[email protected]> Cc: Alex Deucher <[email protected]> Cc: Oded Gabbay <[email protected]> Cc: "Christian König" <[email protected]> Signed-off-by: Archit Taneja <[email protected]> Signed-off-by: Daniel Vetter <[email protected]>
2015-07-30drm/amdgpu: fix bug when amdkfd destroys hqdOded Gabbay1-1/+1
The wrong define was used to check if the hqd is still active v2: Don't use SHIFT as the MASK is already shifted Signed-off-by: Oded Gabbay <[email protected]> Reviewed-by: Alex Deucher <[email protected]>
2015-07-20drm/amdgpu: Add amdgpu <--> amdkfd gfx8 interfaceBen Goz5-1/+554
This patch adds the gfx8 interface file between amdgpu and amdkfd. This interface file is currently in use when running on a Carrizo-based system. The interface itself is represented by a pointer to struct kfd_dev. The pointer is located inside amdgpu_device structure. All the register accesses that amdkfd need are done using this interface. This allows us to avoid direct register accesses in amdkfd proper, while also allows us to avoid locking between amdkfd and amdgpu. The single exception is the doorbells that are used in both of the drivers. However, because they are located in separate pci bar pages, the danger of sharing registers between the drivers is minimal. Having said that, we are planning to move the doorbells as well to amdgpu. Signed-off-by: Ben Goz <[email protected]> Signed-off-by: Oded Gabbay <[email protected]>
2015-07-20drm/amdgpu: add amdgpu <--> amdkfd gfx7 interfaceOded Gabbay4-1/+680
This patch adds the gfx7 interface file between amdgpu and amdkfd. This interface file mirrors (some) of the functions in radeon_kfd.c (the interface file between radeon and amdkfd). The gfx7 interface is used when it is run on a Kaveri-based system. This interface file was used for bring-up of amdkfd on amdgpu and for debugging purposes. For users who would like to run HSA on Kaveri, please use the radeon graphic driver. Note: CONFIG_DRM_AMDGPU_CIK must be selected for amdgpu to handle Kaveri. v2: removed MTYPE_NONCACHED enum definition as it is defined in another patch Signed-off-by: Oded Gabbay <[email protected]>
2015-07-20drm/amdgpu: Add H/W agnostic amdgpu <--> amdkfd interfaceOded Gabbay8-1/+362
This patch adds an interface file between amdgpu and amdkfd. This interface file is H/W agnostic, thus containing functions that operate the same for any AMD APU/GPU H/W generation. The functions in this interface mirror (some) of the functions in radeon_kfd.c (the radeon<-->amdkfd interface file). The main functions are: - amdgpu_amdkfd_init - initialize the amdkfd module - amdgpu_amdkfd_load_interface - load the H/W interface according to the currently probed device - amdgpu_amdkfd_device_probe - probe the device in amdkfd - amdgpu_amdkfd_device_init - initialize the device in amdkfd - amdgpu_amdkfd_interrupt - call the ISR of amdkfd - amdgpu_amdkfd_suspend - suspend callback from amdgpu - amdgpu_amdkfd_resume - resume callback from amdgpu This patch also modifies the relevant amdgpu files, to use this new interface. Signed-off-by: Oded Gabbay <[email protected]>
2015-07-16drm/amdgpu/dce8: Re-set VBLANK interrupt state when enabling a CRTCMichel Dänzer1-0/+4
Something (ATOM BIOS?) seems to be clobbering the LB_INTERRUPT_MASK register while the CRTC is off, which caused e.g. glxgears or gnome-shell to hang after a modeset. Signed-off-by: Michel Dänzer <[email protected]> Reviewed-by: Jammy Zhou <[email protected]>
2015-07-16drm/amdgpu/cz: silence some dpm debug outputAlex Deucher1-3/+3
Reviewed-by: Jammy Zhou <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
2015-07-16drm/amdgpu/cz: store the forced dpm levelAlex Deucher1-0/+2
So the selected forced level shows up properly in sysfs. Reviewed-by: Jammy Zhou <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
2015-07-16drm/amdgpu/cz: unforce dpm levels before forcing to low/highAlex Deucher1-1/+7
This is necessary to properly reset the min/max limits before clamping them otherwise we may get improper clamping depending on what what was the last forced level. Reviewed-by: Jammy Zhou <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
2015-07-16drm/amdgpu: remove bogus check in gfx8 rb setupAlex Deucher1-4/+1
Always respect the harvest configuration as is. Acked-by: Christian König <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
2015-07-16drm/amdgpu: set proper index/data pair for smc regs on CZ (v2)Alex Deucher1-2/+33
v2: squash in later fix Reviewed-by: Christian König <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
2015-07-16drm/amdgpu: disable the IP module if early_init returns -ENOENT (v2)Alex Deucher1-2/+7
If we run into a part with a harvest configuration where the entire IP block is unusable, just disable the IP block. v2: fix logic as noted by Christian Reviewed-by: Christian König <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
2015-07-16drm/amdgpu: stop context leak in the error pathChristian König1-2/+6
Signed-off-by: Christian König <[email protected]> Reviewed-by: Alex Deucher <[email protected]> Reviewed-by: Jammy Zhou <[email protected]>
2015-07-16drm/amdgpu: validate the context id in the dependenciesChristian König1-1/+10
Just to make sure userspace don't send nonsense to the kernel. Signed-off-by: Christian König <[email protected]> Reviewed-by: Alex Deucher <[email protected]> Reviewed-by: Jammy Zhou <[email protected]>
2015-07-09drm/amdgpu: fix timeout calculationChristian König1-1/+1
Signed-off-by: Christian König <[email protected]> Reviewed-by: Alex Deucher <[email protected]>
2015-07-08drm/amdgpu: Handle irqs only based on irq ring, not irq status regs.Mario Kleiner3-24/+42
This is a translation of the patch ... "drm/radeon: Handle irqs only based on irq ring, not irq status regs." ... for the vblank irq handling, to fix the same problem described in that patch on the new driver. Only compile tested due to lack of suitable hw. Reviewed-by: Christian König <[email protected]> Signed-off-by: Mario Kleiner <[email protected]> CC: Michel Dänzer <[email protected]> CC: Alex Deucher <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
2015-06-29drm/amdgpu: add flag to delay VM updatesChristian König1-3/+3
Signed-off-by: Christian König <[email protected]> Reviewed-by: Alex Deucher <[email protected]>
2015-06-29drm/amdgpu: add optional dependencies to the CS IOCTL v2Christian König1-1/+58
v2: remove unrelated whitespace change, fix C comment Signed-off-by: Christian König <[email protected]> Reviewed-by: Alex Deucher <[email protected]>
2015-06-29drm/amdgpu: recreate fence from user seqChristian König3-9/+44
And use common fence infrastructure for the wait. Signed-off-by: Christian König <[email protected]> Reviewed-by: Alex Deucher <[email protected]> Reviewed-by: Chunming Zhou <[email protected]>
2015-06-29gpu/drm/amdgpu: Fix build when CONFIG_DEBUG_FS is not setAlexander Kuleshov1-0/+6
If the CONFIG_DEBUG_FS is not selected, compilation of the drivers/gpu/drm/amd/amdgpu/amdgpu_device.c provides two warnings that amdgpu_debugfs_regs_init and amdgpu_debugfs_regs_cleanup are used but never defined. And as result: ERROR: "amdgpu_debugfs_regs_cleanup" [drivers/gpu/drm/amd/amdgpu/amdgpu.ko] undefined! ERROR: "amdgpu_debugfs_regs_init" [drivers/gpu/drm/amd/amdgpu/amdgpu.ko] undefined! ^ Reviewed-by: Christian König <[email protected]> Signed-off-by: Alexander Kuleshov <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
2015-06-29drm/amdgpu: disable enable_nb_ps_policy temporarilySonny Jiang1-1/+1
Fixes a hang on resume. Signed-off-by: Sonny Jiang <[email protected]> Reviewed-by: Alex Deucher <[email protected]>
2015-06-29drm/amdgpu: correct define SMU_EnabledFeatureScoreboard_SclkDpmOnSonny Jiang1-1/+1
Signed-off-by: Sonny Jiang <[email protected]> Reviewed-by: Alex Deucher <[email protected]>
2015-06-29drm/amdgpu: allocate ip_block_enabled memory in common codeAlex Deucher3-9/+3
Remove duplication across asic families and make it symmetric with the freeing of the code in amdgpu_device.c Reviewed-by: Christian König <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
2015-06-29drm/amdgpu: remove unnecessary check before kfreeManinder Singh1-2/+1
kfree(NULL) is safe and this check is probably not required Signed-off-by: Maninder Singh <[email protected]> Reviewed-by: Vaneet Narang <[email protected]> Reviewed-by: Christian Konig <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
2015-06-29drm/amdgpu: use kzalloc for allocating one thingManinder Singh1-1/+1
Use kzalloc rather than kcalloc(1.. for allocating one thing. Signed-off-by: Maninder Singh <[email protected]> Reviewed-by: Vaneet Narang <[email protected]> Reviewed-by: Christian Konig <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
2015-06-29drm/amdgpu: add chunk id validity checkChristian König1-3/+11
Signed-off-by: Christian König <[email protected]> Reviewed-by: Alex Deucher <[email protected]>
2015-06-29drm/amdgpu: fix crash on invalid CS IOCTLChristian König1-2/+3
Signed-off-by: Christian König <[email protected]> Reviewed-by: Alex Deucher <[email protected]>
2015-06-29drm/amdgpu: reset wptr at cp compute resume (v2)Sonny Jiang1-0/+6
This patch is to resolve compute hang at resume time. v2: (agd5f) squash in second fix Signed-off-by: Sonny Jiang <[email protected]> Reviewed-by: Christian König <[email protected]>
2015-06-29drm/amdgpu: check VCE feedback and bitstream indexChristian König1-8/+16
Signed-off-by: Christian König <[email protected]> Reviewed-by: Leo Liu <[email protected]>
2015-06-29drm/amdgpu: make VCE handle check more strictChristian König1-16/+48
Port of radeon commit 29c63fe22a17c64e54016040cd882481bd45ee5a. Signed-off-by: Christian König <[email protected]> Reviewed-by: Leo Liu <[email protected]>
2015-06-29drm/amdgpu: check VCE relocation buffer rangeChristian König3-29/+92
port of radeon commit 2fc5703abda201f138faf63bdca743d04dbf4b1a. Signed-off-by: Christian König <[email protected]> Reviewed-by: Leo Liu <[email protected]>
2015-06-29drm/amdgpu: silence invalid error messageChristian König1-1/+1
Signed-off-by: Christian König <[email protected]> Reviewed-by: Leo Liu <[email protected]>
2015-06-29drm/amdgpu: fix wrong typemonk.liu1-1/+2
Signed-off-by: monk.liu <[email protected]> Reviewed-by: Christian König <[email protected]>
2015-06-29drm/amdgpu: print the bo_list in the CS trace point as wellChristian König1-2/+4
Signed-off-by: Christian König <[email protected]> Acked-by: Alex Deucher <[email protected]>
2015-06-29drm/amdgpu: add amdgpu_bo_list_set trace pointChristian König2-0/+18
Signed-off-by: Christian König <[email protected]> Acked-by: Alex Deucher <[email protected]>
2015-06-29drm/amdgpu: add BO map/unmap trace pointChristian König2-0/+52
Signed-off-by: Christian König <[email protected]> Acked-by: Alex Deucher <[email protected]>
2015-06-29drm/amdgpu: simplify fence debugfs output a bitChristian König1-2/+3
Signed-off-by: Christian König <[email protected]> Reviewed-by: Alex Deucher <[email protected]>
2015-06-29drm/amdgpu: Configure doorbell to maximum slotsBen Goz1-1/+1
Signed-off-by: Ben Goz <[email protected]> Acked-by: Oded Gabbay <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
2015-06-29drm/amdgpu: Initialize compute sdma and memory from kgdBen Goz4-0/+123
v2: add missing MTYPE_NONCACHED enum Signed-off-by: Ben Goz <[email protected]> Acked-by: Oded Gabbay <[email protected]> Reviewed-by: Alex Deucher <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
2015-06-29drm/amdgpu: fix hpd range check in dce_v8_0_hpd_irq()Alex Deucher1-1/+1
Spotted by Dan Carpenter. This is a slight variant of his fix. Signed-off-by: Alex Deucher <[email protected]>
2015-06-10drm/amdgpu: fix a amdgpu_dpm=0 bugSonny Jiang1-3/+5
Signed-off-by: Sonny Jiang <[email protected]> Reviewed-by: Alex Deucher <[email protected]>
2015-06-10drm/amdgpu: don't enable/disable display twice on suspend/resumeAlex Deucher3-54/+0
We were doing it in the common code and in the IP specific code. Remove the IP specific code. The common code handles the ordering properly. Reviewed-by: Christian König <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
2015-06-10drm/amdgpu: fix UVD/VCE VM emulationChristian König1-3/+15
Signed-off-by: Christian König <[email protected]> Reviewed-by: Alex Deucher <[email protected]>
2015-06-10drm/amdgpu: enable vce powergatingSonny Jiang4-14/+148
Enable VCE dpm and powergating. VCE dpm dynamically scales the VCE clocks on demand. Signed-off-by: Sonny Jiang <[email protected]> Reviewed-by: Alex Deucher <[email protected]> Reviewed-by: Christian König <[email protected]>
2015-06-10drm/amdgpu/iceland: don't call smu_init on resumeAlex Deucher1-6/+19
smu_init allocates buffers and initializes them. It does not touch the hw. There is no need to do it again on resume. It should really be part of sw_init (and smu_fini should be part of sw_fini), but we need the firmware sizes from the other IPs for firmware loading so we have to wait until sw init is done for all other IPs. Reviewed-by: Sonny Jiang <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
2015-06-10drm/amdgpu/tonga: don't call smu_init on resumeAlex Deucher1-6/+19
smu_init allocates buffers and initializes them. It does not touch the hw. There is no need to do it again on resume. It should really be part of sw_init (and smu_fini should be part of sw_fini), but we need the firmware sizes from the other IPs for firmware loading so we have to wait until sw init is done for all other IPs. Reviewed-by: Sonny Jiang <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
2015-06-10drm/amdgpu/cz: don't call smu_init on resumeAlex Deucher1-7/+8
smu_init allocates buffers and initializes them. It does not touch the hw. There is no need to do it again on resume. It should really be part of sw_init (and smu_fini should be part of sw_fini), but we need the firmware sizes from the other IPs for firmware loading so we have to wait until sw init is done for all other IPs. Reviewed-by: Sonny Jiang <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
2015-06-10drm/amdgpu: update to latest gfx8 golden register settingsAlex Deucher1-0/+7
Reviewed-by: Christian König <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
2015-06-10drm/amdgpu: whitespace cleanup in gmc8 golden regsAlex Deucher1-1/+1
Reviewed-by: Christian König <[email protected]> Signed-off-by: Alex Deucher <[email protected]>