Permalink
Browse files

New SGX Stack loader, thanks again to nadlabak

Change-Id: I204452d7138ba84744b0f7f91d366f2863bb55fa
  • Loading branch information...
1 parent e32f134 commit a9a7717f1f1d380ebdb9f0c83a79938ddca43cb2 @tpruvot committed Jul 5, 2012
Showing with 104,183 additions and 3 deletions.
  1. +4 −3 BoardConfig.mk
  2. +12 −0 media_profiles.xml
  3. +1 −0 modules/Makefile
  4. +102 −0 modules/omap3/gpu/pvr/Kconfig
  5. +173 −0 modules/omap3/gpu/pvr/Makefile
  6. +4,923 −0 modules/omap3/gpu/pvr/bridged_pvr_bridge.c
  7. +232 −0 modules/omap3/gpu/pvr/bridged_pvr_bridge.h
  8. +89 −0 modules/omap3/gpu/pvr/bridged_support.c
  9. +47 −0 modules/omap3/gpu/pvr/bridged_support.h
  10. +2,534 −0 modules/omap3/gpu/pvr/buffer_manager.c
  11. +219 −0 modules/omap3/gpu/pvr/buffer_manager.h
  12. +358 −0 modules/omap3/gpu/pvr/dbgdrvif.h
  13. +323 −0 modules/omap3/gpu/pvr/device.h
  14. +2,396 −0 modules/omap3/gpu/pvr/deviceclass.c
  15. +36 −0 modules/omap3/gpu/pvr/deviceid.h
  16. +1,826 −0 modules/omap3/gpu/pvr/devicemem.c
  17. +1,078 −0 modules/omap3/gpu/pvr/display/omap_display.c
  18. +109 −0 modules/omap3/gpu/pvr/display/omap_display.h
  19. +1,638 −0 modules/omap3/gpu/pvr/display/omap_sgx_displayclass.c
  20. +123 −0 modules/omap3/gpu/pvr/display/omap_sgx_displayclass.h
  21. +66 −0 modules/omap3/gpu/pvr/env_data.h
  22. +56 −0 modules/omap3/gpu/pvr/env_perproc.h
  23. +293 −0 modules/omap3/gpu/pvr/event.c
  24. +32 −0 modules/omap3/gpu/pvr/event.h
  25. +1,873 −0 modules/omap3/gpu/pvr/handle.c
  26. +404 −0 modules/omap3/gpu/pvr/handle.h
  27. +505 −0 modules/omap3/gpu/pvr/hash.c
  28. +80 −0 modules/omap3/gpu/pvr/hash.h
  29. +136 −0 modules/omap3/gpu/pvr/img_defs.h
  30. +206 −0 modules/omap3/gpu/pvr/img_types.h
  31. +98 −0 modules/omap3/gpu/pvr/ioctldef.h
  32. +104 −0 modules/omap3/gpu/pvr/ion.c
  33. +36 −0 modules/omap3/gpu/pvr/ion.h
  34. +72 −0 modules/omap3/gpu/pvr/kernelbuffer.h
  35. +206 −0 modules/omap3/gpu/pvr/kerneldisplay.h
  36. +52 −0 modules/omap3/gpu/pvr/linkage.h
  37. +99 −0 modules/omap3/gpu/pvr/lists.c
  38. +244 −0 modules/omap3/gpu/pvr/lists.h
  39. +32 −0 modules/omap3/gpu/pvr/lock.h
  40. +155 −0 modules/omap3/gpu/pvr/mem.c
  41. +247 −0 modules/omap3/gpu/pvr/mem_debug.c
  42. +160 −0 modules/omap3/gpu/pvr/metrics.c
  43. +130 −0 modules/omap3/gpu/pvr/metrics.h
  44. +2,168 −0 modules/omap3/gpu/pvr/mm.c
  45. +375 −0 modules/omap3/gpu/pvr/mm.h
  46. +1,220 −0 modules/omap3/gpu/pvr/mmap.c
  47. +122 −0 modules/omap3/gpu/pvr/mmap.h
  48. +94 −0 modules/omap3/gpu/pvr/mnemedefs.h
  49. +864 −0 modules/omap3/gpu/pvr/module.c
  50. +136 −0 modules/omap3/gpu/pvr/mutex.c
  51. +70 −0 modules/omap3/gpu/pvr/mutex.h
  52. +136 −0 modules/omap3/gpu/pvr/mutils.c
  53. +103 −0 modules/omap3/gpu/pvr/mutils.h
  54. +271 −0 modules/omap3/gpu/pvr/ocpdefs.h
  55. +56 −0 modules/omap3/gpu/pvr/omap3/oemfuncs.h
  56. +979 −0 modules/omap3/gpu/pvr/omap3/sysconfig.c
  57. +59 −0 modules/omap3/gpu/pvr/omap3/sysconfig.h
  58. +40 −0 modules/omap3/gpu/pvr/omap3/sysinfo.h
  59. +136 −0 modules/omap3/gpu/pvr/omap3/syslocal.h
  60. +33 −0 modules/omap3/gpu/pvr/omap3/sysutils.c
  61. +755 −0 modules/omap3/gpu/pvr/omap3/sysutils_linux.c
  62. +488 −0 modules/omap3/gpu/pvr/omap3/sysutils_linux_wqueue_compat.c
  63. +56 −0 modules/omap3/gpu/pvr/omap4/oemfuncs.h
  64. +978 −0 modules/omap3/gpu/pvr/omap4/sysconfig.c
  65. +67 −0 modules/omap3/gpu/pvr/omap4/sysconfig.h
  66. +40 −0 modules/omap3/gpu/pvr/omap4/sysinfo.h
  67. +137 −0 modules/omap3/gpu/pvr/omap4/syslocal.h
  68. +33 −0 modules/omap3/gpu/pvr/omap4/sysutils.c
  69. +238 −0 modules/omap3/gpu/pvr/omap4/sysutils_linux_wqueue_compat.c
  70. +290 −0 modules/omap3/gpu/pvr/omaplfb/omaplfb.h
  71. +1,550 −0 modules/omap3/gpu/pvr/omaplfb/omaplfb_displayclass.c
  72. +1,049 −0 modules/omap3/gpu/pvr/omaplfb/omaplfb_linux.c
  73. +3,213 −0 modules/omap3/gpu/pvr/osfunc.c
  74. +621 −0 modules/omap3/gpu/pvr/osfunc.h
  75. +31 −0 modules/omap3/gpu/pvr/osfunc_common.c
  76. +113 −0 modules/omap3/gpu/pvr/osperproc.c
  77. +76 −0 modules/omap3/gpu/pvr/osperproc.h
  78. +628 −0 modules/omap3/gpu/pvr/pdump.c
  79. +37 −0 modules/omap3/gpu/pvr/pdump.h
  80. +2,354 −0 modules/omap3/gpu/pvr/pdump/dbgdriv.c
  81. +122 −0 modules/omap3/gpu/pvr/pdump/dbgdriv.h
  82. +35 −0 modules/omap3/gpu/pvr/pdump/dbgdriv_ioctl.h
  83. +121 −0 modules/omap3/gpu/pvr/pdump/handle.c
  84. +297 −0 modules/omap3/gpu/pvr/pdump/hostfunc.c
  85. +58 −0 modules/omap3/gpu/pvr/pdump/hostfunc.h
  86. +135 −0 modules/omap3/gpu/pvr/pdump/hotkey.c
  87. +60 −0 modules/omap3/gpu/pvr/pdump/hotkey.h
  88. +587 −0 modules/omap3/gpu/pvr/pdump/ioctl.c
  89. +48 −0 modules/omap3/gpu/pvr/pdump/linuxsrv.h
  90. +314 −0 modules/omap3/gpu/pvr/pdump/main.c
  91. +2,368 −0 modules/omap3/gpu/pvr/pdump_common.c
  92. +67 −0 modules/omap3/gpu/pvr/pdump_int.h
  93. +410 −0 modules/omap3/gpu/pvr/pdump_km.h
  94. +140 −0 modules/omap3/gpu/pvr/pdump_osfunc.h
  95. +111 −0 modules/omap3/gpu/pvr/pdumpdefs.h
  96. +36 −0 modules/omap3/gpu/pvr/perfkm.h
  97. +305 −0 modules/omap3/gpu/pvr/perproc.c
  98. +126 −0 modules/omap3/gpu/pvr/perproc.h
  99. +719 −0 modules/omap3/gpu/pvr/power.c
  100. +120 −0 modules/omap3/gpu/pvr/power.h
  101. +69 −0 modules/omap3/gpu/pvr/private_data.h
  102. +835 −0 modules/omap3/gpu/pvr/proc.c
  103. +108 −0 modules/omap3/gpu/pvr/proc.h
  104. +53 −0 modules/omap3/gpu/pvr/pvr.off/Makefile
  105. +231 −0 modules/omap3/gpu/pvr/pvr.off/bridged_pvr_bridge.h
  106. +43 −0 modules/omap3/gpu/pvr/pvr.off/bridged_support.h
  107. +213 −0 modules/omap3/gpu/pvr/pvr.off/buffer_manager.h
  108. +267 −0 modules/omap3/gpu/pvr/pvr.off/dbgdrvif.h
  109. +278 −0 modules/omap3/gpu/pvr/pvr.off/device.h
  110. +66 −0 modules/omap3/gpu/pvr/pvr.off/env_data.h
  111. +52 −0 modules/omap3/gpu/pvr/pvr.off/env_perproc.h
  112. +32 −0 modules/omap3/gpu/pvr/pvr.off/event.h
  113. +382 −0 modules/omap3/gpu/pvr/pvr.off/handle.h
  114. +73 −0 modules/omap3/gpu/pvr/pvr.off/hash.h
  115. +106 −0 modules/omap3/gpu/pvr/pvr.off/img_defs.h
  116. +128 −0 modules/omap3/gpu/pvr/pvr.off/img_types.h
  117. +98 −0 modules/omap3/gpu/pvr/pvr.off/ioctldef.h
  118. +60 −0 modules/omap3/gpu/pvr/pvr.off/kernelbuffer.h
  119. +153 −0 modules/omap3/gpu/pvr/pvr.off/kerneldisplay.h
  120. +59 −0 modules/omap3/gpu/pvr/pvr.off/linkage.h
  121. +176 −0 modules/omap3/gpu/pvr/pvr.off/lists.h
  122. +32 −0 modules/omap3/gpu/pvr/pvr.off/lock.h
  123. +130 −0 modules/omap3/gpu/pvr/pvr.off/metrics.h
  124. +331 −0 modules/omap3/gpu/pvr/pvr.off/mm.h
  125. +107 −0 modules/omap3/gpu/pvr/pvr.off/mmap.h
  126. +70 −0 modules/omap3/gpu/pvr/pvr.off/mutex.h
  127. +101 −0 modules/omap3/gpu/pvr/pvr.off/mutils.h
  128. +56 −0 modules/omap3/gpu/pvr/pvr.off/omap3/oemfuncs.h
  129. +60 −0 modules/omap3/gpu/pvr/pvr.off/omap3/sysconfig.h
  130. +35 −0 modules/omap3/gpu/pvr/pvr.off/omap3/sysinfo.h
  131. +128 −0 modules/omap3/gpu/pvr/pvr.off/omap3/syslocal.h
  132. +280 −0 modules/omap3/gpu/pvr/pvr.off/omaplfb/omaplfb.h
  133. +482 −0 modules/omap3/gpu/pvr/pvr.off/osfunc.h
  134. +76 −0 modules/omap3/gpu/pvr/pvr.off/osperproc.h
  135. +449 −0 modules/omap3/gpu/pvr/pvr.off/pdump_km.h
  136. +131 −0 modules/omap3/gpu/pvr/pvr.off/pdump_osfunc.h
  137. +99 −0 modules/omap3/gpu/pvr/pvr.off/pdumpdefs.h
  138. +110 −0 modules/omap3/gpu/pvr/pvr.off/perproc.h
  139. +120 −0 modules/omap3/gpu/pvr/pvr.off/power.h
  140. +55 −0 modules/omap3/gpu/pvr/pvr.off/private_data.h
  141. +115 −0 modules/omap3/gpu/pvr/pvr.off/proc.h
  142. +226 −0 modules/omap3/gpu/pvr/pvr.off/pvr-off.c
  143. +1,382 −0 modules/omap3/gpu/pvr/pvr.off/pvr_bridge.h
  144. +287 −0 modules/omap3/gpu/pvr/pvr.off/pvr_bridge_km.h
  145. +127 −0 modules/omap3/gpu/pvr/pvr.off/pvr_debug.h
  146. +36 −0 modules/omap3/gpu/pvr/pvr.off/pvrmmap.h
  147. +31 −0 modules/omap3/gpu/pvr/pvr.off/pvrmodule.h
  148. +38 −0 modules/omap3/gpu/pvr/pvr.off/pvrversion.h
  149. +119 −0 modules/omap3/gpu/pvr/pvr.off/queue.h
  150. +155 −0 modules/omap3/gpu/pvr/pvr.off/ra.h
  151. +43 −0 modules/omap3/gpu/pvr/pvr.off/regpaths.h
  152. +113 −0 modules/omap3/gpu/pvr/pvr.off/resman.h
  153. +838 −0 modules/omap3/gpu/pvr/pvr.off/services.h
  154. +49 −0 modules/omap3/gpu/pvr/pvr.off/services_headers.h
  155. +642 −0 modules/omap3/gpu/pvr/pvr.off/servicesext.h
  156. +262 −0 modules/omap3/gpu/pvr/pvr.off/servicesint.h
  157. +42 −0 modules/omap3/gpu/pvr/pvr.off/sgx/bridged_sgx_bridge.h
  158. +139 −0 modules/omap3/gpu/pvr/pvr.off/sgx/mmu.h
  159. +147 −0 modules/omap3/gpu/pvr/pvr.off/sgx/sgx_bridge_km.h
  160. +134 −0 modules/omap3/gpu/pvr/pvr.off/sgx/sgxconfig.h
  161. +352 −0 modules/omap3/gpu/pvr/pvr.off/sgx/sgxinfokm.h
  162. +99 −0 modules/omap3/gpu/pvr/pvr.off/sgx/sgxutils.h
  163. +428 −0 modules/omap3/gpu/pvr/pvr.off/sgx530defs.h
  164. +584 −0 modules/omap3/gpu/pvr/pvr.off/sgx531defs.h
  165. +590 −0 modules/omap3/gpu/pvr/pvr.off/sgx540defs.h
  166. +477 −0 modules/omap3/gpu/pvr/pvr.off/sgx_bridge.h
  167. +334 −0 modules/omap3/gpu/pvr/pvr.off/sgx_mkif_km.h
  168. +224 −0 modules/omap3/gpu/pvr/pvr.off/sgx_options.h
  169. +331 −0 modules/omap3/gpu/pvr/pvr.off/sgxapi_km.h
  170. +82 −0 modules/omap3/gpu/pvr/pvr.off/sgxdefs.h
  171. +307 −0 modules/omap3/gpu/pvr/pvr.off/sgxerrata.h
  172. +163 −0 modules/omap3/gpu/pvr/pvr.off/sgxfeaturedefs.h
  173. +288 −0 modules/omap3/gpu/pvr/pvr.off/sgxinfo.h
  174. +79 −0 modules/omap3/gpu/pvr/pvr.off/sgxmmu.h
  175. +81 −0 modules/omap3/gpu/pvr/pvr.off/sgxscript.h
  176. +69 −0 modules/omap3/gpu/pvr/pvr.off/srvkm.h
  177. +111 −0 modules/omap3/gpu/pvr/pvr.off/symsearch.h
  178. +226 −0 modules/omap3/gpu/pvr/pvr.off/syscommon.h
  179. +1,806 −0 modules/omap3/gpu/pvr/pvr_bridge.h
  180. +450 −0 modules/omap3/gpu/pvr/pvr_bridge_k.c
  181. +317 −0 modules/omap3/gpu/pvr/pvr_bridge_km.h
  182. +453 −0 modules/omap3/gpu/pvr/pvr_debug.c
  183. +184 −0 modules/omap3/gpu/pvr/pvr_debug.h
  184. +70 −0 modules/omap3/gpu/pvr/pvr_uaccess.h
  185. +44 −0 modules/omap3/gpu/pvr/pvrmmap.h
  186. +31 −0 modules/omap3/gpu/pvr/pvrmodule.h
  187. +1,365 −0 modules/omap3/gpu/pvr/pvrsrv.c
  188. +266 −0 modules/omap3/gpu/pvr/pvrsrv_errors.h
  189. +51 −0 modules/omap3/gpu/pvr/pvrversion.h
  190. +1,203 −0 modules/omap3/gpu/pvr/queue.c
  191. +114 −0 modules/omap3/gpu/pvr/queue.h
  192. +1,736 −0 modules/omap3/gpu/pvr/ra.c
  193. +163 −0 modules/omap3/gpu/pvr/ra.h
  194. +481 −0 modules/omap3/gpu/pvr/refcount.c
  195. +152 −0 modules/omap3/gpu/pvr/refcount.h
  196. +43 −0 modules/omap3/gpu/pvr/regpaths.h
  197. +751 −0 modules/omap3/gpu/pvr/resman.c
  198. +118 −0 modules/omap3/gpu/pvr/resman.h
  199. +1,322 −0 modules/omap3/gpu/pvr/services.h
  200. +50 −0 modules/omap3/gpu/pvr/services_headers.h
  201. +851 −0 modules/omap3/gpu/pvr/servicesext.h
  202. +382 −0 modules/omap3/gpu/pvr/servicesint.h
  203. +3,668 −0 modules/omap3/gpu/pvr/sgx/bridged_sgx_bridge.c
  204. +42 −0 modules/omap3/gpu/pvr/sgx/bridged_sgx_bridge.h
  205. +3,739 −0 modules/omap3/gpu/pvr/sgx/mmu.c
  206. +154 −0 modules/omap3/gpu/pvr/sgx/mmu.h
  207. +466 −0 modules/omap3/gpu/pvr/sgx/pb.c
  208. +160 −0 modules/omap3/gpu/pvr/sgx/sgx_bridge_km.h
  209. +401 −0 modules/omap3/gpu/pvr/sgx/sgxconfig.h
  210. +579 −0 modules/omap3/gpu/pvr/sgx/sgxinfokm.h
  211. +2,805 −0 modules/omap3/gpu/pvr/sgx/sgxinit.c
  212. +807 −0 modules/omap3/gpu/pvr/sgx/sgxkick.c
  213. +482 −0 modules/omap3/gpu/pvr/sgx/sgxpower.c
  214. +670 −0 modules/omap3/gpu/pvr/sgx/sgxreset.c
  215. +771 −0 modules/omap3/gpu/pvr/sgx/sgxtransfer.c
  216. +1,182 −0 modules/omap3/gpu/pvr/sgx/sgxutils.c
  217. +114 −0 modules/omap3/gpu/pvr/sgx/sgxutils.h
  218. +488 −0 modules/omap3/gpu/pvr/sgx520defs.h
  219. +488 −0 modules/omap3/gpu/pvr/sgx530defs.h
  220. +544 −0 modules/omap3/gpu/pvr/sgx531defs.h
  221. +650 −0 modules/omap3/gpu/pvr/sgx535defs.h
  222. +547 −0 modules/omap3/gpu/pvr/sgx540defs.h
  223. +1,284 −0 modules/omap3/gpu/pvr/sgx543_v1.164defs.h
  224. +1,364 −0 modules/omap3/gpu/pvr/sgx543defs.h
  225. +1,367 −0 modules/omap3/gpu/pvr/sgx544defs.h
  226. +1,180 −0 modules/omap3/gpu/pvr/sgx545defs.h
  227. +644 −0 modules/omap3/gpu/pvr/sgx_bridge.h
  228. +348 −0 modules/omap3/gpu/pvr/sgx_mkif_km.h
  229. +254 −0 modules/omap3/gpu/pvr/sgx_options.h
  230. +498 −0 modules/omap3/gpu/pvr/sgxapi_km.h
  231. +90 −0 modules/omap3/gpu/pvr/sgxdefs.h
  232. +703 −0 modules/omap3/gpu/pvr/sgxerrata.h
  233. +239 −0 modules/omap3/gpu/pvr/sgxfeaturedefs.h
  234. +470 −0 modules/omap3/gpu/pvr/sgxinfo.h
  235. +72 −0 modules/omap3/gpu/pvr/sgxmmu.h
  236. +332 −0 modules/omap3/gpu/pvr/sgxmpdefs.h
  237. +83 −0 modules/omap3/gpu/pvr/sgxscript.h
  238. +78 −0 modules/omap3/gpu/pvr/srvkm.h
  239. +270 −0 modules/omap3/gpu/pvr/syscommon.h
  240. +184 −0 modules/omap3/gpu/pvr/ttrace.h
  241. +81 −0 modules/omap3/gpu/pvr/ttrace_common.h
  242. +84 −0 modules/omap3/gpu/pvr/ttrace_tokens.h
  243. BIN modules/omaplfb.ko
  244. BIN modules/pvr-off.ko
  245. BIN modules/pvrsrvkm.ko
  246. +10 −0 profiles/2nd-init/init.mapphone_umts.rc
