diff options
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.14.71/0003-drm-amd-amdgpu-Remove-AMDGPU-tracepoint-and-use-new-.patch')
-rw-r--r-- | common/recipes-kernel/linux/linux-yocto-4.14.71/0003-drm-amd-amdgpu-Remove-AMDGPU-tracepoint-and-use-new-.patch | 180 |
1 files changed, 0 insertions, 180 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.14.71/0003-drm-amd-amdgpu-Remove-AMDGPU-tracepoint-and-use-new-.patch b/common/recipes-kernel/linux/linux-yocto-4.14.71/0003-drm-amd-amdgpu-Remove-AMDGPU-tracepoint-and-use-new-.patch deleted file mode 100644 index 359fa2c3..00000000 --- a/common/recipes-kernel/linux/linux-yocto-4.14.71/0003-drm-amd-amdgpu-Remove-AMDGPU-tracepoint-and-use-new-.patch +++ /dev/null @@ -1,180 +0,0 @@ -From 25ec40bd0617c278843b26c96bf52ef48c35b590 Mon Sep 17 00:00:00 2001 -From: Tom St Denis <tom.stdenis@amd.com> -Date: Wed, 23 Aug 2017 15:33:40 -0400 -Subject: [PATCH 0003/4131] drm/amd/amdgpu: Remove AMDGPU tracepoint and use - new TTM tracepoint (v2) -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Switches the AMDGPU driver over to the TTM tracepoint and removes -our old one. Now you can enable traces before loading the module -and trace all mappings. - -Signed-off-by: Tom St Denis <tom.stdenis@amd.com> -Reviewed-by: Christian König <christian.koenig@amd.com> -Signed-off-by: Alex Deucher <alexander.deucher@amd.com> -Signed-off-by: Kalyan Alle <kalyan.alle@amd.com> - -(v2): Use struct device instead of pci in trace. ---- - drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h | 56 ------------------------------- - drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 21 ++---------- - include/drm/ttm/ttm_debug.h | 31 +++++++++++++++++ - 3 files changed, 34 insertions(+), 74 deletions(-) - create mode 100644 include/drm/ttm/ttm_debug.h - -diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h -index 34c99a3..b3144d4 100644 ---- a/drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h -+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h -@@ -15,62 +15,6 @@ - #define AMDGPU_JOB_GET_TIMELINE_NAME(job) \ - job->base.s_fence->finished.ops->get_timeline_name(&job->base.s_fence->finished) - --TRACE_EVENT(amdgpu_ttm_tt_populate, -- TP_PROTO(struct amdgpu_device *adev, uint64_t dma_address, uint64_t phys_address), -- TP_ARGS(adev, dma_address, phys_address), -- TP_STRUCT__entry( -- __field(uint16_t, domain) -- __field(uint8_t, bus) -- __field(uint8_t, slot) -- __field(uint8_t, func) -- __field(uint64_t, dma) -- __field(uint64_t, phys) -- ), -- TP_fast_assign( -- __entry->domain = pci_domain_nr(adev->pdev->bus); -- __entry->bus = adev->pdev->bus->number; -- __entry->slot = PCI_SLOT(adev->pdev->devfn); -- __entry->func = PCI_FUNC(adev->pdev->devfn); -- __entry->dma = dma_address; -- __entry->phys = phys_address; -- ), -- TP_printk("%04x:%02x:%02x.%x: 0x%llx => 0x%llx", -- (unsigned)__entry->domain, -- (unsigned)__entry->bus, -- (unsigned)__entry->slot, -- (unsigned)__entry->func, -- (unsigned long long)__entry->dma, -- (unsigned long long)__entry->phys) --); -- --TRACE_EVENT(amdgpu_ttm_tt_unpopulate, -- TP_PROTO(struct amdgpu_device *adev, uint64_t dma_address, uint64_t phys_address), -- TP_ARGS(adev, dma_address, phys_address), -- TP_STRUCT__entry( -- __field(uint16_t, domain) -- __field(uint8_t, bus) -- __field(uint8_t, slot) -- __field(uint8_t, func) -- __field(uint64_t, dma) -- __field(uint64_t, phys) -- ), -- TP_fast_assign( -- __entry->domain = pci_domain_nr(adev->pdev->bus); -- __entry->bus = adev->pdev->bus->number; -- __entry->slot = PCI_SLOT(adev->pdev->devfn); -- __entry->func = PCI_FUNC(adev->pdev->devfn); -- __entry->dma = dma_address; -- __entry->phys = phys_address; -- ), -- TP_printk("%04x:%02x:%02x.%x: 0x%llx => 0x%llx", -- (unsigned)__entry->domain, -- (unsigned)__entry->bus, -- (unsigned)__entry->slot, -- (unsigned)__entry->func, -- (unsigned long long)__entry->dma, -- (unsigned long long)__entry->phys) --); -- - TRACE_EVENT(amdgpu_mm_rreg, - TP_PROTO(unsigned did, uint32_t reg, uint32_t value), - 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 bc74613..a1723a7 100644 ---- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c -+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c -@@ -34,6 +34,7 @@ - #include <drm/ttm/ttm_placement.h> - #include <drm/ttm/ttm_module.h> - #include <drm/ttm/ttm_page_alloc.h> -+#include <drm/ttm/ttm_debug.h> - #include <drm/drmP.h> - #include <drm/amdgpu_drm.h> - #include <linux/seq_file.h> -@@ -667,32 +668,16 @@ static void amdgpu_trace_dma_map(struct ttm_tt *ttm) - { - struct amdgpu_device *adev = amdgpu_ttm_adev(ttm->bdev); - struct amdgpu_ttm_tt *gtt = (void *)ttm; -- unsigned i; - -- if (unlikely(trace_amdgpu_ttm_tt_populate_enabled())) { -- for (i = 0; i < ttm->num_pages; i++) { -- trace_amdgpu_ttm_tt_populate( -- adev, -- gtt->ttm.dma_address[i], -- page_to_phys(ttm->pages[i])); -- } -- } -+ ttm_trace_dma_map(adev->dev, >t->ttm); - } - - static void amdgpu_trace_dma_unmap(struct ttm_tt *ttm) - { - struct amdgpu_device *adev = amdgpu_ttm_adev(ttm->bdev); - struct amdgpu_ttm_tt *gtt = (void *)ttm; -- unsigned i; - -- if (unlikely(trace_amdgpu_ttm_tt_unpopulate_enabled())) { -- for (i = 0; i < ttm->num_pages; i++) { -- trace_amdgpu_ttm_tt_unpopulate( -- adev, -- gtt->ttm.dma_address[i], -- page_to_phys(ttm->pages[i])); -- } -- } -+ ttm_trace_dma_unmap(adev->dev, >t->ttm); - } - - /* prepare the sg table with the user pages */ -diff --git a/include/drm/ttm/ttm_debug.h b/include/drm/ttm/ttm_debug.h -new file mode 100644 -index 0000000..b5e460f ---- /dev/null -+++ b/include/drm/ttm/ttm_debug.h -@@ -0,0 +1,31 @@ -+/************************************************************************** -+ * -+ * Copyright (c) 2017 Advanced Micro Devices, Inc. -+ * All Rights Reserved. -+ * -+ * Permission is hereby granted, free of charge, to any person obtaining a -+ * copy of this software and associated documentation files (the -+ * "Software"), to deal in the Software without restriction, including -+ * without limitation the rights to use, copy, modify, merge, publish, -+ * distribute, sub license, and/or sell copies of the Software, and to -+ * permit persons to whom the Software is furnished to do so, subject to -+ * the following conditions: -+ * -+ * The above copyright notice and this permission notice (including the -+ * next paragraph) shall be included in all copies or substantial portions -+ * of the Software. -+ * -+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -+ * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL -+ * THE COPYRIGHT HOLDERS, AUTHORS AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, -+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -+ * USE OR OTHER DEALINGS IN THE SOFTWARE. -+ * -+ **************************************************************************/ -+/* -+ * Authors: Tom St Denis <tom.stdenis@amd.com> -+ */ -+extern void ttm_trace_dma_map(struct device *dev, struct ttm_dma_tt *tt); -+extern void ttm_trace_dma_unmap(struct device *dev, struct ttm_dma_tt *tt); --- -2.7.4 - |