Re: [PATCH v3 4/4] drm/xe/FLR: Support PCIe FLR

2024-04-25 Thread Michał Winiarski
On Thu, Apr 25, 2024 at 11:47:46AM +0530, Aravind Iddamsetty wrote: > > On 25/04/24 04:59, Michał Winiarski wrote: > > On Wed, Apr 24, 2024 at 10:42:59AM +0530, Aravind Iddamsetty wrote: > >> On 24/04/24 05:19, Michał Winiarski wrote: > >>> On Mon, Apr 22,

Re: [PATCH v3 4/4] drm/xe/FLR: Support PCIe FLR

2024-04-24 Thread Michał Winiarski
On Wed, Apr 24, 2024 at 10:42:59AM +0530, Aravind Iddamsetty wrote: > > On 24/04/24 05:19, Michał Winiarski wrote: > > On Mon, Apr 22, 2024 at 12:27:56PM +0530, Aravind Iddamsetty wrote: > >> PCI subsystem provides callbacks to inform the driver about a request to > &g

Re: [PATCH v3 4/4] drm/xe/FLR: Support PCIe FLR

2024-04-23 Thread Michał Winiarski
On Mon, Apr 22, 2024 at 12:27:56PM +0530, Aravind Iddamsetty wrote: > PCI subsystem provides callbacks to inform the driver about a request to > do function level reset by user, initiated by writing to sysfs entry > /sys/bus/pci/devices/.../reset. This will allow the driver to handle FLR > without

[PATCH] drm/tests: mm: Convert to drm_dbg_printer

2024-02-09 Thread Michał Winiarski
Fix one of the tests in drm_mm that was not converted prior to drm_debug_printer removal, causing tests build failure. Fixes: e154c4fc7bf2d ("drm: remove drm_debug_printer in favor of drm_dbg_printer") Signed-off-by: Michał Winiarski --- drivers/gpu/drm/tests/drm_mm_test.c | 2

[PATCH] drm/tests: mm: Call drm_mm_print in drm_test_mm_debug

2024-01-16 Thread Michał Winiarski
The original intent behind the test was to sanity check whether calling the debug iterator (drm_mm_print) doesn't cause any problems. Unfortunately - this call got accidentally removed during KUnit transition. Restore it. Signed-off-by: Michał Winiarski --- drivers/gpu/drm/tests/drm_mm_test.c

[PATCH v5 4/5] drm/tests: managed: Extract device initialization into test init

2024-01-15 Thread Michał Winiarski
It simplifies the process of extending the test suite with additional test cases without unnecessary duplication. Signed-off-by: Michał Winiarski Acked-by: Maxime Ripard --- drivers/gpu/drm/tests/drm_managed_test.c | 41 +++- 1 file changed, 26 insertions(+), 15 deletions

[PATCH v5 5/5] drm/tests: managed: Add a simple test for drmm_managed_release

2024-01-15 Thread Michał Winiarski
Add a simple test that checks whether the action is called when drmm_managed_release is called. Signed-off-by: Michał Winiarski --- drivers/gpu/drm/tests/drm_managed_test.c | 25 1 file changed, 25 insertions(+) diff --git a/drivers/gpu/drm/tests/drm_managed_test.c b

[PATCH v5 2/5] drm/tests: managed: Rename the suite name to match other DRM tests

2024-01-15 Thread Michał Winiarski
DRM tests use "_" rather than "-" as word separator. Rename the test suite to match other tests. Signed-off-by: Michał Winiarski --- drivers/gpu/drm/tests/drm_managed_test.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/tests/drm_manag

[PATCH v5 3/5] drm/tests: managed: Add comments about test intent

2024-01-15 Thread Michał Winiarski
Add comments explaining the intention behind the test and certain implementation details related to device lifetime. Signed-off-by: Michał Winiarski --- drivers/gpu/drm/tests/drm_managed_test.c | 9 + 1 file changed, 9 insertions(+) diff --git a/drivers/gpu/drm/tests/drm_managed_test.c

[PATCH v5 1/5] drm/managed: Add drmm_release_action

2024-01-15 Thread Michał Winiarski
Similar to devres equivalent, it allows to call the "release" action directly and remove the resource from the managed resources list. Signed-off-by: Michał Winiarski Reviewed-by: Maxime Ripard --- drivers/gpu/drm/drm_managed.c | 39 +++ i

[PATCH v5 0/5] drm/managed: Add drmm_release_action

2024-01-15 Thread Michał Winiarski
test (Maxime) - Rename suite to "drm_managed" (Maxime) - Drop redundant messages from asserts (Maxime) Michał Winiarski (5): drm/managed: Add drmm_release_action drm/tests: managed: Rename the suite name to match other DRM tests drm/tests: managed: Add comments about test intent drm/t

Re: Re: [PATCH v4 6/6] drm/tests: managed: Add a simple test for drmm_managed_release

2024-01-15 Thread Michał Winiarski
On Wed, Jan 10, 2024 at 04:56:27PM +0100, Maxime Ripard wrote: > On Fri, Jan 05, 2024 at 11:13:24AM +0100, Michał Winiarski wrote: > > Add a simple test that checks whether the action is indeed called right > > away and that it is not called on the final drm_dev_put(). >

[PATCH v4 6/6] drm/tests: managed: Add a simple test for drmm_managed_release