View
@@ -104,7 +104,7 @@ TARGET_USE_OMAP_COMPAT := true
BUILD_WITH_TI_AUDIO := 1
BUILD_PV_VIDEO_ENCODERS := 1
# Required for videos (youtube)
-BOARD_WITHOUT_PIXEL_FORMAT_YV12 := true
+# BOARD_WITHOUT_PIXEL_FORMAT_YV12 := true
BOARD_CUSTOM_OMX_16BPP_YUV := 27
# Bootmenu
@@ -145,11 +145,12 @@ BOARD_EGL_CFG := device/motorola/jordan/egl.cfg
BOARD_NO_ALLOW_DEQUEUE_CURRENT_BUFFER := true
DEFAULT_FB_NUM := 0
BOARD_USE_YUV422I_DEFAULT_COLORFORMAT := true
-BOARD_NO_RGBX_8888 := true
+# BOARD_NO_RGBX_8888 := true
BOARD_USES_OVERLAY := true
BOARD_WITHOUT_HW_COMPOSER := true
@adi4motion

adi4motion Jul 8, 2012

sorry for bothering, i've noticed that we don't have HW_COMPOSER, was this because the missing extesions on GPU driver or it couldn't be implemented because or our locked kernel? I ask this because afaik, this is important for HWA...

