- 30 Aug, 2013 8 commits
-
-
Alex Deucher authored
Signed-off-by:
Alex Deucher <alexander.deucher@amd.com>
-
Alex Deucher authored
Only the APUs support power gating. v2: disable cgcg for now v3: workaround hw issue in mgcg Signed-off-by:
Alex Deucher <alexander.deucher@amd.com>
-
Alex Deucher authored
and remove duplicate si_rlc functions. Signed-off-by:
Alex Deucher <alexander.deucher@amd.com>
-
Alex Deucher authored
Restructure rlc setup to handle clock and power gating. Signed-off-by:
Alex Deucher <alexander.deucher@amd.com>
-
Alex Deucher authored
Enables PCIE ASPM (Active State Power Management) on CIK asics. Signed-off-by:
Alex Deucher <alexander.deucher@amd.com>
-
Alex Deucher authored
Signed-off-by:
Alex Deucher <alexander.deucher@amd.com>
-
Alex Deucher authored
Signed-off-by:
Alex Deucher <alexander.deucher@amd.com>
-
Alex Deucher authored
Calculate the low and high watermarks based on the low and high clocks for the current power state. The dynamic pm hw will select the appropriate watermark based on the internal dpm state. Signed-off-by:
Alex Deucher <alexander.deucher@amd.com>
-
- 07 Aug, 2013 4 commits
-
-
Alex Deucher authored
We need proper locking in the driver when accessing instanced registers on CIK. Signed-off-by:
Alex Deucher <alexander.deucher@amd.com>
-
Christian König authored
Otherwise just reinitialize from scratch on resume, and so make it more likely to succeed. Signed-off-by:
Christian König <christian.koenig@amd.com> Cc: stable@vger.kernel.org Signed-off-by:
Alex Deucher <alexander.deucher@amd.com>
-
Alex Deucher authored
For r6xx+ asics. This mirrors the behavior of pre-r6xx asics. We need to program the MC even if something else in startup() fails. Failure to do so results in an unusable GPU. Based on a fix from: Mark Kettenis <kettenis@openbsd.org> Signed-off-by:
Alex Deucher <alexander.deucher@amd.com> Cc: stable@vger.kernel.org
-
Christian König authored
Removing the clock/power or resetting the VCPU can cause hangs if that happens in the middle of a register write. Stall the memory and register bus before putting the VCPU into reset. Keep it in reset when unloading the module or suspending. Signed-off-by:
Christian König <christian.koenig@amd.com> Cc: stable@vger.kernel.org Signed-off-by:
Alex Deucher <alexander.deucher@amd.com>
-
- 14 Jul, 2013 3 commits
-
-
Christian König authored
Changing the UVD BOs offset on suspend/resume doesn't work because the VCPU internally keeps pointers to it. Just keep it always pinned and save the content manually. Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=66425 v2: fix compiler warning v3: fix CIK support Note: a version of this patch needs to go to stable. Signed-off-by:
Christian König <christian.koenig@amd.com> Signed-off-by:
Alex Deucher <alexander.deucher@amd.com>
-
Alex Deucher authored
Helpful for debugging GPUVM errors as we can see what hw block and page generated the fault in the log. Signed-off-by:
Alex Deucher <alexander.deucher@amd.com>
-
Jerome Glisse authored
Avoid creating temporary platform device that will lead to issue when several radeon gpu are in same computer. Instead directly use the radeon device for requesting firmware. Reviewed-by:
Christian König <christian.koenig@amd.com> Signed-off-by:
Jerome Glisse <jglisse@redhat.com> Signed-off-by:
Alex Deucher <alexander.deucher@amd.com>
-
- 27 Jun, 2013 8 commits
-
-
Alex Deucher authored
Signed-off-by:
Alex Deucher <alexander.deucher@amd.com>
-
Alex Deucher authored
Signed-off-by:
Alex Deucher <alexander.deucher@amd.com>
-
Alex Deucher authored
Signed-off-by:
Alex Deucher <alexander.deucher@amd.com>
-
Alex Deucher authored
Signed-off-by:
Alex Deucher <alexander.deucher@amd.com>
-
Alex Deucher authored
The compute rings use RELEASE_MEM rather then EOP packets for writing fences and there is no SYNC_PFP_ME packet on the compute rings. Signed-off-by:
Alex Deucher <alexander.deucher@amd.com>
-
Alex Deucher authored
Type 2 packets are deprecated on CIK MEC and we should use type 3 nop packets. Setting the count field to the max value (0x3fff) indicates that only one dword should be skipped like a type 2 packet. v2: add comment to code Signed-off-by:
Alex Deucher <alexander.deucher@amd.com> Reviewed-by:
Jerome Glisse <jglisse@redhat.com>
-
Alex Deucher authored
On CIK, the compute rings work slightly differently than on previous asics, however the basic concepts are the same. The main differences: - New MEC engines for compute queues - Multiple queues per MEC: - CI/KB: 1 MEC, 4 pipes per MEC, 8 queues per pipe = 32 queues - KV: 2 MEC, 4 pipes per MEC, 8 queues per pipe = 64 queues - Queues can be allocated and scheduled by another queue - New doorbell aperture allows you to assign space in the aperture for the wptr which allows for userspace access to queues v2: add wptr shadow, fix eop setup v3: fix comment v4: switch to new callback method Signed-off-by:
Alex Deucher <alexander.deucher@amd.com> Reviewed-by:
Jerome Glisse <jglisse@redhat.com>
-
Alex Deucher authored
The doorbell aperture is a PCI BAR whose pages can be mapped to compute resources for things like wptrs for userspace queues. This patch maps the BAR and sets up a simple allocator to allocate pages from the BAR. Signed-off-by:
Alex Deucher <alexander.deucher@amd.com>
-
- 26 Jun, 2013 8 commits
-
-
Alex Deucher authored
Allows us to select instanced registers based on: - ME (micro engine - Pipe - Queue - VMID Switch MC setup to use this new function. Signed-off-by:
Alex Deucher <alexander.deucher@amd.com>
-
Christian König authored
v2: agd5f: fix clock dividers setup for bonaire v3: agd5f: rebase Signed-off-by:
Christian König <christian.koenig@amd.com> Signed-off-by:
Alex Deucher <alexander.deucher@amd.com>
-
Alex Deucher authored
Signed-off-by:
Alex Deucher <alexander.deucher@amd.com>
-
Alex Deucher authored
Signed-off-by:
Alex Deucher <alexander.deucher@amd.com>
-
Alex Deucher authored
Update to the newer programming model. Signed-off-by:
Alex Deucher <alexander.deucher@amd.com>
-
Alex Deucher authored
Used for GPU clock counter snapshots. Signed-off-by:
Alex Deucher <alexander.deucher@amd.com>
-
Alex Deucher authored
Signed-off-by:
Alex Deucher <alexander.deucher@amd.com>
-
Alex Deucher authored
v2: update to latest driver changes v3: properly tear down vm on suspend v4: fix up irq init ordering v5: remove outdated comment Signed-off-by:
Alex Deucher <alexander.deucher@amd.com> Reviewed-by:
Christian König <christian.koenig@amd.com>
-
- 25 Jun, 2013 9 commits
-
-
Alex Deucher authored
Async page table updates using the sDMA engine. sDMA has a special packet for updating entries for contiguous pages that reduces overhead. v2: add support for and use the CP for now. v3: update for 2 level PTs v4: rebase, fix DMA packet v5: switch to using an IB Signed-off-by:
Alex Deucher <alexander.deucher@amd.com>
-
Alex Deucher authored
Update the page table base address and flush the VM TLB using the sDMA. V2: update for 2 level PTs V3: update vm flush V4: update SH_MEM* regs V5: switch back to old style VM TLB invalidate V6: fix packet formatting Signed-off-by:
Alex Deucher <alexander.deucher@amd.com>
-
Alex Deucher authored
CIK has new asynchronous DMA engines called sDMA (system DMA). Each engine supports 1 ring buffer for kernel and gfx and 2 userspace queues for compute. TODO: fill in the compute setup. v2: update to the latest reset code v3: remove ib_parse v4: fix copy_dma() v5: drop WIP compute sDMA queues v6: rebase v7: endian fixes for IB v8: cleanup for release Signed-off-by:
Alex Deucher <alexander.deucher@amd.com>
-
Alex Deucher authored
Signed-off-by:
Alex Deucher <alexander.deucher@amd.com>
-
Alex Deucher authored
Todo: - handle interrupts for compute queues v2: add documentation v3: update to latest reset code v4: update to latest illegal CP handling v5: fix missing break in interrupt handler switch statement Signed-off-by:
Alex Deucher <alexander.deucher@amd.com>
-
Alex Deucher authored
RLC handles the interrupt controller and other tasks on the GPU. v2: add documentation v3: update programming sequence v4: additional setup Signed-off-by:
Alex Deucher <alexander.deucher@amd.com>
-
Alex Deucher authored
Update the page table base address and flush the VM TLB using the CP. v2: update for 2 level PTs v3: use new packet for invalidate v4: update SH_MEM* regs when flushing the VM v5: add pfp sync, go back to old style vm TLB invalidate v6: fix hdp flush packet count v7: use old style HDP flush Signed-off-by:
Alex Deucher <alexander.deucher@amd.com>
-
Alex Deucher authored
v2: add documenation v3: update the latest ib changes Signed-off-by:
Alex Deucher <alexander.deucher@amd.com>
-
Alex Deucher authored
For gfx ring only. Compute is still todo. v2: add documentation v3: update to latest reset changes, integrate emit update patch. v4: fix count on wait_reg_mem for HDP flush v5: use old hdp flush method for fence v6: set valid bit for IB v7: cleanup for release Signed-off-by:
Alex Deucher <alexander.deucher@amd.com>
-