[Intel-gfx] [PATCH v7 11/20] drm/i915/vm_bind: Use common execbuf functions in execbuf path

2022-11-12 Thread Niranjana Vishwanathapura
Update the execbuf path to use common execbuf functions to reduce code duplication with the newer execbuf3 path. Reviewed-by: Matthew Auld Signed-off-by: Niranjana Vishwanathapura --- .../gpu/drm/i915/gem/i915_gem_execbuffer.c| 513 ++ 1 file changed, 39 insertions(+), 474

[Intel-gfx] [PATCH v7 19/20] drm/i915/vm_bind: Render VM_BIND documentation

2022-11-12 Thread Niranjana Vishwanathapura
Update i915 documentation to include VM_BIND changes and render all VM_BIND related documentation. Reviewed-by: Matthew Auld Signed-off-by: Niranjana Vishwanathapura --- Documentation/gpu/i915.rst | 78 -- 1 file changed, 59 insertions(+), 19 deletions(-)

[Intel-gfx] [PATCH v7 09/20] drm/i915/vm_bind: Add out fence support

2022-11-12 Thread Niranjana Vishwanathapura
Add support for handling out fence for vm_bind call. v2: Reset vma->vm_bind_fence.syncobj to NULL at the end of vm_bind call. v3: Remove vm_unbind out fence uapi which is not supported yet. v4: Return error if I915_TIMELINE_FENCE_WAIT fence flag is set. Wait for bind to complete iff

[Intel-gfx] [PATCH v7 17/20] drm/i915/vm_bind: Limit vm_bind mode to non-recoverable contexts

2022-11-12 Thread Niranjana Vishwanathapura
Only support vm_bind mode with non-recoverable contexts. With new vm_bind mode with eb3 submission path, we need not support older recoverable contexts. Reviewed-by: Matthew Auld Signed-off-by: Niranjana Vishwanathapura --- drivers/gpu/drm/i915/gem/i915_gem_context.c | 6 ++ 1 file

[Intel-gfx] [PATCH v7 10/20] drm/i915/vm_bind: Abstract out common execbuf functions

2022-11-12 Thread Niranjana Vishwanathapura
The new execbuf3 ioctl path and the legacy execbuf ioctl paths have many common functionalities. Abstract out the common execbuf functionalities into a separate file where possible, thus allowing code sharing. v2: Use drm_dbg instead of DRM_DEBUG Reviewed-by: Andi Shyti Reviewed-by: Matthew

[Intel-gfx] [PATCH v7 07/20] drm/i915/vm_bind: Add support to handle object evictions

2022-11-12 Thread Niranjana Vishwanathapura
Support eviction by maintaining a list of evicted persistent vmas for rebinding during next submission. Ensure the list do not include persistent vmas that are being purged. v2: Remove unused I915_VMA_PURGED definition. v3: Properly handle __i915_vma_unbind_async() case. Reviewed-by: Matthew

[Intel-gfx] [PATCH v7 18/20] drm/i915/vm_bind: Add uapi for user to enable vm_bind_mode

2022-11-12 Thread Niranjana Vishwanathapura
Add getparam support for VM_BIND capability version. Add VM creation time flag to enable vm_bind_mode for the VM. v2: update kernel-doc v3: create vm->root_obj only upon I915_VM_CREATE_FLAGS_USE_VM_BIND v4: replace vm->vm_bind_mode check with i915_gem_vm_is_vm_bind_mode() Reviewed-by: Matthew

[Intel-gfx] [PATCH v7 15/20] drm/i915/vm_bind: Handle persistent vmas in execbuf3

2022-11-12 Thread Niranjana Vishwanathapura
Handle persistent (VM_BIND) mappings during the request submission in the execbuf3 path. v2: Ensure requests wait for bindings to complete. v3: Remove short term pinning with PIN_VALIDATE flag. Individualize fences before adding to dma_resv obj. v4: Fix bind completion check, use PIN_NOEVICT,

[Intel-gfx] [PATCH v7 20/20] drm/i915/vm_bind: Async vm_unbind support

