- 29 4月, 2016 2 次提交
-
-
由 Charmaine Lee 提交于
Instead of calling vmw_cmd_ok, call vmw_cmd_dx_cid_check to validate the context id for query commands. Signed-off-by: NCharmaine Lee <charmainel@vmware.com> Reviewed-by: NSinclair Yeh <syeh@vmware.com>
-
由 Charmaine Lee 提交于
Fixes piglit tests nv_conditional_render-* crashes. Signed-off-by: NCharmaine Lee <charmainel@vmware.com> Reviewed-by: NBrian Paul <brianp@vmware.com> Reviewed-by: NSinclair Yeh <syeh@vmware.com>
-
- 14 3月, 2016 1 次提交
-
-
由 Charmaine Lee 提交于
Add support for DXGenMips command. Signed-off-by: NCharmaine Lee <charmainel@vmware.com> Reviewed-by: NSinclair Yeh <syeh@vmware.com> Reviewed-by: NThomas Hellstrom <thellstrom@vmware.com>
-
- 14 9月, 2015 1 次提交
-
-
由 Thomas Hellstrom 提交于
If user space calls unreference on a user_dmabuf it will typically kill the struct ttm_base_object member which is responsible for the user-space visibility. However the dmabuf part may still be alive and refcounted. In some situations, like for shared guest-backed surface referencing/opening, the driver may try to reference the struct ttm_base_object member again, causing an immediate kernel warning and a later kernel NULL pointer dereference. Fix this by always maintaining a reference on the struct ttm_base_object member, in situations where it might subsequently be referenced. Cc: <stable@vger.kernel.org> Signed-off-by: NThomas Hellstrom <thellstrom@vmware.com> Reviewed-by: NBrian Paul <brianp@vmware.com> Reviewed-by: NSinclair Yeh <syeh@vmware.com>
-
- 14 8月, 2015 1 次提交
-
-
由 Thomas Hellstrom 提交于
This addresses two issues that cause problems with viewperf maya-03 in situation with memory pressure. The first issue causes attempts to unreserve buffers if batched reservation fails due to, for example, a signal pending. While previously the ttm_eu api was resistant against this type of error, it is no longer and the lockdep code will complain about attempting to unreserve buffers that are not reserved. The issue is resolved by avoid calling ttm_eu_backoff_reservation in the buffer reserve error path. The second issue is that the binding_mutex may be held when user-space fence objects are created and hence during memory reclaims. This may cause recursive attempts to grab the binding mutex. The issue is resolved by not holding the binding mutex across fence creation and submission. Signed-off-by: NThomas Hellstrom <thellstrom@vmware.com> Reviewed-by: NSinclair Yeh <syeh@vmware.com> Cc: <stable@vger.kernel.org> Signed-off-by: NDave Airlie <airlied@redhat.com>
-
- 13 8月, 2015 5 次提交
-
-
由 Sinclair Yeh 提交于
Add support for vgpu10 queries. Functional- and formatting fixes. Signed-off-by: NSinclair Yeh <syeh@vmware.com> Signed-off-by: NThomas Hellstrom <thellstrom@vmware.com>
-
由 Neha Bhende 提交于
Add support for SVGA_3D_CMD_DX_BUFFER_COPY and SVGA_3D_CMD_DX_PRED_COPY_REGION Signed-off-by: NNeha Bhende <nbhende@vmware.com> Signed-off-by: NThomas Hellstrom <thellstrom@vmware.com>
-
由 Charmaine Lee 提交于
Implement support for a couple of missing commands and fix a command parser error path. Also fix uninitialized devcaps and surface size computation. Signed-off-by: NCharmaine Lee <charmainel@vmware.com> Signed-off-by: NSinclair Yeh <syeh@vmware.com> Signed-off-by: NThomas Hellstrom <thellstrom@vmware.com>
-
由 Thomas Hellstrom 提交于
Initial DX support. Co-authored with Sinclair Yeh, Charmaine Lee and Jakob Bornecrantz. Signed-off-by: NThomas Hellstrom <thellstrom@vmware.com> Signed-off-by: NSinclair Yeh <syeh@vmware.com> Signed-off-by: NCharmaine Lee <charmainel@vmware.com>
-
由 Sinclair Yeh 提交于
Add DX includes and move all device includes to a separate directory. Co-authored with Thomas Hellstrom, Charmaine Lee and above all, the VMware device team. Signed-off-by: NSinclair Yeh <syeh@vmware.com> Signed-off-by: NThomas Hellstrom <thellstrom@vmware.com> Signed-off-by: NCharmaine Lee <charmainel@vmware.com>
-
- 05 8月, 2015 7 次提交
-
-
由 Thomas Hellstrom 提交于
We're giving up all attempts to keep cpu- and device byte ordering separate. This silences sparse when compiled using make C=2 CF="-D__CHECK_ENDIAN__" Signed-off-by: NThomas Hellstrom <thellstrom@vmware.com>
-
由 Thomas Hellstrom 提交于
Also implements the missing readback function and fixes page flip in case of no event. v2: - Adapt to the work done for screen targets for 2d, in particular Handle proxy surface updates. - Remove execbuf quirks since we now use fifo reserve / commit. - Revert the initial placement of vmw dma buffers. v3: Address review comments. Signed-off-by: NThomas Hellstrom <thellstrom@vmware.com> Reviewed-by: NSinclair Yeh <syeh@vmware.com>
-
由 Thomas Hellstrom 提交于
We need to make the dirty- and readback functions callable without a struct drm_file pointer. We also need to unify the handling of dirty- and readback cliprects that are now implemented in various places across the kms system, som add helpers to facilitate this. Signed-off-by: NThomas Hellstrom <thellstrom@vmware.com> Reviewed-by: NSinclair Yeh <syeh@vmware.com>
-
由 Thomas Hellstrom 提交于
v2: Fix dma buffer validation on resource pinning. Signed-off-by: NThomas Hellstrom <thellstrom@vmware.com> Reviewed-by: NSinclair Yeh <syeh@vmware.com>
-
由 Sinclair Yeh 提交于
This patch address the following underlying issues with SurfaceDMA * SurfaceDMA command does not work in a 2D VM, but we can wrap a proxy surface around the same DMA buffer and use the SurfaceCopy command which does work in a 2D VM. * Wrapping a DMA buffer with a proxy surface also gives us an added optimization path for the case when the DMA buf dimensions match the mode. In this case, the DMA buf can be pinned as the display surface, saving an extra copy. This only works in a 2D VM because we won't be doing any rendering operations directly to the display surface. v2 * Moved is_dmabuf_proxy field to vmw_framebuffer_surface * Undone coding style changes * Addressed other issues from review Signed-off-by: NSinclair Yeh <syeh@vmware.com> Reviewed-by: NThomas Hellstrom <thellstrom@vmware.com>
-
由 Thomas Hellstrom 提交于
For certain surface copies, we don't have a user space handle for the destination surface. In such cases, we are going to trust that our caller is giving us the right surface ID. To do this case, we created a quirk flag that may be useful in the future for handling other cases. Signed-off-by: NThomas Hellstrom <thellstrom@vmware.com> Signed-off-by: NSinclair Yeh <syeh@vmware.com>
-
由 Thomas Hellstrom 提交于
Add command buffer support. Currently we don't implement preemption or fancy error handling. Tested with a couple of mesa-demos, compiz/unity and viewperf maya-03. v2: - Synchronize with pending work at command buffer manager takedown. - Add an interface to flush the current command buffer for latency-critical command batches and apply it to framebuffer dirtying. v3: - Minor fixes of definitions and typos to address reviews. - Removed new or moved branch predictor hints. Signed-off-by: NThomas Hellstrom <thellstrom@vmware.com> Reviewed-by: NSinclair Yeh <syeh@vmware.com>
-
- 12 3月, 2015 2 次提交
-
-
由 Colin Ian King 提交于
cppcheck on lines 917 and 977 show an ineffective assignment to the dma buffer pointer: [drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c:917]: [drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c:977]: (warning) Assignment of function parameter has no effect outside the function. Did you forget dereferencing it? On a successful DMA buffer lookup, the dma buffer pointer is assigned, however, on failure it currently is left in an undefined state. The original intention in the error exit path was to nullify the pointer on an error (which the original code failed to do properly). This patch fixes this also ensures all failure paths nullify the buffer pointer on the error return. Fortunately the callers to vmw_translate_mob_ptr and vmw_translate_guest_ptr are checking on a return status and not on the dma buffer pointer, so the original code worked. Reviewed-by: NThomas Hellstrom <thellstrom@vmware.com> Signed-off-by: NColin Ian King <colin.king@canonical.com>
-
由 Thomas Hellstrom 提交于
Experimental lockdep annotation added to the TTM lock has unveiled a couple of lock dependency violations in the vmwgfx driver. In both cases it turns out that the device_private::reservation_sem is not needed so the offending code is moved out of that lock. Cc: <stable@vger.kernel.org> Acked-by: NSinclair Yeh <syeh@vmware.com> Signed-off-by: NThomas Hellstrom <thellstrom@vmware.com>
-
- 04 12月, 2014 1 次提交
-
-
由 Christian König 提交于
This patch adds an optional list_head parameter to ttm_eu_reserve_buffers. If specified duplicates in the execbuf list are no longer reported as errors, but moved to this list instead. Reviewed-by: NThomas Hellstrom <thellstrom@vmware.com> Signed-off-by: NChristian König <christian.koenig@amd.com> Signed-off-by: NAlex Deucher <alexander.deucher@amd.com>
-
- 11 9月, 2014 1 次提交
-
-
由 Christian König 提交于
This patch adds a new flag to the ttm_validate_buffer list to add the fence as shared to the reservation object. Signed-off-by: NChristian König <christian.koenig@amd.com> Signed-off-by: NAlex Deucher <alexander.deucher@amd.com>
-
- 02 9月, 2014 2 次提交
-
-
由 Maarten Lankhorst 提交于
Use the new fence interface on vmwgfx too. Signed-off-by: NMaarten Lankhorst <maarten.lankhorst@canonical.com> --- Changes since v1: Fix a sleeping function called from invalid context in enable_signaling.
-
由 Maarten Lankhorst 提交于
Only one type was ever used. This is needed to simplify the fence support in the next commit. Signed-off-by: NMaarten Lankhorst <maarten.lankhorst@canonical.com>
-
- 01 9月, 2014 3 次提交
-
-
由 Thomas Hellstrom 提交于
At the same time, make error paths return early for clarity. Signed-off-by: NThomas Hellstrom <thellstrom@vmware.com> Reported-by: NDan Carpenter <dan.carpenter@oracle.com> Reviewed-by: Njakob Bornecrantz <jakob@vmware.com> Cc: <stable@vger.kernel.org>
-
由 Maarten Lankhorst 提交于
This reorders the list to keep track of what buffers are reserved, so previous members are always unreserved. This gets rid of some bookkeeping that's no longer needed, while simplifying the code some. Signed-off-by: NMaarten Lankhorst <maarten.lankhorst@canonical.com>
-
由 Maarten Lankhorst 提交于
It seems some drivers really want this as a parameter, like vmwgfx. Signed-off-by: NMaarten Lankhorst <maarten.lankhorst@canonical.com>
-
- 04 7月, 2014 1 次提交
-
-
由 Thomas Hellstrom 提交于
Contrary to the host-backed shader interface that has a per-context name-space for shaders, the compat shader namespace was per client (or rather, per file). Fix this so that the compat shader namespace is per context, and at the same time, make command buffer managed context resource management generic. Signed-off-by: NThomas Hellstrom <thellstrom@vmware.com> Reviewed-by: NJakob Bornecrantz <jakob@vmware.com>
-
- 24 4月, 2014 1 次提交
-
-
由 Thomas Hellstrom 提交于
We already check that the buffer object we're accessing is registered with the file. Now also make sure that we can't DMA across buffer object boundaries. v2: Code commenting update. Cc: stable@vger.kernel.org Signed-off-by: NThomas Hellstrom <thellstrom@vmware.com> Reviewed-by: NJakob Bornecrantz <jakob@vmware.com>
-
- 28 3月, 2014 1 次提交
-
-
由 Thomas Hellstrom 提交于
Don't use a per-master semaphore (ttm lock) for reservation protection, but rather a per-device semaphore. This is needed since clients connecting using render nodes aren't master aware. The ttm lock used should probably be replaced with a reader-write semaphore once the function down_xx_interruptible() is available. Signed-off-by: NThomas Hellstrom <thellstrom@vmware.com> Reviewed-by: NBrian Paul <brianp@vmware.com>
-
- 13 2月, 2014 1 次提交
-
-
由 Thomas Hellstrom 提交于
Make sure all guest-backed object commands are properly packed. Have the command verifier treat uninitialized command entries as invalid rather than dereferencing NULL pointers. Signed-off-by: NThomas Hellstrom <thellstrom@vmware.com> Reviewed-by: NJakob Bornecrantz <jakob@vmware.com>
-
- 12 2月, 2014 3 次提交
-
-
由 Thomas Hellstrom 提交于
Reported-by: NFengguang Wu <fengguang.wu@intel.com> Signed-off-by: NThomas Hellstrom <thellstrom@vmware.com> Reviewed-by: NJakob Bornecrantz <jakob@vmware.com>
-
由 Dan Carpenter 提交于
There is a missing unlock on error here. Fixes: 30f82d81 ('drm/vmwgfx: Reemit context bindings when necessary v2') Signed-off-by: NDan Carpenter <dan.carpenter@oracle.com> Reviewed-by: NThomas Hellstrom <thellstrom@vmware.com>
-
由 Thomas Hellstrom 提交于
Introduced with 3.14-rc1 Reported-by: NFengguang Wu <fengguang.wu@intel.com> Signed-off-by: NThomas Hellstrom <thellstrom@vmware.com> Reviewed-by: NJakob Bornecrantz <jakob@vmware.com>
-
- 05 2月, 2014 5 次提交
-
-
由 Thomas Hellstrom 提交于
When a context is first referenced in the command stream, make sure that all scrubbed (as a result of eviction) bindings are re-emitted. Also make sure that all bound resources are put on the resource validate list. This is needed for legacy emulation, since legacy user-space drivers will typically not re-emit shader bindings. It also removes the requirement for user-space drivers to re-emit render-target- and texture bindings. Makes suspend and hibernate now also work with legacy user-space drivers on guest-backed devices. v2: Don't rebind on legacy devices. Signed-off-by: NThomas Hellstrom <thellstrom@vmware.com> Reviewed-by: NJakob Bornecrantz <jakob@vmware.com>
-
由 Thomas Hellstrom 提交于
Command stream legacy shader creation and destruction is replaced by NOPs in the command stream, and instead guest-backed shaders are created and destroyed as part of the command validation process. v2: Removed some stray debug messages. Signed-off-by: NThomas Hellstrom <thellstrom@vmware.com> Reviewed-by: NJakob Bornecrantz <jakob@vmware.com>
-
由 Thomas Hellstrom 提交于
Emulate the SET_SHADER_CONST legacy command on guest-backed devices by issuing a SET_GB_SHADERCONSTS_INLINE command. Signed-off-by: NThomas Hellstrom <thellstrom@vmware.com> Reviewed-by: NJakob Bornecrantz <jakob@vmware.com>
-
由 Thomas Hellstrom 提交于
drm/vmwgfx: Fix regression caused by "drm/ttm: make ttm reservation calls behave like reservation calls" The call to ttm_eu_backoff_reservation() as part of an error path would cause a lock imbalance if the reservation ticket was not initialized. This error is easily triggered from user-space by submitting a bogus command stream. Signed-off-by: NThomas Hellstrom <thellstrom@vmware.com> Reviewed-by: NJakob Bornecrantz <jakob@vmware.com> Cc: stable@vger.kernel.org Cc: Maarten Lankhorst <maarten.lankhorst@canonical.com> Cc: Jerome Glisse <jglisse@redhat.com> Cc: Dave Airlie <airlied@redhat.com>
-
由 Thomas Hellstrom 提交于
If execbuf fails and binding commands are never sent to the device, don't commit the staged context bindings to the tracker. Signed-off-by: NThomas Hellstrom <thellstrom@vmware.com> Reviewed-by: NJakob Bornecrantz <jakob@vmware.com>
-
- 17 1月, 2014 2 次提交
-
-
由 Thomas Hellstrom 提交于
Adds the relevant commands to the device interface header and implements 64-bit binding for 64 bit VMs. v2: Uppercase command IDs, Correctly use also 64 bit page tables. Signed-off-by: NThomas Hellstrom <thellstrom@vmware.com> Reviewed-by: NJakob Bornecrantz <jakob@vmware.com>
-
由 Thomas Hellstrom 提交于
Only scrub context bindings when a bound resource is destroyed, or when the MOB backing the context is unbound. Signed-off-by: NThomas Hellstrom <thellstrom@vmware.com> Reviewed-by: NZack Rusin <zackr@vmware.com>
-