2024-01-05 Thread Michał Winiarski
Add a simple test that checks whether the action is indeed called right away and that it is not called on the final drm_dev_put(). Signed-off-by: Michał Winiarski --- drivers/gpu/drm/tests/drm_managed_test.c | 28 1 file changed, 28 insertions(+) diff --git a/drivers

[PATCH v4 5/6] drm/tests: managed: Extract device initialization into test init

2024-01-05 Thread Michał Winiarski
It simplifies the process of extending the test suite with additional test cases without unnecessary duplication. Signed-off-by: Michał Winiarski --- drivers/gpu/drm/tests/drm_managed_test.c | 37 +++- 1 file changed, 24 insertions(+), 13 deletions(-) diff --git a/drivers

[PATCH v4 4/6] drm/tests: managed: Add comments and expect fail messages

2024-01-05 Thread Michał Winiarski
Add comments explaining the intention behind the test and certain implementation details related to device lifetime. Signed-off-by: Michał Winiarski --- drivers/gpu/drm/tests/drm_managed_test.c | 11 ++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/tests

[PATCH v4 3/6] drm/tests: managed: Remove the waitqueue usage

2024-01-05 Thread Michał Winiarski
the "action_done" state directly. Signed-off-by: Michał Winiarski --- drivers/gpu/drm/tests/drm_managed_test.c | 10 +- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/drivers/gpu/drm/tests/drm_managed_test.c b/drivers/gpu/drm/tests/drm_managed_test.c index 659af5abb8014..e47

[PATCH v4 2/6] drm/tests: managed: Rename the suite name to match other DRM tests

2024-01-05 Thread Michał Winiarski
DRM tests use "_" rather than "-" as word separator. Rename the test suite to match other tests. Signed-off-by: Michał Winiarski --- drivers/gpu/drm/tests/drm_managed_test.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/tests/drm_manag

[PATCH v4 1/6] drm/managed: Add drmm_release_action

2024-01-05 Thread Michał Winiarski
Similar to devres equivalent, it allows to call the "release" action directly and remove the resource from the managed resources list. Signed-off-by: Michał Winiarski Reviewed-by: Maxime Ripard --- drivers/gpu/drm/drm_managed.c | 39 +++ i

[PATCH v4 0/6] drm/managed: Add drmm_release_action

2024-01-05 Thread Michał Winiarski
can't be embedded inside test priv (Maxime) - Bring back priv lifetime management from v1 to avoid use-after-free v3 -> v4: - Split test changes into smaller patches (Maxime) - Remove the waitqueue usage in tests - Rename the test suite to match other DRM tests Michał Winiarski (6): drm/man

Re: [PATCH v3 3/3] drm/tests: managed: Add a simple test for drmm_managed_release

2024-01-05 Thread Michał Winiarski
On Fri, Dec 15, 2023 at 05:31:38PM +0100, Maxime Ripard wrote: > Hi, > > On Mon, Dec 11, 2023 at 11:09:39PM +0100, Michał Winiarski wrote: > > Add a simple test that checks whether the action is indeed called right > > away and that it is not called on the final drm_dev_put()

[PATCH v3 3/3] drm/tests: managed: Add a simple test for drmm_managed_release

2023-12-11 Thread Michał Winiarski
Add a simple test that checks whether the action is indeed called right away and that it is not called on the final drm_dev_put(). Signed-off-by: Michał Winiarski --- drivers/gpu/drm/tests/drm_managed_test.c | 29 1 file changed, 29 insertions(+) diff --git a/drivers

[PATCH v3 2/3] drm/tests: managed: Extract device initialization into test init

2023-12-11 Thread Michał Winiarski
It simplifies the process of extending the test suite with additional test cases without unnecessary duplication. Signed-off-by: Michał Winiarski --- drivers/gpu/drm/tests/drm_managed_test.c | 51 +--- 1 file changed, 36 insertions(+), 15 deletions(-) diff --git a/drivers

[PATCH v3 1/3] drm/managed: Add drmm_release_action

2023-12-11 Thread Michał Winiarski
Similar to devres equivalent, it allows to call the "release" action directly and remove the resource from the managed resources list. Signed-off-by: Michał Winiarski --- drivers/gpu/drm/drm_managed.c | 39 +++ include/drm/drm_managed.h | 4 +++

[PATCH v3 0/3] drm/managed: Add drmm_release_action

2023-12-11 Thread Michał Winiarski
can't be embedded inside test priv (Maxime) - Bring back priv lifetime management from v1 to avoid use-after-free Michał Winiarski (3): drm/managed: Add drmm_release_action drm/tests: managed: Extract device initialization into test init drm/tests: managed: Add a simple test for drmm_managed_r

Re: [PATCH v2 3/3] drm/tests: managed: Add a simple test for drmm_managed_release

2023-12-05 Thread Michał Winiarski
On Tue, Dec 05, 2023 at 02:50:22PM +0100, Maxime Ripard wrote: > Hi, > > Thanks for the rework > > On Tue, Dec 05, 2023 at 02:22:10AM +0100, Michał Winiarski wrote: > > Add a simple test that checks whether the action is indeed called right > > away and that it

[PATCH v2 3/3] drm/tests: managed: Add a simple test for drmm_managed_release

2023-12-04 Thread Michał Winiarski
Add a simple test that checks whether the action is indeed called right away and that it is not called on the final drm_dev_put(). Signed-off-by: Michał Winiarski --- drivers/gpu/drm/tests/drm_managed_test.c | 24 1 file changed, 24 insertions(+) diff --git a/drivers

