aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/amdgpu
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h56
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c21
2 files changed, 3 insertions, 74 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h
index 1c88bd5e29ad..b1f97417241d 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h
@@ -14,62 +14,6 @@
14#define AMDGPU_JOB_GET_TIMELINE_NAME(job) \ 14#define AMDGPU_JOB_GET_TIMELINE_NAME(job) \
15 job->base.s_fence->finished.ops->get_timeline_name(&job->base.s_fence->finished) 15 job->base.s_fence->finished.ops->get_timeline_name(&job->base.s_fence->finished)
16 16
17TRACE_EVENT(amdgpu_ttm_tt_populate,
18 TP_PROTO(struct amdgpu_device *adev, uint64_t dma_address, uint64_t phys_address),
19 TP_ARGS(adev, dma_address, phys_address),
20 TP_STRUCT__entry(
21 __field(uint16_t, domain)
22 __field(uint8_t, bus)
23 __field(uint8_t, slot)
24 __field(uint8_t, func)
25 __field(uint64_t, dma)
26 __field(uint64_t, phys)
27 ),
28 TP_fast_assign(
29 __entry->domain = pci_domain_nr(adev->pdev->bus);
30 __entry->bus = adev->pdev->bus->number;
31 __entry->slot = PCI_SLOT(adev->pdev->devfn);
32 __entry->func = PCI_FUNC(adev->pdev->devfn);
33 __entry->dma = dma_address;
34 __entry->phys = phys_address;
35 ),
36 TP_printk("%04x:%02x:%02x.%x: 0x%llx => 0x%llx",
37 (unsigned)__entry->domain,
38 (unsigned)__entry->bus,
39 (unsigned)__entry->slot,
40 (unsigned)__entry->func,
41 (unsigned long long)__entry->dma,
42 (unsigned long long)__entry->phys)
43);
44
45TRACE_EVENT(amdgpu_ttm_tt_unpopulate,
46 TP_PROTO(struct amdgpu_device *adev, uint64_t dma_address, uint64_t phys_address),
47 TP_ARGS(adev, dma_address, phys_address),
48 TP_STRUCT__entry(
49 __field(uint16_t, domain)
50 __field(uint8_t, bus)
51 __field(uint8_t, slot)
52 __field(uint8_t, func)
53 __field(uint64_t, dma)
54 __field(uint64_t, phys)
55 ),
56 TP_fast_assign(
57 __entry->domain = pci_domain_nr(adev->pdev->bus);
58 __entry->bus = adev->pdev->bus->number;
59 __entry->slot = PCI_SLOT(adev->pdev->devfn);
60 __entry->func = PCI_FUNC(adev->pdev->devfn);
61 __entry->dma = dma_address;
62 __entry->phys = phys_address;
63 ),
64 TP_printk("%04x:%02x:%02x.%x: 0x%llx => 0x%llx",
65 (unsigned)__entry->domain,
66 (unsigned)__entry->bus,
67 (unsigned)__entry->slot,
68 (unsigned)__entry->func,
69 (unsigned long long)__entry->dma,
70 (unsigned long long)__entry->phys)
71);
72
73TRACE_EVENT(amdgpu_mm_rreg, 17TRACE_EVENT(amdgpu_mm_rreg,
74 TP_PROTO(unsigned did, uint32_t reg, uint32_t value), 18 TP_PROTO(unsigned did, uint32_t reg, uint32_t value),
75 TP_ARGS(did, reg, value), 19 TP_ARGS(did, reg, value),
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
index 7ef6c28a34d9..d1d94a14b089 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
@@ -34,6 +34,7 @@
34#include <drm/ttm/ttm_placement.h> 34#include <drm/ttm/ttm_placement.h>
35#include <drm/ttm/ttm_module.h> 35#include <drm/ttm/ttm_module.h>
36#include <drm/ttm/ttm_page_alloc.h> 36#include <drm/ttm/ttm_page_alloc.h>
37#include <drm/ttm/ttm_debug.h>
37#include <drm/drmP.h> 38#include <drm/drmP.h>
38#include <drm/amdgpu_drm.h> 39#include <drm/amdgpu_drm.h>
39#include <linux/seq_file.h> 40#include <linux/seq_file.h>
@@ -667,32 +668,16 @@ static void amdgpu_trace_dma_map(struct ttm_tt *ttm)
667{ 668{
668 struct amdgpu_device *adev = amdgpu_ttm_adev(ttm->bdev); 669 struct amdgpu_device *adev = amdgpu_ttm_adev(ttm->bdev);
669 struct amdgpu_ttm_tt *gtt = (void *)ttm; 670 struct amdgpu_ttm_tt *gtt = (void *)ttm;
670 unsigned i;
671 671
672 if (unlikely(trace_amdgpu_ttm_tt_populate_enabled())) { 672 ttm_trace_dma_map(adev->dev, &gtt->ttm);
673 for (i = 0; i < ttm->num_pages; i++) {
674 trace_amdgpu_ttm_tt_populate(
675 adev,
676 gtt->ttm.dma_address[i],
677 page_to_phys(ttm->pages[i]));
678 }
679 }
680} 673}
681 674
682static void amdgpu_trace_dma_unmap(struct ttm_tt *ttm) 675static void amdgpu_trace_dma_unmap(struct ttm_tt *ttm)
683{ 676{
684 struct amdgpu_device *adev = amdgpu_ttm_adev(ttm->bdev); 677 struct amdgpu_device *adev = amdgpu_ttm_adev(ttm->bdev);
685 struct amdgpu_ttm_tt *gtt = (void *)ttm; 678 struct amdgpu_ttm_tt *gtt = (void *)ttm;
686 unsigned i;
687 679
688 if (unlikely(trace_amdgpu_ttm_tt_unpopulate_enabled())) { 680 ttm_trace_dma_unmap(adev->dev, &gtt->ttm);
689 for (i = 0; i < ttm->num_pages; i++) {
690 trace_amdgpu_ttm_tt_unpopulate(
691 adev,
692 gtt->ttm.dma_address[i],
693 page_to_phys(ttm->pages[i]));
694 }
695 }
696} 681}
697 682
698/* prepare the sg table with the user pages */ 683/* prepare the sg table with the user pages */