[PATCH v3] component: do not leave master devres group open after bind

2021-10-13 Thread Kai Vehmanen
In current code, the devres group for aggregate master is left open after call to component_master_add_*(). This leads to problems when the master does further managed allocations on its own. When any participating driver calls component_del(), this leads to immediate release of resources. This ca

Re: [PATCH v2 28/34] power: supply: ab8500: Migrate to aggregate driver

2021-10-13 Thread Sebastian Reichel
Hi, [+cc Linus Walleij (I guess we should add a MAINTAINERS entry for the ab8500* power-supply drivers)] On Wed, Oct 06, 2021 at 12:38:13PM -0700, Stephen Boyd wrote: > Use an aggregate driver instead of component ops so that we can get > proper driver probe ordering of the aggregate device with

Re: [PATCH 2/2] drm/i915/pmu: Connect engine busyness stats from GuC to pmu

2021-10-13 Thread Umesh Nerlige Ramappa
On Wed, Oct 13, 2021 at 05:06:26PM +0100, Tvrtko Ursulin wrote: On 13/10/2021 01:56, Umesh Nerlige Ramappa wrote: With GuC handling scheduling, i915 is not aware of the time that a context is scheduled in and out of the engine. Since i915 pmu relies on this info to provide engine busyness to th

Re: [Intel-gfx] [PATCH] drm/i915: Use dma_resv_iter for waiting in i915_gem_object_wait_reservation.

2021-10-13 Thread Maarten Lankhorst
Op 13-10-2021 om 17:37 schreef Tvrtko Ursulin: > > On 13/10/2021 15:00, Daniel Vetter wrote: >> On Wed, Oct 13, 2021 at 02:32:03PM +0200, Maarten Lankhorst wrote: >>> No memory should be allocated when calling i915_gem_object_wait, >>> because it may be called to idle a BO when evicting memory. >>>

Re: [PATCH v2] drm/cma-helper: Set VM_DONTEXPAND for mmap

2021-10-13 Thread Daniel Vetter
On Wed, Oct 13, 2021 at 10:36:54AM -0400, Alyssa Rosenzweig wrote: > From: Robin Murphy > > drm_gem_cma_mmap() cannot assume every implementation of dma_mmap_wc() > will end up calling remap_pfn_range() (which happens to set the relevant > vma flag, among others), so in order to make sure expecta

Re: [PATCH RFC] virtio: wrap config->reset calls

2021-10-13 Thread Pankaj Gupta
> This will enable cleanups down the road. > The idea is to disable cbs, then add "flush_queued_cbs" callback > as a parameter, this way drivers can flush any work > queued after callbacks have been disabled. > > Signed-off-by: Michael S. Tsirkin > --- > arch/um/drivers/virt-pci.c

[PATCH] drm: fix null-ptr-deref in drm_dev_init_release()

2021-10-13 Thread Wang Hai
I got a null-ptr-deref report: [drm:drm_dev_init [drm]] *ERROR* Cannot allocate anonymous inode: -12 == BUG: KASAN: null-ptr-deref in iput+0x3c/0x4a0 ... Call Trace: dump_stack_lvl+0x6c/0x8b kasan_report.cold+0x64/0xdb __asan_load8

Re: [PATCH RFC] virtio: wrap config->reset calls

2021-10-13 Thread Cristian Marussi
On Wed, Oct 13, 2021 at 06:55:31AM -0400, Michael S. Tsirkin wrote: > This will enable cleanups down the road. > The idea is to disable cbs, then add "flush_queued_cbs" callback > as a parameter, this way drivers can flush any work > queued after callbacks have been disabled. > > Signed-off-by: Mi

Re: [PATCH RFC] virtio: wrap config->reset calls

2021-10-13 Thread Mathieu Poirier
On Wed, Oct 13, 2021 at 06:55:31AM -0400, Michael S. Tsirkin wrote: > This will enable cleanups down the road. > The idea is to disable cbs, then add "flush_queued_cbs" callback > as a parameter, this way drivers can flush any work > queued after callbacks have been disabled. > > Signed-off-by: Mi

[syzbot] general protection fault in sg_alloc_append_table_from_pages

2021-10-13 Thread syzbot
Hello, syzbot found the following issue on: HEAD commit:717478d89fe2 Merge tag 'riscv-for-linus-5.15-rc5' of git:/.. git tree: upstream console output: https://syzkaller.appspot.com/x/log.txt?x=12489abf30 kernel config: https://syzkaller.appspot.com/x/.config?x=32e6048063923b7b das

Re: [RFC PATCH] drm: Increase DRM_OBJECT_MAX_PROPERTY by 18.

2021-10-13 Thread Sebastian Andrzej Siewior
On 2021-10-13 14:57:34 [+0200], Daniel Vetter wrote: > Hm there's a pile of commits there, and nothing immediately jumps to > light. The thing is, 18 is likely way too much, since if e.g. we have a > single new property on a plane and that pushes over the limit on all of > them, you get iirc 3x4 al

[PATCH 1/3] drm:Enable buddy allocator support

2021-10-13 Thread Arunpravin
Port Intel buddy manager to drm root folder Implemented range allocation support for the provided order Implemented TOP-DOWN support Implemented freeing up unused pages on contiguous allocation Moved range allocation and freelist pickup into a single function Signed-off-by: Arunpravin --- driver

Re: [PATCH v2] drm/cma-helper: Set VM_DONTEXPAND for mmap

2021-10-13 Thread Alyssa Rosenzweig
> > From: Robin Murphy > > > > drm_gem_cma_mmap() cannot assume every implementation of dma_mmap_wc() > > will end up calling remap_pfn_range() (which happens to set the relevant > > vma flag, among others), so in order to make sure expectations around > > VM_DONTEXPAND are met, let it explicitly

Re: [PATCH v2] drm/cma-helper: Set VM_DONTEXPAND for mmap