[PATCH v2 2/3] drm/tests: managed: Extract device initialization into test init

2023-12-04 Thread Michał Winiarski
It simplifies the process of extending the test suite with additional test cases without unnecessary duplication. Additionally, store drm_device inside priv to simplify the lifetime management by tying priv lifetime with parent struct device. Signed-off-by: Michał Winiarski --- drivers/gpu/drm

[PATCH v2 1/3] drm/managed: Add drmm_release_action

2023-12-04 Thread Michał Winiarski
Similar to devres equivalent, it allows to call the "release" action directly and remove the resource from the managed resources list. Signed-off-by: Michał Winiarski --- drivers/gpu/drm/drm_managed.c | 39 +++ include/drm/drm_managed.h | 4 +++

[PATCH v2 0/3] drm/managed: Add drmm_release_action

2023-12-04 Thread Michał Winiarski
to devres devm_release_action) and a simple test that uses it. v1 -> v2: - Split the test changes (Maxime) - Simplify priv lifetime management (Maxime) Michał Winiarski (3): drm/managed: Add drmm_release_action drm/tests: managed: Extract device initialization into test init drm/tests: mana

Re: [PATCH 2/2] drm/tests: managed: Add a simple test for drmm_managed_release

2023-12-04 Thread Michał Winiarski
On Thu, Nov 30, 2023 at 09:38:35AM +0100, Maxime Ripard wrote: > Hi, > > Thanks for creating a test for that, that's really appreciated :) > > On Wed, Nov 29, 2023 at 11:14:12PM +0100, Michał Winiarski wrote: > > Add a simple test that checks whether the action is indeed

[PATCH 1/2] drm/managed: Add drmm_release_action

2023-11-29 Thread Michał Winiarski
Similar to devres equivalent, it allows to call the "release" action directly and remove the resource from the managed resources list. Signed-off-by: Michał Winiarski --- drivers/gpu/drm/drm_managed.c | 39 +++ include/drm/drm_managed.h | 4 +++

[PATCH 2/2] drm/tests: managed: Add a simple test for drmm_managed_release

2023-11-29 Thread Michał Winiarski
Add a simple test that checks whether the action is indeed called right away and that it is not called on the final drm_dev_put(). Signed-off-by: Michał Winiarski --- drivers/gpu/drm/tests/drm_managed_test.c | 65 ++-- 1 file changed, 50 insertions(+), 15 deletions(-) diff

[PATCH 0/2] drm/managed: Add drmm_release_action

2023-11-29 Thread Michał Winiarski
to devres devm_release_action) and a simple test that uses it. Michał Winiarski (2): drm/managed: Add drmm_release_action drm/tests: managed: Add a simple test for drmm_managed_release drivers/gpu/drm/drm_managed.c| 39 ++ drivers/gpu/drm/tests/drm_managed_test.c | 65

[PATCH] iosys-map: Rename locals used inside macros

2023-10-24 Thread Michał Winiarski
Widely used variable names can be used by macro users, potentially leading to name collisions. Suffix locals used inside the macros with an underscore, to reduce the collision potential. Suggested-by: Lucas De Marchi Signed-off-by: Michał Winiarski --- include/linux/iosys-map.h | 44

Re: [PATCH v6 1/4] drm: Use XArray instead of IDR for minors

2023-08-28 Thread Michał Winiarski
On Fri, Aug 25, 2023 at 12:59:26PM -0400, James Zhu wrote: > > On 2023-07-24 17:14, Michał Winiarski wrote: > > IDR is deprecated, and since XArray manages its own state with internal > > locking, it simplifies the locking on DRM side. > > Additionally, don't use the

[PATCH v6 3/4] drm: Expand max DRM device number to full MINORBITS

2023-07-24 Thread Michał Winiarski
scheme where 0-63 is used for primary, 64-127 is reserved (formerly for control) and 128-191 is used for render. For minors >= 192, we're allocating minors dynamically on a first-come, first-served basis. Signed-off-by: Michał Winiarski --- drivers/gpu/drm/drm_drv.c | 12 1 file chan

[PATCH v6 4/4] drm: Introduce force_extended_minors modparam

2023-07-24 Thread Michał Winiarski
e side by allocating minors from the >=192 range (without the need of having >64 physical devices connected). Signed-off-by: Michał Winiarski --- drivers/gpu/drm/drm_drv.c | 12 +--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/drm_drv.c b/dri

[PATCH v6 2/4] accel: Use XArray instead of IDR for minors

2023-07-24 Thread Michał Winiarski
. Signed-off-by: Michał Winiarski --- drivers/accel/drm_accel.c | 110 +++-- drivers/gpu/drm/drm_drv.c | 66 ++-- drivers/gpu/drm/drm_file.c | 2 +- drivers/gpu/drm/drm_internal.h | 4 -- include/drm/drm_accel.h| 18

[PATCH v6 1/4] drm: Use XArray instead of IDR for minors

2023-07-24 Thread Michał Winiarski
IDR is deprecated, and since XArray manages its own state with internal locking, it simplifies the locking on DRM side. Additionally, don't use the IRQ-safe variant, since operating on drm minor is not done in IRQ context. Signed-off-by: Michał Winiarski Suggested-by: Matthew Wilcox

[PATCH v6 0/4] drm: Use full allocated minor range for DRM

