diff options
Diffstat (limited to 'target/linux/brcm2708/patches-4.1/0146-bcm2708-vcio-Remove-module.patch')
-rw-r--r-- | target/linux/brcm2708/patches-4.1/0146-bcm2708-vcio-Remove-module.patch | 266 |
1 files changed, 266 insertions, 0 deletions
diff --git a/target/linux/brcm2708/patches-4.1/0146-bcm2708-vcio-Remove-module.patch b/target/linux/brcm2708/patches-4.1/0146-bcm2708-vcio-Remove-module.patch new file mode 100644 index 0000000000..f36c2d9dcb --- /dev/null +++ b/target/linux/brcm2708/patches-4.1/0146-bcm2708-vcio-Remove-module.patch @@ -0,0 +1,266 @@ +From 764892688e000751cdebf8fe20564b5fb1862ac1 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= <noralf@tronnes.org> +Date: Fri, 24 Jul 2015 19:34:31 +0200 +Subject: [PATCH 146/148] bcm2708-vcio: Remove module +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +All drivers have been converted to the new firmware API, so this +module is not needed anymore. + +Signed-off-by: Noralf Trønnes <noralf@tronnes.org> +--- + drivers/mailbox/Kconfig | 6 -- + drivers/mailbox/Makefile | 2 - + drivers/mailbox/bcm2708-vcio.c | 86 ----------------- + include/linux/platform_data/mailbox-bcm2708.h | 127 -------------------------- + 4 files changed, 221 deletions(-) + delete mode 100644 drivers/mailbox/bcm2708-vcio.c + delete mode 100644 include/linux/platform_data/mailbox-bcm2708.h + +--- a/drivers/mailbox/Kconfig ++++ b/drivers/mailbox/Kconfig +@@ -7,12 +7,6 @@ menuconfig MAILBOX + + if MAILBOX + +-config BCM2708_MBOX +- bool "Broadcom BCM2708 Mailbox (vcio)" +- depends on BCM2835_MBOX +- help +- Broadcom BCM2708 Mailbox (vcio) +- + config ARM_MHU + tristate "ARM MHU Mailbox" + depends on ARM_AMBA +--- a/drivers/mailbox/Makefile ++++ b/drivers/mailbox/Makefile +@@ -2,8 +2,6 @@ + + obj-$(CONFIG_MAILBOX) += mailbox.o + +-obj-$(CONFIG_BCM2708_MBOX) += bcm2708-vcio.o +- + obj-$(CONFIG_ARM_MHU) += arm_mhu.o + + obj-$(CONFIG_PL320_MBOX) += pl320-ipc.o +--- a/drivers/mailbox/bcm2708-vcio.c ++++ /dev/null +@@ -1,86 +0,0 @@ +-/* +- * Copyright (C) 2010 Broadcom +- * +- * This program is free software; you can redistribute it and/or modify +- * it under the terms of the GNU General Public License version 2 as +- * published by the Free Software Foundation. +- * +- * This device provides a shared mechanism for writing to the mailboxes, +- * semaphores, doorbells etc. that are shared between the ARM and the +- * VideoCore processor +- */ +- +-#include <linux/dma-mapping.h> +-#include <linux/init.h> +-#include <linux/module.h> +-#include <linux/platform_data/mailbox-bcm2708.h> +-#include <linux/uaccess.h> +-#include <soc/bcm2835/raspberrypi-firmware.h> +- +-#define DRIVER_NAME "bcm2708_vcio" +- +-extern int bcm_mailbox_write(unsigned chan, uint32_t data28) +-{ +- struct rpi_firmware *fw = rpi_firmware_get(NULL); +- +- if (!fw) +- return -ENODEV; +- +- return rpi_firmware_transaction(fw, chan, data28); +-} +-EXPORT_SYMBOL_GPL(bcm_mailbox_write); +- +-extern int bcm_mailbox_read(unsigned chan, uint32_t *data28) +-{ +- struct rpi_firmware *fw = rpi_firmware_get(NULL); +- +- if (!fw) +- return -ENODEV; +- +- *data28 = rpi_firmware_transaction_received(fw); +- +- return 0; +-} +-EXPORT_SYMBOL_GPL(bcm_mailbox_read); +- +-static DEFINE_MUTEX(mailbox_lock); +-extern int bcm_mailbox_property(void *data, int size) +-{ +- uint32_t success; +- dma_addr_t mem_bus; /* the memory address accessed from videocore */ +- void *mem_kern; /* the memory address accessed from driver */ +- int s = 0; +- +- mutex_lock(&mailbox_lock); +- /* allocate some memory for the messages communicating with GPU */ +- mem_kern = dma_alloc_coherent(NULL, PAGE_ALIGN(size), &mem_bus, +- GFP_KERNEL); +- if (mem_kern) { +- /* create the message */ +- memcpy(mem_kern, data, size); +- +- /* send the message */ +- wmb(); +- s = bcm_mailbox_write(MBOX_CHAN_PROPERTY, (uint32_t)mem_bus); +- if (s == 0) +- s = bcm_mailbox_read(MBOX_CHAN_PROPERTY, &success); +- if (s == 0) { +- /* copy the response */ +- rmb(); +- memcpy(data, mem_kern, size); +- } +- dma_free_coherent(NULL, PAGE_ALIGN(size), mem_kern, mem_bus); +- } else { +- s = -ENOMEM; +- } +- if (s != 0) +- pr_err(DRIVER_NAME ": %s failed (%d)\n", __func__, s); +- +- mutex_unlock(&mailbox_lock); +- return s; +-} +-EXPORT_SYMBOL_GPL(bcm_mailbox_property); +- +-MODULE_AUTHOR("Gray Girling"); +-MODULE_DESCRIPTION("ARM I/O to VideoCore processor"); +-MODULE_LICENSE("GPL"); +--- a/include/linux/platform_data/mailbox-bcm2708.h ++++ /dev/null +@@ -1,127 +0,0 @@ +-/* +- * Copyright (C) 2010 Broadcom +- * +- * This program is free software; you can redistribute it and/or modify +- * it under the terms of the GNU General Public License as published by +- * the Free Software Foundation; either version 2 of the License, or +- * (at your option) any later version. +- * +- * This program is distributed in the hope that it will be useful, +- * but WITHOUT ANY WARRANTY; without even the implied warranty of +- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +- * GNU General Public License for more details. +- */ +-#ifndef _PLAT_MAILBOX_BCM2708_H +-#define _PLAT_MAILBOX_BCM2708_H +- +-/* Routines to handle I/O via the VideoCore "ARM control" registers +- * (semaphores, doorbells, mailboxes) +- */ +- +-/* Constants shared with the ARM identifying separate mailbox channels */ +-#define MBOX_CHAN_POWER 0 /* for use by the power management interface */ +-#define MBOX_CHAN_FB 1 /* for use by the frame buffer */ +-#define MBOX_CHAN_VCHIQ 3 /* for use by the VCHIQ interface */ +-#define MBOX_CHAN_PROPERTY 8 /* for use by the property channel */ +-#define MBOX_CHAN_COUNT 9 +- +-enum { +- VCMSG_PROCESS_REQUEST = 0x00000000 +-}; +- +-enum { +- VCMSG_REQUEST_SUCCESSFUL = 0x80000000, +- VCMSG_REQUEST_FAILED = 0x80000001 +-}; +- +-/* Mailbox property tags */ +-enum { +- VCMSG_PROPERTY_END = 0x00000000, +- VCMSG_GET_FIRMWARE_REVISION = 0x00000001, +- VCMSG_GET_BOARD_MODEL = 0x00010001, +- VCMSG_GET_BOARD_REVISION = 0x00010002, +- VCMSG_GET_BOARD_MAC_ADDRESS = 0x00010003, +- VCMSG_GET_BOARD_SERIAL = 0x00010004, +- VCMSG_GET_ARM_MEMORY = 0x00010005, +- VCMSG_GET_VC_MEMORY = 0x00010006, +- VCMSG_GET_CLOCKS = 0x00010007, +- VCMSG_GET_COMMAND_LINE = 0x00050001, +- VCMSG_GET_DMA_CHANNELS = 0x00060001, +- VCMSG_GET_POWER_STATE = 0x00020001, +- VCMSG_GET_TIMING = 0x00020002, +- VCMSG_SET_POWER_STATE = 0x00028001, +- VCMSG_GET_CLOCK_STATE = 0x00030001, +- VCMSG_SET_CLOCK_STATE = 0x00038001, +- VCMSG_GET_CLOCK_RATE = 0x00030002, +- VCMSG_SET_CLOCK_RATE = 0x00038002, +- VCMSG_GET_VOLTAGE = 0x00030003, +- VCMSG_SET_VOLTAGE = 0x00038003, +- VCMSG_GET_MAX_CLOCK = 0x00030004, +- VCMSG_GET_MAX_VOLTAGE = 0x00030005, +- VCMSG_GET_TEMPERATURE = 0x00030006, +- VCMSG_GET_MIN_CLOCK = 0x00030007, +- VCMSG_GET_MIN_VOLTAGE = 0x00030008, +- VCMSG_GET_TURBO = 0x00030009, +- VCMSG_GET_MAX_TEMPERATURE = 0x0003000a, +- VCMSG_GET_STC = 0x0003000b, +- VCMSG_SET_TURBO = 0x00038009, +- VCMSG_SET_ALLOCATE_MEM = 0x0003000c, +- VCMSG_SET_LOCK_MEM = 0x0003000d, +- VCMSG_SET_UNLOCK_MEM = 0x0003000e, +- VCMSG_SET_RELEASE_MEM = 0x0003000f, +- VCMSG_SET_EXECUTE_CODE = 0x00030010, +- VCMSG_SET_EXECUTE_QPU = 0x00030011, +- VCMSG_SET_ENABLE_QPU = 0x00030012, +- VCMSG_GET_RESOURCE_HANDLE = 0x00030014, +- VCMSG_GET_EDID_BLOCK = 0x00030020, +- VCMSG_GET_CUSTOMER_OTP = 0x00030021, +- VCMSG_SET_CUSTOMER_OTP = 0x00038021, +- VCMSG_SET_ALLOCATE_BUFFER = 0x00040001, +- VCMSG_SET_RELEASE_BUFFER = 0x00048001, +- VCMSG_SET_BLANK_SCREEN = 0x00040002, +- VCMSG_TST_BLANK_SCREEN = 0x00044002, +- VCMSG_GET_PHYSICAL_WIDTH_HEIGHT = 0x00040003, +- VCMSG_TST_PHYSICAL_WIDTH_HEIGHT = 0x00044003, +- VCMSG_SET_PHYSICAL_WIDTH_HEIGHT = 0x00048003, +- VCMSG_GET_VIRTUAL_WIDTH_HEIGHT = 0x00040004, +- VCMSG_TST_VIRTUAL_WIDTH_HEIGHT = 0x00044004, +- VCMSG_SET_VIRTUAL_WIDTH_HEIGHT = 0x00048004, +- VCMSG_GET_DEPTH = 0x00040005, +- VCMSG_TST_DEPTH = 0x00044005, +- VCMSG_SET_DEPTH = 0x00048005, +- VCMSG_GET_PIXEL_ORDER = 0x00040006, +- VCMSG_TST_PIXEL_ORDER = 0x00044006, +- VCMSG_SET_PIXEL_ORDER = 0x00048006, +- VCMSG_GET_ALPHA_MODE = 0x00040007, +- VCMSG_TST_ALPHA_MODE = 0x00044007, +- VCMSG_SET_ALPHA_MODE = 0x00048007, +- VCMSG_GET_PITCH = 0x00040008, +- VCMSG_TST_PITCH = 0x00044008, +- VCMSG_SET_PITCH = 0x00048008, +- VCMSG_GET_VIRTUAL_OFFSET = 0x00040009, +- VCMSG_TST_VIRTUAL_OFFSET = 0x00044009, +- VCMSG_SET_VIRTUAL_OFFSET = 0x00048009, +- VCMSG_GET_OVERSCAN = 0x0004000a, +- VCMSG_TST_OVERSCAN = 0x0004400a, +- VCMSG_SET_OVERSCAN = 0x0004800a, +- VCMSG_GET_PALETTE = 0x0004000b, +- VCMSG_TST_PALETTE = 0x0004400b, +- VCMSG_SET_PALETTE = 0x0004800b, +- VCMSG_GET_LAYER = 0x0004000c, +- VCMSG_TST_LAYER = 0x0004400c, +- VCMSG_SET_LAYER = 0x0004800c, +- VCMSG_GET_TRANSFORM = 0x0004000d, +- VCMSG_TST_TRANSFORM = 0x0004400d, +- VCMSG_SET_TRANSFORM = 0x0004800d, +- VCMSG_TST_VSYNC = 0x0004400e, +- VCMSG_SET_VSYNC = 0x0004800e, +- VCMSG_GET_TOUCHBUF = 0x0004000f, +- VCMSG_SET_CURSOR_INFO = 0x00008010, +- VCMSG_SET_CURSOR_STATE = 0x00008011, +-}; +- +-int bcm_mailbox_read(unsigned chan, uint32_t *data28); +-int bcm_mailbox_write(unsigned chan, uint32_t data28); +-int bcm_mailbox_property(void *data, int size); +- +-#endif |