nvhost: Move include files to kernel/include
Terje Bergstrom [Tue, 26 Jul 2011 11:09:02 +0000 (14:09 +0300)]
To prepare for kernel modularization, nvhost include files need to be
moved from mach-tegra/include to kernel/include. At the same time
user space specific part is split into nvhost_ioctl.h.

Bug 854182

Original-Change-Id: I3694a40d786028733310ecf5b59341282af571be
Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com>
Reviewed-on: http://git-master/r/43211
Reviewed-by: Varun Colbert <vcolbert@nvidia.com>
Tested-by: Varun Colbert <vcolbert@nvidia.com>

Rebase-Id: Rc4fadf65d59ddfb5bb924e7adfccd39e86a0b2c7

25 files changed:
arch/arm/mach-tegra/board-aruba-panel.c
arch/arm/mach-tegra/board-cardhu-panel.c
arch/arm/mach-tegra/board-enterprise-panel.c
arch/arm/mach-tegra/board-harmony-panel.c
arch/arm/mach-tegra/board-ventana-panel.c
arch/arm/mach-tegra/board-whistler-panel.c
arch/arm/mach-tegra/include/mach/tegra_dc_ext.h
drivers/video/tegra/dc/dc.c
drivers/video/tegra/dc/dsi.c
drivers/video/tegra/dc/hdmi.c
drivers/video/tegra/dc/nvhdcp.c
drivers/video/tegra/dc/overlay.c
drivers/video/tegra/fb.c
drivers/video/tegra/host/bus.c
drivers/video/tegra/host/chip_support.h
drivers/video/tegra/host/dev.c
drivers/video/tegra/host/nvhost_cdma.h
drivers/video/tegra/host/nvhost_channel.h
drivers/video/tegra/host/nvhost_hwctx.h
drivers/video/tegra/host/nvhost_syncpt.c
drivers/video/tegra/host/nvhost_syncpt.h
drivers/video/tegra/host/t20/syncpt_t20.c
include/linux/nvhost.h [new file with mode: 0644]
include/linux/nvhost_ioctl.h [moved from arch/arm/mach-tegra/include/mach/nvhost.h with 73% similarity]
include/trace/events/nvhost.h [moved from arch/arm/mach-tegra/include/trace/events/nvhost.h with 100% similarity]

index deb2a08..a0adfca 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * arch/arm/mach-tegra/board-aruba-panel.c
  *
- * Copyright (c) 2010, NVIDIA Corporation.
+ * Copyright (c) 2010-2011, NVIDIA Corporation.
  *
  * 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
@@ -25,7 +25,7 @@
 #include <asm/mach-types.h>
 #include <linux/platform_device.h>
 #include <linux/pwm_backlight.h>
-#include <mach/nvhost.h>
+#include <linux/nvhost.h>
 #include <mach/nvmap.h>
 #include <mach/irqs.h>
 #include <mach/iomap.h>
index b5ea8a4..db88f30 100644 (file)
@@ -26,7 +26,7 @@
 #include <linux/platform_device.h>
 #include <linux/pwm_backlight.h>
 #include <asm/atomic.h>
-#include <mach/nvhost.h>
+#include <linux/nvhost.h>
 #include <mach/nvmap.h>
 #include <mach/irqs.h>
 #include <mach/iomap.h>
index ab5c88f..b0b749a 100644 (file)
@@ -26,7 +26,7 @@
 #include <linux/platform_device.h>
 #include <linux/tegra_pwm_bl.h>
 #include <asm/atomic.h>
-#include <mach/nvhost.h>
+#include <linux/nvhost.h>
 #include <mach/nvmap.h>
 #include <mach/irqs.h>
 #include <mach/iomap.h>
index a7890a7..46539a4 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * arch/arm/mach-tegra/board-harmony-panel.c
  *
- * Copyright (C) 2010 Google, Inc.
+ * Copyright (c) 2010-2011, NVIDIA Corporation.
  *
  * This software is licensed under the terms of the GNU General Public
  * License version 2, as published by the Free Software Foundation, and
@@ -17,6 +17,7 @@
 #include <linux/resource.h>
 #include <linux/platform_device.h>
 #include <asm/mach-types.h>
+#include <linux/nvhost.h>
 #include <mach/irqs.h>
 #include <mach/iomap.h>
 #include <mach/tegra_fb.h>
index 65ba1f4..6a09120 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * arch/arm/mach-tegra/board-ventana-panel.c
  *