2023-07-24 Thread Michał Winiarski
gt; v4: Convert from IDR to XArray (Matthew Wilcox) v4 -> v5: Fixup IDR to XArray conversion (Matthew Wilcox) v5 -> v6: Also convert Accel to XArray Rename skip_legacy_minors to force_extended_minors Michał Winiarski (4): drm: Use XArray instead of IDR for minors accel: Use XArray inst

Re: [PATCH RESEND] drm/tests: Suballocator test

2023-03-26 Thread Michał Winiarski
On Thu, Mar 02, 2023 at 09:34:22AM +0100, Thomas Hellström wrote: > Add a suballocator test to get some test coverage for the new drm > suballocator, and perform some basic timing (elapsed time). > > Signed-off-by: Thomas Hellström > --- > drivers/gpu/drm/Kconfig | 1 + >

Re: KUnit issues - Was: [igt-dev] [PATCH RFC v2 8/8] drm/i915: check if current->mm is not NULL

2022-11-07 Thread Michał Winiarski
On Thu, Nov 03, 2022 at 04:23:02PM +0100, Mauro Carvalho Chehab wrote: > Hi, > > I'm facing a couple of issues when testing KUnit with the i915 driver. > > The DRM subsystem and the i915 driver has, for a long time, his own > way to do unit tests, which seems to be added before KUnit. > > I'm

Re: [PATCH v5 1/3] drm: Use XArray instead of IDR for minors

2022-11-07 Thread Michał Winiarski
On Sun, Nov 06, 2022 at 04:51:39PM +0200, Oded Gabbay wrote: > On Wed, Nov 2, 2022 at 4:23 PM Oded Gabbay wrote: > > > > On Mon, Sep 12, 2022 at 12:17 AM Michał Winiarski > > wrote: > > > > > > IDR is deprecated, and since XArray manages its own state wit

[PATCH v3] drm: Use XArray instead of IDR for minors

2022-11-07 Thread Michał Winiarski
IDR is deprecated, and since XArray manages its own state with internal locking, it simplifies the locking on DRM side. Additionally, don't use the IRQ-safe variant, since operating on drm minor is not done in IRQ context. Signed-off-by: Michał Winiarski Suggested-by: Matthew Wilcox

Re: [PATCH 1/2] drm: remove DRM_MINOR_CONTROL

2022-10-25 Thread Michał Winiarski
On Tue, Oct 11, 2022 at 01:55:01PM +0200, Christian König wrote: > Am 11.10.22 um 13:39 schrieb Simon Ser: > > On Tuesday, October 11th, 2022 at 13:04, Christian König > > wrote: > > > > > --- a/include/drm/drm_file.h > > > +++ b/include/drm/drm_file.h > > > @@ -54,7 +54,6 @@ struct file; > > >

Re: [RFC PATCH 3/3] drm: add dedicated minor for accelerator devices

2022-10-25 Thread Michał Winiarski
On Mon, Oct 24, 2022 at 08:43:58PM +0300, Oded Gabbay wrote: > On Mon, Oct 24, 2022 at 6:21 PM Jeffrey Hugo wrote: > > > > On 10/22/2022 3:46 PM, Oded Gabbay wrote: > > > The accelerator devices are exposed to user-space using a dedicated > > > major. In addition, they are represented in /dev

[PATCH v4 2/2] drm/plane_helper: Split into parameterized test cases

2022-10-20 Thread Michał Winiarski
: 12 v2: Add missing EXPECT/ASSERT (Maíra) v3: Use single EXPECT insted of condition + KUNIT_FAILURE (Maíra) v4: Rebase after "drm_test" rename Signed-off-by: Michał Winiarski Reviewed-by: Maíra Canal --- drivers/gpu/drm/tests/drm_plane_helper_test.c | 466 ++ 1 file ch

[PATCH v4 1/2] drm/plane_helper: Print actual/expected values on failure

2022-10-20 Thread Michał Winiarski
Currently the values are printed with debug log level. Adjust the log level and link the output with the test by using kunit_err. Example output: foo: dst: 20x20+10+10, expected: 10x10+0+0 foo: EXPECTATION FAILED at drivers/gpu/drm/tests/drm_plane_helper_test.c:85 Signed-off-by: Michał Winiarski

Re: [PATCH v5 07/22] drm/client: Add some tests for drm_connector_pick_cmdline_mode()

2022-10-20 Thread Michał Winiarski
On Thu, Oct 13, 2022 at 03:18:51PM +0200, Maxime Ripard wrote: > +static struct kunit_case drm_pick_cmdline_tests[] = { > + KUNIT_CASE(drm_pick_cmdline_res_1920_1080_60), > + {} > +}; drm_test_pick_cmdline_res_1920_1080_60, since we adopted a consistent naming convention for test cases in

Re: [PATCH v3 2/2] drm/tests: Split drm_test_dp_mst_sideband_msg_req_decode into parameterized tests

2022-10-03 Thread Michał Winiarski
in with the data going out and it doesn't transform the data > itself in any way. > > So, convert drm_test_dp_mst_sideband_msg_req_decode into parameterized > tests and make the tests' allocations and prints completely managed by KUnit. > > Signed-off-by: Maíra Canal Reviewed-by: Michał

Re: [PATCH v2 2/2] drm/tests: Split drm_test_dp_mst_sideband_msg_req_decode into parameterized tests

2022-09-30 Thread Michał Winiarski
On Fri, Sep 30, 2022 at 02:50:43PM +0800, David Gow wrote: > On Fri, Sep 30, 2022 at 6:33 AM Michał Winiarski > wrote: > > > > On Tue, Sep 27, 2022 at 07:12:06PM -0300, Maíra Canal wrote: > > > The drm_test_dp_mst_sideband_msg_req_decode repeats the same test >

