[PATCH 4/4] arm64: dts: qcom: sc8280xp: add p1 register blocks to DP nodes

2023-01-17 Thread Dmitry Baryshkov
Per DT bindings add p1 register blocks to all DP controllers on SC8280XP platform. Fixes: 6f299ae7f96d ("arm64: dts: qcom: sc8280xp: add p1 register blocks to DP nodes") Signed-off-by: Dmitry Baryshkov --- arch/arm64/boot/dts/qcom/sc8280xp.dtsi | 18 -- 1 file changed, 12 insert

[PATCH 2/4] dt-bindings: display/msm: qcom, sc8280xp-mdss: add DP / eDP child nodes

2023-01-17 Thread Dmitry Baryshkov
Describe DP and eDP devices as subdevices to the MDSS on SC8280XP platform. Fixes: 45af56bf2d74 ("dt-bindings: display/msm: Add binding for SC8280XP MDSS") Signed-off-by: Dmitry Baryshkov --- .../bindings/display/msm/qcom,sc8280xp-mdss.yaml | 8 1 file changed, 8 insertions(+)

[PATCH 3/4] arm64: dts: qcom: sc8280xp-crd: drop #sound-dai-cells from eDP node

2023-01-17 Thread Dmitry Baryshkov
The eDP device doesn't provide sound DAI. Drop corresponding property from the eDP node. Signed-off-by: Dmitry Baryshkov --- arch/arm64/boot/dts/qcom/sc8280xp-crd.dts | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm64/boot/dts/qcom/sc8280xp-crd.dts b/arch/arm64/boot/dts/qcom/sc8280x

[PATCH] arm64: dts: qcom: sm8350: use qcom, sm8350-dsi-ctrl compatibles

2023-01-17 Thread Dmitry Baryshkov
Add the per-SoC (qcom,sm8350-dsi-ctrl) compatible strings to DSI nodes to follow the pending DSI bindings changes. Signed-off-by: Dmitry Baryshkov --- arch/arm64/boot/dts/qcom/sm8350.dtsi | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/arm64/boot/dts/qcom/sm8350.dtsi

RE: [PATCH 1/3] drm/msm/disp/dpu1: allow reservation even if dspps are not available.

2023-01-17 Thread Kalyan Thota
>-Original Message- >From: Dmitry Baryshkov >Sent: Tuesday, January 17, 2023 10:10 PM >To: Kalyan Thota (QUIC) ; dri- >de...@lists.freedesktop.org; linux-arm-...@vger.kernel.org; >freedr...@lists.freedesktop.org; devicet...@vger.kernel.org >Cc: linux-ker...@vger.kernel.org; robdcl...@chr

Re: [PATCH 1/2] drm: Add DRM-managed alloc_workqueue() and alloc_ordered_workqueue()

2023-01-17 Thread Jiasheng Jiang
> On Tue, Jan 10, 2023 at 11:24:47PM +0800, Jiasheng Jiang wrote: >> Add drmm_alloc_workqueue() and drmm_alloc_ordered_workqueue(), the helpers >> that provide managed workqueue cleanup. The workqueue will be destroyed >> with the final reference of the DRM device. >> >> Signed-off-by: Jiasheng Ji

[PATCH 0/4] dt-bindings: display/msm: more dsi-controller fixes

2023-01-17 Thread Dmitry Baryshkov
A small set of patches to go on top of Bryan's changes to fix a small number of remaining issues. Dependencies: [1] [1] https://lore.kernel.org/linux-arm-msm/20230116225217.1056258-1-bryan.odonog...@linaro.org/ Dmitry Baryshkov (4): dt-bindings: display/msm: dsi-controller-main: remove #a

[PATCH 2/4] dt-bindings: display/msm: dsi-controller-main: account for apq8064

2023-01-17 Thread Dmitry Baryshkov
APQ8064 requires listing four clocks in the assigned-clocks / assigned-clock-parents properties. Account for that. Signed-off-by: Dmitry Baryshkov --- .../bindings/display/msm/dsi-controller-main.yaml | 8 ++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/Documentat

[PATCH 1/4] dt-bindings: display/msm: dsi-controller-main: remove #address/#size-cells

