summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* update generated header filesHEADmasterLucas Stach2015-09-287-50/+39
| | | | Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
* rnndb: Add bitmaps for BUS_CONFIG registerLucas Stach2015-03-251-1/+4
| | | | Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
* rnndb: correct MMU flush bitmapsLucas Stach2015-03-251-1/+4
| | | | Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
* gen_header.sh: build individual state filesLucas Stach2015-03-251-3/+7
| | | | | | | Also keep the output in the rnndb directory to make it easier to find when moving things to other repos. Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
* rnndb: allow to build individual state filesLucas Stach2015-03-256-3/+15
| | | | Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
* headergen: shorten file names to not leak developer paths into generated headersLucas Stach2015-03-251-3/+3
| | | | Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
* Merge pull request #30 from antmicro/masterWladimir J. van der Laan2014-10-1422-0/+22803
|\ | | | | Add apalis headers
| * Add apalis headersDaniel KochmaƄski2014-10-1422-0/+22803
|/
* Update rnndb with new observationsWladimir J. van der Laan2014-09-091-8/+11
| | | | Russell King discovered these.
* Merge pull request #1 from austriancoder/masterWladimir J. van der Laan2014-09-099-51/+102
|\ | | | | add CHIP_SPECS and CHIP_SPECS_2 bitfields
| * update all generated .h filesChristian Gmeiner2014-09-068-49/+88
| | | | | | | | Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
| * add CHIP_SPECS and CHIP_SPECS_2 bitfieldsChristian Gmeiner2014-09-061-2/+14
|/ | | | | | | The strucutre of the those two registers was found here: https://github.com/gcwnow/linux/blob/jz-3.12/drivers/gpu/vivante/v4/gc_hal_kernel_hardware.c#L46 Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
* Unmap memory on closeJon Nettleton2014-08-272-2/+6
| | | | | | We need to make sure to unmap all memory before we close the fd to galcore. This allows the kernel driver to call drv_release and clean up after the process exits.
* Call gcvHAL_DETACH from etna_free()Jon Nettleton2014-08-271-0/+23
| | | | | Make sure that we tell the kernel to clean up the HAL context before we close the connection.
* etna_bo_del: make sure that FREE_VIDEO_MEMORY is sent as eventWladimir J. van der Laan2014-08-273-4/+13
| | | | | | | | | Right now the kernel will complain when etna_bo_del is called without a queue and the unlock is delayed (async=1 is returned), as the free happens immediately. So make sure that FREE_VIDEO_MEMORY is sent as event even when no queue is passed.
* Add support to permit mapping memory with protection infoRussell King2014-08-274-0/+55
| | | | | | | | | | | | | | The standard galcore user memory mapping function fails when asked to map read-only memory, such as X shmem buffers. The reason these fail is because get_user_pages() is always attempted with "write" mode enabled, which is not permissible with read-only mappings. To allow this to work (so that Xv can be implemented efficiently) we must be able to map read-only buffers. This adds an extension to etnaviv, found in my Dove galcore driver and Jon Nettleton's iMX6 kernels which permit this without changing the existing galcore APIs. Signed-off-by: Russell King <rmk@arm.linux.org.uk>
* Add support to import dmabuf fds into etnavivRussell King2014-08-274-1/+71
| | | | | | | | | dmabufs are DMA buffers which can be passed between kernel drivers under the control of userspace by means of a file descriptor. Add support to import dmabufs into etnaviv, creating an etna_bo for them which can be released using the normal methods. Signed-off-by: Russell King <rmk@arm.linux.org.uk>
* Fix viv_map_user_memory() for 4.6.9 iMX GCABIRussell King2014-08-272-0/+6
| | | | | | | | | | | The 4.6.9 iMX GCABI has a .physical member added to the MapUserMemory structure, which must be initialised to ~0 to map by virtual address. Introduce a new conditional "GCABI_MAPUSERMEMORY_HAS_PHYSICAL" to indicate the presence of this member and arrange to initialise it appropriately in viv_map_user_memory(). Signed-off-by: Russell King <rmk@arm.linux.org.uk>
* GCABI for 4.6.9 iMX galcoreJon Nettleton2014-08-2721-0/+17947
| | | | | | | | Add header files and etnaviv configuration for the 4.6.9 iMX galcore version, found in (at least) Jon Nettleton's 3.14.14 kernel. Signed-off-by: Jon Nettleton <jon.nettleton@gmail.com> Signed-off-by: Russell King <rmk@arm.linux.org.uk>
* Properly handle ioctl() returning EINTRRussell King2014-08-271-1/+13
| | | | | | | | | | | | | | | Jon Nettleton's kernel galcore driver can return EINTR while waiting for user signals. With this galcore version, if we are waiting on a command buffer galcore signal (to indicate that the buffer is now available for re-use), and we are sent a user signal (eg, SIGALRM), then ioctl() may return EINTR. This causes etnaviv to believe that the galcore signal was received, and it is safe to proceed with the next command buffer. In reality, this can cause the GPU to scribble over memory which it should not, and can cause the entire platform to lock up. Signed-off-by: Russell King <rmk@arm.linux.org.uk>
* Add viv_ioctl() interfaceRussell King2014-08-271-12/+21
| | | | | | | | | | Add a viv_ioctl() interface to provide an etnaviv version of gcoOS_DeviceControl(). This allows us to temporarily extend galcore with features that it otherwise would not have (such as my DMA buf import, and support for user memory mapping of regions marked read-only.) Signed-off-by: Russell King <rmk@arm.linux.org.uk>
* Ensure that the signals are properly destroyed in enta_free()Russell King2014-08-271-0/+2
| | | | | | | | | etna_create() allocates six signals, one for the context and one per allocated command buffer. etna_free() cleans up the command buffers, but fails to clean up the signals which etna_create() allocated. Fix this oversight. Signed-off-by: Russell King <rmk@arm.linux.org.uk>
* Fix vbo format issue in etna_screen_is_format_supportedWladimir J. van der Laan2014-08-071-1/+1
| | | | | | | I don't know if this will have any effect but the check was clearly the wrong way around. Thanks to imirkin on IRC for noticing this.
* Ensure top level makefile serialises sub-makesRussell King2014-08-051-0/+1
| | | | | | | | | We must ensure that the subdirectories are built in the correct order, otherwise the link fails. Disable parallel make in the top level makefile, so that only the lower level makefiles benefit from parallel make. Signed-off-by: Russell King <rmk@arm.linux.org.uk>
* Ensure make -n works at the top levelRussell King2014-08-051-5/+5
| | | | | | It is not very friendly for make -n to fail. Fix this. Signed-off-by: Russell King <rmk@arm.linux.org.uk>
* Improve logging of command buffersRussell King2014-08-051-3/+6
| | | | | | | | Rather than printing command buffers as one word per line, print 8 words per line. This allows a more condensed view of the command stream. Signed-off-by: Russell King <rmk@arm.linux.org.uk>
* Direct debugging output via stderr not stdoutRussell King2014-08-053-67/+67
| | | | | | | | | | | | Avoid writing to stdout; depending on the program using etnaviv, stdout may not be the console, and, in the case of programs such as Xorg, may not be something which should receive any output. As the C library uses stderr internally for assert(), it is reasonable to expect that this will be suitable for debug output. Therefore, direct etnaviv debugging output to stderr. Signed-off-by: Russell King <rmk@arm.linux.org.uk>
* Avoid leaking context buffers in etna_free()Russell King2014-08-051-2/+2
| | | | | | | | | | | Testing on Dove reveals that the context buffers are leaked each time Etnaviv is closed down. This is caused by the ifdef which surrounds the call to enta_bo_del() always being false, and so the code to free this buffer is never compiled. Fix the ifdef, and also fix the code so that it builds. Signed-off-by: Russell King <rmk@arm.linux.org.uk>
* Add cleaned v4 driver from GCW treeWladimir J. van der Laan2014-08-0129-0/+35863
| | | | Much easier to read than the others.
* Correct typo in docWladimir J. van der Laan2014-07-221-1/+1
|
* Merge pull request #28 from tchebb/masterWladimir J. van der Laan2014-05-151-1/+1
|\ | | | | Fix fbdemos segmentation fault when using single-buffered fbdev devices
| * fbdemos: fix segfault when operating single-bufferedThomas Hebb2014-04-271-1/+1
|/
* Merge pull request #27 from austriancoder/masterWladimir J. van der Laan2014-04-221-1/+8
|\ | | | | add bitfield descriptions for CHIP_IDENTITY
| * add bitfield descriptions for CHIP_IDENTITYChristian Gmeiner2014-04-211-1/+8
|/ | | | Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
* Merge remote-tracking branch 'olpc/master'Wladimir J. van der Laan2014-03-303-3/+13
|\
| * fbdemos: align height to RS requirementsWladimir J. van der Laan2014-03-023-3/+13
| | | | | | | | | | | | | | | | When detiling, the RS requires dimensions for the window size that are a multiple of 4. With two pixel pipes this amounts to 8. Hence pad the height of the output buffers to the next multiple of 8.
* | build: add -pthread to default compiler and linker flagsWladimir J. van der Laan2014-03-091-1/+3
| | | | | | | | Suggested by @kneo and @stefan-langenmaier at about the same time.
* | driver: fix rendering to texture levels>0 on pre-GC2000Wladimir J. van der Laan2014-03-031-4/+6
|/ | | | Revert behavior in case of one pixel pipe.
* Merge pull request #24 from austriancoder/masterWladimir J. van der Laan2014-02-223-3/+3
|\ | | | | mesatest_gles fixes
| * fix compile warningsChristian Gmeiner2014-02-212-2/+2
| | | | | | | | Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
| * driver: do not upgrade textures (sampler views) to MULTI tiledChristian Gmeiner2014-02-211-1/+1
|/ | | | Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
* Merge pull request #23 from austriancoder/masterWladimir J. van der Laan2014-02-111-1/+1
|\ | | | | GC2000 works
| * rs: fix pipe_offset[1] to fix all rendering issuesChristian Gmeiner2014-02-111-1/+1
|/ | | | Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
* Merge pull request #21 from austriancoder/masterWladimir J. van der Laan2014-02-089-43/+178
|\ | | | | some gc2000 related stuff
| * driver: make use of calculated addresses for PE/TS DEPTH_ADDRChristian Gmeiner2014-02-081-5/+5
| | | | | | | | Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
| * driver: use calulated address for TS_COLOR_SURFACE_BASEChristian Gmeiner2014-02-081-1/+1
| | | | | | | | Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
| * pe: make us of calculated addressesChristian Gmeiner2014-02-081-4/+4
| | | | | | | | | | | | | | | | With this commit the PE pipe addresses and the RS pipe addresses are the same --> on a GC2000 the image is combined correctly. Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
| * driver: make use of calculated addressesChristian Gmeiner2014-02-082-2/+4
| | | | | | | | Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
| * driver: store calculated pipe addresses in struct etna_resourceChristian Gmeiner2014-02-082-0/+6
| | | | | | | | Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
| * rs: change struct rs_state to contain all pipe addressesChristian Gmeiner2014-02-085-12/+12
| | | | | | | | Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>