Re: [PATCH v2 2/2] drm/tests: Split drm_test_dp_mst_sideband_msg_req_decode into parameterized tests

2022-09-29 Thread Michał Winiarski
zed > tests and make the tests' allocations and prints completely managed by KUnit. > > Signed-off-by: Maíra Canal > --- > v1 -> v2: > https://lore.kernel.org/dri-devel/20220925222719.345424-1-mca...@igalia.com/T/#m056610a23a63109484afeafefb5846178c4d36b2 > - Mention

Re: [PATCH 1/2] drm/tests: Split drm_test_dp_mst_calc_pbn_mode into parameterized tests

2022-09-25 Thread Michał Winiarski
t_calc_pbn_mode into parameterized tests. > > Signed-off-by: Maíra Canal Reviewed-by: Michał Winiarski -Michał > --- > .../gpu/drm/tests/drm_dp_mst_helper_test.c| 77 +-- > 1 file changed, 53 insertions(+), 24 deletions(-)

Re: [PATCH 2/2] drm/tests: Split drm_test_dp_mst_sideband_msg_req_decode into parameterized tests

2022-09-25 Thread Michał Winiarski
On Sun, Sep 25, 2022 at 07:27:19PM -0300, Maíra Canal wrote: > The drm_test_dp_mst_sideband_msg_req_decode repeats the same test > structure with different parameters. This could be better represented > by parameterized tests, provided by KUnit. > > So, convert

[PATCH v5 3/3] drm: Introduce skip_legacy_minors modparam

2022-09-11 Thread Michał Winiarski
e side by allocating minors from the >=192 range (without the need of having >64 physical devices connected). Signed-off-by: Michał Winiarski --- drivers/gpu/drm/drm_drv.c | 10 -- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/drm_drv.c b/dri

[PATCH v5 1/3] drm: Use XArray instead of IDR for minors

2022-09-11 Thread Michał Winiarski
IDR is deprecated, and since XArray manages its own state with internal locking, it simplifies the locking on DRM side. Additionally, don't use the IRQ-safe variant, since operating on drm minor is not done in IRQ context. Signed-off-by: Michał Winiarski Suggested-by: Matthew Wilcox

[PATCH v5 2/3] drm: Expand max DRM device number to full MINORBITS

2022-09-11 Thread Michał Winiarski
scheme where 0-63 is used for primary, 64-127 is reserved (formerly for control) and 128-191 is used for render. For minors >= 192, we're allocating minors dynamically on a first-come, first-served basis. Signed-off-by: Michał Winiarski --- drivers/gpu/drm/drm_drv.c | 13 +++-- 1 f

[PATCH v5 0/3] drm: Use full allocated minor range for DRM

2022-09-11 Thread Michał Winiarski
gt; v4: Convert from IDR to XArray (Matthew Wilcox) v4 -> v5: Fixup IDR to XArray conversion (Matthew Wilcox) Michał Winiarski (3): drm: Use XArray instead of IDR for minors drm: Expand max DRM device number to full MINORBITS drm: Introduce skip_legacy_minors modparam drivers/gpu/

Re: [PATCH v4 1/3] drm: Use XArray instead of IDR for minors

2022-09-11 Thread Michał Winiarski
On Tue, Sep 06, 2022 at 10:02:24PM +0100, Matthew Wilcox wrote: > On Tue, Sep 06, 2022 at 10:16:27PM +0200, Michał Winiarski wrote: > > IDR is deprecated, and since XArray manages its own state with internal > > locking, it simplifies the locking on DRM side. > > Additional

[PATCH v4 3/3] drm: Introduce skip_legacy_minors modparam

2022-09-06 Thread Michał Winiarski
e side by allocating minors from the >=192 range (without the need of having >64 physical devices connected). Signed-off-by: Michał Winiarski --- drivers/gpu/drm/drm_drv.c | 12 +--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/drm_drv.c b/dri

[PATCH v4 1/3] drm: Use XArray instead of IDR for minors

2022-09-06 Thread Michał Winiarski
IDR is deprecated, and since XArray manages its own state with internal locking, it simplifies the locking on DRM side. Additionally, don't use the IRQ-safe variant, since operating on drm minor is not done in IRQ context. Signed-off-by: Michał Winiarski Suggested-by: Matthew Wilcox

[PATCH v4 2/3] drm: Expand max DRM device number to full MINORBITS

2022-09-06 Thread Michał Winiarski
scheme where 0-63 is used for primary, 64-127 is reserved (formerly for control) and 128-191 is used for render. For minors >= 192, we're allocating minors dynamically on a first-come, first-served basis. Signed-off-by: Michał Winiarski --- drivers/gpu/drm/drm_drv.c | 9 + 1 file changed

[PATCH v4 0/3] drm: Use full allocated minor range for DRM

2022-09-06 Thread Michał Winiarski
gt; v4: Convert from IDR to XArray (Matthew Wilcox) Michał Winiarski (3): drm: Use XArray instead of IDR for minors drm: Expand max DRM device number to full MINORBITS drm: Introduce skip_legacy_minors modparam drivers/gpu/drm/drm_drv.c | 66 +++ 1 f

Re: [PATCH v3 0/4] drm: Use full allocated minor range for DRM