2023-01-17 Thread Dmitry Baryshkov
Stop mentioning #address-cells/#size-cells which are defined in display/dsi-controller.yaml. Use unevaluatedProperties instead of additionalProperties to allow skipping properties defined in other schema files. Signed-off-by: Dmitry Baryshkov --- .../bindings/display/msm/dsi-controller-main.yaml

[PATCH 4/4] dt-binbings: display/msm: dsi-controller-main: add missing supplies

2023-01-17 Thread Dmitry Baryshkov
Describe DSI supplies used on apq8064 (vdda-supply) and msm8994/96 (vcca-supply). Signed-off-by: Dmitry Baryshkov --- .../bindings/display/msm/dsi-controller-main.yaml | 8 1 file changed, 8 insertions(+) diff --git a/Documentation/devicetree/bindings/display/msm/dsi-controlle

[PATCH 3/4] dt-bindings: display/msm: dsi-controller-main: allow using fewer lanes

2023-01-17 Thread Dmitry Baryshkov
Some platforms might use less than full 4 lanes DSI interface. Allow using any amount of lanes starting from 1 up to 4. Signed-off-by: Dmitry Baryshkov --- .../devicetree/bindings/display/msm/dsi-controller-main.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Docum

Re: [PATCH 1/3] drm/msm/disp/dpu1: allow reservation even if dspps are not available.

2023-01-17 Thread Dmitry Baryshkov
On 18/01/2023 05:24, Kalyan Thota wrote: -Original Message- From: Dmitry Baryshkov Sent: Tuesday, January 17, 2023 10:10 PM To: Kalyan Thota (QUIC) ; dri- de...@lists.freedesktop.org; linux-arm-...@vger.kernel.org; freedr...@lists.freedesktop.org; devicet...@vger.kernel.org Cc: linux-

Re: [PATCH v8 1/3] dt-bindings: msm: dsi-controller-main: Add compatible strings for every current SoC

2023-01-17 Thread Dmitry Baryshkov
On 17/01/2023 00:52, Bryan O'Donoghue wrote: Currently we do not differentiate between the various users of the qcom,mdss-dsi-ctrl. The driver is flexible enough to operate from one compatible string but, the hardware does have some significant differences in the number of clocks. To facilitate

RE: [PATCH 2/3] drm/msm/disp/dpu1: allow dspp selection for all the interfaces

2023-01-17 Thread Kalyan Thota
>-Original Message- >From: Dmitry Baryshkov >Sent: Tuesday, January 17, 2023 10:26 PM >To: Kalyan Thota (QUIC) ; dri- >de...@lists.freedesktop.org; linux-arm-...@vger.kernel.org; >freedr...@lists.freedesktop.org; devicet...@vger.kernel.org >Cc: linux-ker...@vger.kernel.org; robdcl...@chr

Re: [PATCH 2/3] drm/msm/disp/dpu1: allow dspp selection for all the interfaces

2023-01-17 Thread Dmitry Baryshkov
On 18/01/2023 05:30, Kalyan Thota wrote: -Original Message- From: Dmitry Baryshkov Sent: Tuesday, January 17, 2023 10:26 PM To: Kalyan Thota (QUIC) ; dri- de...@lists.freedesktop.org; linux-arm-...@vger.kernel.org; freedr...@lists.freedesktop.org; devicet...@vger.kernel.org Cc: linux-

[PATCH v7 00/11] dt-bindings: display/msm: rework MDP5 and MDSS schema

2023-01-17 Thread Dmitry Baryshkov
Krzysztof asked me to merge all pending MDSS/MDP5/DPU patches to a single series to ease review and to let one to see the whole picture. This combines three series: MDP5 schema conversion, mdss/mdp renaming and addition of the "core" clock to the MDSS device node. Patch 4 might generate warnings

[PATCH v7 02/11] dt-bindings: display/msm: add SoC-specific compats to qcom, mdp5.yaml

2023-01-17 Thread Dmitry Baryshkov
Add platform-specific compatible entries to the qcom,mdp5.yaml to allow distinguishing between various platforms. Reviewed-by: Rob Herring Signed-off-by: Dmitry Baryshkov --- .../bindings/display/msm/qcom,mdp5.yaml | 17 - .../bindings/display/msm/qcom,mdss.yaml

