aboutsummaryrefslogtreecommitdiffstats
path: root/testhal/STM32/STM32L1xx/ADC/mcuconf.h
diff options
context:
space:
mode:
authorbarthess <barthess@35acf78f-673a-0410-8e92-d51de3d6d3f4>2014-10-18 12:23:31 +0000
committerbarthess <barthess@35acf78f-673a-0410-8e92-d51de3d6d3f4>2014-10-18 12:23:31 +0000
commitbe302132c782b951b6f81f2833b642a514a70dad (patch)
tree386f7f8c8677f5110c1aa2edd36c65623df60cdc /testhal/STM32/STM32L1xx/ADC/mcuconf.h
parent7c0786cae15cf93e09604abcc66c6d017c4238bd (diff)
downloadChibiOS-be302132c782b951b6f81f2833b642a514a70dad.tar.gz
ChibiOS-be302132c782b951b6f81f2833b642a514a70dad.tar.bz2
ChibiOS-be302132c782b951b6f81f2833b642a514a70dad.zip
FSMC. Files moved to
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@7414 35acf78f-673a-0410-8e92-d51de3d6d3f4
Diffstat (limited to 'testhal/STM32/STM32L1xx/ADC/mcuconf.h')
0 files changed, 0 insertions, 0 deletions
n79'>79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159
From b3fe618a47d770f6c9808ade14360fd81a599789 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Wed, 19 Jun 2019 03:55:50 +0100
Subject: [PATCH] video/bcm2708_fb: Revert cma allocation attempt

"4600e91 Pulled in the multi frame buffer support from the Pi3 repo"
pulled back in the code for allocating the framebuffer from the CMA
heap.
Revert it again.

Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
---
 drivers/video/fbdev/bcm2708_fb.c           | 101 +++------------------
 include/soc/bcm2835/raspberrypi-firmware.h |   1 -
 2 files changed, 13 insertions(+), 89 deletions(-)

--- a/drivers/video/fbdev/bcm2708_fb.c
+++ b/drivers/video/fbdev/bcm2708_fb.c
@@ -112,9 +112,6 @@ struct bcm2708_fb {
 	struct vc4_display_settings_t display_settings;
 	struct debugfs_regset32 screeninfo_regset;
 	struct bcm2708_fb_dev *fbdev;
-	unsigned int image_size;
-	dma_addr_t dma_addr;
-	void *cpuaddr;
 };
 
 #define MAX_FRAMEBUFFERS 3
@@ -377,12 +374,12 @@ static int bcm2708_fb_set_par(struct fb_
 			.xoffset = info->var.xoffset,
 			.yoffset = info->var.yoffset,
 		.tag5 = { RPI_FIRMWARE_FRAMEBUFFER_ALLOCATE, 8, 0 },
-			/* base and screen_size will be initialised later */
-		.tag6 = { RPI_FIRMWARE_FRAMEBUFFER_SET_PITCH, 4, 0 },
-			/* pitch will be initialised later */
+			.base = 0,
+			.screen_size = 0,
+		.tag6 = { RPI_FIRMWARE_FRAMEBUFFER_GET_PITCH, 4, 0 },
+			.pitch = 0,
 	};