2022-09-06 Thread Michał Winiarski
On Tue, Sep 06, 2022 at 03:21:25PM +0100, Matthew Wilcox wrote: > On Tue, Sep 06, 2022 at 04:01:13PM +0200, Michał Winiarski wrote: > > 64 DRM device nodes is not enough for everyone. > > Upgrade it to ~512K (which definitely is more than enough). > > > > To allo

[PATCH v3 4/4] idr: Add might_alloc() annotation

2022-09-06 Thread Michał Winiarski
Using might_alloc() lets us catch problems in a deterministic manner, even if we end up not allocating anything. Signed-off-by: Michał Winiarski --- lib/radix-tree.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/radix-tree.c b/lib/radix-tree.c index 3c78e1e8b2ad..787ab01001de

[PATCH v3 3/4] drm: Use mutex for minors

2022-09-06 Thread Michał Winiarski
Operating on drm minor is not done in IRQ context, which means that we could safely downgrade to regular non-irq spinlock. But we can also go further and drop the idr_preload tricks by just using a mutex. Signed-off-by: Michał Winiarski Reviewed-by: Daniel Vetter --- drivers/gpu/drm/drm_drv.c

[PATCH v3 2/4] drm: Introduce skip_legacy_minors modparam

2022-09-06 Thread Michał Winiarski
e side by allocating minors from the >=192 range (without the need of having >64 physical devices connected). Signed-off-by: Michał Winiarski --- drivers/gpu/drm/drm_drv.c | 18 -- 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/drivers/gpu/drm/drm_drv.c b/dri

[PATCH v3 1/4] drm: Expand max DRM device number to full MINORBITS

2022-09-06 Thread Michał Winiarski
scheme where 0-63 is used for primary, 64-127 is reserved (formerly for control) and 128-191 is used for render. For minors >= 192, we're allocating minors dynamically on a first-come, first-served basis. Signed-off-by: Michał Winiarski --- drivers/gpu/drm/drm_drv.c | 8 1 file changed

[PATCH v3 0/4] drm: Use full allocated minor range for DRM