[PATCH v7 01/11] dt-bindings: display/msm: convert MDP5 schema to YAML format

2023-01-17 Thread Dmitry Baryshkov
Convert the mdp5.txt into the yaml format. Changes to the existing (txt) schema: - MSM8996 has additional "iommu" clock, define it separately - Add new properties used on some of platforms: - interconnects, interconnect-names - iommus - power-domains - operating-points-v2, opp-table

[PATCH v7 06/11] ARM: dts: qcom-msm8974: add SoC specific compat string to mdp5 node

2023-01-17 Thread Dmitry Baryshkov
Add SoC-specific compat string to the MDP5 device node to ease distinguishing between various platforms. Signed-off-by: Dmitry Baryshkov --- arch/arm/boot/dts/qcom-msm8974.dtsi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm/boot/dts/qcom-msm8974.dtsi b/arch/arm/boo

[PATCH v7 03/11] dt-bindings: display/msm: add core clock to the mdss bindings

2023-01-17 Thread Dmitry Baryshkov
Add (optional) core clock to the mdss bindings to let the MDSS driver access hardware registers before MDP driver probes. Signed-off-by: Dmitry Baryshkov --- .../bindings/display/msm/qcom,mdss.yaml | 32 +-- 1 file changed, 22 insertions(+), 10 deletions(-) diff --git a/Do

[PATCH v7 07/11] arm64: dts: qcom: add SoC specific compat strings to mdp5 nodes

2023-01-17 Thread Dmitry Baryshkov
Add SoC-specific compat string to the MDP5 device nodes to ease distinguishing between various platforms. Signed-off-by: Dmitry Baryshkov --- arch/arm64/boot/dts/qcom/msm8916.dtsi | 2 +- arch/arm64/boot/dts/qcom/msm8996.dtsi | 2 +- arch/arm64/boot/dts/qcom/sdm630.dtsi | 2 +- arch/arm64/boot/

[PATCH v7 05/11] dt-bindings: display/msm: rename mdp nodes to display-controller

2023-01-17 Thread Dmitry Baryshkov
Follow the 'generic names' rule and rename mdp nodes to display-controller. Reviewed-by: Rob Herring Signed-off-by: Dmitry Baryshkov --- .../devicetree/bindings/display/msm/dpu-common.yaml | 8 .../devicetree/bindings/display/msm/qcom,mdp5.yaml| 3 +++ .../devicetree/bind

[PATCH v7 09/11] ARM: dts: qcom-msm8974: rename mdss node to display-subsystem

2023-01-17 Thread Dmitry Baryshkov
Follow the schema change and rename mdss node to generic name 'display-subsystem'. Signed-off-by: Dmitry Baryshkov --- arch/arm/boot/dts/qcom-msm8974.dtsi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm/boot/dts/qcom-msm8974.dtsi b/arch/arm/boot/dts/qcom-msm8974.dts

[PATCH v7 04/11] dt-bindings: display/msm: rename mdss nodes to display-subsystem