- * Copyright (c) 2010, NVIDIA Corporation.
+ * Copyright (c) 2010-2011, NVIDIA Corporation.
  *
  * 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
@@ -25,7 +25,7 @@
 #include <asm/mach-types.h>
 #include <linux/platform_device.h>
 #include <linux/pwm_backlight.h>
-#include <mach/nvhost.h>
+#include <linux/nvhost.h>
 #include <mach/nvmap.h>
 #include <mach/irqs.h>
 #include <mach/iomap.h>
index ef46b51..b01400e 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * arch/arm/mach-tegra/board-whistler-panel.c
  *
- * Copyright (c) 2010, NVIDIA Corporation.
+ * Copyright (c) 2010-2011, NVIDIA Corporation.
  *
  * 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
@@ -26,7 +26,7 @@
 #include <linux/platform_device.h>
 #include <linux/pwm_backlight.h>
 #include <linux/tegra_pwm_bl.h>
-#include <mach/nvhost.h>
+#include <linux/nvhost.h>
 #include <mach/nvmap.h>
 #include <mach/irqs.h>
 #include <mach/iomap.h>
index f94626f..559bc12 100644 (file)
@@ -19,8 +19,6 @@
 #ifndef __MACH_TEGRA_DC_EXT_H
 #define __MACH_TEGRA_DC_EXT_H
 
-#include <mach/nvhost.h>
-
 struct tegra_dc_ext;
 
 #ifdef CONFIG_TEGRA_DC_EXTENSIONS
index f7c0ec8..cba7009 100644 (file)
@@ -40,7 +40,7 @@
 #include <mach/dc.h>
 #include <mach/fb.h>
 #include <mach/mc.h>
-#include <mach/nvhost.h>
+#include <linux/nvhost.h>
 #include <mach/latency_allowance.h>
 
 #include "dc_reg.h"
index 68dd07b..c83b615 100644 (file)
@@ -28,7 +28,7 @@
 #include <mach/clk.h>
 #include <mach/dc.h>
 #include <mach/fb.h>
-#include <mach/nvhost.h>
+#include <linux/nvhost.h>
 #include <../gpio-names.h>
 
 #include "dc_reg.h"
index 4672ca1..71163b2 100644 (file)
@@ -33,7 +33,7 @@
 #include <mach/clk.h>
 #include <mach/dc.h>
 #include <mach/fb.h>
-#include <mach/nvhost.h>
+#include <linux/nvhost.h>
 #include <mach/hdmi-audio.h>
 
 #include <video/tegrafb.h>
index bac8778..5ff5394 100644 (file)
@@ -26,7 +26,6 @@
 #include <asm/atomic.h>
 
 #include <mach/dc.h>
-#include <mach/nvhost.h>
 #include <mach/kfuse.h>
 
 #include <video/nvhdcp.h>
index 6f42242..c8a49c8 100644 (file)
@@ -33,7 +33,7 @@
 
 #include <mach/dc.h>
 #include <mach/fb.h>
-#include <mach/nvhost.h>
+#include <linux/nvhost.h>
 
 #include "dc_priv.h"
 #include "../nvmap/nvmap.h"
index 6aff1ca..0787131 100644 (file)
@@ -36,7 +36,7 @@
 
 #include <mach/dc.h>
 #include <mach/fb.h>
-#include <mach/nvhost.h>
+#include <linux/nvhost.h>
 #include <mach/nvmap.h>
 
 #include "host/dev.h"
index a633950..0ba30dd 100644 (file)
@@ -2,11 +2,9 @@
  * drivers/video/tegra/host/bus.c
  *
  * Copyright (C) 2010 Google, Inc.
+ * Author: Erik Gilling <konkers@google.com>
  *
- * Author:
- *     Erik Gilling <konkers@google.com>
- *
- * based heavily on drivers/base/platform.c
+ * Copyright (C) 2010-2011 NVIDIA Corporation
  *
  * This software is licensed under the terms of the GNU General Public
  * License version 2, as published by the Free Software Foundation, and
@@ -20,8 +18,7 @@
  */
 
 #include <linux/pm_runtime.h>
-
-#include <mach/nvhost.h>
+#include <linux/nvhost.h>
 
 #include "dev.h"
 
index c632001..a0b0f02 100644 (file)
@@ -23,6 +23,7 @@
 #define _NVHOST_CHIP_SUPPORT_H_
 
 struct output;