2022-09-06 Thread Michał Winiarski
nor tweak around minor DRM IDR locking and IDR lockdep annotations. v1 -> v2: Don't touch DRM_MINOR_CONTROL and its range (Simon Ser) v2 -> v3: Don't use legacy scheme for >=192 minor range (Dave Airlie) Add modparam for testing (Dave Airlie) Add lockdep annotation for IDR (Daniel Vet

Re: [PATCH] drm/doc: Custom Kconfig for KUnit is no longer needed

2022-09-06 Thread Michał Winiarski
On Tue, Sep 06, 2022 at 08:37:00AM +0700, Bagas Sanjaya wrote: > On 9/6/22 01:47, Michał Winiarski wrote: > > References: commit 6fc3a8636a7b ("kunit: tool: Enable virtio/PCI by default > > on UML") > > Use Fixes: tag for bugfix patches instead. Can documentat

[PATCH] drm/doc: Custom Kconfig for KUnit is no longer needed

2022-09-05 Thread Michał Winiarski
When built for UML, KUnit provides virtio/PCI, which means that the DMA/IOMEM UML emulation needed by DRM is already present and does not need to be manually added with --kconfig_add. References: commit 6fc3a8636a7b ("kunit: tool: Enable virtio/PCI by default on UML") Signed-off-

[PATCH v3 2/2] drm/plane_helper: Split into parameterized test cases

2022-09-05 Thread Michał Winiarski
: 12 v2: Add missing EXPECT/ASSERT (Maíra) v3: Use single EXPECT insted of condition + KUNIT_FAILURE (Maíra) Signed-off-by: Michał Winiarski --- drivers/gpu/drm/tests/drm_plane_helper_test.c | 466 ++ 1 file changed, 268 insertions(+), 198 deletions(-) diff --git a/drivers/gpu/drm

[PATCH v3 1/2] drm/plane_helper: Print actual/expected values on failure

2022-09-05 Thread Michał Winiarski
Currently the values are printed with debug log level. Adjust the log level and link the output with the test by using kunit_err. Example output: foo: dst: 20x20+10+10, expected: 10x10+0+0 foo: EXPECTATION FAILED at drivers/gpu/drm/tests/drm_plane_helper_test.c:85 Signed-off-by: Michał Winiarski

Re: [PATCH v2 2/2] drm/tests: Change "igt_" prefix to "test_drm_"

2022-09-05 Thread Michał Winiarski
On Mon, Sep 05, 2022 at 02:10:00PM +0200, Maxime Ripard wrote: > On Fri, Sep 02, 2022 at 03:38:28PM +0200, Michał Winiarski wrote: > > On Fri, Sep 02, 2022 at 04:03:20PM +0300, Jani Nikula wrote: > > > On Fri, 02 Sep 2022, Maxime Ripard wrote: > > > > On Fri, Se

Re: [PATCH v2 2/2] drm/plane_helper: Split into parameterized test cases

2022-09-02 Thread Michał Winiarski
On Thu, Sep 01, 2022 at 09:20:55AM -0300, Maíra Canal wrote: > Hi Michał > > On 8/31/22 17:45, Michał Winiarski wrote: > > The test was constructed as a single function (test case) which checks > > multiple conditions, calling the function that is tested multiple tim

Re: [PATCH 2/2] drm/format: Split into more granular test cases

2022-09-02 Thread Michał Winiarski
On Wed, Aug 31, 2022 at 07:15:11PM -0300, Maíra Canal wrote: > Hi Michał > > Some very minor nits inline, but either way: > > Reviewed-by: Maíra Canal > > On 8/31/22 18:56, Michał Winiarski wrote: > > While we have multiple test cases, most of them check multi

Re: [PATCH v2 2/2] drm/tests: Change "igt_" prefix to "test_drm_"

2022-09-02 Thread Michał Winiarski
On Fri, Sep 02, 2022 at 04:03:20PM +0300, Jani Nikula wrote: > On Fri, 02 Sep 2022, Maxime Ripard wrote: > > On Fri, Sep 02, 2022 at 11:04:14AM +0300, Jani Nikula wrote: > >> On Thu, 01 Sep 2022, Maíra Canal wrote: > >> > Hi Maxime, > >> > > >> > On 9/1/22 09:55, Maxime Ripard wrote: > >> >> Hi,

Re: [PATCH] drm: Simplify testing on UML with kunit.py

2022-09-01 Thread Michał Winiarski
On Thu, Sep 01, 2022 at 04:02:53PM +0200, Maxime Ripard wrote: > Hi, > > On Thu, Sep 01, 2022 at 03:36:21PM +0200, Michał Winiarski wrote: > > DRM depends on IOMEM and DMA, introduce an additional Kconfig to pull in > > IOMEM and DMA emulation on UML. > > Since --kco

[PATCH] drm: Simplify testing on UML with kunit.py

2022-09-01 Thread Michał Winiarski
DRM depends on IOMEM and DMA, introduce an additional Kconfig to pull in IOMEM and DMA emulation on UML. Since --kconfig_add usage is no longer needed, remove it from documentation. Signed-off-by: Michał Winiarski --- Documentation/gpu/drm-internals.rst | 7 +-- drivers/video/Kconfig

[PATCH 2/2] drm/format: Split into more granular test cases

2022-08-31 Thread Michał Winiarski
=== [PASSED] drm_format Testing complete. Ran 18 tests: passed: 18 Signed-off-by: Michał Winiarski --- drivers/gpu/drm/tests/drm_format_test.c | 156 1 file changed, 108 insertions(+), 48

[PATCH 1/2] drm/format: Use appropriate types in expect/assert

2022-08-31 Thread Michał Winiarski
drm_format_info_* functions don't return bool, and the info variable is a pointer. Expecting non-NULL info will cause the test to crash if it is NULL in checks that follow (which dereference it). Use appropriate KUNIT_EXPECT/KUNIT_ASSERT variants. Signed-off-by: Michał Winiarski --- drivers/gpu

[PATCH v2 2/2] drm/plane_helper: Split into parameterized test cases

2022-08-31 Thread Michał Winiarski
: 12 v2: Add missing EXPECT/ASSERT (Maíra) Signed-off-by: Michał Winiarski --- drivers/gpu/drm/tests/drm_plane_helper_test.c | 456 ++ 1 file changed, 267 insertions(+), 189 deletions(-) diff --git a/drivers/gpu/drm/tests/drm_plane_helper_test.c b/drivers/gpu/drm/tests

[PATCH v2 1/2] drm/plane_helper: Print actual/expected values on failure

2022-08-31 Thread Michał Winiarski
Currently the values are printed with debug log level. Adjust the log level and link the output with the test by using kunit_err. Example output: foo: dst: 20x20+10+10, expected: 10x10+0+0 foo: EXPECTATION FAILED at drivers/gpu/drm/tests/drm_plane_helper_test.c:85 Signed-off-by: Michał Winiarski

Re: [PATCH 2/2] drm/plane_helper: Split into parameterized test cases

2022-08-31 Thread Michał Winiarski
On Fri, Aug 26, 2022 at 07:34:11PM -0300, Maíra Canal wrote: > Hi Michał > > Great patch! Just a few nits inline. > > On 8/25/22 09:48, Michał Winiarski wrote: > > The test was constructed as a single function (test case) which checks > > multiple conditions, calling

Re: [PATCH 1/2] drm/tests: Split drm_framebuffer_create_test into parameterized tests

2022-08-31 Thread Michał Winiarski
chal.winiar...@intel.com/ for reference) Either way: Reviewed-by: Michał Winiarski -Michał > --- > drivers/gpu/drm/tests/drm_framebuffer_test.c | 23 +--- > 1 file changed, 10 insertions(+), 13 deletions(-) > > diff --git a/drivers/gpu/drm/tests/drm_frameb

[PATCH 2/2] drm/plane_helper: Split into parameterized test cases

2022-08-25 Thread Michał Winiarski
: 12 Signed-off-by: Michał Winiarski --- drivers/gpu/drm/tests/drm_plane_helper_test.c | 419 +++--- 1 file changed, 255 insertions(+), 164 deletions(-) diff --git a/drivers/gpu/drm/tests/drm_plane_helper_test.c b/drivers/gpu/drm/tests/drm_plane_helper_test.c index 0bbd42d2d37b

[PATCH 1/2] drm/plane_helper: Print actual/expected values on failure

2022-08-25 Thread Michał Winiarski
Currently the values are printed with debug log level. Adjust the log level and link the output with the test by using kunit_err. Example output: foo: dst: 20x20+10+10, expected: 10x10+0+0 foo: EXPECTATION FAILED at drivers/gpu/drm/tests/drm_plane_helper_test.c:85 Signed-off-by: Michał Winiarski

[PATCH 2/3] drm: Expand max DRM device number to full MINORBITS