2023-01-17 Thread Dmitry Baryshkov
Follow the 'generic names' rule and rename mdss nodes to display-subsystem. Signed-off-by: Dmitry Baryshkov --- Note, this patch might generate warnings in qcom,sm6115-mdss and qcom,qcm2290-mdss examples, but they have been fixed by the commit e5266ca38294 ("dt-bindings: display: msm: Rename mds

[PATCH v7 10/11] arm64: dts: qcom: rename mdp nodes to display-controller

2023-01-17 Thread Dmitry Baryshkov
Follow the schema change and rename mdp nodes to generic name 'display-controller'. Signed-off-by: Dmitry Baryshkov --- arch/arm64/boot/dts/qcom/msm8916.dtsi | 2 +- arch/arm64/boot/dts/qcom/msm8953.dtsi | 2 +- arch/arm64/boot/dts/qcom/msm8996.dtsi | 2 +- arch/arm64/boot/dts/qcom/sdm630.dtsi

[PATCH v7 08/11] arm64: dts: qcom: rename mdss nodes to display-subsystem

2023-01-17 Thread Dmitry Baryshkov
Follow the schema change and rename mdss nodes to generic name 'display-subsystem'. Signed-off-by: Dmitry Baryshkov --- arch/arm64/boot/dts/qcom/msm8916.dtsi | 2 +- arch/arm64/boot/dts/qcom/msm8953.dtsi | 2 +- arch/arm64/boot/dts/qcom/msm8996.dtsi | 2 +- arch/arm64/boot/dts/qcom/sc7180.dtsi

[PATCH v7 11/11] ARM: dts: qcom: rename mdp nodes to display-controller

2023-01-17 Thread Dmitry Baryshkov
Follow the schema change and rename mdp nodes to generic name 'display-controller'. Signed-off-by: Dmitry Baryshkov --- arch/arm/boot/dts/qcom-apq8064.dtsi | 2 +- arch/arm/boot/dts/qcom-msm8974.dtsi | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/arm/boot/dts/qcom-ap

Re: [PATCH] drm/i915/display: Convert i9xx_pipe_crc_auto_source to void

2023-01-17 Thread Deepak R Varma
On Tue, Jan 17, 2023 at 02:21:59PM -0500, Rodrigo Vivi wrote: > On Sat, Jan 14, 2023 at 07:33:53PM +0530, Deepak R Varma wrote: > > Convert function i9xx_pipe_crc_auto_source() to return void instead > > of int since the current implementation always returns 0 to the caller. > > Issue identified us

Re: [Intel-gfx] [PATCH 2/2] drm/i915/gvt: Avoid full proxy f_ops for vgpu_status debug attributes

2023-01-17 Thread Deepak R Varma
On Tue, Jan 17, 2023 at 02:29:37PM -0500, Rodrigo Vivi wrote: > On Mon, Jan 16, 2023 at 01:44:46PM +0800, Zhenyu Wang wrote: > > On 2023.01.10 13:49:57 -0500, Rodrigo Vivi wrote: > > > On Wed, Jan 11, 2023 at 12:00:12AM +0530, Deepak R Varma wrote: > > > > Using DEFINE_SIMPLE_ATTRIBUTE macro with t

Re: [PATCH] drm/panel: boe-tv101wum-nl6: Ensure DSI writes succeed during disable

2023-01-17 Thread Stephen Boyd
Quoting Dave Stevenson (2023-01-16 06:11:02) > Hi Stephen > > On Fri, 13 Jan 2023 at 21:12, Stephen Boyd wrote: > > > > > > Thanks for the info! It says "Drivers that need the underlying device to > > be powered to perform these operations will first need to make sure it’s > > been properly enable

Re: remove arch/sh

2023-01-17 Thread Rob Landley
On 1/17/23 14:26, Geert Uytterhoeven wrote: > Hi Rob, > > On Tue, Jan 17, 2023 at 8:01 PM Rob Landley wrote: >> On 1/16/23 01:13, Christoph Hellwig wrote: >> > On Fri, Jan 13, 2023 at 09:09:52AM +0100, John Paul Adrian Glaubitz wrote: >> >> I'm still maintaining and using this port in Debian. >

[PATCH drm-next 00/14] [RFC] DRM GPUVA Manager & Nouveau VM_BIND UAPI

2023-01-17 Thread Danilo Krummrich
This patch series provides a new UAPI for the Nouveau driver in order to support Vulkan features, such as sparse bindings and sparse residency. Furthermore, with the DRM GPUVA manager it provides a new DRM core feature to keep track of GPU virtual address (VA) mappings in a more generic way. The

[PATCH drm-next 01/14] drm: execution context for GEM buffers

2023-01-17 Thread Danilo Krummrich
From: Christian König This adds the infrastructure for an execution context for GEM buffers which is similar to the existinc TTMs execbuf util and intended to replace it in the long term. The basic functionality is that we abstracts the necessary loop to lock many different GEM buffers with auto

[PATCH drm-next 02/14] drm/exec: fix memory leak in drm_exec_prepare_obj()

2023-01-17 Thread Danilo Krummrich
Don't call drm_gem_object_get() unconditionally. Signed-off-by: Danilo Krummrich --- drivers/gpu/drm/drm_exec.c | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/gpu/drm/drm_exec.c b/drivers/gpu/drm/drm_exec.c index ed2106c22786..5713a589a6a3 100644 --- a/drivers/gpu/drm/drm_exec.c +++

[PATCH drm-next 03/14] drm: manager to keep track of GPUs VA mappings

2023-01-17 Thread Danilo Krummrich
This adds the infrastructure for a manager implementation to keep track of GPU virtual address (VA) mappings. New UAPIs, motivated by Vulkan sparse memory bindings graphics drivers start implementing, allow userspace applications to request multiple and arbitrary GPU VA mappings of buffer objects.

[PATCH drm-next 04/14] drm: debugfs: provide infrastructure to dump a DRM GPU VA space

2023-01-17 Thread Danilo Krummrich
This commit adds a function to dump a DRM GPU VA space and a macro for drivers to register the struct drm_info_list 'gpuvas' entry. Most likely, most drivers might maintain one DRM GPU VA space per struct drm_file, but there might also be drivers not having a fixed relation between DRM GPU VA spac

[PATCH drm-next 06/14] drm/nouveau: get vmm via nouveau_cli_vmm()

2023-01-17 Thread Danilo Krummrich
Provide a getter function for the client's current vmm context. Since we'll add a new (u)vmm context for UMD bindings in subsequent commits, this will keep the code clean. Signed-off-by: Danilo Krummrich --- drivers/gpu/drm/nouveau/nouveau_bo.c | 2 +- drivers/gpu/drm/nouveau/nouveau_chan.c |

[PATCH drm-next 05/14] drm/nouveau: new VM_BIND uapi interfaces

2023-01-17 Thread Danilo Krummrich
This commit provides the interfaces for the new UAPI motivated by the Vulkan API. It allows user mode drivers (UMDs) to: 1) Initialize a GPU virtual address (VA) space via the new DRM_IOCTL_NOUVEAU_VM_INIT ioctl. UMDs can provide a kernel reserved VA area. 2) Bind and unbind GPU VA space ma

