- 07 3月, 2016 11 次提交
-
-
由 Russell King 提交于
Currently, we scan the list of mappings each time we want to operate on the vram_mapping struct. Rather than repeatedly scanning these, look them up once in the submission path, and then use _reference and _unreference methods as necessary to manage this object. Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: NLucas Stach <l.stach@pengutronix.de>
-
由 Russell King 提交于
Improve the readibility of the function which inserts command buffers and other maintanence commands into the GPUs ring buffer. We do this by splitting the ring buffer reservation in two: one chunk for any commands that need to be issued prior to the command buffer, and a separate chunk for commands issued after the buffer. The result is a much more obvious code flow in this function, and localisation of the conditional maintanence commands prior to the command buffer. Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: NLucas Stach <l.stach@pengutronix.de>
-
由 Russell King 提交于
Clean up the GPU command submission path to prepare for the next change. This makes the next change easier to read and understand. Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: NLucas Stach <l.stach@pengutronix.de>
-
由 Russell King 提交于
Use the previous GPU pipe state when deciding which GPU caches should be flushed prior to switching the current pipe. This avoids infering what the previously selected pipe was, and potentially flushing the wrong caches. Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: NLucas Stach <l.stach@pengutronix.de>
-
由 Russell King 提交于
Flush the GPU caches to ensure that any dirty data is pushed out before stopping the front end. Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: NLucas Stach <l.stach@pengutronix.de>
-
由 Russell King 提交于
Add tracking of the current execution state (iow, active GPU pipe). Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: NLucas Stach <l.stach@pengutronix.de>
-
由 Russell King 提交于
Extract out the arming of a semaphore from the pipe select code. Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: NLucas Stach <l.stach@pengutronix.de>
-
由 Russell King 提交于
Extract out the replacement of the WAIT command with some other command. Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: NLucas Stach <l.stach@pengutronix.de>
-
由 Russell King 提交于
Provide a helper etnaviv_buffer_reserve() to ensure that we can fit a set of commands into the ring buffer without wrapping by moving code out of etnaviv_buffer_queue(). Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: NLucas Stach <l.stach@pengutronix.de>
-
由 Lucas Stach 提交于
If the end of the system DMA window is farther away from the start of physical RAM than the size of the GPU linear window, move the linear window so that it ends at the same address than the system DMA window. This allows to map command buffer from CMA, which is likely to reside at the end of the system DMA window, while also overlapping as much RAM as possible, in order to optimize regular buffer mappings through the linear window. Signed-off-by: NLucas Stach <l.stach@pengutronix.de>
-
由 Lucas Stach 提交于
The retire worker is kicked for each fence, either the normal way by signaling the fence from the event completion interrupt or by the recover worker if the GPU got stuck. Moving the RPM put into the retire worker allows us to have it in a single place for both cases. This also shaves off quite a bit of the CPU time spent in hardirq context, as arming the autosuspend timer when the RPM refcount drops to 0 is a relatively costly operation. Tested-by: NRussell King <rmk+kernel@arm.linux.org.uk> Acked-by: NRussell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: NLucas Stach <l.stach@pengutronix.de>
-
- 27 1月, 2016 10 次提交
-
-
由 Lucas Stach 提交于
When trying to get the vmap address of an imported buffer, we must call into the appropriate helper function, to allow the exporter to establish the vmap, instead of trying to vmap the buffer on our own. Add an indirection through etnaviv_gem_ops to allow the correct implementation to be called. Signed-off-by: NLucas Stach <l.stach@pengutronix.de>
-
由 Lucas Stach 提交于
This function follows the semantics of vmap() by returning NULL in case of an error. To make things less confusing rename it to make make both functions more closely related. Signed-off-by: NLucas Stach <l.stach@pengutronix.de>
-
由 Lucas Stach 提交于
In case that etnaviv_gem_get_pages is unable to get the required pages the object mutex needs to be unlocked. Also return NULL in this case instead of propagating the error, as callers of this function might not be prepared to handle a pointer error, but expect this call to follow the semantics of a plain vmap to return NULL in case of an error. Signed-off-by: NLucas Stach <l.stach@pengutronix.de>
-
由 Lucas Stach 提交于
Plug in error handling to free any allocated ressources in the IOMMU init path. Signed-off-by: NLucas Stach <l.stach@pengutronix.de>
-
由 Russell King 提交于
Export further minor feature bitmasks and the varyings count from the GPU specifications registers to userspace. Acked-by: NChristian Gmeiner <christian.gmeiner@gmail.com> Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: NLucas Stach <l.stach@pengutronix.de>
-
由 Russell King 提交于
Add and use a helper for comparing the model and revision IDs. Acked-by: NChristian Gmeiner <christian.gmeiner@gmail.com> Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: NLucas Stach <l.stach@pengutronix.de>
-
由 Russell King 提交于
Add a helper to extract etnaviv bitfields from register values. Acked-by: NChristian Gmeiner <christian.gmeiner@gmail.com> Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: NLucas Stach <l.stach@pengutronix.de>
-
由 Russell King 提交于
Use the defined constants in common.xml.h for the chip model rather than coding these as hex numbers. Acked-by: NChristian Gmeiner <christian.gmeiner@gmail.com> Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: NLucas Stach <l.stach@pengutronix.de>
-
由 Russell King 提交于
Update the common and state_hi xml.h header files from the etnaviv repository. Acked-by: NChristian Gmeiner <christian.gmeiner@gmail.com> Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: NLucas Stach <l.stach@pengutronix.de>
-
由 Russell King 提交于
Ignore GPUs with a 2.0 front end. These have a different register layout for the front end, which provokes imprecise aborts from the register accesses in the 'gpu' debugfs file. Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: NLucas Stach <l.stach@pengutronix.de>
-
- 25 1月, 2016 3 次提交
-
-
由 Russell King 提交于
Fix the failure path to call pm_runtime_mark_last_busy() when failing due to the model field being zero. Acked-by: NChristian Gmeiner <christian.gmeiner@gmail.com> Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: NLucas Stach <l.stach@pengutronix.de>
-
由 Lucas Stach 提交于
While all objects that get coredumped have an active IOVA and thus pages already populated, etnaviv_gem_get_pages() still requires the object lock to be held. Signed-off-by: NLucas Stach <l.stach@pengutronix.de>
-
由 Fabio Estevam 提交于
This platform_driver does not need to set an owner as it will be populated by the driver core. Generated by scripts/coccinelle/api/platform_no_drv_owner.cocci. Signed-off-by: NFabio Estevam <festevam@gmail.com> Signed-off-by: NLucas Stach <l.stach@pengutronix.de>
-
- 07 1月, 2016 1 次提交
-
-
由 Lucas Stach 提交于
The hardware description macros define the mask and shifts the wrong way around for the intended use, leading to the condition never being true and the chip revision ending up with the wrong value. Reported-by: NDan Carpenter <dan.carpenter@oracle.com> Signed-off-by: NLucas Stach <l.stach@pengutronix.de> Acked-by: NChristian Gmeiner <christian.gmeiner@gmail.com>
-
- 06 1月, 2016 1 次提交
-
-
由 Dan Carpenter 提交于
We have to drop a lock before returning -ENOMEM here. Fixes: a8c21a54 ('drm/etnaviv: add initial etnaviv DRM driver') Signed-off-by: NDan Carpenter <dan.carpenter@oracle.com> Acked-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-
- 15 12月, 2015 1 次提交
-
-
由 The etnaviv authors 提交于
This adds the etnaviv DRM driver and hooks it up in Makefiles and Kconfig. Signed-off-by: NChristian Gmeiner <christian.gmeiner@gmail.com> Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: NLucas Stach <l.stach@pengutronix.de> Acked-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
-