2021-10-13 Thread Robin Murphy
Hi Daniel, On 2021-10-13 18:08, Daniel Vetter wrote: On Wed, Oct 13, 2021 at 10:36:54AM -0400, Alyssa Rosenzweig wrote: From: Robin Murphy drm_gem_cma_mmap() cannot assume every implementation of dma_mmap_wc() will end up calling remap_pfn_range() (which happens to set the relevant vma flag,

Re: [PATCH 23/26] drm/i915: Make request conflict tracking understand parallel submits

2021-10-13 Thread Matthew Brost
On Tue, Oct 12, 2021 at 03:08:05PM -0700, John Harrison wrote: > On 10/4/2021 15:06, Matthew Brost wrote: > > If an object in the excl or shared slot is a composite fence from a > > parallel submit and the current request in the conflict tracking is from > > the same parallel context there is no ne

Re: [PATCH 10/26] drm/i915/guc: Assign contexts in parent-child relationship consecutive guc_ids

2021-10-13 Thread Matthew Brost
On Fri, Oct 08, 2021 at 09:40:43AM -0700, John Harrison wrote: > On 10/7/2021 18:21, Matthew Brost wrote: > > On Thu, Oct 07, 2021 at 03:03:04PM -0700, John Harrison wrote: > > > On 10/4/2021 15:06, Matthew Brost wrote: > > > > Assign contexts in parent-child relationship consecutive guc_ids. This

[PATCH 1/2] drm: Add Gamma and Degamma LUT sizes props to drm_crtc to validate.

2021-10-13 Thread Mark Yacoub
From: Mark Yacoub [Why] 1. drm_atomic_helper_check doesn't check for the LUT sizes of either Gamma or Degamma props in the new CRTC state, allowing any invalid size to be passed on. 2. Each driver has its own LUT size, which could also be different for legacy users. [How] 1. Create |degamma_lut_

[PATCH 2/2] amd/amdgpu_dm: Verify Gamma and Degamma LUT sizes using DRM Core check

2021-10-13 Thread Mark Yacoub
From: Mark Yacoub [Why] drm_atomic_helper_check_crtc now verifies both legacy and non-legacy LUT sizes. There is no need to check it within amdgpu_dm_atomic_check. [How] Remove the local call to verify LUT sizes and use DRM Core function instead. Tested on ChromeOS Zork. v1: Remove amdgpu_dm_v

Re: [PATCH 1/2] drm: Add Gamma and Degamma LUT sizes props to drm_crtc to validate.

2021-10-13 Thread Mark Yacoub
On Fri, Oct 1, 2021 at 4:34 PM Sean Paul wrote: > > On Wed, Sep 29, 2021 at 03:39:25PM -0400, Mark Yacoub wrote: > > From: Mark Yacoub > > > > [Why] > > 1. drm_atomic_helper_check doesn't check for the LUT sizes of either Gamma > > or Degamma props in the new CRTC state, allowing any invalid size

Re: [PATCH 12/26] drm/i915/guc: Implement multi-lrc submission

2021-10-13 Thread Matthew Brost
On Fri, Oct 08, 2021 at 10:20:24AM -0700, John Harrison wrote: > On 10/4/2021 15:06, Matthew Brost wrote: > > Implement multi-lrc submission via a single workqueue entry and single > > H2G. The workqueue entry contains an updated tail value for each > > request, of all the contexts in the multi-lrc

[PATCH v2 1/4] dri: do not check for NULL debugfs dentry

2021-10-13 Thread Nirmoy Das
Debugfs APIs returns encoded error on failure instead of NULL and for drm primary/minor debugfs directories, we save the returned value in the dentry pointer and pass it on to drm drivers to further create debugfs files/directories. Error conditions are handled by debugfs APIs, so no need to check

[PATCH 2/4] drm/ttm: do not set NULL to debugfs dentry

2021-10-13 Thread Nirmoy Das
For debugfs directory, it is recommended to save the result and pass over to next debugfs API for creating debugfs files/directories. Error conditions are handled by debugfs APIs. CC: Christian Koenig CC: Huang Rui CC: David Airlie CC: Daniel Vetter Signed-off-by: Nirmoy Das --- drivers/gpu

[PATCH 3/4] drm/i915/gt: do not check for NULL debugfs dentry

2021-10-13 Thread Nirmoy Das
Do not check for NULL value as drm.primary->debugfs_root will either contain a valid pointer or an encoded error instead of NULL. CC: Jani Nikula CC: Joonas Lahtinen CC: Rodrigo Vivi CC: David Airlie CC: Daniel Vetter Signed-off-by: Nirmoy Das --- drivers/gpu/drm/i915/gt/debugfs_gt.c | 3 -

[PATCH v2 4/4] vgaswitcheroo: do not check for NULL debugfs dentry

2021-10-13 Thread Nirmoy Das
Debugfs APIs returns encoded error on failure so use debugfs_lookup() instead of checking for NULL. CC: Lukas Wunner CC: David Airlie CC: Daniel Vetter CC: Maarten Lankhorst CC: Maxime Ripard CC: Thomas Zimmermann Signed-off-by: Nirmoy Das --- drivers/gpu/vga/vga_switcheroo.c | 2 +- 1 fi

Re: [Intel-gfx] [PATCH] drm/i915/uapi: Add comment clarifying purpose of I915_TILING_* values

2021-10-13 Thread Yokoyama, Caz
Looks good to me. Reviewed-by: Caz Yokoyama -caz On Tue, 2021-10-12 at 15:12 -0700, Matt Roper wrote: > The I915_TILING_* values in our uapi header are intended solely for > use > with the old get_tiling/set_tiling ioctls that operate on hardware > de-tiling fences; all other uapi communication a

Re: [PATCH v2 1/4] dri: do not check for NULL debugfs dentry

2021-10-13 Thread Das, Nirmoy
Ah there are three typos :/ s/deference/dereference for this one and for the 2nd patch as well. Regards, Nirmoy On 10/13/2021 8:35 PM, Nirmoy Das wrote: Debugfs APIs returns encoded error on failure instead of NULL and for drm primary/minor debugfs directories, we save the returned value in

Re: [PATCH] drm: Update MST First Link Slot Information Based on Encoding Format

2021-10-13 Thread kernel test robot
Hi Bhawanpreet, Thank you for the patch! Yet something to improve: [auto build test ERROR on drm-intel/for-linux-next] [also build test ERROR on drm-tip/drm-tip linus/master v5.15-rc5 next-20211013] [cannot apply to drm-exynos/exynos-drm-next tegra-drm/drm/tegra/for-next airlied/drm-next] [If

Re: [PATCH 10/26] drm/i915/guc: Assign contexts in parent-child relationship consecutive guc_ids

2021-10-13 Thread John Harrison
On 10/13/2021 11:03, Matthew Brost wrote: On Fri, Oct 08, 2021 at 09:40:43AM -0700, John Harrison wrote: On 10/7/2021 18:21, Matthew Brost wrote: On Thu, Oct 07, 2021 at 03:03:04PM -0700, John Harrison wrote: On 10/4/2021 15:06, Matthew Brost wrote: Assign contexts in parent-child relationshi

Re: [PATCH 23/26] drm/i915: Make request conflict tracking understand parallel submits

2021-10-13 Thread John Harrison
On 10/13/2021 10:51, Matthew Brost wrote: On Tue, Oct 12, 2021 at 03:08:05PM -0700, John Harrison wrote: On 10/4/2021 15:06, Matthew Brost wrote: If an object in the excl or shared slot is a composite fence from a parallel submit and the current request in the conflict tracking is from the same

Re: [PATCH] drm/i915: Use dma_resv_iter for waiting in i915_gem_object_wait_reservation.

2021-10-13 Thread kernel test robot
Hi Maarten, I love your patch! Yet something to improve: [auto build test ERROR on drm-intel/for-linux-next] [also build test ERROR on drm-tip/drm-tip drm-exynos/exynos-drm-next tegra-drm/drm/tegra/for-next v5.15-rc5 next-20211013] [cannot apply to airlied/drm-next] [If your patch is applied to

Re: [PATCH] drm: Update MST First Link Slot Information Based on Encoding Format

2021-10-13 Thread Bhawanpreet Lakha
On 2021-10-13 12:09 p.m., Jani Nikula wrote: On Tue, 12 Oct 2021, Bhawanpreet Lakha wrote: 8b/10b encoding format requires to reserve the first slot for recording metadata. Real data transmission starts from the second slot, with a total of available 63 slots available. In 128b/132b encoding

Re: [PATCH 23/26] drm/i915: Make request conflict tracking understand parallel submits

2021-10-13 Thread John Harrison
On 10/12/2021 17:32, Matthew Brost wrote: On Tue, Oct 12, 2021 at 03:08:05PM -0700, John Harrison wrote: On 10/4/2021 15:06, Matthew Brost wrote: If an object in the excl or shared slot is a composite fence from a parallel submit and the current request in the conflict tracking is from the same

Re: [PATCH] drm: Update MST First Link Slot Information Based on Encoding Format

2021-10-13 Thread Lyude Paul
On Wed, 2021-10-13 at 15:33 -0400, Bhawanpreet Lakha wrote: > > > I wonder if we could split this to separate drm dp helper and amd driver > > patches? Whoops! I thought it was strange that I would say this but it seems there was a misunderstanding on my part: when the original patch series was s

Re: [PATCH v2 01/34] component: Introduce struct aggregate_device

2021-10-13 Thread Stephen Boyd
Quoting Daniel Vetter (2021-10-13 05:22:23) > On Wed, Oct 06, 2021 at 12:37:46PM -0700, Stephen Boyd wrote: > > Replace 'struct master' with 'struct aggregate_device' and then rename > > 'master' to 'adev' everywhere in the code. While we're here, put a > > struct device inside the aggregate device

[RFC PATCH airlied] drm/i915/display: pipe_config_mismatch can be static

2021-10-13 Thread kernel test robot
drivers/gpu/drm/i915/display/intel_dump_verify.c:19:1: warning: symbol 'pipe_config_mismatch' was not declared. Should it be static? Fixes: 678661f2ff1b ("drm/i915/display: move display dump/verify code to a separate file") Reported-by: kernel test robot Signed-off-by: kernel test robot --- i

[airlied:drm-intel-display-refactor 12/19] drivers/gpu/drm/i915/display/intel_dump_verify.c:19:1: sparse: sparse: symbol 'pipe_config_mismatch' was not declared. Should it be static?

2021-10-13 Thread kernel test robot
tree: git://people.freedesktop.org/~airlied/linux.git drm-intel-display-refactor head: cb45bcc9cf97016e5d4edb7a4196f0847437460e commit: 678661f2ff1ba755fc652011d3edb2977165f508 [12/19] drm/i915/display: move display dump/verify code to a separate file config: i386-randconfig-s002-20211013

Re: [PATCH] drm/msm/dpu: Add CRC support for DPU

2021-10-13 Thread Jessica Zhang
On 10/11/2021 7:01 PM, Dmitry Baryshkov wrote: On 12/10/2021 02:41, Jessica Zhang wrote: Add CRC support to DPU, which is currently not supported by this driver. Only supports CRC for CRTC for now, but will extend support to other blocks later on. Tested on Qualcomm RB3 (debian, sdm845) Signed

[PATCH v4 00/20] drm: cleanup: Use DRM_MODESET_LOCK_ALL_* helpers

2021-10-13 Thread Fernando Ramos
Hi all, One of the things in the DRM TODO list ("Documentation/gpu/todo.rst") was to "use DRM_MODESET_LOCAL_ALL_* helpers instead of boilerplate". That's what this patch series is about. You will find two types of changes here: - Replacing "drm_modeset_lock_all_ctx()" (and surrounding boilerpl

[PATCH v4 01/20] drm: cleanup: drm_modeset_lock_all_ctx() --> DRM_MODESET_LOCK_ALL_BEGIN()

2021-10-13 Thread Fernando Ramos
As requested in Documentation/gpu/todo.rst, replace the boilerplate code surrounding drm_modeset_lock_all_ctx() with DRM_MODESET_LOCK_ALL_BEGIN() and DRM_MODESET_LOCK_ALL_END() Signed-off-by: Fernando Ramos --- drivers/gpu/drm/drm_client_modeset.c | 9 +++-- 1 file changed, 3 insertions(+),

[PATCH v4 02/20] drm/i915: cleanup: drm_modeset_lock_all_ctx() --> DRM_MODESET_LOCK_ALL_BEGIN()

2021-10-13 Thread Fernando Ramos
As requested in Documentation/gpu/todo.rst, replace the boilerplate code surrounding drm_modeset_lock_all_ctx() with DRM_MODESET_LOCK_ALL_BEGIN() and DRM_MODESET_LOCK_ALL_END() Signed-off-by: Fernando Ramos Reviewed-by: Sean Paul --- drivers/gpu/drm/i915/display/intel_display.c | 18 +--

[PATCH v4 03/20] drm/msm: cleanup: drm_modeset_lock_all_ctx() --> DRM_MODESET_LOCK_ALL_BEGIN()

2021-10-13 Thread Fernando Ramos
As requested in Documentation/gpu/todo.rst, replace the boilerplate code surrounding drm_modeset_lock_all_ctx() with DRM_MODESET_LOCK_ALL_BEGIN() and DRM_MODESET_LOCK_ALL_END() Signed-off-by: Fernando Ramos Reviewed-by: Sean Paul Reported-by: kernel test robot --- drivers/gpu/drm/msm/disp/msm_

[PATCH v4 04/20] drm: cleanup: drm_modeset_lock_all() --> DRM_MODESET_LOCK_ALL_BEGIN()

2021-10-13 Thread Fernando Ramos
As requested in Documentation/gpu/todo.rst, replace driver calls to drm_modeset_lock_all() with DRM_MODESET_LOCK_ALL_BEGIN() and DRM_MODESET_LOCK_ALL_END() Signed-off-by: Fernando Ramos Reviewed-by: Sean Paul --- drivers/gpu/drm/drm_client_modeset.c | 5 +++-- drivers/gpu/drm/drm_crtc_helper.c

[PATCH v4 05/20] drm/vmwgfx: cleanup: drm_modeset_lock_all() --> DRM_MODESET_LOCK_ALL_BEGIN()

2021-10-13 Thread Fernando Ramos
As requested in Documentation/gpu/todo.rst, replace driver calls to drm_modeset_lock_all() with DRM_MODESET_LOCK_ALL_BEGIN() and DRM_MODESET_LOCK_ALL_END() Signed-off-by: Fernando Ramos Reviewed-by: Sean Paul --- drivers/gpu/drm/vmwgfx/vmwgfx_ioctl.c | 11 +++ drivers/gpu/drm/vmwgfx/vmw

[PATCH v4 06/20] drm/tegra: cleanup: drm_modeset_lock_all() --> DRM_MODESET_LOCK_ALL_BEGIN()

2021-10-13 Thread Fernando Ramos
As requested in Documentation/gpu/todo.rst, replace driver calls to drm_modeset_lock_all() with DRM_MODESET_LOCK_ALL_BEGIN() and DRM_MODESET_LOCK_ALL_END() Signed-off-by: Fernando Ramos Reviewed-by: Sean Paul Reported-by: kernel test robot --- drivers/gpu/drm/tegra/dsi.c | 6 -- drivers/

[PATCH v4 08/20] drm/radeon: cleanup: drm_modeset_lock_all() --> DRM_MODESET_LOCK_ALL_BEGIN()

2021-10-13 Thread Fernando Ramos
As requested in Documentation/gpu/todo.rst, replace driver calls to drm_modeset_lock_all() with DRM_MODESET_LOCK_ALL_BEGIN() and DRM_MODESET_LOCK_ALL_END() Signed-off-by: Fernando Ramos --- drivers/gpu/drm/radeon/radeon_device.c | 21 +++-- drivers/gpu/drm/radeon/radeon_dp_mst.c

[PATCH v4 07/20] drm/shmobile: cleanup: drm_modeset_lock_all() --> DRM_MODESET_LOCK_ALL_BEGIN()

2021-10-13 Thread Fernando Ramos
As requested in Documentation/gpu/todo.rst, replace driver calls to drm_modeset_lock_all() with DRM_MODESET_LOCK_ALL_BEGIN() and DRM_MODESET_LOCK_ALL_END() Signed-off-by: Fernando Ramos Reviewed-by: Sean Paul --- drivers/gpu/drm/shmobile/shmob_drm_drv.c | 6 -- 1 file changed, 4 insertions(

[PATCH v4 10/20] drm/nouveau: cleanup: drm_modeset_lock_all() --> DRM_MODESET_LOCK_ALL_BEGIN()

2021-10-13 Thread Fernando Ramos
As requested in Documentation/gpu/todo.rst, replace driver calls to drm_modeset_lock_all() with DRM_MODESET_LOCK_ALL_BEGIN() and DRM_MODESET_LOCK_ALL_END() Signed-off-by: Fernando Ramos Reviewed-by: Sean Paul --- drivers/gpu/drm/nouveau/dispnv50/disp.c | 15 ++- 1 file changed, 10 i

[PATCH v4 09/20] drm/omapdrm: cleanup: drm_modeset_lock_all() --> DRM_MODESET_LOCK_ALL_BEGIN()

2021-10-13 Thread Fernando Ramos
As requested in Documentation/gpu/todo.rst, replace driver calls to drm_modeset_lock_all() with DRM_MODESET_LOCK_ALL_BEGIN() and DRM_MODESET_LOCK_ALL_END() Signed-off-by: Fernando Ramos Reviewed-by: Sean Paul --- drivers/gpu/drm/omapdrm/omap_fb.c | 9 ++--- 1 file changed, 6 insertions(+),

[PATCH v4 11/20] drm/msm: cleanup: drm_modeset_lock_all() --> DRM_MODESET_LOCK_ALL_BEGIN()

2021-10-13 Thread Fernando Ramos
As requested in Documentation/gpu/todo.rst, replace driver calls to drm_modeset_lock_all() with DRM_MODESET_LOCK_ALL_BEGIN() and DRM_MODESET_LOCK_ALL_END() Signed-off-by: Fernando Ramos --- drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c | 10 ++ 1 file changed, 6 insertions(+), 4 deletions(-)

[PATCH v4 12/20] drm/i915: cleanup: drm_modeset_lock_all() --> DRM_MODESET_LOCK_ALL_BEGIN()

2021-10-13 Thread Fernando Ramos
As requested in Documentation/gpu/todo.rst, replace driver calls to drm_modeset_lock_all() with DRM_MODESET_LOCK_ALL_BEGIN() and DRM_MODESET_LOCK_ALL_END() Signed-off-by: Fernando Ramos --- drivers/gpu/drm/i915/display/intel_audio.c| 16 --- .../drm/i915/display/intel_display_debugfs.c

[PATCH v4 13/20] drm/i915: cleanup: drm_modeset_lock_all() --> DRM_MODESET_LOCK_ALL_BEGIN() [part 2]

2021-10-13 Thread Fernando Ramos
As requested in Documentation/gpu/todo.rst, replace driver calls to drm_modeset_lock_all() with DRM_MODESET_LOCK_ALL_BEGIN() and DRM_MODESET_LOCK_ALL_END() NOTE: I separated this change from the rest of modifications to the i915 driver to point out something special explained next. The only diff

[PATCH v4 14/20] drm/i915: cleanup: drm_modeset_lock_all() --> DRM_MODESET_LOCK_ALL_BEGIN() [part 3]

2021-10-13 Thread Fernando Ramos
As requested in Documentation/gpu/todo.rst, replace driver calls to drm_modeset_lock_all() with DRM_MODESET_LOCK_ALL_BEGIN() and DRM_MODESET_LOCK_ALL_END() NOTE: While the previous two commits were a simple "search and replace", this time I had to do a bit of refactoring as only one call to DRM_M

[PATCH v4 15/20] drm/gma500: cleanup: drm_modeset_lock_all() --> DRM_MODESET_LOCK_ALL_BEGIN()

2021-10-13 Thread Fernando Ramos
As requested in Documentation/gpu/todo.rst, replace driver calls to drm_modeset_lock_all() with DRM_MODESET_LOCK_ALL_BEGIN() and DRM_MODESET_LOCK_ALL_END() Signed-off-by: Fernando Ramos --- drivers/gpu/drm/gma500/psb_device.c | 18 -- 1 file changed, 12 insertions(+), 6 deletions

[PATCH v4 16/20] drm/amd: cleanup: drm_modeset_lock_all() --> DRM_MODESET_LOCK_ALL_BEGIN()

2021-10-13 Thread Fernando Ramos
As requested in Documentation/gpu/todo.rst, replace driver calls to drm_modeset_lock_all() with DRM_MODESET_LOCK_ALL_BEGIN() and DRM_MODESET_LOCK_ALL_END() Signed-off-by: Fernando Ramos --- drivers/gpu/drm/amd/amdgpu/amdgpu_display.c | 21 ++--- 1 file changed, 14 insertions(+),

[PATCH v4 17/20] drm/amd: cleanup: drm_modeset_lock_all() --> DRM_MODESET_LOCK_ALL_BEGIN() [part 2]

2021-10-13 Thread Fernando Ramos
Refactor places using drm_modeset_{lock,unlock}_all() so that they only appear once per function. This is needed so that in the next commit I can replace those functions by the new macros (which use labels that can only appear once per function). Signed-off-by: Fernando Ramos --- .../gpu/drm/am

[PATCH v4 18/20] drm/amd: cleanup: drm_modeset_lock_all() --> DRM_MODESET_LOCK_ALL_BEGIN() [part 3]

2021-10-13 Thread Fernando Ramos
As requested in Documentation/gpu/todo.rst, replace driver calls to drm_modeset_lock_all() with DRM_MODESET_LOCK_ALL_BEGIN() and DRM_MODESET_LOCK_ALL_END() NOTE: While this change is similar to the one done two commits ago, it contains an important extra nuances that I'm going to explain next. T

[PATCH v4 20/20] drm: cleanup: remove acquire_ctx from drm_mode_config

2021-10-13 Thread Fernando Ramos
The previous patch removed drm_modeset_{lock,unlock}_all, which were the only users of this field inside the drm_mode_config structure. Signed-off-by: Fernando Ramos --- include/drm/drm_mode_config.h | 10 -- 1 file changed, 10 deletions(-) diff --git a/include/drm/drm_mode_config.h b/i

[PATCH v4 19/20] drm: cleanup: remove drm_modeset_(un)lock_all()

2021-10-13 Thread Fernando Ramos
Functions drm_modeset_lock_all() and drm_modeset_unlock_all() are no longer used anywhere and can be removed. Signed-off-by: Fernando Ramos --- drivers/gpu/drm/drm_modeset_lock.c | 94 +- include/drm/drm_modeset_lock.h | 2 - 2 files changed, 3 insertions(+), 93

[PATCH 17/25] drm/i915/doc: Update parallel submit doc to point to i915_drm.h

2021-10-13 Thread Matthew Brost
Update parallel submit doc to point to i915_drm.h Signed-off-by: Matthew Brost Reviewed-by: John Harrison --- Documentation/gpu/rfc/i915_parallel_execbuf.h | 122 -- Documentation/gpu/rfc/i915_scheduler.rst | 4 +- 2 files changed, 2 insertions(+), 124 deletions(-) delet

[PATCH 02/25] drm/i915/guc: Take GT PM ref when deregistering context

2021-10-13 Thread Matthew Brost
Taking a PM reference to prevent intel_gt_wait_for_idle from short circuiting while a deregister context H2G is in flight. To do this must issue the deregister H2G from a worker as context can be destroyed from an atomic context and taking GT PM ref blows up. Previously we took a runtime PM from th

[PATCH 03/25] drm/i915/guc: Take engine PM when a context is pinned with GuC submission

2021-10-13 Thread Matthew Brost
Taking a PM reference to prevent intel_gt_wait_for_idle from short circuiting while any user context has scheduling enabled. Returning GT idle when it is not can cause all sorts of issues throughout the stack. v2: (Daniel Vetter) - Add might_lock annotations to pin / unpin function v3: (CI)

[PATCH 12/25] drm/i915/guc: Implement multi-lrc submission

2021-10-13 Thread Matthew Brost
Implement multi-lrc submission via a single workqueue entry and single H2G. The workqueue entry contains an updated tail value for each request, of all the contexts in the multi-lrc submission, and updates these values simultaneously. As such, the tasklet and bypass path have been updated to coales

[PATCH 18/25] drm/i915/guc: Add basic GuC multi-lrc selftest

2021-10-13 Thread Matthew Brost
Add very basic (single submission) multi-lrc selftest. Signed-off-by: Matthew Brost Reviewed-by: John Harrison --- .../gpu/drm/i915/gt/uc/intel_guc_submission.c | 1 + .../drm/i915/gt/uc/selftest_guc_multi_lrc.c | 179 ++ .../drm/i915/selftests/i915_live_selftests.h | 1 +

[PATCH 14/25] drm/i915/guc: Implement multi-lrc reset

2021-10-13 Thread Matthew Brost
Update context and full GPU reset to work with multi-lrc. The idea is parent context tracks all the active requests inflight for itself and its children. The parent context owns the reset replaying / canceling requests as needed. v2: (John Harrison) - Simply loop in find active request - Add

[PATCH 00/25] Parallel submission aka multi-bb execbuf

2021-10-13 Thread Matthew Brost
As discussed in [1] we are introducing a new parallel submission uAPI for the i915 which allows more than 1 BB to be submitted in an execbuf IOCTL. This is the implemenation for both GuC and execlists. In addition to selftests in the series, an IGT is available implemented in the first 4 patches [

[PATCH 24/25] drm/i915: Enable multi-bb execbuf

2021-10-13 Thread Matthew Brost
Enable multi-bb execbuf by enabling the set_parallel extension. Signed-off-by: Matthew Brost --- drivers/gpu/drm/i915/gem/i915_gem_context.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/drivers/gpu/drm/i915/gem/i915_gem_context.c b/drivers/gpu/drm/i915/gem/i915_gem_context.c index 6f23

[PATCH 04/25] drm/i915/guc: Don't call switch_to_kernel_context with GuC submission

2021-10-13 Thread Matthew Brost
Calling switch_to_kernel_context isn't needed if the engine PM reference is taken while all user contexts are pinned as if don't have PM ref that guarantees that all user contexts scheduling is disabled. By not calling switch_to_kernel_context we save on issuing a request to the engine. v2: (Dani

[PATCH 22/25] drm/i915: Make request conflict tracking understand parallel submits

2021-10-13 Thread Matthew Brost
If an object in the excl or shared slot is a composite fence from a parallel submit and the current request in the conflict tracking is from the same parallel context there is no need to enforce ordering as the ordering is already implicit. Make the request conflict tracking understand this by comp

[PATCH 07/25] drm/i915/guc: Introduce context parent-child relationship

2021-10-13 Thread Matthew Brost
Introduce context parent-child relationship. Once this relationship is created all pinning / unpinning operations are directed to the parent context. The parent context is responsible for pinning all of its children and itself. This is a precursor to the full GuC multi-lrc implementation but align

[PATCH 23/25] drm/i915: Update I915_GEM_BUSY IOCTL to understand composite fences

2021-10-13 Thread Matthew Brost
Parallel submission create composite fences (dma_fence_array) for excl / shared slots in objects. The I915_GEM_BUSY IOCTL checks these slots to determine the busyness of the object. Prior to patch it only check if the fence in the slot was a i915_request. Update the check to understand composite fe

[PATCH 06/25] drm/i915: Expose logical engine instance to user

2021-10-13 Thread Matthew Brost
Expose logical engine instance to user via query engine info IOCTL. This is required for split-frame workloads as these needs to be placed on engines in a logically contiguous order. The logical mapping can change based on fusing. Rather than having user have knowledge of the fusing we simply just

[PATCH 21/25] drm/i915/guc: Handle errors in multi-lrc requests

2021-10-13 Thread Matthew Brost
If an error occurs in the front end when multi-lrc requests are getting generated we need to skip these in the backend but we still need to emit the breadcrumbs seqno. An issues arises because with multi-lrc breadcrumbs there is a handshake between the parent and children to make forward progress.

[PATCH 08/25] drm/i915/guc: Add multi-lrc context registration

2021-10-13 Thread Matthew Brost
Add multi-lrc context registration H2G. In addition a workqueue and process descriptor are setup during multi-lrc context registration as these data structures are needed for multi-lrc submission. v2: (John Harrison) - Move GuC specific fields into sub-struct - Clean up WQ defines - Add com

[PATCH 16/25] drm/i915/guc: Connect UAPI to GuC multi-lrc interface

2021-10-13 Thread Matthew Brost
Introduce 'set parallel submit' extension to connect UAPI to GuC multi-lrc interface. Kernel doc in new uAPI should explain it all. IGT: https://patchwork.freedesktop.org/patch/447008/?series=93071&rev=1 media UMD: https://github.com/intel/media-driver/pull/1252 v2: (Daniel Vetter) - Add IGT l

[PATCH 09/25] drm/i915/guc: Ensure GuC schedule operations do not operate on child contexts

2021-10-13 Thread Matthew Brost
In GuC parent-child contexts the parent context controls the scheduling, ensure only the parent does the scheduling operations. Signed-off-by: Matthew Brost Reviewed-by: John Harrison --- drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c | 13 - 1 file changed, 12 insertions(+), 1 d

[PATCH 19/25] drm/i915/guc: Implement no mid batch preemption for multi-lrc

2021-10-13 Thread Matthew Brost
For some users of multi-lrc, e.g. split frame, it isn't safe to preempt mid BB. To safely enable preemption at the BB boundary, a handshake between parent and child is needed, syncing the set of BBs at the beginning and end of each batch. This is implemented via custom emit_bb_start & emit_fini_bre

[PATCH 20/25] drm/i915: Multi-BB execbuf

2021-10-13 Thread Matthew Brost
Allow multiple batch buffers to be submitted in a single execbuf IOCTL after a context has been configured with the 'set_parallel' extension. The number batches is implicit based on the contexts configuration. This is implemented with a series of loops. First a loop is used to find all the batches

[PATCH 15/25] drm/i915/guc: Update debugfs for GuC multi-lrc

2021-10-13 Thread Matthew Brost
Display the workqueue status in debugfs for GuC contexts that are in parent-child relationship. v2: (John Harrison) - Output number children in debugfs Signed-off-by: Matthew Brost Reviewed-by: John Harrison --- .../gpu/drm/i915/gt/uc/intel_guc_submission.c | 52 ++- 1 file

[PATCH 01/25] drm/i915/guc: Move GuC guc_id allocation under submission state sub-struct

2021-10-13 Thread Matthew Brost
Move guc_id allocation under submission state sub-struct as a future patch will reuse the spin lock as a global submission state lock. Moving this into sub-struct makes ownership of fields / lock clear. v2: (Docs) - Add comment for submission_state sub-structure v3: (John Harrison) - Fixup a

[PATCH 10/25] drm/i915/guc: Assign contexts in parent-child relationship consecutive guc_ids

2021-10-13 Thread Matthew Brost
Assign contexts in parent-child relationship consecutive guc_ids. This is accomplished by partitioning guc_id space between ones that need to be consecutive (1/16 available guc_ids) and ones that do not (15/16 of available guc_ids). The consecutive search is implemented via the bitmap API. This is

[PATCH 25/25] drm/i915/execlists: Weak parallel submission support for execlists

2021-10-13 Thread Matthew Brost
A weak implementation of parallel submission (multi-bb execbuf IOCTL) for execlists. Doing as little as possible to support this interface for execlists - basically just passing submit fences between each request generated and virtual engines are not allowed. This is on par with what is there for t

[PATCH 05/25] drm/i915: Add logical engine mapping

2021-10-13 Thread Matthew Brost
Add logical engine mapping. This is required for split-frame, as workloads need to be placed on engines in a logically contiguous manner. v2: (Daniel Vetter) - Add kernel doc for new fields v3: (Tvrtko) - Update comment for new logical_mask field v4: (John Harrison) - Update comment for n

[PATCH 13/25] drm/i915/guc: Insert submit fences between requests in parent-child relationship

2021-10-13 Thread Matthew Brost
The GuC must receive requests in the order submitted for contexts in a parent-child relationship to function correctly. To ensure this, insert a submit fence between the current request and last request submitted for requests / contexts in a parent child relationship. This is conceptually similar t

[PATCH 11/25] drm/i915/guc: Implement parallel context pin / unpin functions

2021-10-13 Thread Matthew Brost
Parallel contexts are perma-pinned by the upper layers which makes the backend implementation rather simple. The parent pins the guc_id and children increment the parent's pin count on pin to ensure all the contexts are unpinned before we disable scheduling with the GuC / or deregister the context.

Re: [PATCH 1/4] drm: Introduce drm_modeset_lock_ctx_retry()

2021-10-13 Thread Fernando Ramos
On 21/10/13 03:06PM, Ville Syrjälä wrote: > > And yes C is dangerous, but also C is verbose. I think one lesson from igt > > is that too many magic block constructs are bad, it's just not how C > > works. Definitely not in the kernel, where "oops I got it wrong because it > > was too clever" is bad

Re: [PATCH 1/2] drm/dp: add helpers to read link training delays

2021-10-13 Thread Ville Syrjälä
On Tue, Oct 12, 2021 at 05:43:20PM +0300, Jani Nikula wrote: > The link training delays are different and/or available in different > DPCD offsets depending on: > > - Clock recovery vs. channel equalization > - DPRX vs. LTTPR > - 128b/132b vs. 8b/10b > - DPCD 1.4+ vs. earlier > > Add helpers to g

Re: [PATCH 2/2] drm/i915/dp: use new link training delay helpers

2021-10-13 Thread Ville Syrjälä
On Tue, Oct 12, 2021 at 05:43:21PM +0300, Jani Nikula wrote: > Use the new link training delay helpers, fixing the delays for > 128b/132b. > > For existing 8b/10b functionality, this will cause additional 1-byte > DPCD reads for LTTPR delays instead of using the cached values. It's > just too comp

Re: [PATCH] drm: Update MST First Link Slot Information Based on Encoding Format

2021-10-13 Thread kernel test robot
Hi Bhawanpreet, Thank you for the patch! Yet something to improve: [auto build test ERROR on drm-intel/for-linux-next] [also build test ERROR on drm-tip/drm-tip linus/master v5.15-rc5 next-20211013] [cannot apply to drm-exynos/exynos-drm-next tegra-drm/drm/tegra/for-next airlied/drm-next] [If

Re: [PATCH 10/10] drm/i915: Add privacy-screen support (v3)

2021-10-13 Thread Ville Syrjälä
On Tue, Oct 05, 2021 at 10:23:22PM +0200, Hans de Goede wrote: > Add support for eDP panels with a built-in privacy screen using the > new drm_privacy_screen class. > > Changes in v3: > - Move drm_privacy_screen_get() call to intel_ddi_init_dp_connector() > > Changes in v2: > - Call drm_connector

Re: [PATCH] drm: Update MST First Link Slot Information Based on Encoding Format

2021-10-13 Thread Lyude Paul
Some comments below (also, sorry again for the mixup on the last review!) On Tue, 2021-10-12 at 17:58 -0400, Bhawanpreet Lakha wrote: > 8b/10b encoding format requires to reserve the first slot for > recording metadata. Real data transmission starts from the second slot, > with a total of availabl

Re: [RFC PATCH v2 2/2] RDMA/rxe: Add dma-buf support

2021-10-13 Thread Shunsuke Mie
2021年10月13日(水) 20:42 Daniel Vetter : > > On Fri, Oct 01, 2021 at 12:56:48PM +0900, Shunsuke Mie wrote: > > 2021年9月30日(木) 23:41 Daniel Vetter : > > > > > > On Wed, Sep 29, 2021 at 01:19:05PM +0900, Shunsuke Mie wrote: > > > > Implement a ib device operation ‘reg_user_mr_dmabuf’. Generate a > > > > r

[PATCH v3 1/7] drm/kmb: Work around for higher system clock

2021-10-13 Thread Anitha Chrisanthus
Use a different value for system clock offset in the ppl/llp ratio calculations for clocks higher than 500 Mhz. Fixes: 98521f4d4b4c ("drm/kmb: Mipi DSI part of the display driver") Signed-off-by: Anitha Chrisanthus --- drivers/gpu/drm/kmb/kmb_dsi.c | 11 ++- 1 file changed, 10 insertions

[PATCH v3 2/7] drm/kmb: Limit supported mode to 1080p

2021-10-13 Thread Anitha Chrisanthus
KMB only supports single resolution(1080p), this commit checks for 1920x1080x60 or 1920x1080x59 in crtc_mode_valid. Also, modes with vfp < 4 are not supported in KMB display. This change prunes display modes with vfp < 4. v2: added vfp check Fixes: 7f7b96a8a0a1 ("drm/kmb: Add support for KeemBay

[PATCH v3 3/7] drm/kmb: Remove clearing DPHY regs

2021-10-13 Thread Anitha Chrisanthus
From: Edmund Dea Don't clear the shared DPHY registers common to MIPI Rx and MIPI Tx during DSI initialization since this was causing MIPI Rx reset. Rest of the writes are bitwise, so will not affect Mipi Rx side. Fixes: 98521f4d4b4c ("drm/kmb: Mipi DSI part of the display driver") Signed-off-by

[PATCH v3 4/7] drm/kmb: Disable change of plane parameters

2021-10-13 Thread Anitha Chrisanthus
From: Edmund Dea Due to HW limitations, KMB cannot change height, width, or pixel format after initial plane configuration. v2: removed memset disp_cfg as it is already zero. Fixes: 7f7b96a8a0a1 ("drm/kmb: Add support for KeemBay Display") Signed-off-by: Edmund Dea Signed-off-by: Anitha Chrisa

[PATCH v3 5/7] drm/kmb: Corrected typo in handle_lcd_irq

2021-10-13 Thread Anitha Chrisanthus
Check for Overflow bits for layer3 in the irq handler. Fixes: 7f7b96a8a0a1 ("drm/kmb: Add support for KeemBay Display") Signed-off-by: Anitha Chrisanthus --- drivers/gpu/drm/kmb/kmb_drv.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/kmb/kmb_drv.c b/drivers/

[PATCH v3 7/7] drm/kmb: Enable support for framebuffer console

2021-10-13 Thread Anitha Chrisanthus
Enable support for fbcon (framebuffer console). The user can initialize fbcon by loading kmb-drm with the parameter console=1. v2: added missing static clk_enable Signed-off-by: Edmund Dea Signed-off-by: Anitha Chrisanthus --- drivers/gpu/drm/kmb/kmb_drv.c | 11 +++ 1 file changed, 11

[PATCH v3 6/7] drm/kmb: Enable ADV bridge after modeset

2021-10-13 Thread Anitha Chrisanthus
On KMB, ADV bridge must be programmed and powered on prior to MIPI DSI HW initialization. Fixes: 98521f4d4b4c ("drm/kmb: Mipi DSI part of the display driver") Signed-off-by: Anitha Chrisanthus --- drivers/gpu/drm/kmb/kmb_dsi.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/gpu/drm/k

[GIT PULL] mediatek drm fixes for 5.15

2021-10-13 Thread Chun-Kuang Hu
Hi, Dave & Daniel: This includes: 1. Revert series "CMDQ refinement of Mediatek DRM driver" Regards, Chun-Kuang. The following changes since commit 6880fa6c56601bb8ed59df6c30fd390cc5f6dd8f: Linux 5.15-rc1 (2021-09-12 16:28:37 -0700) are available in the Git repository at: https://git.ker

Re: [PATCH 01/25] drm/i915/guc: Move GuC guc_id allocation under submission state sub-struct

2021-10-13 Thread John Harrison
On 10/13/2021 13:42, Matthew Brost wrote: Move guc_id allocation under submission state sub-struct as a future patch will reuse the spin lock as a global submission state lock. Moving this into sub-struct makes ownership of fields / lock clear. v2: (Docs) - Add comment for submission_state

<    1   2   3   >