[PATCH drm-next 08/14] drm/nouveau: move usercopy helpers to nouveau_drv.h

2023-01-17 Thread Danilo Krummrich
Move the usercopy helpers to a common driver header file to make it usable for the new API added in subsequent commits. Signed-off-by: Danilo Krummrich --- drivers/gpu/drm/nouveau/nouveau_drv.h | 26 ++ drivers/gpu/drm/nouveau/nouveau_gem.c | 26 --

[PATCH drm-next 09/14] drm/nouveau: fence: fail to emit when fence context is killed

2023-01-17 Thread Danilo Krummrich
The new VM_BIND UAPI implementation introduced in subsequent commits will allow asynchronous jobs processing push buffers and emitting fences. If a fence context is killed, e.g. due to a channel fault, jobs which are already queued for execution might still emit new fences. In such a case a job wo

[PATCH drm-next 11/14] drm/nouveau: nvkm/vmm: implement raw ops to manage uvmm

2023-01-17 Thread Danilo Krummrich
The new VM_BIND UAPI uses the DRM GPU VA manager to manage the VA space. Hence, we a need a way to manipulate the MMUs page tables without going through the internal range allocator implemented by nvkm/vmm. This patch adds a raw interface for nvkm/vmm to pass the resposibility for managing the add

[PATCH drm-next 07/14] drm/nouveau: bo: initialize GEM GPU VA interface

2023-01-17 Thread Danilo Krummrich
Initialize the GEM's DRM GPU VA manager interface in preparation for the (u)vmm implementation, provided by subsequent commits, to make use of it. Signed-off-by: Danilo Krummrich --- drivers/gpu/drm/nouveau/nouveau_bo.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/gpu/drm/nouve

[PATCH drm-next 10/14] drm/nouveau: chan: provide nouveau_channel_kill()

2023-01-17 Thread Danilo Krummrich
The new VM_BIND UAPI implementation introduced in subsequent commits will allow asynchronous jobs processing push buffers and emitting fences. If a job times out, we need a way to recover from this situation. For now, simply kill the channel to unblock all hung up jobs and signal userspace that th

[PATCH drm-next 12/14] drm/nouveau: implement uvmm for user mode bindings

