aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/staging/Makefile2
-rw-r--r--drivers/staging/ice4100/Kconfig130
-rw-r--r--drivers/staging/ice4100/Makefile2
-rw-r--r--drivers/staging/ice4100/sgx535/Makefile380
-rwxr-xr-xdrivers/staging/ice4100/sgx535/devices/sgx/mmu.c5
-rwxr-xr-xdrivers/staging/ice4100/sgx535/devices/sgx/sgxpower.c14
6 files changed, 167 insertions, 366 deletions
diff --git a/drivers/staging/Makefile b/drivers/staging/Makefile
index 8cb653594a6..ecb5666ab1b 100644
--- a/drivers/staging/Makefile
+++ b/drivers/staging/Makefile
@@ -70,4 +70,4 @@ obj-$(CONFIG_FT1000) += ft1000/
obj-$(CONFIG_SND_INTEL_SST) += intel_sst/
obj-$(CONFIG_SPEAKUP) += speakup/
obj-$(CONFIG_MFLD_SENSORS) += mfld-sensors/
-obj-$(CONFIG_CE4100) += ice4100/
+obj-$(CONFIG_X86_INTEL_CE) += ice4100/
diff --git a/drivers/staging/ice4100/Kconfig b/drivers/staging/ice4100/Kconfig
index 66d6f3c12b9..6a26db9e860 100644
--- a/drivers/staging/ice4100/Kconfig
+++ b/drivers/staging/ice4100/Kconfig
@@ -1,125 +1,43 @@
#
-# CE4100 device configuration
+# Intel CE device configuration
#
# This driver provides support for the
-# Intel CE4100 os abstraction layer
+# Intel CE media processors
#
-menu "Intel CE4100 Media Processor"
+menu "Intel CE Media Processor"
-config CE4100
- tristate "Intel CE4100 Media Processor Drivers"
+config X86_INTEL_CE
+ bool "Intel CE Media Processor Drivers"
default N
help
- Enable support for the Intel CE4100 Media Processor on-chip functions
+ Enable support for the Intel CE Media Processor functions
-if CE4100
+choice
+ prompt "Build Intel CE kernel services as "
+ depends on X86_INTEL_CE
+ default CE_RELEASE
-#config CE_OSAL
-# tristate "OSAL os abstraction layer"
-# help
-# Abstraction layer for the os. This is (currently) required for building
-# an device drivers for the Intel CE4100 media processor.
-
-#config CE_PLATFORM_CONFIG
-# tristate "Platform Config"
-# help
-# The method for configuring the platform information database.
-#
-#config CE_PAL
-# tristate "PAL platform abstraction layer"
-# select CE_OSAL
-# help
-# Abstraction layer for the platform.
-
-#config CE_SYSTEM_UTILS
-# tristate "System wide utilties for CE4100"
-# select CE_PLATFORM_CONFIG
-# select CE_PAL
-# help
-# System wide utility functions.
-
-#config CE_IDL
-# bool "IDL device drivers"
-#
-#if CE_IDL
-
-#config CE_IDL_GPIO
-# select CE_OSAL
-# select CE_PAL
-# tristate "IDL gpio driver"
-# help
-# gpio driver for on-chip device
-
-#config CE_IDL_I2C
-# select CE_OSAL
-# select CE_PAL
-# tristate "IDL i2c driver"
-# help
-# i2c driver for on-chip bus
-
-#config CE_IDL_SMARTCARD
-# select CE_OSAL
-# select CE_PAL
-# tristate "IDL smartcard driver"
-# help
-# driver for smartcard device
-
-#config CE_IDL_SPI
-# select CE_OSAL
-# select CE_PAL
-# tristate "IDL spi driver"
-# help
-# driver for spi device
-
-#endif
-
-#config CE_SVEN
-# select CE_OSAL
-# select CE_PLATFORM_CONFIG
-# select CE_PAL
-# tristate "System Visible Even Nexus debug tool"
-# help
-# A system-wide circular debug event queue
+config CE_RELEASE
+ bool "Release"
+ depends on X86_INTEL_CE
+ help
+ Build Intel CE kernel services as release
-#config CE_CLOCK_CONTROL
-# select CE_OSAL
-# select CE_IDL_I2C
-# select CE_SVEN
-# tristate "Clock monitoring and control"
-# help
-# Driver for accessing clock registers
+config CE_DEBUG
+ bool "Debug"
+ depends on X86_INTEL_CE
+ help
+ Build Intel CE kernel services as debug
-#config CE_POWER
-# select CE_OSAL
-# select CE_PLATFORM_CONFIG
-# select CE_PAL
-# select CE_CLOCK_CONTROL
-# tristate "Power management driver"
-# help
-# Provides power management for on-chip devices
+endchoice
-#config CE_GDL
-# select CE_OSAL
-# select CE_IDL_I2C
-# select CE_POWER
-# tristate "GDL video display driver"
-# help
-# Driver for the hardware display engine"
+if X86_INTEL_CE
-config CE_SGX535
- tristate "SGX535 Power VR graphics core driver"
+config CE_SGX_GFX
+ tristate "SGX Power VR graphics core driver"
help
Driver for 2D and 3D accelerated graphics core
-#config CE_MM
-# select DRM
-# select DRM_PSB
-# tristate "CE graphics device memory manager"
-# help
-# Driver for the CE drm graphics memory management
-
-#source "drivers/staging/ice4100/SMD/Kconfig"
-
endif
endmenu
diff --git a/drivers/staging/ice4100/Makefile b/drivers/staging/ice4100/Makefile
index 80b0dac77a1..80ffa0be358 100644
--- a/drivers/staging/ice4100/Makefile
+++ b/drivers/staging/ice4100/Makefile
@@ -7,6 +7,6 @@
#obj-$(CONFIG_CE_CLOCK_CONTROL) += clock_control/
#obj-$(CONFIG_CE_POWER) += power/
#obj-$(CONFIG_CE_GDL) += gdl/
-obj-$(CONFIG_CE_SGX535) += sgx535/
+obj-$(CONFIG_CE_SGX_GFX) += sgx535/
#obj-$(CONFIG_CE_MM) += mm/
#obj-$(CONFIG_CE_SMD) += SMD/
diff --git a/drivers/staging/ice4100/sgx535/Makefile b/drivers/staging/ice4100/sgx535/Makefile
index 9d28cf5fa21..d097496a4b8 100644
--- a/drivers/staging/ice4100/sgx535/Makefile
+++ b/drivers/staging/ice4100/sgx535/Makefile
@@ -2,266 +2,146 @@
# Makefile for the graphics hardware. This driver provides support for the
# Power VR accelerated 2D and 3D cores
-BUILD ?= release
-
-
-DATE ?= $(shell date "+%a %B %d %Z %Y")
-PVRVERSION_H = drivers/staging/ice4100/sgx535/include/pvrversion.h
-PVRVERSION = $(shell grep "PVRVERSION_STRING" < $(PVRVERSION_H) | \
- sed "s,.*\"\([0-9.]*\)\".*,\1,";)
-
-PVRVERSION_MAJ = $(shell echo $(PVRVERSION) | cut -d '.' -f1)
-PVRVERSION_MIN = $(shell echo $(PVRVERSION) | cut -d '.' -f2)
-PVRVERSION_BRANCH = $(shell echo $(PVRVERSION) | cut -d '.' -f3)
-PVRVERSION_BUILD = $(shell echo $(PVRVERSION) | cut -d '.' -f4,5,6)
PVR_BUILD_DIR ?= $(PWD)
-# Defaults for useful things.
-#
-INTEL_D3_CHANGES ?= 1
-INTEL_D3_PAD ?= 1
-INTEL_D3_FLUSH ?= 1
-INTEL_D3_DISABLE_TEXTURE_STREAM ?= 1
-INTEL_D3_GDL ?= 0
-INTEL_D3_NO_PCI_ENUM ?= 0
-INTEL_D3_P_CHANGES ?= 1
-INTEL_D3_CACHED_CBUF ?= 1
-INTEL_D3_MEEGO ?= 1
-
-SUPPORT_SECURE_FD_EXPORT ?= 0
-TRANSFER_QUEUE ?= 1
-SUPPORT_SGX_EVENT_OBJECT ?=1
-SUPPORT_SECURE_HANDLES ?= 1
-SUPPORT_SRVINIT = 1
-SUPPORT_PERCONTEXT_PB = 1
-DC_NOHW_WIDTH ?= 640
-DC_NOHW_HEIGHT ?= 480
-
-#OPTIM contains the optimisation level in timing and release builds
-OPTIM = -O2
-
-PDUMP ?= 0
-SUPPORT_SGX ?= 1
-SUPPORT_HW_RECOVERY ?= 1
-
-SYS_USING_INTERRUPTS ?= 1
-
-# CE4100 device information
-SGXCORE = 535
-CORE = -DSGX535 -DSGX_CORE_REV=121 -DSUPPORT_SGX535
-SUPPORT_DRI_DRM ?= 1
-SUPPORT_LINUX_X86_WRITECOMBINE ?= 1
-SUPPORT_SGX_LOW_LATENCY_SCHEDULING ?=1
-SUPPORT_LINUX_X86_PAT ?= 1
-PVR_PROC_USE_SEQ_FILE ?= 1
-
-SUPPORT_SECURE_DRM_AUTH_EXPORT ?= 0
-SUPPORT_LIBDRM_LITE ?= 0
-SUPPORT_PDUMP_DELAYED_INITPHASE_TERMINATION = 0
-SUPPORT_LINUX_USING_WORKQUEUES ?= 0
-
-# Thread support
-USE_PTHREADS ?= 1
-USE_GCC__thread_KEYWORD ?= 0
-OPTIMISE_NON_NPTL_SINGLE_THREAD_TLS_LOOKUP ?= 0
-DISABLE_THREADS ?= 0
-
-# Don't support HW recovery on debug builds
-ifeq ("$(BUILD)", "debug")
-DEBUG_LINUX_MEMORY_ALLOCATIONS ?= 1
-DEBUG_LINUX_MEM_AREAS ?= 1
-DEBUG_LINUX_MMAP_AREAS ?= 1
-DEBUG_LINUX_XML_PROC_FILES ?= 0
-DEBUG_LINUX_SLAB_ALLOCATIONS ?= 0
-DEBUG_BRIDGE_KM ?= 1
-DEBUG_TRACE_BRIDGE_KM ?= 0
-DEBUG_BRIDGE_KM_DISPATCH_TABLE ?= 0
-SUPPORT_HW_RECOVERY = 0
-PVRSRV_LOG_MEMORY_ALLOCS ?= 0
-PVRSRV_DEBUG_OS_MEMORY ?= 0
-endif
-
-# The standard CFLAGS macro can be overridden on the 'make' command line. We
-# put CBUILD in a separate macro so its setting doesn't get lost when a user
-# *does* override CFLAGS.
-#
-
-CBUILD = -DPVR_BUILD_DIR="\"$(PVR_BUILD_DIR)\"" \
- -DPVR_BUILD_DATE="\"$(DATE)\"" \
- -DPVR_BUILD_TYPE="\"$(BUILD)\""
-
-CBUILD.debug = -DDEBUG
-CBUILD.timing = -DTIMING
-CBUILD.release = -DRELEASE
-CFLAGS.debug = -g -O0 -DDLL_METRIC=1
-CFLAGS.timing = $(OPTIM) -g -DDLL_METRIC=1 -DTIMING
-CFLAGS.release = $(OPTIM) -g
-EXTRA_CFLAGS = $(CFLAGS.$(BUILD))
-
-SYS_CFLAGS += -DSERVICES4 -D_XOPEN_SOURCE=600 -DPVR2D_VALIDATE_INPUT_PARAMS
# Services module name
PVRSRV_MODNAME = pvrsrvkm
-SYS_CFLAGS += -DPVRSRV_MODNAME="\"$(PVRSRV_MODNAME)"\"
-
-# Automatically define C compiler macros for features possible (or not) in use.
-
-SYS_CFLAGS.$(SUPPORT_SRVINIT) += -DSUPPORT_SRVINIT
-SYS_CFLAGS.$(SUPPORT_LINUX_X86_PAT) += -DSUPPORT_LINUX_X86_PAT
-
-SYS_CFLAGS.$(SUPPORT_SGX) += -DSUPPORT_SGX
-SYS_CFLAGS.$(SUPPORT_XWS) += -DSUPPORT_XWS
-SYS_CFLAGS.$(PDUMP) += -DPDUMP
-SYS_CFLAGS.$(SUPPORT_POWER_MANAGEMENT) += -DSUPPORT_POWER_MANAGEMENT
-SYS_CFLAGS.$(SUPPORT_BUFFER_CLASS) += -DSUPPORT_BUFFER_CLASS
-SYS_CFLAGS.$(SUPPORT_PERCONTEXT_PB) += -DSUPPORT_PERCONTEXT_PB
-SYS_CFLAGS.$(SUPPORT_DYNAMIC_PBRESIZE) += -DSUPPORT_DYNAMIC_PBRESIZE
+# FIXME do we need these
+# -DSUPPORT_SGX_HWPERF
-SYS_CFLAGS.$(USE_FBDEV) += -DUSE_FBDEV
-SYS_CFLAGS.$(USE_FBDEV) += -DFBDEV_NAME="\"$(FBDEV_NAME)\""
-SYS_CFLAGS.$(SUPPORT_DYNAMIC_3DCLOCKGATING) += -DSUPPORT_DYNAMIC_3DCLOCKGATING
-SYS_CFLAGS.$(REENTRANCY_PROTECTION) += -DREENTRANCY_PROTECTION
-SYS_CFLAGS.$(SCHEDULER_CONTROL_SUPPORT) += -DSCHEDULER_CONTROL_SUPPORT
-SYS_CFLAGS.$(USE_IMG_POWER_DOMAIN_FUNCTION) += -DUSE_IMG_POWER_DOMAIN_FUNCTION
+#-DPVR_LINUX_USING_WORKQUEUES \
+#-DPVR_LINUX_MISR_USING_PRIVATE_WORKQUEUE \
+#-DPVR_LINUX_TIMERS_USING_WORKQUEUES \
+#-DSYS_CUSTOM_POWERLOCK_WRAP
-SYS_CFLAGS.$(USE_DMALLOC) += -DDMALLOC
-SYS_CFLAGS.$(DEBUG_LINUX_MEMORY_ALLOCATIONS) += -DDEBUG_LINUX_MEMORY_ALLOCATIONS
-SYS_CFLAGS.$(DEBUG_LINUX_MEM_AREAS) += -DDEBUG_LINUX_MEM_AREAS
-SYS_CFLAGS.$(DEBUG_LINUX_MMAP_AREAS) += -DDEBUG_LINUX_MMAP_AREAS
-SYS_CFLAGS.$(DEBUG_LINUX_XML_PROC_FILES) += -DDEBUG_LINUX_XML_PROC_FILES
-SYS_CFLAGS.$(DEBUG_LINUX_SLAB_ALLOCATIONS) += -DDEBUG_LINUX_SLAB_ALLOCATIONS
-SYS_CFLAGS.$(DEBUG_BRIDGE_KM) += -DDEBUG_BRIDGE_KM
-SYS_CFLAGS.$(DEBUG_TRACE_BRIDGE_KM) += -DDEBUG_TRACE_BRIDGE_KM
-SYS_CFLAGS.$(DEBUG_BRIDGE_KM_DISPATCH_TABLE) += -DDEBUG_BRIDGE_KM_DISPATCH_TABLE
+INCDIR=drivers/staging/ice4100/sgx535
-SYS_CFLAGS.$(SUPPORT_LINUX_X86_WRITECOMBINE) += -DSUPPORT_LINUX_X86_WRITECOMBINE
-
-SYS_CFLAGS.$(SGX_PDS_EVENTS_DISABLED) += -DSGX_PDS_EVENTS_DISABLED
-SYS_CFLAGS.$(USE_SUPPORT_NO_TA3D_OVERLAP) += -DUSE_SUPPORT_NO_TA3D_OVERLAP
-SYS_CFLAGS.$(SUPPORT_SGX_TILING) += -DSUPPORT_SGX_TILING
-SYS_CFLAGS.$(TRANSFER_QUEUE) += -DTRANSFER_QUEUE
-
-SYS_CFLAGS.$(SUPPORT_SGX_MMU_DUMMY_PAGE) += -DSUPPORT_SGX_MMU_DUMMY_PAGE
-
-SYS_CFLAGS.$(PVRSRV_USSE_EDM_STATUS_DEBUG) += -DPVRSRV_USSE_EDM_STATUS_DEBUG
-
-SYS_CFLAGS.$(PVRSRV_CLIENT_RESET_ON_HWTIMEOUT) += -DPVRSRV_CLIENT_RESET_ON_HWTIMEOUT
-SYS_CFLAGS.$(PVRSRV_RESET_ON_HWTIMEOUT) += -DPVRSRV_RESET_ON_HWTIMEOUT
-
-SYS_CFLAGS.$(NO_HARDWARE) += -DNO_HARDWARE
-
-SYS_CFLAGS.$(SUPPORT_DRI_DRM) += -DSUPPORT_DRI_DRM
-SYS_CFLAGS.$(SUPPORT_LIBDRM_LITE) += -DSUPPORT_LIBDRM_LITE
-SYS_CFLAGS.$(PVR_PROC_USE_SEQ_FILE) += -DPVR_PROC_USE_SEQ_FILE
-
-ifneq ("$(NO_HARDWARE)", "1")
-SYS_CFLAGS.$(SYS_USING_INTERRUPTS) += -DSYS_USING_INTERRUPTS
-SYS_CFLAGS.$(SUPPORT_HW_RECOVERY) += -DSUPPORT_HW_RECOVERY
-SYS_CFLAGS.$(SUPPORT_ACTIVE_POWER_MANAGEMENT) += -DSUPPORT_ACTIVE_POWER_MANAGEMENT
-endif
-
-SYS_CFLAGS.$(SUPPORT_SECURE_HANDLES) += -DPVR_SECURE_HANDLES
-SYS_CFLAGS.$(SUPPORT_SECURE_FD_EXPORT) += -DPVR_SECURE_FD_EXPORT
-SYS_CFLAGS.$(SUPPORT_SECURE_DRM_AUTH_EXPORT) += -DPVR_SECURE_DRM_AUTH_EXPORT
-
-SYS_CFLAGS.$(USE_PTHREADS) += -DUSE_PTHREADS
-SYS_CFLAGS.$(USE_GCC__thread_KEYWORD) += -DUSE_GCC__thread_KEYWORD
-SYS_CFLAGS.$(OPTIMISE_NON_NPTL_SINGLE_THREAD_TLS_LOOKUP) += -DOPTIMISE_NON_NPTL_SINGLE_THREAD_TLS_LOOKUP
-SYS_CFLAGS.$(DISABLE_THREADS) += -DDISABLE_THREADS
-SYS_CFLAGS.$(SUPPORT_SGX_EVENT_OBJECT) += -DSUPPORT_SGX_EVENT_OBJECT
-SYS_CFLAGS.$(SUPPORT_SGX_LOW_LATENCY_SCHEDULING) += -DSUPPORT_SGX_LOW_LATENCY_SCHEDULING
-SYS_CFLAGS.$(LDM_PLATFORM) += -DLDM_PLATFORM
-SYS_CFLAGS.$(LDM_PCI) += -DLDM_PCI
-SYS_CFLAGS.$(PVR_MANUAL_POWER_CONTROL) += -DPVR_MANUAL_POWER_CONTROL
-
-SYS_CFLAGS.$(PVR2D_ALT_2DHW) += -DPVR2D_ALT_2DHW
-
-SYS_CFLAGS.$(SUPPORT_SGX_HWPERF) += -DSUPPORT_SGX_HWPERF
-
-SYS_CFLAGS.$(SUPPORT_SLC) += -DSGX_FEATURE_SYSTEM_CACHE
-SYS_CFLAGS.$(BYPASS_SLC) += -DSGX_BYPASS_SYSTEM_CACHE
-
-SYS_CFLAGS.$(INTEL_D3_CHANGES) += -DINTEL_D3_CHANGES=1
-SYS_CFLAGS.$(INTEL_D3_PAD) += -DINTEL_D3_PAD=1
-SYS_CFLAGS.$(INTEL_D3_FLUSH) += -DINTEL_D3_FLUSH=1
-SYS_CFLAGS.$(INTEL_D3_DISABLE_TEXTURE_STREAM) += -DINTEL_D3_DISABLE_TEXTURE_STREAM=1
-SYS_CFLAGS.$(INTEL_D3_GDL) += -DINTEL_D3_GDL=1
-SYS_CFLAGS.$(INTEL_D3_NO_PCI_ENUM) += -DINTEL_D3_NO_PCI_ENUM=1
-SYS_CFLAGS.$(INTEL_D3_P_CHANGES) += -DINTEL_D3_P_CHANGES=1
-SYS_CFLAGS.$(INTEL_D3_CACHED_CBUF) += -DINTEL_D3_CACHED_CBUF=1
-SYS_CFLAGS.$(INTEL_D3_MEEGO) += -DINTEL_D3_MEEGO=1
-
-SYS_CFLAGS.$(SUPPORT_PDUMP_DELAYED_INITPHASE_TERMINATION) += -DSUPPORT_PDUMP_DELAYED_INITPHASE_TERMINATION
-
-SYS_CFLAGS.$(SUPPORT_LINUX_USING_WORKQUEUES) += -DPVR_LINUX_USING_WORKQUEUES \
- -DPVR_LINUX_MISR_USING_PRIVATE_WORKQUEUE \
- -DPVR_LINUX_TIMERS_USING_WORKQUEUES \
- -DSYS_CUSTOM_POWERLOCK_WRAP
-
-SYS_CFLAGS += -DDEBUG_LOG_PATH_TRUNCATE=\"$(PVR_BUILD_DIR)\"
-
-ALL_CFLAGS_kbuild = -DLINUX \
- $(CBUILD) $(CBUILD.$(BUILD)) \
- $(SYS_CFLAGS) $(SYS_CFLAGS.1) \
- $(MODULE_CFLAGS) $(MODULE_CFLAGS.$(BUILD)) \
- $(CORE) \
- $(EXTRA_CFLAGS)
-
-ccflags-y := -Idrivers/staging/ice4100/sgx535 \
- -Idrivers/staging/ice4100/sgx535/include \
- -Idrivers/staging/ice4100/sgx535/include/env/linux \
- -Idrivers/staging/ice4100/sgx535/bridged \
- -Idrivers/staging/ice4100/sgx535/bridged/sgx \
- -Idrivers/staging/ice4100/sgx535/devices/sgx \
- -Idrivers/staging/ice4100/sgx535/system \
- -Idrivers/staging/ice4100/sgx535/system/include \
- -Idrivers/staging/ice4100/sgx535/system/sgx_intel_ce \
- -Idrivers/staging/ice4100/sgx535/hwdefs \
- -Idrivers/staging/ice4100/pal/include \
+include_dirs := -I$(INCDIR)/ \
+ -I$(INCDIR)/include \
+ -I$(INCDIR)/include/env/linux \
+ -I$(INCDIR)/bridged \
+ -I$(INCDIR)/bridged/sgx \
+ -I$(INCDIR)/devices/sgx \
+ -I$(INCDIR)/system \
+ -I$(INCDIR)/system/include \
+ -I$(INCDIR)/system/sgx_intel_ce \
+ -I$(INCDIR)/hwdefs \
$(ALL_CFLAGS_kbuild)
-pvrsrvkm-y := osfunc.o \
- mmap.o \
- module.o \
- pdump.o \
- proc.o \
- pvr_bridge_k.o \
- pvr_debug.o \
- pvr_drm.o \
- mm.o \
- mutils.o \
- event.o \
- osperproc.o \
- common/buffer_manager.o \
- common/devicemem.o \
- common/deviceclass.o \
- common/handle.o \
- common/hash.o \
- common/lists.o \
- common/metrics.o \
- common/pvrsrv.o \
- common/queue.o \
- common/ra.o \
- common/resman.o \
- common/power.o \
- common/mem.o \
- common/pdump_common.o \
- common/perproc.o \
- bridged/bridged_support.o \
- bridged/bridged_pvr_bridge.o \
- bridged/sgx/bridged_sgx_bridge.o \
- devices/sgx/sgxinit.o \
- devices/sgx/sgxpower.o \
- devices/sgx/sgxreset.o \
- devices/sgx/sgxutils.o \
- devices/sgx/sgxkick.o \
- devices/sgx/sgxtransfer.o \
- devices/sgx/mmu.o \
- devices/sgx/pb.o \
- system/sgx_intel_ce/sysconfig.o \
- system/sgx_intel_ce/sysutils.o
-
-obj-$(CONFIG_CE_SGX535) += pvrsrvkm.o
+ccflags-y := $(include_dirs)
+
+# X86_INTEL_CE device information
+ccflags-y += -DSGX535 -DSUPPORT_SGX535 -DSGX_CORE_REV=121
+
+ccflags-y += \
+ -Werror \
+ -DLINUX \
+ -DPVR_BUILD_DATE="\"$(DATE)\"" \
+ -DPVR_BUILD_DIR="\"$(PVR_BUILD_DIR)\"" \
+ -DSERVICES4 \
+ -D_XOPEN_SOURCE=600 \
+ -DPVR2D_VALIDATE_INPUT_PARAMS \
+ -UDEBUG_LOG_PATH_TRUNCATE \
+ -DSUPPORT_SRVINIT \
+ -DSUPPORT_SGX \
+ -DSUPPORT_PERCONTEXT_PB \
+ -DSUPPORT_LINUX_X86_WRITECOMBINE \
+ -DTRANSFER_QUEUE \
+ -DSUPPORT_DRI_DRM \
+ -DSYS_USING_INTERRUPTS \
+ -DSUPPORT_HW_RECOVERY \
+ -DPVR_SECURE_HANDLES \
+ -DUSE_PTHREADS \
+ -DSUPPORT_SGX_EVENT_OBJECT \
+ -DSUPPORT_SGX_LOW_LATENCY_SCHEDULING \
+ -DSUPPORT_LINUX_X86_PAT \
+ -DPVR_PROC_USE_SEQ_FILE
+
+
+# Defaults for useful things on the Intel CE platform.
+ccflags-$(CONFIG_X86_INTEL_CE) += -DPVRSRV_MODNAME="\"$(PVRSRV_MODNAME)"\"
+
+ccflags-$(CONFIG_X86_INTEL_CE) += -DINTEL_D3_CHANGES=1
+ccflags-$(CONFIG_X86_INTEL_CE) += -DINTEL_D3_PAD=1
+ccflags-$(CONFIG_X86_INTEL_CE) += -DINTEL_D3_FLUSH=1
+ccflags-$(CONFIG_X86_INTEL_CE) += -DINTEL_D3_DISABLE_TEXTURE_STREAM=1
+#ccflags-$(CONFIG_X86_INTEL_CE) += -DINTEL_D3_GDL=1
+#ccflags-$(CONFIG_X86_INTEL_CE) += -DINTEL_D3_NO_PCI_ENUM=1
+ccflags-$(CONFIG_X86_INTEL_CE) += -DINTEL_D3_P_CHANGES=1
+ccflags-$(CONFIG_X86_INTEL_CE) += -DINTEL_D3_CACHED_CBUF=1
+ccflags-$(CONFIG_X86_INTEL_CE) += -DINTEL_D3_MEEGO=1
+
+# FIXME not sure if we need these
+#ccflags-$(CONFIG_CE_RELEASE) += -DUSE_FBDEV
+#ccflags-$(CONFIG_CE_RELEASE) += -DFBDEV_NAME="\"$(FBDEV_NAME)\""
+
+
+ccflags-$(CONFIG_CE_RELEASE) += -DBUILD="\"release\"" -DPVR_BUILD_TYPE="\"release\"" -DRELEASE
+
+ccflags-$(CONFIG_CE_DEBUG) += -DBUILD="\"debug\"" -DPVR_BUILD_TYPE="\"debug\"" -DDEBUG
+ccflags-$(CONFIG_CE_DEBUG) += -DDEBUG_LINUX_MEMORY_ALLOCATIONS
+ccflags-$(CONFIG_CE_DEBUG) += -DDEBUG_LINUX_MEM_AREAS
+ccflags-$(CONFIG_CE_DEBUG) += -DDEBUG_LINUX_MMAP_AREAS
+#ccflags-$(CONFIG_CE_DEBUG) += -DDEBUG_LINUX_XML_PROC_FILES
+#ccflags-$(CONFIG_CE_DEBUG) += -DDEBUG_LINUX_SLAB_ALLOCATIONS
+ccflags-$(CONFIG_CE_DEBUG) += -DDEBUG_BRIDGE_KM
+#ccflags-$(CONFIG_CE_DEBUG) += -DDEBUG_TRACE_BRIDGE_KM
+#ccflags-$(CONFIG_CE_DEBUG) += -DDEBUG_BRIDGE_KM_DISPATCH_TABLE
+#ccflags-$(CONFIG_CE_DEBUG) += -DSUPPORT_HW_RECOVERY
+
+COMMONDIR = common
+BRIDGEDIR = bridged
+SGXDIR = devices/sgx
+SYSDIR = system/sgx_intel_ce
+SYSCONFIGDIR = system/sgx_intel_ce
+
+pvrsrvkm-y := osfunc.o \
+ mmap.o \
+ module.o \
+ pdump.o \
+ proc.o \
+ pvr_bridge_k.o \
+ pvr_debug.o \
+ pvr_drm.o \
+ mm.o \
+ mutils.o \
+ event.o \
+ osperproc.o
+
+pvrsrvkm-y += $(COMMONDIR)/buffer_manager.o \
+ $(COMMONDIR)/devicemem.o \
+ $(COMMONDIR)/deviceclass.o \
+ $(COMMONDIR)/handle.o \
+ $(COMMONDIR)/hash.o \
+ $(COMMONDIR)/metrics.o \
+ $(COMMONDIR)/pvrsrv.o \
+ $(COMMONDIR)/queue.o \
+ $(COMMONDIR)/ra.o \
+ $(COMMONDIR)/resman.o \
+ $(COMMONDIR)/power.o \
+ $(COMMONDIR)/mem.o \
+ $(COMMONDIR)/pdump_common.o \
+ $(COMMONDIR)/perproc.o \
+ $(COMMONDIR)/lists.o
+
+pvrsrvkm-y += $(BRIDGEDIR)/bridged_support.o \
+ $(BRIDGEDIR)/bridged_pvr_bridge.o \
+ $(BRIDGEDIR)/sgx/bridged_sgx_bridge.o
+
+pvrsrvkm-y += $(SGXDIR)/sgxinit.o \
+ $(SGXDIR)/sgxpower.o \
+ $(SGXDIR)/sgxreset.o \
+ $(SGXDIR)/sgxutils.o \
+ $(SGXDIR)/sgxkick.o \
+ $(SGXDIR)/sgxtransfer.o \
+ $(SGXDIR)/mmu.o \
+ $(SGXDIR)/pb.o
+
+pvrsrvkm-y += $(SYSCONFIGDIR)/sysconfig.o \
+ $(SYSCONFIGDIR)/sysutils.o
+
+obj-$(CONFIG_CE_SGX_GFX) += pvrsrvkm.o
diff --git a/drivers/staging/ice4100/sgx535/devices/sgx/mmu.c b/drivers/staging/ice4100/sgx535/devices/sgx/mmu.c
index f66523112f0..7d886af80d5 100755
--- a/drivers/staging/ice4100/sgx535/devices/sgx/mmu.c
+++ b/drivers/staging/ice4100/sgx535/devices/sgx/mmu.c
@@ -156,10 +156,11 @@ static void CheckPT(MMU_PT_INFO * psPTInfoList)
}
}
#else
-static void DumpPT(MMU_PT_INFO * psPTInfoList)
+/* FIXME MLD compiler warning temporary fix */
+/* static void DumpPT(MMU_PT_INFO * psPTInfoList)
{
}
-
+*/
static void CheckPT(MMU_PT_INFO * psPTInfoList)
{
}
diff --git a/drivers/staging/ice4100/sgx535/devices/sgx/sgxpower.c b/drivers/staging/ice4100/sgx535/devices/sgx/sgxpower.c
index 0b80880999d..227eca1eca4 100755
--- a/drivers/staging/ice4100/sgx535/devices/sgx/sgxpower.c
+++ b/drivers/staging/ice4100/sgx535/devices/sgx/sgxpower.c
@@ -351,8 +351,9 @@ PVRSRV_ERROR SGXPreClockSpeedChange(void *hDevHandle,
PVRSRV_DEV_POWER_STATE eCurrentPowerState)
{
PVRSRV_ERROR eError;
- PVRSRV_DEVICE_NODE *psDeviceNode = hDevHandle;
- PVRSRV_SGXDEV_INFO *psDevInfo = psDeviceNode->pvDevice;
+ /* FIXME MLD Compiler warning temporary fix */
+ /* PVRSRV_DEVICE_NODE *psDeviceNode = hDevHandle; */
+ /* PVRSRV_SGXDEV_INFO *psDevInfo = psDeviceNode->pvDevice; */
if (eCurrentPowerState == PVRSRV_DEV_POWER_STATE_ON) {
if (bIdleDevice) {
@@ -370,10 +371,10 @@ PVRSRV_ERROR SGXPreClockSpeedChange(void *hDevHandle,
}
}
}
-
- PVR_DPF((PVR_DBG_MESSAGE,
+ /* FIXME MLD get rid of this macro and use the right stuf */
+ /* PVR_DPF((PVR_DBG_MESSAGE,
"SGXPreClockSpeedChange: SGX clock speed was %luHz",
- psDevInfo->ui32CoreClockSpeed));
+ psDevInfo->ui32CoreClockSpeed)); */
return PVRSRV_OK;
}
@@ -384,7 +385,8 @@ PVRSRV_ERROR SGXPostClockSpeedChange(void *hDevHandle,
{
PVRSRV_DEVICE_NODE *psDeviceNode = hDevHandle;
PVRSRV_SGXDEV_INFO *psDevInfo = psDeviceNode->pvDevice;
- u32 ui32OldClockSpeed = psDevInfo->ui32CoreClockSpeed;
+ /* FIXME MLD remove this if it is not necessary */
+ /* u32 ui32OldClockSpeed = psDevInfo->ui32CoreClockSpeed;*/
if (eCurrentPowerState == PVRSRV_DEV_POWER_STATE_ON) {
PVRSRV_ERROR eError;