diff options
author | Felix Fietkau <nbd@openwrt.org> | 2014-12-13 11:55:11 +0000 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2014-12-13 11:55:11 +0000 |
commit | 45380ebd1ab3d604ece3dd14a84f89fbc69ea7b1 (patch) | |
tree | 816e479975bb22e39e9cbdde8fdfb400f38f72a9 /target/linux/brcm2708/patches-3.10/0148-bcm2708_fb-report-number-of-dma-copies.patch | |
parent | 170ce2961703fe3c2c74e9aa3088df2905b3697e (diff) | |
download | mtk-20170518-45380ebd1ab3d604ece3dd14a84f89fbc69ea7b1.zip mtk-20170518-45380ebd1ab3d604ece3dd14a84f89fbc69ea7b1.tar.gz mtk-20170518-45380ebd1ab3d604ece3dd14a84f89fbc69ea7b1.tar.bz2 |
brcm2708: remove linux 3.10 support
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
SVN-Revision: 43687
Diffstat (limited to 'target/linux/brcm2708/patches-3.10/0148-bcm2708_fb-report-number-of-dma-copies.patch')
-rw-r--r-- | target/linux/brcm2708/patches-3.10/0148-bcm2708_fb-report-number-of-dma-copies.patch | 125 |
1 files changed, 0 insertions, 125 deletions
diff --git a/target/linux/brcm2708/patches-3.10/0148-bcm2708_fb-report-number-of-dma-copies.patch b/target/linux/brcm2708/patches-3.10/0148-bcm2708_fb-report-number-of-dma-copies.patch deleted file mode 100644 index a781723..0000000 --- a/target/linux/brcm2708/patches-3.10/0148-bcm2708_fb-report-number-of-dma-copies.patch +++ /dev/null @@ -1,125 +0,0 @@ -From ceb70800efa2f4c92f0c89bf472005decd577d65 Mon Sep 17 00:00:00 2001 -From: Luke Diamand <luked@broadcom.com> -Date: Tue, 31 Dec 2013 23:07:36 +0000 -Subject: [PATCH 148/196] bcm2708_fb: report number of dma copies - -Add a counter (exported via debugfs) reporting the -number of dma copies that the framebuffer driver -has done, in order to help evaluate different -optimization strategies. - -Signed-off-by: Luke Diamand <luked@broadcom.com> ---- - drivers/video/bcm2708_fb.c | 55 ++++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 55 insertions(+) - -diff --git a/drivers/video/bcm2708_fb.c b/drivers/video/bcm2708_fb.c -index c10c5ee..4d7d963 100644 ---- a/drivers/video/bcm2708_fb.c -+++ b/drivers/video/bcm2708_fb.c -@@ -27,6 +27,7 @@ - #include <linux/clk.h> - #include <linux/printk.h> - #include <linux/console.h> -+#include <linux/debugfs.h> - - #include <mach/dma.h> - #include <mach/platform.h> -@@ -58,6 +59,12 @@ struct fbinfo_s { - u16 cmap[256]; - }; - -+struct bcm2708_fb_stats { -+ struct debugfs_regset32 regset; -+ u32 dma_copies; -+ u32 dma_irqs; -+}; -+ - struct bcm2708_fb { - struct fb_info fb; - struct platform_device *dev; -@@ -69,10 +76,51 @@ struct bcm2708_fb { - void __iomem *dma_chan_base; - void *cb_base; /* DMA control blocks */ - dma_addr_t cb_handle; -+ struct dentry *debugfs_dir; -+ struct bcm2708_fb_stats stats; - }; - - #define to_bcm2708(info) container_of(info, struct bcm2708_fb, fb) - -+static void bcm2708_fb_debugfs_deinit(struct bcm2708_fb *fb) -+{ -+ debugfs_remove_recursive(fb->debugfs_dir); -+ fb->debugfs_dir = NULL; -+} -+ -+static int bcm2708_fb_debugfs_init(struct bcm2708_fb *fb) -+{ -+ static struct debugfs_reg32 stats_registers[] = { -+ { -+ "dma_copies", -+ offsetof(struct bcm2708_fb_stats, dma_copies) -+ }, -+ }; -+ -+ fb->debugfs_dir = debugfs_create_dir(DRIVER_NAME, NULL); -+ if (!fb->debugfs_dir) { -+ pr_warn("%s: could not create debugfs entry\n", -+ __func__); -+ return -EFAULT; -+ } -+ -+ fb->stats.regset.regs = stats_registers; -+ fb->stats.regset.nregs = ARRAY_SIZE(stats_registers); -+ fb->stats.regset.base = &fb->stats; -+ -+ if (!debugfs_create_regset32( -+ "stats", 0444, fb->debugfs_dir, &fb->stats.regset)) { -+ pr_warn("%s: could not create statistics registers\n", -+ __func__); -+ goto fail; -+ } -+ return 0; -+ -+fail: -+ bcm2708_fb_debugfs_deinit(fb); -+ return -EFAULT; -+} -+ - static int bcm2708_fb_set_bitfields(struct fb_var_screeninfo *var) - { - int ret = 0; -@@ -443,8 +491,10 @@ static void bcm2708_fb_copyarea(struct fb_info *info, - /* end of dma control blocks chain */ - cb->next = 0; - -+ - bcm_dma_start(fb->dma_chan_base, fb->cb_handle); - bcm_dma_wait_idle(fb->dma_chan_base); -+ fb->stats.dma_copies++; - } - - static void bcm2708_fb_imageblit(struct fb_info *info, -@@ -552,6 +602,9 @@ static int bcm2708_fb_probe(struct platform_device *dev) - } - memset(fb, 0, sizeof(struct bcm2708_fb)); - -+ -+ bcm2708_fb_debugfs_init(fb); -+ - fb->cb_base = dma_alloc_writecombine(&dev->dev, SZ_64K, - &fb->cb_handle, GFP_KERNEL); - if (!fb->cb_base) { -@@ -607,6 +660,8 @@ static int bcm2708_fb_remove(struct platform_device *dev) - - dma_free_coherent(NULL, PAGE_ALIGN(sizeof(*fb->info)), (void *)fb->info, - fb->dma); -+ bcm2708_fb_debugfs_deinit(fb); -+ - kfree(fb); - - return 0; --- -1.9.1 - |