2022-11-12 Thread Niranjana Vishwanathapura
Asynchronously unbind the vma upon vm_unbind call. Fall back to synchronous unbind if backend doesn't support async unbind or if async unbind fails. No need for vm_unbind out fence support as i915 will internally handle all sequencing and user need not try to sequence any operation with the

[Intel-gfx] [PATCH v7 03/20] drm/i915/vm_bind: Expose i915_gem_object_max_page_size()

2022-11-12 Thread Niranjana Vishwanathapura
Expose i915_gem_object_max_page_size() function non-static which will be used by the vm_bind feature. Reviewed-by: Matthew Auld Signed-off-by: Niranjana Vishwanathapura Signed-off-by: Andi Shyti --- drivers/gpu/drm/i915/gem/i915_gem_create.c | 18 +-

[Intel-gfx] [PATCH v7 14/20] drm/i915/vm_bind: Expose i915_request_await_bind()

2022-11-12 Thread Niranjana Vishwanathapura
Rename __i915_request_await_bind() as i915_request_await_bind() and make it non-static as it will be used in execbuf3 ioctl path. v2: add documentation Reviewed-by: Matthew Auld Reviewed-by: Andi Shyti Signed-off-by: Niranjana Vishwanathapura --- drivers/gpu/drm/i915/i915_vma.c | 8 +---

[Intel-gfx] [PATCH v7 12/20] drm/i915/vm_bind: Implement I915_GEM_EXECBUFFER3 ioctl

2022-11-12 Thread Niranjana Vishwanathapura
Implement new execbuf3 ioctl (I915_GEM_EXECBUFFER3) which only works in vm_bind mode. The vm_bind mode only works with this new execbuf3 ioctl. The new execbuf3 ioctl will not have any list of objects to validate bind as all required objects binding would have been requested by the userspace

[Intel-gfx] [PATCH v7 16/20] drm/i915/vm_bind: userptr dma-resv changes

2022-11-12 Thread Niranjana Vishwanathapura
For persistent (vm_bind) vmas of userptr BOs, handle the user page pinning by using the i915_gem_object_userptr_submit_init() /done() functions v2: Do not double add vma to vm->userptr_invalidated_list v3: Initialize vma->userptr_invalidated_link Reviewed-by: Matthew Auld Signed-off-by:

[Intel-gfx] [PATCH v7 05/20] drm/i915/vm_bind: Implement bind and unbind of object

2022-11-12 Thread Niranjana Vishwanathapura
Add uapi and implement support for bind and unbind of an object at the specified GPU virtual addresses. The vm_bind mode is not supported in legacy execbuf2 ioctl. It will be supported only in the newer execbuf3 ioctl. v2: On older platforms ctx->vm is not set, check for it. In vm_bind call,

[Intel-gfx] [PATCH v7 06/20] drm/i915/vm_bind: Support for VM private BOs

2022-11-12 Thread Niranjana Vishwanathapura
Each VM creates a root_obj and shares it with all of its private objects to use it as dma_resv object. This has a performance advantage as it requires a single dma_resv object update for all private BOs vs list of dma_resv objects update for shared BOs, in the execbuf path. VM private BOs can be

[Intel-gfx] [PATCH v7 13/20] drm/i915/vm_bind: Update i915_vma_verify_bind_complete()

2022-11-12 Thread Niranjana Vishwanathapura
Ensure i915_vma_verify_bind_complete() handles case where bind is not initiated. Also make it non static, add documentation and move it out of CONFIG_DRM_I915_DEBUG_GEM. v2: Fix fence leak Reviewed-by: Matthew Auld Signed-off-by: Niranjana Vishwanathapura Signed-off-by: Andi Shyti ---

[Intel-gfx] [PATCH v7 04/20] drm/i915/vm_bind: Add support to create persistent vma

2022-11-12 Thread Niranjana Vishwanathapura
Add i915_vma_instance_persistent() to create persistent vmas. Persistent vmas will use i915_gtt_view to support partial binding. vma_lookup is tied to segment of the object instead of section of VA space. Hence, it do not support aliasing. ie., multiple mappings (at different VA) point to the