2023-01-17 Thread Danilo Krummrich
uvmm provides the driver abstraction around the DRM GPU VA manager connecting it to the nouveau infrastructure. It handles the split and merge operations provided by the DRM GPU VA manager for map operations colliding with existent mappings and takes care of the driver specific locking around the

[PATCH drm-next 13/14] drm/nouveau: implement new VM_BIND UAPI

2023-01-17 Thread Danilo Krummrich
This commit provides the implementation for the new uapi motivated by the Vulkan API. It allows user mode drivers (UMDs) to: 1) Initialize a GPU virtual address (VA) space via the new DRM_IOCTL_NOUVEAU_VM_INIT ioctl for UMDs to specify the portion of VA space managed by the kernel and usersp

[PATCH drm-next 14/14] drm/nouveau: debugfs: implement DRM GPU VA debugfs

2023-01-17 Thread Danilo Krummrich
Provide the driver indirection iterating over all DRM GPU VA spaces to enable the common 'gpuvas' debugfs file for dumping DRM GPU VA spaces. Signed-off-by: Danilo Krummrich --- drivers/gpu/drm/nouveau/nouveau_debugfs.c | 24 +++ 1 file changed, 24 insertions(+) diff --git a

Re: [PATCH] MAINTAINERS/ACCEL: Add include/drm/drm_accel.h to the accel entry

2023-01-17 Thread Oded Gabbay
On Tue, Jan 17, 2023 at 8:10 PM Jeffrey Hugo wrote: > > get_maintainer.pl does not suggest Oded Gabbay, the DRM COMPUTE > ACCELERATORS DRIVERS AND FRAMEWORK maintainer for changes that touch > the Accel Subsystem header - drm_accel.h. This is because that file is > missing from the Accel Subsyste

Re: [PATCH] accel: Add .mmap to DRM_ACCEL_FOPS

2023-01-17 Thread Oded Gabbay
On Tue, Jan 17, 2023 at 7:48 PM Jeffrey Hugo wrote: > > In reviewing the ivpu driver, DEFINE_DRM_ACCEL_FOPS could have been used > if DRM_ACCEL_FOPS defined .mmap to be drm_gem_mmap. Lets add that since > accel drivers are a variant of drm drivers, modern drm drivers are > expected to use GEM, an

Re: [PATCH v9 23/23] drm/i915/vm_bind: Support capture of persistent mappings

2023-01-17 Thread Niranjana Vishwanathapura
On Tue, Dec 13, 2022 at 12:03:07PM +, Matthew Auld wrote: On 12/12/2022 23:15, Niranjana Vishwanathapura wrote: Support dump capture of persistent mappings upon user request. Capture of a mapping is requested with the VM_BIND ioctl and processed during the GPU error handling, thus not addin

Re: [PATCH 2/2] drm_print: Remove deprecated DRM_DEBUG_KMS_RATELIMITED()

2023-01-17 Thread Christian König
Am 17.01.23 um 19:12 schrieb Das, Nirmoy: Hi Alex, On 1/17/2023 7:06 PM, Alex Deucher wrote: On Tue, Jan 17, 2023 at 1:05 PM Nirmoy Das wrote: There are no current users of DRM_DEBUG_KMS_RATELIMITED() so remove it. Cc: Maarten Lankhorst Cc: Maxime Ripard Cc: Thomas Zimmermann Cc: David

Re: [PATCH v2 1/3] drm/msm/gpu: Add devfreq tuning debugfs

2023-01-17 Thread Naresh Kamboju
Following build regression noticed on Linux next-20230118. Regressions found on arm: - build/gcc-8-imx_v6_v7_defconfig - build/gcc-12-imx_v6_v7_defconfig - build/clang-15-imx_v6_v7_defconfig - build/clang-nightly-imx_v6_v7_defconfig Reported-by: Linux Kernel Functional Testing W

[PATCH v10 00/23] drm/i915/vm_bind: Add VM_BIND functionality

2023-01-17 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 persiste

[PATCH v10 22/23] drm/i915/vm_bind: Properly build persistent map sg table

2023-01-17 Thread Niranjana Vishwanathapura
Properly build the sg table for persistent mapping which can be partial map of the underlying object. Ensure the sg pages are properly set for page backed regions. The dump capture support requires this for page backed regions. v2: Remove redundant sg_mark_end() call Signed-off-by: Niranjana Vish