2022-08-24 Thread Michał Winiarski
regressing the existing userspace, we're still maintaining the 0-127 for primary, 128-255 for render. This numbering scheme is continued for minors > 256 (256-383 for primary, 384-511 for render, and so on). Signed-off-by: Michał Winiarski --- drivers/gpu/drm/drm_drv.c | 24 ++--

Re: [PATCH v5 9/9] drm: selftest: convert drm_mm selftest to KUnit

2022-08-23 Thread Michał Winiarski
> > > Am 22/07/2022 um 1:25 PM schrieb Michał Winiarski : > > > > On Fri, Jul 22, 2022 at 08:04:51AM -0300, Maíra Canal wrote: > >> On 7/22/22 07:35, Matthew Auld wrote: > >>> On Fri, 8 Jul 2022 at 21:32, Maíra Canal wrote: > >>>> >

[PATCH v2 2/2] drm: Use mutex for minors

2022-08-23 Thread Michał Winiarski
Operating on drm minor is not done in IRQ context, which means that we could safely downgrade to regular non-irq spinlock. But we can also go further and drop the idr_preload tricks by just using a mutex. Signed-off-by: Michał Winiarski --- drivers/gpu/drm/drm_drv.c | 31

[PATCH v2 1/2] drm: Expand max DRM device number to full MINORBITS

2022-08-23 Thread Michał Winiarski
scheme where 0-63 is used for primary, 64-127 is reserved (formerly for control) and 128-191 is used for render. This is continued for minors >= 192 (192-255 for primary, 256-319 reserved, 320-383 for render, and so on). Signed-off-by: Michał Winiarski --- drivers/gpu/drm/drm_drv.c |

[PATCH v2 0/2] drm: Use full allocated minor range for DRM

2022-08-23 Thread Michał Winiarski
64 DRM device nodes is not enough for everyone. Upgrade it to ~341K (which definitely is more than enough). Additionally - one minor tweak around minor IDR locking. v1 -> v2: Don't touch DRM_MINOR_CONTROL and its range (Simon Ser) Michał Winiarski (2): drm: Expand max DRM device number to f

Re: [PATCH 0/3] drm: Use full allocated minor range for DRM

2022-08-19 Thread Michał Winiarski
On Fri, Aug 19, 2022 at 08:16:07AM +, Simon Ser wrote: > (It seems like the list was dropped in my reply, sorry about that. > Re-adding it now.) > > On Thursday, August 18th, 2022 at 14:06, Michał Winiarski > wrote: > > > On Thu, Aug 18, 2022 at 07:39:13A

Re: [PATCH v2 1/2] drm/cmdline-parser: Merge negative tests

2022-08-18 Thread Michał Winiarski
On Thu, Aug 18, 2022 at 11:15:39AM -0300, Maíra Canal wrote: > > > On 8/17/22 18:12, Michał Winiarski wrote: > > Negative tests can be expressed as a single parameterized test case, > > which highlights that we're following the same test logic (passing > > in

[PATCH 1/3] drm: Don't reserve minors for control nodes

2022-08-17 Thread Michał Winiarski
emove all control node code") References: commit c9ac371d4b59 ("drm: Fix render node numbering regression from control node removal.") Signed-off-by: Michał Winiarski --- drivers/gpu/drm/drm_drv.c | 4 ++-- include/drm/drm_file.h| 1 - 2 files changed, 2 insertions(+), 3 dele

[PATCH 3/3] drm: Use mutex for minors

2022-08-17 Thread Michał Winiarski
Operating on drm minor is not done in IRQ context, which means that we could safely downgrade to regular non-irq spinlock. But we can also go further and drop the idr_preload tricks by just using a mutex. Signed-off-by: Michał Winiarski --- drivers/gpu/drm/drm_drv.c | 31

[PATCH 0/3] drm: Use full allocated minor range for DRM

2022-08-17 Thread Michał Winiarski
64 DRM device nodes is not enough for everyone. Upgrade it to 512K (which definitely is more than enough). Additionally - one minor tweak around minor IDR locking. Michał Winiarski (3): drm: Don't reserve minors for control nodes drm: Expand max DRM device number to full MINORBITS drm: Use

[PATCH v2 2/2] drm/cmdline-parser: Use assert when needed

2022-08-17 Thread Michał Winiarski
is huge) (lkp) Signed-off-by: Michał Winiarski --- .../gpu/drm/tests/drm_cmdline_parser_test.c | 80 +-- 1 file changed, 40 insertions(+), 40 deletions(-) diff --git a/drivers/gpu/drm/tests/drm_cmdline_parser_test.c b/drivers/gpu/drm/tests/drm_cmdline_parser_test.c index

[PATCH v2 1/2] drm/cmdline-parser: Merge negative tests

2022-08-17 Thread Michał Winiarski
testcases in DRM Signed-off-by: Michał Winiarski Tested-by: Maíra Canal --- .../gpu/drm/tests/drm_cmdline_parser_test.c | 293 ++ 1 file changed, 103 insertions(+), 190 deletions(-) diff --git a/drivers/gpu/drm/tests/drm_cmdline_parser_test.c b/drivers/gpu/drm/tests

[PATCH 2/2] drm/cmdline-parser: Use assert when needed

2022-08-04 Thread Michał Winiarski
Expecting to observe a specific value, when the function responsible for setting the value has failed will lead to extra noise in test output. Use assert when the situation calls for it. Also - very small tidying up around the changed areas (whitespace / variable locality). Signed-off-by: Michał

  1   2   >