[Intel-gfx] [PATCH v7 08/20] drm/i915/vm_bind: Support persistent vma activeness tracking

2022-11-12 Thread Niranjana Vishwanathapura
Do not use i915_vma activeness tracking for persistent vmas. As persistent vmas are part of working set for each execbuf submission on that address space (VM), a persistent vma is active if the VM active. As vm->root_obj->base.resv will be updated for each submission on that VM, it correctly

[Intel-gfx] [PATCH v7 00/20] drm/i915/vm_bind: Add VM_BIND functionality

2022-11-12 Thread Niranjana Vishwanathapura
DRM_I915_GEM_VM_BIND/UNBIND ioctls allows UMD to bind/unbind GEM buffer objects (BOs) or sections of a BOs at specified GPU virtual addresses on a specified address space (VM). Multiple mappings can map to the same physical pages of an object (aliasing). These mappings (also referred to as

[Intel-gfx] [PATCH v7 01/20] drm/i915/vm_bind: Expose vm lookup function

2022-11-12 Thread Niranjana Vishwanathapura
Make i915_gem_vm_lookup() function non-static as it will be used by the vm_bind feature. Reviewed-by: Matthew Auld Signed-off-by: Niranjana Vishwanathapura Signed-off-by: Andi Shyti --- drivers/gpu/drm/i915/gem/i915_gem_context.c | 11 ++- drivers/gpu/drm/i915/gem/i915_gem_context.h |

[Intel-gfx] [PATCH v7 02/20] drm/i915/vm_bind: Add __i915_sw_fence_await_reservation()

2022-11-12 Thread Niranjana Vishwanathapura
Add function __i915_sw_fence_await_reservation() for asynchronous wait on a dma-resv object with specified dma_resv_usage. This is required for async vma unbind with vm_bind. Reviewed-by: Matthew Auld Signed-off-by: Niranjana Vishwanathapura --- drivers/gpu/drm/i915/i915_sw_fence.c | 28

Re: [Intel-gfx] [PATCH] mei: add timeout to send

2022-11-12 Thread Usyskin, Alexander
> > diff --git a/drivers/misc/mei/bus-fixup.c b/drivers/misc/mei/bus-fixup.c > > index 71fbf0bc8453..3174cad8a5cc 100644 > > --- a/drivers/misc/mei/bus-fixup.c > > +++ b/drivers/misc/mei/bus-fixup.c > > @@ -128,7 +128,7 @@ static int mei_osver(struct mei_cl_device *cldev) > > os_ver = (struct

[Intel-gfx] ✗ Fi.CI.IGT: failure for drm/i915: Finish (de)gamma readout (rev7)

2022-11-12 Thread Patchwork
== Series Details == Series: drm/i915: Finish (de)gamma readout (rev7) URL : https://patchwork.freedesktop.org/series/79614/ State : failure == Summary == CI Bug Log - changes from CI_DRM_12372_full -> Patchwork_79614v7_full Summary

[Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915: Finish (de)gamma readout (rev7)

2022-11-12 Thread Patchwork
== Series Details == Series: drm/i915: Finish (de)gamma readout (rev7) URL : https://patchwork.freedesktop.org/series/79614/ State : success == Summary == CI Bug Log - changes from CI_DRM_12372 -> Patchwork_79614v7 Summary ---

[Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915: Finish (de)gamma readout (rev7)

2022-11-12 Thread Patchwork
== Series Details == Series: drm/i915: Finish (de)gamma readout (rev7) URL : https://patchwork.freedesktop.org/series/79614/ State : warning == Summary == Error: dim checkpatch failed f37d57d7a3e7 drm/i915: Clean up legacy palette defines bebbc950b693 drm/i915: Clean up 10bit precision

[Intel-gfx] ✗ Fi.CI.BAT: failure for drm/i915: Finish (de)gamma readout (rev6)

2022-11-12 Thread Patchwork
== Series Details == Series: drm/i915: Finish (de)gamma readout (rev6) URL : https://patchwork.freedesktop.org/series/79614/ State : failure == Summary == CI Bug Log - changes from CI_DRM_12372 -> Patchwork_79614v6 Summary ---

[Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915: Finish (de)gamma readout (rev6)

2022-11-12 Thread Patchwork
== Series Details == Series: drm/i915: Finish (de)gamma readout (rev6) URL : https://patchwork.freedesktop.org/series/79614/ State : warning == Summary == Error: dim checkpatch failed 050b3fdee02b drm/i915: Clean up legacy palette defines 48cfd1bd8b47 drm/i915: Clean up 10bit precision

Re: [Intel-gfx] [PATCH v8 16/24] drm/modes: Introduce more named modes

2022-11-12 Thread Noralf Trønnes
Den 10.11.2022 12.07, skrev Maxime Ripard: > Now that we can easily extend the named modes list, let's add a few more > analog TV modes that were used in the wild, and some unit tests to make > sure it works as intended. > > Tested-by: Mateusz Kwiatkowski > Signed-off-by: Maxime Ripard > >

Re: [Intel-gfx] [PATCH v8 15/24] drm/client: Remove match on mode name

2022-11-12 Thread Noralf Trønnes
Den 10.11.2022 12.07, skrev Maxime Ripard: > Commit 3aeeb13d8996 ("drm/modes: Support modes names on the command > line") initially introduced the named modes support by essentially > matching the name passed on the command-line to the mode names defined > by the drivers. > > This proved to be

Re: [Intel-gfx] [PATCH v8 14/24] drm/modes: Properly generate a drm_display_mode from a named mode

2022-11-12 Thread Noralf Trønnes
Den 10.11.2022 12.07, skrev Maxime Ripard: > The framework will get the drm_display_mode from the drm_cmdline_mode it > got by parsing the video command line argument by calling > drm_connector_pick_cmdline_mode(). > > The heavy lifting will then be done by the

[Intel-gfx] [PATCH v3 17/18] drm/i915: Add 10bit gamma mode for gen2/3

2022-11-12 Thread Ville Syrjala
From: Ville Syrjälä Some gen2/gen3 parts have a 10bit gamma mode, on some pipes. Expose it. The format is different to the later i965+ style in that we store a 10bit value and a 6 bit floating point slope for each entry. Ie. the hardware extrapolates the intermediate steps from the current LUT

[Intel-gfx] [PATCH v3 13/18] drm/i915: Finish the LUT state checker

2022-11-12 Thread Ville Syrjala
From: Ville Syrjälä We have full readout now for all platforms (sans the icl+ multi-segment readout hw fail), so hook up the LUT state checker for everyone. We add a new vfunc for this since different platforms need to handle the details a bit differently. The implementation is rather

[Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915/display: Add missing checks for cdclk crawling (rev2)

2022-11-12 Thread Patchwork
== Series Details == Series: drm/i915/display: Add missing checks for cdclk crawling (rev2) URL : https://patchwork.freedesktop.org/series/110734/ State : success == Summary == CI Bug Log - changes from CI_DRM_12371_full -> Patchwork_110734v2_full

[Intel-gfx] ✗ Fi.CI.IGT: failure for drm/i915: Finish (de)gamma readout (rev4)

2022-11-12 Thread Patchwork
== Series Details == Series: drm/i915: Finish (de)gamma readout (rev4) URL : https://patchwork.freedesktop.org/series/79614/ State : failure == Summary == CI Bug Log - changes from CI_DRM_12371_full -> Patchwork_79614v4_full Summary

[Intel-gfx] ✗ Fi.CI.IGT: failure for drm/i915: Per-device display tracepoints (rev2)

2022-11-12 Thread Patchwork
== Series Details == Series: drm/i915: Per-device display tracepoints (rev2) URL : https://patchwork.freedesktop.org/series/110807/ State : failure == Summary == CI Bug Log - changes from CI_DRM_12371_full -> Patchwork_110807v2_full