-	int ret, image_size;
-
+	int ret;
 
 	print_debug("%s(%p) %dx%d (%dx%d), %d, %d (display %d)\n", __func__,
 		    info,
@@ -397,76 +394,12 @@ static int bcm2708_fb_set_par(struct fb_
 	 */
 	set_display_num(fb);
 
-	/* Try allocating our own buffer. We can specify all the parameters */
-	image_size = ((info->var.xres * info->var.yres) *
-		      info->var.bits_per_pixel) >> 3;
-
-	if (!fb->fbdev->disable_arm_alloc &&
-	    (image_size != fb->image_size || !fb->dma_addr)) {
-		if (fb->dma_addr) {
-			dma_free_coherent(info->device, fb->image_size,
-					  fb->cpuaddr, fb->dma_addr);
-			fb->image_size = 0;
-			fb->cpuaddr = NULL;
-			fb->dma_addr = 0;
-		}
-
-		fb->cpuaddr = dma_alloc_coherent(info->device, image_size,
-						 &fb->dma_addr, GFP_KERNEL);
-
-		if (!fb->cpuaddr) {
-			fb->dma_addr = 0;
-			fb->fbdev->disable_arm_alloc = true;
-		} else {
-			fb->image_size = image_size;
-		}
-	}
-
-	if (fb->cpuaddr) {
-		fbinfo.base = fb->dma_addr;
-		fbinfo.screen_size = image_size;
-		fbinfo.pitch = (info->var.xres * info->var.bits_per_pixel) >> 3;
-
-		ret = rpi_firmware_property_list(fb->fbdev->fw, &fbinfo,
-						 sizeof(fbinfo));
-		if (ret || fbinfo.base != fb->dma_addr) {
-			/* Firmware either failed, or assigned a different base
-			 * address (ie it doesn't support being passed an FB
-			 * allocation).
-			 * Destroy the allocation, and don't try again.
-			 */
-			dma_free_coherent(info->device, fb->image_size,
-					  fb->cpuaddr, fb->dma_addr);
-			fb->image_size = 0;
-			fb->cpuaddr = NULL;
-			fb->dma_addr = 0;
-			fb->fbdev->disable_arm_alloc = true;
-		}
-	} else {
-		/* Our allocation failed - drop into the old scheme of
-		 * allocation by the VPU.
-		 */
-		ret = -ENOMEM;
-	}
-
+	ret = rpi_firmware_property_list(fb->fbdev->fw, &fbinfo,
+					 sizeof(fbinfo));
 	if (ret) {
-		/* Old scheme:
-		 * - FRAMEBUFFER_ALLOCATE passes 0 for base and screen_size.
-		 * - GET_PITCH instead of SET_PITCH.
-		 */
-		fbinfo.base = 0;
-		fbinfo.screen_size = 0;
-		fbinfo.tag6.tag = RPI_FIRMWARE_FRAMEBUFFER_GET_PITCH;
-		fbinfo.pitch = 0;
-
-		ret = rpi_firmware_property_list(fb->fbdev->fw, &fbinfo,
-						 sizeof(fbinfo));
-		if (ret) {
-			dev_err(info->device,
-				"Failed to allocate GPU framebuffer (%d)\n",
-				ret);
-			return ret;
-		}
+		dev_err(info->device,
+			"Failed to allocate GPU framebuffer (%d)\n", ret);
+		return ret;
 	}
 
 	if (info->var.bits_per_pixel <= 8)
@@ -481,17 +414,9 @@ static int bcm2708_fb_set_par(struct fb_
 	fb->fb.fix.smem_start = fbinfo.base;
 	fb->fb.fix.smem_len = fbinfo.pitch * fbinfo.yres_virtual;
 	fb->fb.screen_size = fbinfo.screen_size;
-
-	if (!fb->dma_addr) {
-		if (fb->fb.screen_base)
-			iounmap(fb->fb.screen_base);
-
-		fb->fb.screen_base = ioremap_wc(fbinfo.base,
-						fb->fb.screen_size);
-	} else {
-		fb->fb.screen_base = fb->cpuaddr;
-	}
-
+	if (fb->fb.screen_base)
+		iounmap(fb->fb.screen_base);
+	fb->fb.screen_base = ioremap_wc(fbinfo.base, fb->fb.screen_size);
 	if (!fb->fb.screen_base) {
 		/* the console may currently be locked */
 		console_trylock();
--- a/include/soc/bcm2835/raspberrypi-firmware.h
+++ b/include/soc/bcm2835/raspberrypi-firmware.h
@@ -138,7 +138,6 @@ enum rpi_firmware_property_tag {
 	RPI_FIRMWARE_FRAMEBUFFER_SET_DEPTH =                  0x00048005,
 	RPI_FIRMWARE_FRAMEBUFFER_SET_PIXEL_ORDER =            0x00048006,
 	RPI_FIRMWARE_FRAMEBUFFER_SET_ALPHA_MODE =             0x00048007,
-	RPI_FIRMWARE_FRAMEBUFFER_SET_PITCH =                  0x00048008,
 	RPI_FIRMWARE_FRAMEBUFFER_SET_VIRTUAL_OFFSET =         0x00048009,
 	RPI_FIRMWARE_FRAMEBUFFER_SET_OVERSCAN =               0x0004800a,
 	RPI_FIRMWARE_FRAMEBUFFER_SET_PALETTE =                0x0004800b,