[PATCH v10 16/23] drm/i915/vm_bind: Handle persistent vmas in execbuf3

2023-01-17 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,

[PATCH v10 12/23] drm/i915/vm_bind: Use common execbuf functions in execbuf path

2023-01-17 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 d

[PATCH v10 10/23] drm/i915/vm_bind: Add out fence support

2023-01-17 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 I915_T

[PATCH v10 02/23] drm/i915/vm_bind: Add __i915_sw_fence_await_reservation()

2023-01-17 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 +++

[PATCH v10 07/23] drm/i915/vm_bind: Support for VM private BOs

2023-01-17 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 o

[PATCH v10 01/23] drm/i915/vm_bind: Expose vm lookup function

2023-01-17 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 |

[PATCH v10 14/23] drm/i915/vm_bind: Update i915_vma_verify_bind_complete()

2023-01-17 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 --- drivers

[PATCH v10 06/23] drm/i915/vm_bind: Implement bind and unbind of object

2023-01-17 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,

[PATCH v10 03/23] drm/i915/vm_bind: Expose i915_gem_object_max_page_size()

2023-01-17 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 +- drivers/gpu/drm/i915/gem/i9

[PATCH v10 04/23] drm/i915/vm_bind: Support partially mapped vma resource

2023-01-17 Thread Niranjana Vishwanathapura
As persistent vmas can be partialled mapped to an object, remove restriction which require vma resource sg table to be just pointer to object's sg table. Reviewed-by: Matthew Auld Signed-off-by: Niranjana Vishwanathapura --- drivers/gpu/drm/i915/i915_vma.c | 3 +-- 1 file changed, 1 insertion(+

[PATCH v10 08/23] drm/i915/vm_bind: Add support to handle object evictions

2023-01-17 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 Auld

[PATCH v10 13/23] drm/i915/vm_bind: Implement I915_GEM_EXECBUFFER3 ioctl

2023-01-17 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 befor

[PATCH v10 11/23] drm/i915/vm_bind: Abstract out common execbuf functions

2023-01-17 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 Auld

[PATCH v10 09/23] drm/i915/vm_bind: Support persistent vma activeness tracking

2023-01-17 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 repre

[PATCH v10 05/23] drm/i915/vm_bind: Add support to create persistent vma

2023-01-17 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 same

[PATCH v10 20/23] drm/i915/vm_bind: Render VM_BIND documentation

2023-01-17 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(-) di

[PATCH v10 18/23] drm/i915/vm_bind: Limit vm_bind mode to non-recoverable contexts

2023-01-17 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 changed,

[PATCH v10 17/23] drm/i915/vm_bind: userptr dma-resv changes

2023-01-17 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: Niranjan

[PATCH v10 15/23] drm/i915/vm_bind: Expose i915_request_await_bind()

2023-01-17 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 +---

[PATCH v10 19/23] drm/i915/vm_bind: Add uapi for user to enable vm_bind_mode

2023-01-17 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 Aul

[PATCH v10 23/23] drm/i915/vm_bind: Support capture of persistent mappings

2023-01-17 Thread Niranjana Vishwanathapura
Support dump capture of persistent mappings upon user request. Capture of a mapping is requested with the VM_BIND ioctl and processed during the GPU error handling. They are synchronously unbound during eviction so that no additional vma resource reference taking is required in the submission path

[PATCH v10 21/23] drm/i915/vm_bind: Async vm_unbind support

2023-01-17 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 unbind

Re: remove arch/sh

2023-01-17 Thread Geert Uytterhoeven
Hi Rob, On Wed, Jan 18, 2023 at 5:50 AM Rob Landley wrote: > On 1/17/23 14:26, Geert Uytterhoeven wrote: > > On Tue, Jan 17, 2023 at 8:01 PM Rob Landley wrote: > >> I'm lazy and mostly test each new sh4 build under qemu -M r2d because it's > >> really convenient: neither of my physical boards bo

[PATCH] drm/amd/display: remove duplicate included header files

2023-01-17 Thread ye.xingchen
From: ye xingchen resource.h is included more than once. Signed-off-by: ye xingchen --- drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c b/drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c index

<    1   2   3