+struct nvhost_waitchk;
 
 struct nvhost_chip_support {
        struct {
index 1647996..37d18bc 100644 (file)
@@ -37,7 +37,8 @@
 
 #include <asm/io.h>
 
-#include <mach/nvhost.h>
+#include <linux/nvhost.h>
+#include <linux/nvhost_ioctl.h>
 #include <mach/nvmap.h>
 #include <mach/gpufuse.h>
 
index 64d1724..e48d733 100644 (file)
@@ -26,7 +26,7 @@
 #include <linux/sched.h>
 #include <linux/semaphore.h>
 
-#include <mach/nvhost.h>
+#include <linux/nvhost.h>
 #include <mach/nvmap.h>
 
 #include "nvhost_acm.h"
index e108a20..c939a19 100644 (file)
@@ -3,7 +3,7 @@
  *
  * Tegra Graphics Host Channel
  *
- * Copyright (c) 2010, NVIDIA Corporation.
+ * Copyright (c) 2010-2011, NVIDIA Corporation.
  *
  * 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
@@ -35,6 +35,7 @@
 #define NVHOST_MAX_HANDLES 1280
 
 struct nvhost_master;
+struct nvhost_waitchk;
 
 struct nvhost_channeldesc {
        const char *name;
index 83d93bd..06df90e 100644 (file)
@@ -26,7 +26,7 @@
 #include <linux/string.h>
 #include <linux/kref.h>
 
-#include <mach/nvhost.h>
+#include <linux/nvhost.h>
 #include <mach/nvmap.h>
 
 struct nvhost_channel;
index 7123309..6236ded 100644 (file)
@@ -3,7 +3,7 @@
  *
  * Tegra Graphics Host Syncpoints
  *
- * Copyright (c) 2010, NVIDIA Corporation.
+ * Copyright (c) 2010-2011, NVIDIA Corporation.
  *
  * 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
@@ -20,6 +20,7 @@
  * 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
  */
 
+#include <linux/nvhost_ioctl.h>
 #include "nvhost_syncpt.h"
 #include "dev.h"
 
index b6db72e..c8f8b4b 100644 (file)
@@ -3,7 +3,7 @@
  *
  * Tegra Graphics Host Syncpoints
  *
- * Copyright (c) 2010, NVIDIA Corporation.
+ * Copyright (c) 2010-2011, NVIDIA Corporation.
  *
  * 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
 
 #include <linux/kernel.h>
 #include <linux/sched.h>
-#include <mach/nvhost.h>
+#include <linux/nvhost.h>
 #include <mach/nvmap.h>
 #include <asm/atomic.h>
 
+struct nvhost_syncpt;
+struct nvhost_waitchk;
+
 /* host managed and invalid syncpt id */
 #define NVSYNCPT_GRAPHICS_HOST              (0)
 #define NVSYNCPT_INVALID                    (-1)
index ade896e..781654b 100644 (file)
@@ -20,6 +20,7 @@
  * 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
  */
 
+#include <linux/nvhost_ioctl.h>
 #include "../nvhost_syncpt.h"
 #include "../dev.h"
 
diff --git a/include/linux/nvhost.h b/include/linux/nvhost.h
new file mode 100644 (file)
index 0000000..a1d211d
--- /dev/null
@@ -0,0 +1,73 @@
+/*
+ * include/linux/nvhost.h
+ *
+ * Tegra graphics host driver
+ *
+ * Copyright (c) 2009-2011, NVIDIA Corporation.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ */
+
+#ifndef __LINUX_NVHOST_H
+#define __LINUX_NVHOST_H
+
+#include <linux/device.h>
+#include <linux/types.h>
+
+struct nvhost_master;
+
+struct nvhost_device {
+       const char              *name;
+       struct device           dev;
+       int                     id;
+       u32                     num_resources;
+       struct resource         *resource;
+
+       struct nvhost_master    *host;
+};
+
+extern int nvhost_device_register(struct nvhost_device *);
+extern void nvhost_device_unregister(struct nvhost_device *);
+
+extern struct bus_type nvhost_bus_type;
+
+struct nvhost_driver {
+       int (*probe)(struct nvhost_device *);
+       int (*remove)(struct nvhost_device *);
+       void (*shutdown)(struct nvhost_device *);
+       int (*suspend)(struct nvhost_device *, pm_message_t state);
+       int (*resume)(struct nvhost_device *);
+       struct device_driver driver;
+};
+
+extern int nvhost_driver_register(struct nvhost_driver *);
+extern void nvhost_driver_unregister(struct nvhost_driver *);
+extern struct resource *nvhost_get_resource(struct nvhost_device *,
+               unsigned int, unsigned int);
+extern int nvhost_get_irq(struct nvhost_device *, unsigned int);
+extern struct resource *nvhost_get_resource_byname(struct nvhost_device *,
+               unsigned int, const char *);
+extern int nvhost_get_irq_byname(struct nvhost_device *, const char *);
+
+#define to_nvhost_device(x) container_of((x), struct nvhost_device, dev)
+#define to_nvhost_driver(drv)  (container_of((drv), struct nvhost_driver, \
+                                driver))
+
+#define nvhost_get_drvdata(_dev) dev_get_drvdata(&(_dev)->dev)
+#define nvhost_set_drvdata(_dev, data) dev_set_drvdata(&(_dev)->dev, (data))
+
+int nvhost_bus_register(struct nvhost_master *host);
+
+#endif
similarity index 73%
rename from arch/arm/mach-tegra/include/mach/nvhost.h
rename to include/linux/nvhost_ioctl.h
index 8d70317..6e49827 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * include/linux/nvhost.h
+ * include/linux/nvhost_ioctl.h
  *
  * Tegra graphics host driver
  *
  * 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
  */
 
-#ifndef __LINUX_NVHOST_H
-#define __LINUX_NVHOST_H
+#ifndef __LINUX_NVHOST_IOCTL_H
+#define __LINUX_NVHOST_IOCTL_H
 
-#include <linux/device.h>
 #include <linux/ioctl.h>
 #include <linux/types.h>
 
-struct nvhost_master;
-
-struct nvhost_device {
-       const char              *name;
-       struct device           dev;
-       int                     id;
-       u32                     num_resources;
-       struct resource         *resource;
-
-       struct nvhost_master    *host;
-};
-
-extern int nvhost_device_register(struct nvhost_device *);
-extern void nvhost_device_unregister(struct nvhost_device *);
-
-extern struct bus_type nvhost_bus_type;
-
-struct nvhost_driver {
-       int (*probe)(struct nvhost_device *);
-       int (*remove)(struct nvhost_device *);
-       void (*shutdown)(struct nvhost_device *);
-       int (*suspend)(struct nvhost_device *, pm_message_t state);
-       int (*resume)(struct nvhost_device *);
-       struct device_driver driver;
-};
-
-extern int nvhost_driver_register(struct nvhost_driver *);
-extern void nvhost_driver_unregister(struct nvhost_driver *);
-extern struct resource *nvhost_get_resource(struct nvhost_device *, unsigned int, unsigned int);
-extern int nvhost_get_irq(struct nvhost_device *, unsigned int);
-extern struct resource *nvhost_get_resource_byname(struct nvhost_device *, unsigned int, const char *);
-extern int nvhost_get_irq_byname(struct nvhost_device *, const char *);
-
-#define to_nvhost_device(x) container_of((x), struct nvhost_device, dev)
-#define to_nvhost_driver(drv)  (container_of((drv), struct nvhost_driver, \
-                                driver))
-
-#define nvhost_get_drvdata(_dev)       dev_get_drvdata(&(_dev)->dev)
-#define nvhost_set_drvdata(_dev,data)  dev_set_drvdata(&(_dev)->dev, (data))
-
-int nvhost_bus_register(struct nvhost_master *host);
-
 #if !defined(__KERNEL__)
 #define __user
 #endif
 
+#define NVHOST_INVALID_SYNCPOINT 0xFFFFFFFF
 #define NVHOST_NO_TIMEOUT (-1)
+#define NVHOST_NO_CONTEXT 0x0
 #define NVHOST_IOCTL_MAGIC 'H'
 
 /* version 0 header (used with write() submit interface) */
@@ -214,6 +173,7 @@ struct nvhost_ctrl_module_regrdwr_args {
 
 #define NVHOST_IOCTL_CTRL_LAST                 \
        _IOC_NR(NVHOST_IOCTL_CTRL_SYNCPT_WAITEX)
-#define NVHOST_IOCTL_CTRL_MAX_ARG_SIZE sizeof(struct nvhost_ctrl_module_regrdwr_args)
+#define NVHOST_IOCTL_CTRL_MAX_ARG_SIZE \
+       sizeof(struct nvhost_ctrl_module_regrdwr_args)
 
 #endif