+
# Egl Shaders fix
-TARGET_MISSING_EGL_EXTERNAL_IMAGE := true
+# TARGET_MISSING_EGL_EXTERNAL_IMAGE := true
# Camera
USE_CAMERA_STUB := false
View
@@ -118,6 +118,18 @@
</EncoderProfile>
+ <EncoderProfile quality="qcif" fileFormat="3gp" duration="30">
+ <Video codec="h264"
+ bitRate="128000"
+ width="320"
+ height="240"
+ frameRate="15" />
+ <Audio codec="amrnb"
+ bitRate="12200"
+ sampleRate="8000"
+ channels="1" />
+ </EncoderProfile>
+
<EncoderProfile quality="timelapseqcif" fileFormat="mp4" duration="30">
<Video codec="m4v"
bitRate="192000"
View
@@ -18,6 +18,7 @@ obj-m += thumbee/
# mb525/mb526 specific
obj-m += proximity/
+obj-m += omap3/gpu/pvr/
# experimental
# obj-m += ion/ ionpvr/
@@ -0,0 +1,102 @@
+config SGX540
+ tristate "PowerVR SGX"
+ depends on ARCH_OMAP4
+ ---help---
+ Support for the PowerVR SGX 3D core.
+
+config SGX530
+ tristate "PowerVR SGX"
+ depends on ARCH_OMAP3
+ ---help---
+ Support for the PowerVR SGX 3D core.
+
+config VIRTUAL_DISPLAY_SUPPORT
+ tristate "Virtual display support"
+ depends on SGX540
+ ---help---
+ Support for showing one framebuffer split in 2 displays at the same
+ time. Each display will show a part of the framebuffer by updating
+ the corresponding overlay on each display. This feature requires
+ 2 framebuffers so CONFIG_FB_OMAP2_NUM_FBS must be 2 and each
+ framebuffer must be initialized correctly.
+ The current implementation supports only panels of the same X and Y
+ resolutions and both panels must have the same bits per pixel values.
+ This feature is EXPERIMENTAL and might not be stable if power
+ management is added at the moment.
+ It is important to give enough memory to FB0 to allow at least
+ one buffer with twice the height of a normal single display buffer,
+ so if the panel needs 864x480x4 bytes for one single display buffer
+ you must give twice the size which is 864x960x4 with the bootargs
+ omapfb.vram='0:4M'. To enable double buffering you need to give
+ 864x960x4x2 bytes for two buffers, the bootargs should have
+ omapfb.vram='0:8M'. Since FB1 must also be initialized properly be
+ sure to left enough memory for one single buffer (864x480x4 bytes).
+ The bootarg 'vram' must have the FB0 and FB1 memory requirements
+ combined. Example:
+ If you want FB0 with 4M (no double buffering) and FB1 with 2M, the
+ bootargs must have the following:
+ vram='6M' omapfb.vram='0:4M,1:2M'
+
+choice
+ prompt "SGX revision"
+ depends on SGX530
+ default SGX_REV125
+
+config SGX_REV121
+ bool "Revision 1.2.1 - Omap 3430"
+
+config SGX_REV125
+ bool "Revision 1.2.5 - Omap 3630"
+
+endchoice
+
+choice
+ prompt "SGX revision"
+ depends on SGX540
+ default SGX_REV120
+
+config SGX_REV110
+ bool "Revision 1.1.0 - Omap 4430 ES1"
+
+config SGX_REV120
+ bool "Revision 1.2.0 - Omap 4430 ES2"
+
+endchoice
+
+choice
+ prompt "PowerVR build type"
+ depends on SGX530
+ default SGX_530_BUILD_RELEASE
+
+config SGX_530_BUILD_RELEASE
+ bool "SGX530 RELEASE"
+
+config SGX_530_BUILD_DEBUG
+ bool "SGX530 DEBUG"
+
+endchoice
+
+choice
+ prompt "PowerVR build type"
+ depends on SGX540
+ default SGX_540_BUILD_RELEASE
+
+config SGX_540_BUILD_RELEASE
+ bool "SGX540 RELEASE"
+
+config SGX_540_BUILD_DEBUG
+ bool "SGX540 DEBUG"
+
+endchoice
+
+config SGX_DEBUG_DISPLAY_DRIVER
+ depends on SGX530 || SGX540
+ bool "Enable Debug Messages in the 3rd Party Display Driver"
+
+config SGX_PDUMP
+ depends on SGX530 || SGX540
+ bool "PowerVR SGX Parameter Dump"
+ ---help---
+ This option enables the PDump (Parameter Dump) build to debug
+ the SGX driver. The user side of the driver must be built with
+ this option enabled as well
@@ -0,0 +1,173 @@
+# force some config for the defy
+
+CONFIG_SGX_REV125 ?= y
+CONFIG_SGX_530_BUILD_RELEASE ?= y
+
+ccflags-y = -DLINUX -D__linux__ -Idrivers/gpu/pvr \
+ -DANDROID \
+ -DPVR_BUILD_DIR="\"omap_sgx_android\"" \
+ -DSGX_DYNAMIC_TIMING_INFO \
+ -DSYS_CUSTOM_POWERLOCK_WRAP \
+ -DSERVICES4 \
+ -DSUPPORT_SRVINIT \
+ -DSUPPORT_PERCONTEXT_PB \
+ -DTRANSFER_QUEUE \
+ -DSYS_USING_INTERRUPTS \
+ -DSUPPORT_LINUX_X86_WRITECOMBINE \
+ -DSUPPORT_LINUX_X86_PAT \
+ -DPVR_SECURE_HANDLES \
+ -DPVR_SECURE_FD_EXPORT \
+ -DLDM_PLATFORM \
+ -DSUPPORT_SGX_HWPERF \
+ -DSUPPORT_MEMINFO_IDS \
+ -DDISPLAY_CONTROLLER=omaplfb \
+ -DSYS_SGX_ACTIVE_POWER_LATENCY_MS=100 \
+ -DPVR_BUILD_DATE="" \
+ -DSUPPORT_SGX \
+ -DCLIENT_DRIVER_DEFAULT_WAIT_RETRIES=50 \
+ -DPVR_LINUX_TIMERS_USING_WORKQUEUES \
+ -DFLIP_TECHNIQUE_OVERLAY \
+ -DPVR_LINUX_USING_WORKQUEUES \
+ -DPVR_LINUX_MISR_USING_PRIVATE_WORKQUEUE \
+ -DSUPPORT_SGX_NEW_STATUS_VALS \
+ -DSGX_EARLYSUSPEND \
+ -DPVR_NO_OMAP_TIMER \
+ -DSUPPORT_SGX_LOW_LATENCY_SCHEDULING \
+ -DPVR_LDM_DRIVER_REGISTRATION_NAME="\"pvrsrvkm\"" \
+ -DSUPPORT_PVRSRV_GET_DC_SYSTEM_BUFFER \
+ -DPVRSRV_MODNAME="\"pvrsrvkm"\"
+
+ccflags-$(CONFIG_SGX540) += -Idrivers/gpu/pvr/omap4 -Idrivers/gpu/pvr/sgx \
+ -DSGX_CLK_CORE_DIV5 \
+ -DSGX540 -DSUPPORT_SGX540
+
+ccflags-$(CONFIG_SGX_REV110) += -DSGX_CORE_REV=110
+ccflags-$(CONFIG_SGX_REV120) += -DSGX_CORE_REV=120
+
+ccflags-y += -Idrivers/gpu/pvr/omap3 -Idrivers/gpu/pvr/sgx \
+ -DSGX530 -DSUPPORT_SGX530
+
+ccflags-$(CONFIG_SGX_REV125) += -DSGX_CORE_REV=125
+ccflags-$(CONFIG_SGX_REV121) += -DSGX_CORE_REV=121
+
+ccflags-$(CONFIG_SGX_530_BUILD_RELEASE) += \
+ -DPVR_BUILD_TYPE="\"release\"" \
+ -DRELEASE \
+ -DSUPPORT_ACTIVE_POWER_MANAGEMENT \
+ -DSUPPORT_HW_RECOVERY
+
+ccflags-$(CONFIG_SGX_530_BUILD_DEBUG) += \
+ -DPVR_BUILD_TYPE="\"debug\"" -DDEBUG \
+ -DDEBUG_LINUX_MEMORY_ALLOCATIONS \
+ -DDEBUG_LINUX_MEM_AREAS \
+ -DDEBUG_LINUX_MMAP_AREAS \
+ -DDEBUG_BRIDGE_KM \
+ -DPVRSRV_USSE_EDM_STATUS_DEBUG \
+ -DPVRSRV_DUMP_MK_TRACE \
+ -DDEBUG_LOG_PATH_TRUNCATE="\"eurasia_km\""
+
+ccflags-$(CONFIG_SGX_540_BUILD_RELEASE) += \
+ -DPVR_BUILD_TYPE="\"release\"" \
+ -DRELEASE \
+ -DSUPPORT_ACTIVE_POWER_MANAGEMENT \
+ -DSUPPORT_HW_RECOVERY
+
+ccflags-$(CONFIG_SGX_540_BUILD_DEBUG) += \
+ -DPVR_BUILD_TYPE="\"debug\"" -DDEBUG \
+ -DDEBUG_LINUX_MEMORY_ALLOCATIONS \
+ -DDEBUG_LINUX_MEM_AREAS \
+ -DDEBUG_LINUX_MMAP_AREAS \
+ -DDEBUG_BRIDGE_KM \
+ -DPVRSRV_USSE_EDM_STATUS_DEBUG \
+ -DPVRSRV_DUMP_MK_TRACE \
+ -DSUPPORT_ACTIVE_POWER_MANAGEMENT \
+ -DSUPPORT_HW_RECOVERY \
+ -DDEBUG_LOG_PATH_TRUNCATE="\"eurasia_km\""
+
+ccflags-$(CONFIG_SGX_PDUMP) += -Idrivers/gpu/pvr/dbgdrv \
+ -DPDUMP \
+ -DSUPPORT_DBGDRV_EVENT_OBJECTS
+
+pvr_common-y := \
+ osfunc.o \
+ mutils.o \
+ mmap.o \
+ module.o \
+ pdump.o \
+ proc.o \
+ pvr_bridge_k.o \
+ pvr_debug.o \
+ mm.o \
+ mutex.o \
+ event.o \
+ osperproc.o \
+ buffer_manager.o \
+ devicemem.o \
+ deviceclass.o \
+ handle.o \
+ hash.o \
+ metrics.o \
+ pvrsrv.o \
+ queue.o \
+ ra.o \
+ resman.o \
+ power.o \
+ mem.o \
+ pdump_common.o \
+ bridged_support.o \
+ bridged_pvr_bridge.o \
+ perproc.o \
+ lists.o \
+ mem_debug.o \
+ osfunc_common.o
+
+pvr540-$(CONFIG_SGX540) := \
+ omap4/sysconfig.o \
+ omap4/sysutils.o
+
+pvr530-y := \
+ omap3/sysconfig.o \
+ omap3/sysutils.o
+
+sgx-y := \
+ sgx/bridged_sgx_bridge.o \
+ sgx/sgxinit.o \
+ sgx/sgxpower.o \
+ sgx/sgxreset.o \
+ sgx/sgxutils.o \
+ sgx/sgxkick.o \
+ sgx/sgxtransfer.o \
+ sgx/mmu.o \
+ sgx/pb.o
+
+pvr530-$(CONFIG_ION_OMAP) += ion.o
+
+sgx_displayclass-y := \
+ display/omap_sgx_displayclass.o \
+ display/omap_display.o
+
+omaplfb-y := \
+ omaplfb/omaplfb_displayclass.o \
+ omaplfb/omaplfb_linux.o
+
+dbgdrv-$(CONFIG_SGX_PDUMP) := \
+ dbgdrv/main.o \
+ dbgdrv/dbgdriv.o \
+ dbgdrv/ioctl.o \
+ dbgdrv/handle.o \
+ dbgdrv/hostfunc.o \
+ dbgdrv/hotkey.o
+
+obj-$(CONFIG_SGX540) := pvr_common.o sgx.o omaplfb.o pvr540.o
+
+pvrsrvkm-objs := pvr_common.o sgx.o pvr530.o
+obj-y += pvr_common.o sgx.o pvr530.o
+obj-m += pvrsrvkm.o
+obj-m += omaplfb.o
+
+obj-$(CONFIG_VIRTUAL_DISPLAY_SUPPORT) := pvr_common.o sgx.o \
+ sgx_displayclass.o pvr540.o
+obj-$(CONFIG_SGX_PDUMP) += dbgdrv.o
+
+obj-y += pvr.off/
+
Oops, something went wrong.

0 comments on commit a9a7717

Please sign in to comment.