aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/pvr
Commit message (Collapse)AuthorAgeFilesLines
* OMAP: remove pvr services and omaplfb from kernelTony Lofthouse2012-04-10161-87136/+0
| | | | | | | These sources are now defunct Change-Id: I06218925b9b6b2fceb3e4595c623448b74e5d397 Signed-off-by: Tony Lofthouse <a0741364@ti.com>
* omaplfb: Allow clear fb work-around when the swapchain is not in tiler2dTony Lofthouse2012-03-091-10/+6
| | | | | | Change-Id: Ifa3bb485e8512eecb73fd4a10c7970a0ab5de164 Signed-off-by: Tony Lofthouse <a0741364@ti.com> Signed-off-by: Gustavo Diaz Prado <a0273371@ti.com>
* OMAPLFB: Mark scr2desc virtaddr if it's different than the dstdescGustavo Diaz Prado2012-03-091-0/+10
| | | | | | | | | | | | In case that src2desc is different than the destination for a particular blit, it needs to have it's own unique virtaddr from the rest of the buffers involved in the blit otherwise the blit fails. This is a workaround while this issue is being investigated. Change-Id: I80502c8a6cf4d1ddbad9e6b50bc9272cae45dc70 Signed-off-by: Gustavo Diaz Prado <a0273371@ti.com> Signed-off-by: Tony Lofthouse <a0741364@ti.com>
* omaplfb: Split blit functionality into a separate fileTony Lofthouse2012-03-094-713/+843
| | | | | | | | | | | | In order to more easily maintain the omaplfb driver in different configurations the BltsVille interface is largely separated from omaplfb_displayclass. Any calls to blt services are stubbed out. Change-Id: I306b4cbc3b9820770b27f7fae55f810e7c2790be Signed-off-by: Tony Lofthouse <a0741364@ti.com> Signed-off-by: Gustavo Diaz Prado <a0273371@ti.com>
* omaplfb: Enable blit buffers to use vramTony Lofthouse2012-03-092-58/+171
| | | | | | | | | | | | | | | | | | omaplfb will be configurable to support blit buffers either in TILER2D or in the reserved VRAM area. There is no-coexistence support for swapchain buffers at this point with dsscomp enabled, but the changes here should be ready for this scenario. Blit framebuffers are given their own stride rather than use the stride calculated for the swap chain, this makes sense in order to interchange usage of TILER2D & VRAM. It should be noted that blit framebuffers are additional buffers for the same device being serviced by a display swapchain. Change-Id: I544ef89ae9b02ce4726350938f088733ec914b15 Signed-off-by: Tony Lofthouse <a0741364@ti.com>
* omaplfb: If the framebuffer is in VRAM avoid mapping into Tiler1DTony Lofthouse2012-03-091-0/+7
| | | | | | | | | | | | Calculate whether we get an address which lies in the range of the frame buffer, if we do pass this on directly to dsscomp. Previously the framebuffer was accidentally being mapped into Tiler1D, which could cause some composition scenarios to fail to render because HWC calculations assumed exclusive use of the tiler 1d slot for itself. Change-Id: I7c90e4adb9bee25e6a3825d456653af088803f83 Signed-off-by: Tony Lofthouse <a0741364@ti.com>
* SGX-KM: Use define to set core revisionRodrigo Obregon2012-03-061-2/+2
| | | | | | | | | | | Use SGX_CORE_REV to set the attribute in the sysfs entry. This will allow to use different core revisions with the same SGX core. Signed-off-by: Rodrigo Obregon <robregon@ti.com> Change-Id: I618a8fc6b62ae716ee26a079fc3f939ec4083a45
* omaplfb: Defer blit framebuffer allocation until we get first blitTony Lofthouse2012-02-231-85/+110
| | | | | | | | We need to avoid upfront mapping of the blit framebuffers otherwise the clocks are turned on for the GC320. Change-Id: Id0afb9dee5614bbcc83b96e9d936434cd3020146 Signed-off-by: Tony Lofthouse <a0741364@ti.com>
* OMAPLFB: Fix flipchain buffer/memory miscalculationGustavo Diaz Prado2012-02-221-2/+7
| | | | | | | | This patch corrects a problem with Blaze where the buffer/memory was not correctly calculated preventing the flipchain creation. Change-Id: I7ea667e83749336c886b031ca167d97d0da24a90 Signed-off-by: Gustavo Diaz Prado <a0273371@ti.com>
* omaplfb: Workaround for FB clear with GC coreTony Lofthouse2012-02-222-2/+104
| | | | | | | | | | | | We would like to use bltsville to perform fill (clear) operations but this currently has a bug w.r.t. the treatment of alpha values. This workaround will manually perform a clear of the framebuffer region. Change-Id: Ibf673e50741cb98927dc1544a42f9fdba427d46b Signed-off-by: Gustavo Diaz Prado <a0273371@ti.com> Signed-off-by: Tony Lofthouse <a0741364@ti.com>
* omaplfb: Increase the number of sync objects to for gc320 supportTony Lofthouse2012-02-221-1/+8
| | | | | | | | | The number of sync objects is currently counted as roughly the number of overlays x 2. With gc320 we may get up to 32 meminfos (maybe 12 in reality) so increase the number of objects appropriately. Change-Id: Ib69b45e99228fa0aef388389ebadc7cdc90e0552 Signed-off-by: Tony Lofthouse <a0741364@ti.com>
* PVR: Map buffers to GC core MMU on allocation time with BltsvilleGustavo Diaz Prado2012-02-227-1/+138
| | | | | | | | | | | This patch makes PVR services to map the allocated buffers with the PVRSRV_MAP_GC_MMU flag into the GC MMU with the Bltsville API. Buffers mapped with this flag are meant to be ready for composition in OMAPLFB. Change-Id: Ie8284cf6f5b9a566203942d3435b69071aecc3fb Signed-off-by: Gustavo Diaz Prado <a0273371@ti.com> Signed-off-by: Tony Lofthouse <a0741364@ti.com>
* omaplfb: Blit framebuffers are now independent from swapchainTony Lofthouse2012-02-222-145/+210
| | | | | | | | | | | Map the blit buffers via BV by obtaining the list of pages from omap_tiler_pages. Because the framebuffer will not arrive as a meminfo we will ping pong between the 2 blit framebuffers. Change-Id: I709fac170961d163d927ef8611e45fef37b1093d Signed-off-by: Tony Lofthouse <a0741364@ti.com>
* omaplfb: allocate 2 blit framebuffersTony Lofthouse2012-02-222-14/+73
| | | | | | | | Two additional framebuffers will the allocated from ION for use with blit operations. Change-Id: I30dcf19a0fdbedd54c5699a77fecc4bc78ef2ff0 Signed-off-by: Tony Lofthouse <a0741364@ti.com>
* omaplfb: fill blits support to clear a fb regionTony Lofthouse2012-02-221-11/+20
| | | | | | | | The HWC can pass down a source descriptor with a virtaddr of -1 to indicate a fill/clear of the destination. Change-Id: Ie55e3290f51c1de8a17a41d5cddaf0644c47b941 Signed-off-by: Tony Lofthouse <a0741364@ti.com>
* omaplfb: isolate ION alloc code + clean CONFIG flag use for OMAPTony Lofthouse2012-02-221-97/+109
| | | | | | | | | | | | | | Though not a true clean-up we want to do a small amount of sanitizing of integration of ION and DSSCOMP. We separate out the ION FB allocation. Just use CONFIG_DSSCOMP in conditional compilation, if using DSSCOMP we're using ION_OMAP and TI_TILER too. Signed-off-by: Tony Lofthouse <a0741364@ti.com> Change-Id: I368e95c7f01e2093c5a4f7da70a4183a7d8d35f6 Signed-off-by: Tony Lofthouse <a0741364@ti.com>
* omaplfb: Move ION FB allocation out of an if(1)Tony Lofthouse2012-02-221-69/+63
| | | | | | | | This patch just puts the ION FB allocation code into a conditional compilation without an if(1) { } statement. Change-Id: I85d7cd4fbe25287210593e53b25329f07984cdfc Signed-off-by: Tony Lofthouse <a0741364@ti.com>
* omaplfb: Simplify FB allocation strategy to 2 ion buffersTony Lofthouse2012-02-211-11/+10
| | | | | | | | | | | | | Make the framebuffer allocation code just request 2 buffers with dimensions determined from fbdev. Also just have the framebuffers allocated from the nonsecure heap which will always be the case anyway in a sane system. Removing this 'guess work' helps subsequent platform bring ups. Signed-off-by: Tony Lofthouse <a0741364@ti.com> Change-Id: I84e8e7d6831cd1e80e0ced8118f6d88e95c6b5e5
* Merge branch 'android-omap-3.0' into p-android-omap-3.0Dan Murphy2012-02-1623-222/+792
| | | | | | | | | | | | | | | | | | | | | | | | Conflicts: arch/arm/mach-omap2/Kconfig arch/arm/mach-omap2/clock44xx_data.c arch/arm/mach-omap2/omap_twl.c drivers/gpu/pvr/ion.c drivers/gpu/pvr/ion.h drivers/gpu/pvr/mm.c drivers/gpu/pvr/omap4/syslocal.h drivers/gpu/pvr/sgxfeaturedefs.h drivers/mmc/host/omap_hsmmc.c drivers/usb/gadget/android.c drivers/video/hdmi_ti_4xxx_ip.c drivers/video/omap2/dss/dispc.c drivers/video/omap2/dss/hdmi.c fs/proc/base.c include/video/hdmi_ti_4xxx_ip.h sound/soc/codecs/twl6040.c sound/soc/omap/sdp4430.c Change-Id: Ia1edb1885eff7554aead12780898502df08b7c83 Signed-off-by: Dan Murphy <dmurphy@ti.com>
* omaplfb: modification to support gcbv name changes.David Sin2012-02-141-3/+3
| | | | | Change-Id: Ieeb5076550ff3e03a5b8fc9ecf04b24e6428767e Signed-off-by: David Sin <davidsin@ti.com>
* OMAPLFB: Add support to ProcessFlipV2 to process blit dataGustavo Diaz Prado2012-02-012-12/+428
| | | | | | | | | | | | | | | | | | | This patch allows the Bltsville data to be processed on every flip. A Bltsville command is assembled and executed with the BV GC2D implementation. Here is some important notes about this patch: + If the BV GC2D entry it's not present, OMAPLFB will avoid any blit requests coming from HWC and a warning will be thrown without crashing + When the swap chain is being created, all buffers involved are mapped with BV GC2D to avoid doing the mapping on every blit. + BV GC2D clipping support with negative coordinates is missing, OMAPLFB makes a temporary clipping. Change-Id: I1d2ee752ae518046c369885eedd8dbe51a9f52ab Signed-off-by: Tony Lofthouse <a0741364@ti.com>
* SGX-KM: Row-by-row cache operation optimizationHemant Hariyani2012-02-012-6/+36
| | | | | | | | | | | | In case of a rectangular region of stride less than the screen stride, we need to perform a cache operation on each row. This was being done in a loop in the user side and involved an ioctl for each row. This patch, along with corresponding user mode changes, moves the loop to kernel side to perform the operation using a single ioctl. Change-Id: I15c1630aca93fc7fe9353708c009dd8eb48ab13a Signed-off-by: Hemant Hariyani <hemanthariyani@ti.com>
* SGX-KM: (hack) Disable HW VDM context switching for SGX 544Hemant Hariyani2012-02-011-1/+1
| | | | | | | | Work around for a bunch of issues including 2ms APM timeout and UI freezes. Change-Id: I87ef6efff1ea4bc5f8e36eacdb44ec36398268d6 Signed-off-by: Hemant Hariyani <hemanthariyani@ti.com>
* SGX-KM: NV12 contiguous buffersTate Hornbeck2012-02-015-36/+92
| | | | | | | | | | Kernel side changes required for contiguous mapping of NV12 buffers on 4470. Adds PVRSRVExportFDToIONHandles call to guarantee NV12 contiguous mapping in SGX address space. Change-Id: Idfac41d4280b6cb1c21fa1129f493a3242ce048f Signed-off-by: Tate Hornbeck <tate.hornbeck@ti.com>
* SGX-KM (hack): Workaround for kernel panic due to invalid sync objectsKostiantyn Luzan2012-02-011-1/+14
| | | | | | | | | | | This fixes a problem when invalid syncobjects are accessed after the swap chain has been destroyed. Should be reverted when final fix is in place. Change-Id: Iff4c23534e16f6a2ff86bfdf3a9c5dd33320e5cb Author: Kostiantyn Luzan <kostiantyn.luzan@ti.com> Signed-off-by: Hemant Hariyani <hemanthariyani@ti.com> Signed-off-by: Tate Hornbeck <tate.hornbeck@ti.com>
* SGX-KM: Enable SGX OCP registers for all OMAP4 variantsHemant Hariyani2012-02-011-2/+1
| | | | | | | | SGX_OCP_REGS_ENABLED was defined only for SGX 540. This patch enables OCP registers for OMAP4470 (SGX544) as well. Change-Id: I1f518a4f01b23786d98b9122c9398fb3468f551e Signed-off-by: Hemant Hariyani <hemanthariyani@ti.com>
* HACK: SGX-KM - Bypass OCP for SGX interrupts on 4470Hemant Hariyani2012-02-011-0/+2
| | | | | | | | Enable SGX OCP interrupt bypass for 4470. This should be reverted once a proper fix is in place. Change-Id: I780b21c619691c9dc8bac780a0b7c8326d613de8 Signed-off-by: Hemant Hariyani <hemanthariyani@ti.com>
* SGX-KM: Add build config for SGX 544 (OMAP 4470)Hemant Hariyani2012-02-012-0/+7
| | | | | | | Adding build config for SGX 544 (OMAP 4470) Change-Id: Iaecdbd3db551b5685f8d8e3b93656a4b3f33b721 Signed-off-by: Hemant Hariyani <hemanthariyani@ti.com>
* SGX-KM: egl.cfg sysfs entryTate Hornbeck2012-01-254-0/+88
| | | | | | | | | Create a runtime sysfs entry for egl.cfg. This is needed by the SGX driver to determine which OpenGL libraries to load. Change-Id: Ief39f498721d0ad71942f8a49fcfefc4c449d656 Signed-off-by: Tate Hornbeck <tate.hornbeck@ti.com>
* Merge branch 'android-omap-3.0' into p-android-omap-3.0Dan Murphy2011-12-201-32/+45
|\ | | | | | | | | | | | | | | Conflicts: arch/arm/mach-omap2/pm44xx.c drivers/video/omap2/dsscomp/gralloc.c Signed-off-by: Dan Murphy <dmurphy@ti.com>
| * OMAPLFB/DSSCOMP: Added support for non-gralloc layers in Post2Lajos Molnar2011-12-121-32/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reworked OMAPLFB to work with new layer indexing in hwc. Post2 layers are now specified directly (vs. assuming co-ordered dsscomp and post2 layers). This allows specifying non-post2 layers, such as static images that HWC may choose to display on external displays. Added support to display external FBMEM images in addition to the layers passed to Post2. Change-Id: I4f7e4946c7656c0d1c70e4f89649054ea253e92a Signed-off-by: Lajos Molnar <lajos@ti.com>
* | Revert "OMAP: OMAPLFB: Remove runtime allocations from ProcessFlipV2"Dan Murphy2011-12-201-13/+24
| | | | | | | | | | | | | | This reverts commit 2bce7f6a3bae5b5b7c67f49ffffd00806c4dcdf7. Revert this code to prepare for public merge Signed-off-by: Dan Murphy <dmurphy@ti.com>
* | Merge branch 'android-omap-3.0' into p-android-omap-3.0Dan Murphy2011-12-1421-92/+850
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: arch/arm/mach-omap2/pm44xx.c arch/arm/mach-omap2/smartreflex-class1p5.c arch/arm/mach-omap2/smartreflex.h arch/arm/mach-omap2/voltage.h drivers/remoteproc/remoteproc.c drivers/rpmsg/rpmsg_resmgr.c include/video/dsscomp.h Change-Id: I516310bbf02d4e6fc0d980e1755b2b35dfbc7ed4 Signed-off-by: Dan Murphy <dmurphy@ti.com>
| * gpu: pvr: Update to DDK 1.8@785978Alistair Strachan2011-12-088-25/+166
| | | | | | | | | | | | | | - Revert 1.8@778707 bugfix to queue.c (again). - Merge up refcount debugging changes (can still be compiled out). Change-Id: I901010a1523489fa3fcf824b613b1575670150ac
| * gpu: pvr: Update to DDK 1.8@782952Alistair Strachan2011-11-302-3/+5
| | | | | | | | | | | | | | - Flush the CPU cache before 3D transfers or 2D core operations. Fixes glCopyTexSubImage2D() of SW-rendered EGLImage. Change-Id: Ic3eee4c7b455b18772f048458f6900f8b8eda26e
| * gpu: pvr: Enable refcount debug feature by default.Alistair Strachan2011-11-291-0/+2
| |
| * gpu: pvr: Update to DDK 1.8@782847Alistair Strachan2011-11-2913-59/+659
| | | | | | | | | | | | | | | | - Add reference count debugging feature to dump out the last 256 object reference count modifications. This is for further bug investigation. Change-Id: I8d2c2ea4fb52a68e4ec30abb31628f0c44ec5dec
| * gpu: pvr: Update to DDK 1.8@780962Ben Jones2011-11-281-2/+2
| | | | | | | | | | | | | | This is a version number change only, which is required for compatibility with the user-mode driver. Change-Id: I444346d12c711a3b9e263f803f0eadddd879eac1
| * gpu: pvr: Update to DDK 1.8@780209Alistair Strachan2011-11-214-19/+5
| | | | | | | | | | | | | | | | | | This is a version number change only, which is required for compatibility with the user-mode driver. (It also reverts the revert of DDK 1.8@779856) Change-Id: I72b4e08f5b9c31f9f576d90f75e9eba39da23aa5
| * Revert "gpu: pvr: Update to DDK 1.8@779856"Colin Cross2011-11-184-4/+18
| | | | | | | | This reverts commit 033e440c45511ab4fd02584aeca082169c9bfa75.
| * gpu: pvr: Update to DDK 1.8@779856Alistair Strachan2011-11-184-18/+4
| | | | | | | | | | | | | | | | - If PVRMMapRemoveRegisteredArea() detects a reference counting error, it will dump_stack() now so we can find out what called it (bug investigation). - Revert 1.8@778707 bugfix to queue.c in case it is responsible for a regression.
| * gpu: pvr: Update to DDK 1.8@779532Alistair Strachan2011-11-181-4/+4
| | | | | | | | | | This is a version number change only, which is required for compatibility with the user-mode driver.
| * gpu: pvr: Update to DDK 1.8@779202Alistair Strachan2011-11-184-18/+45
| | | | | | | | | | - Dump SGX page tables if corruption is detected. - Fix a security issue found in various PVR ioctls
* | Revert "Revert "gpu: pvr: Update to DDK 1.8@778707""Dan Murphy2011-12-147-3/+56
| | | | | | | | | | | | | | This reverts commit 008be4972643f19b7b0a5d5eb22e4eb05ac68bd7. reverting the revert so integrate public kernel Signed-off-by: Dan Murphy <dmurphy@ti.com>
* | OMAP: OMAPLFB: Remove runtime allocations from ProcessFlipV2Lajos Molnar2011-11-181-24/+13
| | | | | | | | | | | | | | | | | | These were not needed as structures are no longer modified in dsscomp_gralloc_queue(). Change-Id: I1fed95f9c468d8b227503e08abbd79d5017c1697 Signed-off-by: Lajos Molnar <lajos@ti.com> Signed-off-by: Sunita Nadampalli <sunitan@ti.com>
* | Revert "gpu: pvr: Update to DDK 1.8@778707"Dan Murphy2011-11-177-56/+3
| | | | | | | | | | | | | | | | | | This reverts commit 37dfa2de81f7f8d19a690be1858d9e54fdb3c6f7. This keeps the ddk in line with ics-mr0. If the ICS line is updated then this should be reverted. Change-Id: I51f78f1bf15dc8f925260d1d54ee18bd24198153
* | Merge branch 'android-omap-3.0' into p-android-omap-3.0Dan Murphy2011-11-167-3/+56
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | * android-omap-3.0: OMAP4: DSS: Fine-tunning FIFO optimization algorithm gpu: pvr: Update to DDK 1.8@778707 ASoC: twl6040: Prevent extra power-up/down during resume OMAP4: PM: VP: recover device with a cold reset OMAP3+: PM: VP: provide api for arch specific recovery OMAP4: PM: provide support for cold reset of device Change-Id: I0915bc4119b4d37d62942bcbeeea2a42d3ff8ed5 Signed-off-by: Dan Murphy <dmurphy@ti.com>
| * gpu: pvr: Update to DDK 1.8@778707Alistair Strachan2011-11-157-3/+56
| | | | | | | | | | | | | | | | | | | | | | | | - Properly reference count display sync objects while they are in use by the SGX queue code. Should fix kernel crashes seen with "stop" command, SurfaceFlinger crashes or framework restart after entering an encryption passphrase. - Add API to determine whether a PDC_MEM_INFO is contiguous. Requested by TI. Change-Id: Iaedb8242f4ecb319623b51f104054a107984ce3f
* | Merge branch 'android-omap-3.0' into p-android-omap-3.0Dan Murphy2011-11-099-25/+78
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * android-omap-3.0: (38 commits) OMAP:DSS:DSSCOMP: Avoid freeing a composition twice on set failure gpu: pvr: Update to DDK 1.8@550175 gpu: pvr: Update to DDK 1.8@334506 OMAP4: McASP: Move device creation to mach-omap2 omap: iovmm: move print to before free in sgtable_free OMAP4: temp_sensor: update throttling thresholds OMAP: clock: optimize dpll locking logic OMAP4: PM: Enable Auto VREF LPDDR I/O supply ion: fix build ASoC: omap-mcasp: Simplify device struct retrieval ASoC: omap-mcasp: Remove wrappers for start/stop ASoC: omap-mcasp: Remove redundant format check ASoC: omap-mcasp: Configure the channel status register ASoC: omap-mcasp: Relax allowed sample rates check usb: musb: omap2430: use proper signed variables net: wireless: bcm4329: Skip dhd_bus_stop() if bus is already down net: wireless: bcmdhd: Skip dhd_bus_stop() if bus is already down net: wireless: bcmdhd: Improve suspend/resume processing net: wireless: bcmdhd: Check if FW is Ok for internal FW call ion: export functions to enable usage by kernel modules ... Change-Id: I68419e93ae7b91ba33ddba06e853845caebb6905 Signed-off-by: Dan Murphy <dmurphy@ti.com>
| * gpu: pvr: Update to DDK 1.8@550175Ben Jones2011-11-075-5/+12
| | | | | | | | | | | | | | | | | | | | | | - http://b/5568038 "Prime lock-up: IMGSRV WaitUntilBufObjNotUsed" Improve debugging situation for this and other similar lockups. Dump microkernel trace and call BUG() when ukernel cleanup or initialisation times out. - Turn on CONFIG_PVR_NEED_PVR_ASSERT in tuna_defconfig. This should help us get better firmware traces from bugreports. Change-Id: I781683f4bad9eaba56397af99cd5f795579f78dc