- 15 4月, 2021 3 次提交
-
-
由 Zack Rusin 提交于
During cotable resize we pin the backup buffer to make sure the trylock doesn't fail. We were never unpinning the backup buffer resulting in every subsequent cotable resize trying to release a pinned bo. After we copy the old backup to the new we can release the pin. Mob's are always pinned so we just have to make sure we unpin them before releasing them. Reviewed-by: NThomas Hellström (Intel) <thomas_os@shipmail.org> Fixes: d1a73c64 ("drm/vmwgfx: Make sure we unpin no longer needed buffers") Link: https://patchwork.freedesktop.org/patch/msgid/20210413205938.788366-1-zackr@vmware.comSigned-off-by: NZack Rusin <zackr@vmware.com>
-
由 Zack Rusin 提交于
Thomas has noticed that the lockdep was broken in vmwgfx. It was broken during the pci initialization rework. This fixes the breakage by making sure we initialize the locking code before doing anything else. This was independently spotted and fixed by Tetsuo Handa as well. Reviewed-by: NMartin Krastev <krastevm@vmware.com> Reviewed-by: NRoland Scheidegger <sroland@vmware.com> Cc: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp> Cc: dri-devel@lists.freedesktop.org Signed-off-by: NZack Rusin <zackr@vmware.com> Fixes: 8772c0bb ("drm/vmwgfx: Cleanup pci resource allocation") Link: https://patchwork.freedesktop.org/patch/msgid/20210408172245.673785-1-zackr@vmware.com
-
由 Zack Rusin 提交于
We were not correctly unpinning no longer needed buffers. In particular vmw_buffer_object, which is internally often pinned on creation wasn't unpinned on destruction and none of the internal MOB buffers were unpinned before being put back. Technically this existed for a long time but commit 57fcd550 ("drm/ttm: Warn on pinning without holding a reference") introduced a WARN_ON which was filling up the kernel logs rather quickly. Quite frankly internal usage of vmw_buffer_object and in general pinning needs to be refactored in vmwgfx but for now this makes it work. Signed-off-by: NZack Rusin <zackr@vmware.com> Reviewed-by: NMartin Krastev <krastevm@vmware.com> Reviewed-by: NRoland Scheidegger <sroland@vmware.com> Fixes: 57fcd550 ("drm/ttm: Warn on pinning without holding a reference") Link: https://patchwork.freedesktop.org/patch/414984/?series=86052&rev=1 Cc: Huang Rui <ray.huang@amd.com> Cc: Christian König <christian.koenig@amd.com> Cc: Daniel Vetter <daniel.vetter@intel.com> Cc: Christian Koenig <christian.koenig@amd.com> Cc: dri-devel@lists.freedesktop.org
-
- 18 1月, 2021 1 次提交
-
-
由 Daniel Vetter 提交于
This isn't actually protecting anything becuase: - when running, ttm_resource_manager->use_type is protected through vmw_private->reservation_semaphore against concurrent execbuf or well anything else that might evict or reserve buffers - during suspend/resume there's nothing else running, hence vmw_pm_freeze and vmw_pm_restore do not need to take the same lock. - this also holds for the SVGA_REG_ENABLE register write Hence it is safe to just remove that spinlock. Signed-off-by: NDaniel Vetter <daniel.vetter@intel.com> Reviewed-by: NZack Rusin <zackr@vmware.com> Reviewed-by: NRoland Scheidegger <sroland@vmware.com> Cc: VMware Graphics <linux-graphics-maintainer@vmware.com> Cc: Roland Scheidegger <sroland@vmware.com> Link: https://patchwork.freedesktop.org/patch/msgid/20201211162942.3399050-1-daniel.vetter@ffwll.ch
-
- 15 1月, 2021 6 次提交
-
-
由 Zack Rusin 提交于
Lets try to cleanup the usage of the term FIFO which we used for both our MMIO based cmd queue processing and for general command processing which could have been using command buffers interface. We're going to rename the functions which are processing commands (and work either via MMIO or command buffers) as _cmd_ and functions which operate on the MMIO based commands as FIFO to match the SVGA device naming. Signed-off-by: NZack Rusin <zackr@vmware.com> Reviewed-by: NMartin Krastev <krastevm@vmware.com> Link: https://patchwork.freedesktop.org/patch/414044/?series=85516&rev=2
-
由 Zack Rusin 提交于
Throttling was used before fencing to implement early vsync support in the xorg state tracker a long time ago. The xorg state tracker has been removed years ago and no one else has ever used throttling. It's time to remove this code, it hasn't been used or tested in years. Signed-off-by: NZack Rusin <zackr@vmware.com> Reviewed-by: NMartin Krastev <krastevm@vmware.com> Reviewed-by: NRoland Scheidegger <sroland@vmware.com> Link: https://patchwork.freedesktop.org/patch/414042/?series=85516&rev=2
-
由 Zack Rusin 提交于
Instead of doing it in multiple spots lets centralize the code to handle pci resources. This also cleans up the error handling a bit and will make it a lot easier to add additional svga versions to the driver. Signed-off-by: NZack Rusin <zackr@vmware.com> Reviewed-by: NMartin Krastev <krastevm@vmware.com> Reviewed-by: NRoland Scheidegger <sroland@vmware.com> Link: https://patchwork.freedesktop.org/patch/414040/?series=85516&rev=2
-
由 Zack Rusin 提交于
Going forward the svga device might reuse mmio for general register accesses, in order to prepare for that we need to cleanup our naming and handling of fifo specific mmio reads and writes. As part of this work lets switch to managed mapping of the fifo mmio to make the error handling cleaner. Signed-off-by: NZack Rusin <zackr@vmware.com> Reviewed-by: NMartin Krastev <krastevm@vmware.com> Reviewed-by: NRoland Scheidegger <sroland@vmware.com> Link: https://patchwork.freedesktop.org/patch/414045/?series=85516&rev=2
-
由 Zack Rusin 提交于
To cleanup some of the error handling and prepare for some other work lets switch to a managed drm device. It will let us get a better handle on some of the error paths. Signed-off-by: NZack Rusin <zackr@vmware.com> Reviewed-by: NMartin Krastev <krastevm@vmware.com> Reviewed-by: NRoland Scheidegger <sroland@vmware.com> Link: https://patchwork.freedesktop.org/patch/414039/?series=85516&rev=2
-
由 Zack Rusin 提交于
Before drm got helpers for removing conflicting pci framebuffer devices we implemented something known as "stealth" mode which allowed vmwgfx to run even if it couldn't reserve pci resources. We can just switch to regular drm helpers instead of keeping the stealth mode alive as it makes our code a lot cleaner. Signed-off-by: NZack Rusin <zackr@vmware.com> Reviewed-by: NMartin Krastev <krastevm@vmware.com> Reviewed-by: NRoland Scheidegger <sroland@vmware.com> Link: https://patchwork.freedesktop.org/patch/414043/?series=85516&rev=2
-
- 02 12月, 2020 1 次提交
-
-
由 Christian König 提交于
ttm_module.h deals with internals of TTM and should never be include outside of it. v2: also move the file around Signed-off-by: NChristian König <christian.koenig@amd.com> Acked-by: NDaniel Vetter <daniel.vetter@ffwll.ch> Link: https://patchwork.freedesktop.org/patch/404885/
-
- 24 9月, 2020 3 次提交
-
-
由 Christian König 提交于
Stop using TTM_PL_FLAG_NO_EVICT. v2: fix unconditional pinning Signed-off-by: NChristian König <christian.koenig@amd.com> Reviewed-by: NDave Airlie <airlied@redhat.com> Reviewed-by: NHuang Rui <ray.huang@amd.com> Link: https://patchwork.freedesktop.org/patch/391601/?series=81973&rev=1
-
由 Christian König 提交于
Implement in the driver instead since it is the only user of that function. v2: fix usage of ttm_bo_init_reserved Signed-off-by: NChristian König <christian.koenig@amd.com> Reviewed-by: NDave Airlie <airlied@redhat.com> Reviewed-by: NHuang Rui <ray.huang@amd.com> Link: https://patchwork.freedesktop.org/patch/391614/?series=81973&rev=1
-
由 Christian König 提交于
Just some dead code cleanup. Signed-off-by: NChristian König <christian.koenig@amd.com> Reviewed-by: NDave Airlie <airlied@redhat.com> Reviewed-by: NHuang Rui <ray.huang@amd.com> Link: https://patchwork.freedesktop.org/patch/391599/?series=81973&rev=1
-
- 11 9月, 2020 1 次提交
-
-
由 Christian König 提交于
It's not supported to specify more than one of those flags. So it never made sense to make this a flag in the first place. Nuke the flags and specify directly which memory type to use. Signed-off-by: NChristian König <christian.koenig@amd.com> Reviewed-by: NDave Airlie <airlied@redhat.com> Link: https://patchwork.freedesktop.org/patch/389826/?series=81551&rev=1
-
- 06 8月, 2020 7 次提交
-
-
由 Dave Airlie 提交于
This name better reflects what the object does. I didn't rename all the pointers it seemed too messy. Signed-off-by: NDave Airlie <airlied@redhat.com> Acked-by: NChristian König <christian.koenig@amd.com> Reviewed-by: NBen Skeggs <bskeggs@redhat.com> Signed-off-by: NDave Airlie <airlied@redhat.com> Link: https://patchwork.freedesktop.org/patch/msgid/20200804025632.3868079-60-airlied@gmail.com
-
由 Dave Airlie 提交于
Reviewed-by: NDaniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: NDave Airlie <airlied@redhat.com> Link: https://patchwork.freedesktop.org/patch/msgid/20200804025632.3868079-34-airlied@gmail.com
-
由 Dave Airlie 提交于
Don't bother returning EBUSY, nobody cares enough, if the driver has a problem, it should deal with it. Reviewed-by: NDaniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: NDave Airlie <airlied@redhat.com> Link: https://patchwork.freedesktop.org/patch/msgid/20200804025632.3868079-29-airlied@gmail.com
-
由 Dave Airlie 提交于
Reviewed-by: NDaniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: NDave Airlie <airlied@redhat.com> Link: https://patchwork.freedesktop.org/patch/msgid/20200804025632.3868079-22-airlied@gmail.com
-
由 Dave Airlie 提交于
Split out the vram thp init path vs the range manager init. Reviewed-by: NDaniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: NDave Airlie <airlied@redhat.com> Link: https://patchwork.freedesktop.org/patch/msgid/20200804025632.3868079-21-airlied@gmail.com
-
由 Dave Airlie 提交于
The map one was used once, just inline it, and drop them both. Reviewed-by: NDaniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: NDave Airlie <airlied@redhat.com> Link: https://patchwork.freedesktop.org/patch/msgid/20200804025632.3868079-3-airlied@gmail.com
-
由 Dave Airlie 提交于
These two functions has the same code in them, create a common helper function instead. Reviewed-by: NDaniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: NDave Airlie <airlied@redhat.com> Link: https://patchwork.freedesktop.org/patch/msgid/20200804025632.3868079-2-airlied@gmail.com
-
- 16 5月, 2020 1 次提交
-
-
由 Guixiong Wei 提交于
The parameter name should be interruptible instead of interuptable. Signed-off-by: NGuixiong Wei <guixiongwei@gmail.com> Signed-off-by: NRoland Scheidegger <sroland@vmware.com>
-
- 25 3月, 2020 3 次提交
-
-
Start using the helpers that align buffer object user-space addresses and buffer object vram addresses to huge page boundaries. This is to improve the chances of allowing huge page-table entries. Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Michal Hocko <mhocko@suse.com> Cc: "Matthew Wilcox (Oracle)" <willy@infradead.org> Cc: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com> Cc: Ralph Campbell <rcampbell@nvidia.com> Cc: "Jérôme Glisse" <jglisse@redhat.com> Cc: "Christian König" <christian.koenig@amd.com> Cc: Dan Williams <dan.j.williams@intel.com> Signed-off-by: NThomas Hellstrom (VMware) <thomas_os@shipmail.org> Reviewed-by: NRoland Scheidegger <sroland@vmware.com> Acked-by: NChristian König <christian.koenig@amd.com>
-
Using huge page-table entries requires that the physical address of the start of a buffer object is huge page size aligned. Make a special version of the TTM range manager that accomplishes this, but falls back to a smaller page size alignment (PUD->PMD, PMD->NORMAL) to avoid eviction. If other drivers want to use it in the future, it can be made a TTM generic helper. Note that drivers can force eviction for a certain alignment by assigning the TTM GPU alignment correspondingly. Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Michal Hocko <mhocko@suse.com> Cc: "Matthew Wilcox (Oracle)" <willy@infradead.org> Cc: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com> Cc: Ralph Campbell <rcampbell@nvidia.com> Cc: "Jérôme Glisse" <jglisse@redhat.com> Cc: "Christian König" <christian.koenig@amd.com> Cc: Dan Williams <dan.j.williams@intel.com> Signed-off-by: NThomas Hellstrom (VMware) <thomas_os@shipmail.org> Reviewed-by: NRoland Scheidegger <sroland@vmware.com> Acked-by: NChristian König <christian.koenig@amd.com>
-
With vmwgfx dirty-tracking we need a specialized huge_fault callback. Implement and hook it up. Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Michal Hocko <mhocko@suse.com> Cc: "Matthew Wilcox (Oracle)" <willy@infradead.org> Cc: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com> Cc: Ralph Campbell <rcampbell@nvidia.com> Cc: "Jérôme Glisse" <jglisse@redhat.com> Cc: "Christian König" <christian.koenig@amd.com> Cc: Dan Williams <dan.j.williams@intel.com> Signed-off-by: NThomas Hellstrom (VMware) <thomas_os@shipmail.org> Reviewed-by: NRoland Scheidegger <sroland@vmware.com> Acked-by: NChristian König <christian.koenig@amd.com>
-
- 24 3月, 2020 7 次提交
-
-
Signed-off-by: NThomas Hellström (VMware) <thomas_os@shipmail.org> Reviewed-by: NCharmaine Lee <charmainel@vmware.com> Reviewed-by: NBrian Paul <brianp@vmware.com> Reviewed-by: NRoland Scheidegger <sroland@vmware.com> Signed-off-by: NRoland Scheidegger <sroland@vmware.com> ___ v2: Use 2.18 instead of 2.17
-
由 Deepak Rawat 提交于
Surface define v4 added new member buffer_byte_stride. With this patch add buffer_byte_stride in surface metadata and create surface using new command if support is available. Also with this patch replace device specific data types with kernel types. Signed-off-by: NDeepak Rawat <drawat.floss@gmail.com> Reviewed-by: NThomas Hellström (VMware) <thomas_os@shipmail.org> Reviewed-by: NRoland Scheidegger <sroland@vmware.com> Signed-off-by: NRoland Scheidegger <sroland@vmware.com>
-
由 Deepak Rawat 提交于
Makes surface_define cleaner by sending vmw_surface_metadata instead of all the arguments individually. v2: fix uninitialized return value, error message Signed-off-by: NDeepak Rawat <drawat.floss@gmail.com> Reviewed-by: NBrian Paul <brianp@vmware.com> Reviewed-by: NThomas Hellström (VMware) <thomas_os@shipmail.org> Reviewed-by: NRoland Scheidegger <sroland@vmware.com> Signed-off-by: NRoland Scheidegger <sroland@vmware.com>
-
由 Deepak Rawat 提交于
Create a new structure vmw_surface_metadata representing the metadata used for creating surface. With this can make the surface_define_priv a bit cleaner. Signed-off-by: NDeepak Rawat <drawat.floss@gmail.com> Reviewed-by: NBrian Paul <brianp@vmware.com> Reviewed-by: NThomas Hellström (VMware) <thomas_os@shipmail.org> Reviewed-by: NRoland Scheidegger <sroland@vmware.com> Signed-off-by: NRoland Scheidegger <sroland@vmware.com>
-
由 Deepak Rawat 提交于
With SM5 capability a new version of streamoutput is supported by device which need backing mob and a new field. With this change the new command is supported in command buffer. v2: Also track streamoutput context binding in binding manager. v3: Track only one streamoutput as only one can be set to context. v4: Fix comment typos Signed-off-by: NDeepak Rawat <drawat.floss@gmail.com> Signed-off-by: NNeha Bhende <bhenden@vmware.com> Reviewed-by: NThomas Hellström (VMware) <thomas_os@shipmail.org> Reviewed-by: NRoland Scheidegger <sroland@vmware.com> Signed-off-by: NRoland Scheidegger <sroland@vmware.com>
-
由 Deepak Rawat 提交于
A new enum to represent new SM5 graphics context capability in vmwgfx. v2: use new correct cap bits (merged several later commits into it). Signed-off-by: NDeepak Rawat <drawat.floss@gmail.com> Signed-off-by: NThomas Hellström (VMware) <thomas_os@shipmail.org> Reviewed-by: NRoland Scheidegger <sroland@vmware.com> Signed-off-by: NRoland Scheidegger <sroland@vmware.com>
-
由 Deepak Rawat 提交于
Instead of having different bool in device private to represent incremental graphics context capabilities, add a new sm type enum. v2: Use enum instead of bit flag. v3: Incorporated review comments. Signed-off-by: NDeepak Rawat <drawat.floss@gmail.com> Reviewed-by: NThomas Hellström (VMware) <thomas_os@shipmail.org> Reviewed-by: NRoland Scheidegger <sroland@vmware.com> Signed-off-by: NRoland Scheidegger <sroland@vmware.com>
-
- 12 3月, 2020 1 次提交
-
-
I noticed that there is a prototype for vmw_fifo_ping_host_locked() but no function. Then I looked further and noticed more functions which are not used anymore or functions protoypes which remained after the function was removed. Remove unused function (prototypes). Signed-off-by: NSebastian Andrzej Siewior <bigeasy@linutronix.de> Reviewed-by: NThomas Hellstrom <thellstrom@vmware.com> Signed-off-by: NThomas Hellstrom <thellstrom@vmware.com>
-
- 13 2月, 2020 1 次提交
-
-
由 Thomas Zimmermann 提交于
VBLANK callbacks in struct drm_driver are deprecated in favor of their equivalents in struct drm_crtc_funcs. Convert vmwgfx over. v2: * remove accidental whitespace fixes Signed-off-by: NThomas Zimmermann <tzimmermann@suse.de> Acked-by: NThomas Hellstrom <thellstrom@vmware.com> Link: https://patchwork.freedesktop.org/patch/msgid/20200123135943.24140-21-tzimmermann@suse.de
-
- 15 1月, 2020 2 次提交
-
-
由 Thomas Hellstrom 提交于
Bump driver minor version to signal availability of the host messaging ioctl. Signed-off-by: NThomas Hellstrom <thellstrom@vmware.com> Reviewed-by: NCharmaine Lee <charmainel@vmware.com> Reviewed-by: NRoland Scheidegger <sroland@vmware.com>
-
由 Roland Scheidegger 提交于
Up to now, guest userspace does logging directly to host using essentially the same rather complex port assembly stuff as the kernel. We'd rather use the same mechanism than duplicate it (it may also change in the future), hence add a new ioctl for relaying guest/host messaging (logging is just one application of it). Signed-off-by: NRoland Scheidegger <sroland@vmware.com> Reviewed-by: NThomas Hellstrom <thellstrom@vmware.com> Signed-off-by: NThomas Hellstrom <thellstrom@vmware.com>
-
- 06 11月, 2019 3 次提交
-
-
由 Thomas Hellstrom 提交于
Add the callbacks necessary to implement emulated coherent memory for surfaces. Add a flag to the gb_surface_create ioctl to indicate that surface memory should be coherent. Also bump the drm minor version to signal the availability of coherent surfaces. Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Matthew Wilcox <willy@infradead.org> Cc: Will Deacon <will.deacon@arm.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Rik van Riel <riel@surriel.com> Cc: Minchan Kim <minchan@kernel.org> Cc: Michal Hocko <mhocko@suse.com> Cc: Huang Ying <ying.huang@intel.com> Cc: Jérôme Glisse <jglisse@redhat.com> Cc: Kirill A. Shutemov <kirill@shutemov.name> Signed-off-by: NThomas Hellstrom <thellstrom@vmware.com> Reviewed-by: NDeepak Rawat <drawat@vmware.com>
-
由 Thomas Hellstrom 提交于
Similar to write-coherent resources, make sure that from the user-space point of view, GPU rendered contents is automatically available for reading by the CPU. Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Matthew Wilcox <willy@infradead.org> Cc: Will Deacon <will.deacon@arm.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Rik van Riel <riel@surriel.com> Cc: Minchan Kim <minchan@kernel.org> Cc: Michal Hocko <mhocko@suse.com> Cc: Huang Ying <ying.huang@intel.com> Cc: Jérôme Glisse <jglisse@redhat.com> Cc: Kirill A. Shutemov <kirill@shutemov.name> Signed-off-by: NThomas Hellstrom <thellstrom@vmware.com> Reviewed-by: NDeepak Rawat <drawat@vmware.com>
-
由 Thomas Hellstrom 提交于
With emulated coherent memory we need to be able to quickly look up a resource from the MOB offset. Instead of traversing a linked list with O(n) worst case, use an RBtree with O(log n) worst case complexity. Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Matthew Wilcox <willy@infradead.org> Cc: Will Deacon <will.deacon@arm.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Rik van Riel <riel@surriel.com> Cc: Minchan Kim <minchan@kernel.org> Cc: Michal Hocko <mhocko@suse.com> Cc: Huang Ying <ying.huang@intel.com> Cc: Jérôme Glisse <jglisse@redhat.com> Cc: Kirill A. Shutemov <kirill@shutemov.name> Signed-off-by: NThomas Hellstrom <thellstrom@vmware.com> Reviewed-by: NDeepak Rawat <drawat@vmware.com>
-