From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from new4-smtp.messagingengine.com (new4-smtp.messagingengine.com [66.111.4.230]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0EE6F186E for ; Thu, 10 Nov 2022 11:07:22 +0000 (UTC) Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailnew.nyi.internal (Postfix) with ESMTP id 1906658026A; Thu, 10 Nov 2022 06:07:22 -0500 (EST) Received: from mailfrontend2 ([10.202.2.163]) by compute4.internal (MEProxy); Thu, 10 Nov 2022 06:07:22 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cerno.tech; h=cc :cc:content-transfer-encoding:content-type:date:date:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to; s=fm2; t=1668078442; x= 1668085642; bh=AHTOXHkx0kRKXWWOsfXBu5Gg9FX4EGj4nIy8jaMRRKw=; b=X HtiDOoUDUmKijRgHafRXXRNKfRLcp7FF3XngKkYkAO+H4yx9u8Duvf+8HMYFxT/P VUsJ5Kw0FB2601wbTG/b0dEvsGVflSquhRH8N2l74wvLaaSwjWjpk2fCtGOyNsq0 3IyR793l3T7a/bcoAdMlMoRqj7N1rt8TqB2ljA3uqQZWIunQUF4rqDYEvUuR9chv Vmy+bO9iTthRJaYLZBOrBw8dv3AxmBpQec2X5bn4UrQbVsvXR/g6vfkzv9MqRcTM M2/PWJyz6mgSCkTGr9J4gmvF1oY09lHMdg/5c67Ya+L2pFzIZFp8+qWdSnNt8Ruh P01lrPZFd1VqdCWSNejWw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:date:date:feedback-id:feedback-id:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1668078442; x= 1668085642; bh=AHTOXHkx0kRKXWWOsfXBu5Gg9FX4EGj4nIy8jaMRRKw=; b=A VnJsir2CJlHluUFAX2IXnqtHhrU1aarPN9kXNvDhH6scLiTGaMT2A/4Da1nUy2do uStXTNgdXMjGh2ED8a/+qwrGIc2mug2NmE8ikQ/SU0+fjhDmzQbkrXuSJLXsYGTO fDLrfDMzsOOGFR7DOODLVnEGRekC8Yw+vcEekFatnD0sklbMVmrtUEo4Zn/iGTJJ rDMi64nHydI1FqvqigfyeFYFueOzFTL43d2EwBz3h0nWfmkMUk0PLgJ0trpP/dTj BW/Gba+8B/wn6T4EFq+ynhyFIBKs5R3tXGwf74ycZxr0mlujmtow8l9KM4dDCN/W /T8J36/hJTqkgZAikW8Wg== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvgedrfeeggddvhecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpefhfffuggfgtgfkfhgjvfevofesthekredtredtjeenucfhrhhomhepofgrgihi mhgvucftihhprghrugcuoehmrgigihhmvgestggvrhhnohdrthgvtghhqeenucggtffrrg htthgvrhhnpedvgfevjefhtdetveevhfelieeuueetgfdvgeevkeegudejffegfffgtedt leelhfenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpe hmrgigihhmvgestggvrhhnohdrthgvtghh X-ME-Proxy: Feedback-ID: i8771445c:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu, 10 Nov 2022 06:07:21 -0500 (EST) From: Maxime Ripard Date: Thu, 10 Nov 2022 12:07:13 +0100 Subject: [PATCH v8 01/24] drm/tests: Add Kunit Helpers Precedence: bulk X-Mailing-List: linux-sunxi@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="utf-8" Message-Id: <20220728-rpi-analog-tv-properties-v8-1-09ce1466967c@cerno.tech> References: <20220728-rpi-analog-tv-properties-v8-0-09ce1466967c@cerno.tech> In-Reply-To: <20220728-rpi-analog-tv-properties-v8-0-09ce1466967c@cerno.tech> To: Maarten Lankhorst , Chen-Yu Tsai , Maxime Ripard , Jernej Skrabec , Karol Herbst , Jani Nikula , Daniel Vetter , Lyude Paul , Samuel Holland , Joonas Lahtinen , Thomas Zimmermann , Emma Anholt , Rodrigo Vivi , Tvrtko Ursulin , David Airlie , Ben Skeggs Cc: nouveau@lists.freedesktop.org, Noralf Trønnes , Dom Cobley , intel-gfx@lists.freedesktop.org, Phil Elwell , linux-sunxi@lists.linux.dev, Mateusz Kwiatkowski , Hans de Goede , linux-kernel@vger.kernel.org, Maxime Ripard , Dave Stevenson , dri-devel@lists.freedesktop.org, linux-arm-kernel@lists.infradead.org, Geert Uytterhoeven X-Mailer: b4 0.11.0-dev-99e3a X-Developer-Signature: v=1; a=openpgp-sha256; l=3409; i=maxime@cerno.tech; h=from:subject:message-id; bh=8Ci/7PaTzMs8s+hjpIC/3665ddy1Hcazm7HWxVFfewQ=; b=owGbwMvMwCX2+D1vfrpE4FHG02pJDMk5t1P23q474Vvcme/iJ6+5akfZrQPBlue0PO9nOaS/mT4h 3yimo5SFQYyLQVZMkSVG2HxJ3KlZrzvZ+ObBzGFlAhnCwMUpABNpd2BkuDtz3uPnD7lr+V+sMxG4zM Bw9dV/u97+mzyfLLpmFfIZejP8j26U/Xayh/NlUiXrVeeiqkfBLms+f5zMo7wm/v2+IJ1FPAA= X-Developer-Key: i=maxime@cerno.tech; a=openpgp; fpr=BE5675C37E818C8B5764241C254BCFC56BF6CE8D As the number of kunit tests in KMS grows further, we start to have multiple test suites that, for example, need to register a mock DRM driver to interact with the KMS function they are supposed to test. Let's add a file meant to provide those kind of helpers to avoid duplication. Reviewed-by: Noralf Trønnes Tested-by: Mateusz Kwiatkowski Signed-off-by: Maxime Ripard --- Changes in v8: - Changed the API a bit to pass the features as argument Changes in v4: - Simplified the DRM device cleanup patch using devm_drm_dev_alloc() --- drivers/gpu/drm/tests/Makefile | 1 + drivers/gpu/drm/tests/drm_kunit_helpers.c | 64 +++++++++++++++++++++++++++++++ drivers/gpu/drm/tests/drm_kunit_helpers.h | 9 +++++ 3 files changed, 74 insertions(+) diff --git a/drivers/gpu/drm/tests/Makefile b/drivers/gpu/drm/tests/Makefile index 2d9f49b62ecb..b29ef1085cad 100644 --- a/drivers/gpu/drm/tests/Makefile +++ b/drivers/gpu/drm/tests/Makefile @@ -8,6 +8,7 @@ obj-$(CONFIG_DRM_KUNIT_TEST) += \ drm_format_helper_test.o \ drm_format_test.o \ drm_framebuffer_test.o \ + drm_kunit_helpers.o \ drm_mm_test.o \ drm_plane_helper_test.o \ drm_rect_test.o diff --git a/drivers/gpu/drm/tests/drm_kunit_helpers.c b/drivers/gpu/drm/tests/drm_kunit_helpers.c new file mode 100644 index 000000000000..d3f0d681b685 --- /dev/null +++ b/drivers/gpu/drm/tests/drm_kunit_helpers.c @@ -0,0 +1,64 @@ +#include +#include + +#include + +#include + +struct kunit_dev { + struct drm_device base; +}; + +static const struct drm_mode_config_funcs drm_mode_config_funcs = { +}; + +static int dev_init(struct kunit_resource *res, void *ptr) +{ + char *name = ptr; + struct device *dev; + + dev = root_device_register(name); + if (IS_ERR(dev)) + return PTR_ERR(dev); + + res->data = dev; + return 0; +} + +static void dev_free(struct kunit_resource *res) +{ + struct device *dev = res->data; + + root_device_unregister(dev); +} + +struct drm_device *drm_kunit_device_init(struct kunit *test, u32 features, char *name) +{ + struct kunit_dev *kdev; + struct drm_device *drm; + struct drm_driver *driver; + struct device *dev; + int ret; + + dev = kunit_alloc_resource(test, dev_init, dev_free, GFP_KERNEL, name); + if (!dev) + return ERR_PTR(-ENOMEM); + + driver = kunit_kzalloc(test, sizeof(*driver), GFP_KERNEL); + if (!driver) + return ERR_PTR(-ENOMEM); + + driver->driver_features = features; + kdev = devm_drm_dev_alloc(dev, driver, struct kunit_dev, base); + if (IS_ERR(kdev)) + return ERR_CAST(kdev); + + drm = &kdev->base; + drm->mode_config.funcs = &drm_mode_config_funcs; + + ret = drmm_mode_config_init(drm); + if (ret) + return ERR_PTR(ret); + + return drm; +} diff --git a/drivers/gpu/drm/tests/drm_kunit_helpers.h b/drivers/gpu/drm/tests/drm_kunit_helpers.h new file mode 100644 index 000000000000..f13a18dd1c6d --- /dev/null +++ b/drivers/gpu/drm/tests/drm_kunit_helpers.h @@ -0,0 +1,9 @@ +#ifndef DRM_KUNIT_HELPERS_H_ +#define DRM_KUNIT_HELPERS_H_ + +struct drm_device; +struct kunit; + +struct drm_device *drm_kunit_device_init(struct kunit *test, u32 features, char *name); + +#endif // DRM_KUNIT_HELPERS_H_ -- b4 0.11.0-dev-99e3a From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id D2A10C4332F for ; Thu, 10 Nov 2022 11:08:08 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 44C8F10E6CF; Thu, 10 Nov 2022 11:07:29 +0000 (UTC) Received: from new4-smtp.messagingengine.com (new4-smtp.messagingengine.com [66.111.4.230]) by gabe.freedesktop.org (Postfix) with ESMTPS id AE89310E138; Thu, 10 Nov 2022 11:07:22 +0000 (UTC) Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailnew.nyi.internal (Postfix) with ESMTP id 1906658026A; Thu, 10 Nov 2022 06:07:22 -0500 (EST) Received: from mailfrontend2 ([10.202.2.163]) by compute4.internal (MEProxy); Thu, 10 Nov 2022 06:07:22 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cerno.tech; h=cc :cc:content-transfer-encoding:content-type:date:date:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to; s=fm2; t=1668078442; x= 1668085642; bh=AHTOXHkx0kRKXWWOsfXBu5Gg9FX4EGj4nIy8jaMRRKw=; b=X HtiDOoUDUmKijRgHafRXXRNKfRLcp7FF3XngKkYkAO+H4yx9u8Duvf+8HMYFxT/P VUsJ5Kw0FB2601wbTG/b0dEvsGVflSquhRH8N2l74wvLaaSwjWjpk2fCtGOyNsq0 3IyR793l3T7a/bcoAdMlMoRqj7N1rt8TqB2ljA3uqQZWIunQUF4rqDYEvUuR9chv Vmy+bO9iTthRJaYLZBOrBw8dv3AxmBpQec2X5bn4UrQbVsvXR/g6vfkzv9MqRcTM M2/PWJyz6mgSCkTGr9J4gmvF1oY09lHMdg/5c67Ya+L2pFzIZFp8+qWdSnNt8Ruh P01lrPZFd1VqdCWSNejWw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:date:date:feedback-id:feedback-id:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1668078442; x= 1668085642; bh=AHTOXHkx0kRKXWWOsfXBu5Gg9FX4EGj4nIy8jaMRRKw=; b=A VnJsir2CJlHluUFAX2IXnqtHhrU1aarPN9kXNvDhH6scLiTGaMT2A/4Da1nUy2do uStXTNgdXMjGh2ED8a/+qwrGIc2mug2NmE8ikQ/SU0+fjhDmzQbkrXuSJLXsYGTO fDLrfDMzsOOGFR7DOODLVnEGRekC8Yw+vcEekFatnD0sklbMVmrtUEo4Zn/iGTJJ rDMi64nHydI1FqvqigfyeFYFueOzFTL43d2EwBz3h0nWfmkMUk0PLgJ0trpP/dTj BW/Gba+8B/wn6T4EFq+ynhyFIBKs5R3tXGwf74ycZxr0mlujmtow8l9KM4dDCN/W /T8J36/hJTqkgZAikW8Wg== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvgedrfeeggddvhecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpefhfffuggfgtgfkfhgjvfevofesthekredtredtjeenucfhrhhomhepofgrgihi mhgvucftihhprghrugcuoehmrgigihhmvgestggvrhhnohdrthgvtghhqeenucggtffrrg htthgvrhhnpedvgfevjefhtdetveevhfelieeuueetgfdvgeevkeegudejffegfffgtedt leelhfenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpe hmrgigihhmvgestggvrhhnohdrthgvtghh X-ME-Proxy: Feedback-ID: i8771445c:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu, 10 Nov 2022 06:07:21 -0500 (EST) From: Maxime Ripard Date: Thu, 10 Nov 2022 12:07:13 +0100 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="utf-8" Message-Id: <20220728-rpi-analog-tv-properties-v8-1-09ce1466967c@cerno.tech> References: <20220728-rpi-analog-tv-properties-v8-0-09ce1466967c@cerno.tech> In-Reply-To: <20220728-rpi-analog-tv-properties-v8-0-09ce1466967c@cerno.tech> To: Maarten Lankhorst , Chen-Yu Tsai , Maxime Ripard , Jernej Skrabec , Karol Herbst , Jani Nikula , Daniel Vetter , Lyude Paul , Samuel Holland , Joonas Lahtinen , Thomas Zimmermann , Emma Anholt , Rodrigo Vivi , Tvrtko Ursulin , David Airlie , Ben Skeggs X-Mailer: b4 0.11.0-dev-99e3a X-Developer-Signature: v=1; a=openpgp-sha256; l=3409; i=maxime@cerno.tech; h=from:subject:message-id; bh=8Ci/7PaTzMs8s+hjpIC/3665ddy1Hcazm7HWxVFfewQ=; b=owGbwMvMwCX2+D1vfrpE4FHG02pJDMk5t1P23q474Vvcme/iJ6+5akfZrQPBlue0PO9nOaS/mT4h 3yimo5SFQYyLQVZMkSVG2HxJ3KlZrzvZ+ObBzGFlAhnCwMUpABNpd2BkuDtz3uPnD7lr+V+sMxG4zM Bw9dV/u97+mzyfLLpmFfIZejP8j26U/Xayh/NlUiXrVeeiqkfBLms+f5zMo7wm/v2+IJ1FPAA= X-Developer-Key: i=maxime@cerno.tech; a=openpgp; fpr=BE5675C37E818C8B5764241C254BCFC56BF6CE8D Subject: [Nouveau] [PATCH v8 01/24] drm/tests: Add Kunit Helpers X-BeenThere: nouveau@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Nouveau development list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Dom Cobley , nouveau@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Phil Elwell , Hans de Goede , Noralf Trønnes , Geert Uytterhoeven , Maxime Ripard , Mateusz Kwiatkowski , linux-sunxi@lists.linux.dev, linux-arm-kernel@lists.infradead.org Errors-To: nouveau-bounces@lists.freedesktop.org Sender: "Nouveau" As the number of kunit tests in KMS grows further, we start to have multiple test suites that, for example, need to register a mock DRM driver to interact with the KMS function they are supposed to test. Let's add a file meant to provide those kind of helpers to avoid duplication. Reviewed-by: Noralf Trønnes Tested-by: Mateusz Kwiatkowski Signed-off-by: Maxime Ripard --- Changes in v8: - Changed the API a bit to pass the features as argument Changes in v4: - Simplified the DRM device cleanup patch using devm_drm_dev_alloc() --- drivers/gpu/drm/tests/Makefile | 1 + drivers/gpu/drm/tests/drm_kunit_helpers.c | 64 +++++++++++++++++++++++++++++++ drivers/gpu/drm/tests/drm_kunit_helpers.h | 9 +++++ 3 files changed, 74 insertions(+) diff --git a/drivers/gpu/drm/tests/Makefile b/drivers/gpu/drm/tests/Makefile index 2d9f49b62ecb..b29ef1085cad 100644 --- a/drivers/gpu/drm/tests/Makefile +++ b/drivers/gpu/drm/tests/Makefile @@ -8,6 +8,7 @@ obj-$(CONFIG_DRM_KUNIT_TEST) += \ drm_format_helper_test.o \ drm_format_test.o \ drm_framebuffer_test.o \ + drm_kunit_helpers.o \ drm_mm_test.o \ drm_plane_helper_test.o \ drm_rect_test.o diff --git a/drivers/gpu/drm/tests/drm_kunit_helpers.c b/drivers/gpu/drm/tests/drm_kunit_helpers.c new file mode 100644 index 000000000000..d3f0d681b685 --- /dev/null +++ b/drivers/gpu/drm/tests/drm_kunit_helpers.c @@ -0,0 +1,64 @@ +#include +#include + +#include + +#include + +struct kunit_dev { + struct drm_device base; +}; + +static const struct drm_mode_config_funcs drm_mode_config_funcs = { +}; + +static int dev_init(struct kunit_resource *res, void *ptr) +{ + char *name = ptr; + struct device *dev; + + dev = root_device_register(name); + if (IS_ERR(dev)) + return PTR_ERR(dev); + + res->data = dev; + return 0; +} + +static void dev_free(struct kunit_resource *res) +{ + struct device *dev = res->data; + + root_device_unregister(dev); +} + +struct drm_device *drm_kunit_device_init(struct kunit *test, u32 features, char *name) +{ + struct kunit_dev *kdev; + struct drm_device *drm; + struct drm_driver *driver; + struct device *dev; + int ret; + + dev = kunit_alloc_resource(test, dev_init, dev_free, GFP_KERNEL, name); + if (!dev) + return ERR_PTR(-ENOMEM); + + driver = kunit_kzalloc(test, sizeof(*driver), GFP_KERNEL); + if (!driver) + return ERR_PTR(-ENOMEM); + + driver->driver_features = features; + kdev = devm_drm_dev_alloc(dev, driver, struct kunit_dev, base); + if (IS_ERR(kdev)) + return ERR_CAST(kdev); + + drm = &kdev->base; + drm->mode_config.funcs = &drm_mode_config_funcs; + + ret = drmm_mode_config_init(drm); + if (ret) + return ERR_PTR(ret); + + return drm; +} diff --git a/drivers/gpu/drm/tests/drm_kunit_helpers.h b/drivers/gpu/drm/tests/drm_kunit_helpers.h new file mode 100644 index 000000000000..f13a18dd1c6d --- /dev/null +++ b/drivers/gpu/drm/tests/drm_kunit_helpers.h @@ -0,0 +1,9 @@ +#ifndef DRM_KUNIT_HELPERS_H_ +#define DRM_KUNIT_HELPERS_H_ + +struct drm_device; +struct kunit; + +struct drm_device *drm_kunit_device_init(struct kunit *test, u32 features, char *name); + +#endif // DRM_KUNIT_HELPERS_H_ -- b4 0.11.0-dev-99e3a From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 55ED0C4332F for ; Thu, 10 Nov 2022 11:08:00 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 285D610E6CD; Thu, 10 Nov 2022 11:07:28 +0000 (UTC) Received: from new4-smtp.messagingengine.com (new4-smtp.messagingengine.com [66.111.4.230]) by gabe.freedesktop.org (Postfix) with ESMTPS id AE89310E138; Thu, 10 Nov 2022 11:07:22 +0000 (UTC) Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailnew.nyi.internal (Postfix) with ESMTP id 1906658026A; Thu, 10 Nov 2022 06:07:22 -0500 (EST) Received: from mailfrontend2 ([10.202.2.163]) by compute4.internal (MEProxy); Thu, 10 Nov 2022 06:07:22 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cerno.tech; h=cc :cc:content-transfer-encoding:content-type:date:date:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to; s=fm2; t=1668078442; x= 1668085642; bh=AHTOXHkx0kRKXWWOsfXBu5Gg9FX4EGj4nIy8jaMRRKw=; b=X HtiDOoUDUmKijRgHafRXXRNKfRLcp7FF3XngKkYkAO+H4yx9u8Duvf+8HMYFxT/P VUsJ5Kw0FB2601wbTG/b0dEvsGVflSquhRH8N2l74wvLaaSwjWjpk2fCtGOyNsq0 3IyR793l3T7a/bcoAdMlMoRqj7N1rt8TqB2ljA3uqQZWIunQUF4rqDYEvUuR9chv Vmy+bO9iTthRJaYLZBOrBw8dv3AxmBpQec2X5bn4UrQbVsvXR/g6vfkzv9MqRcTM M2/PWJyz6mgSCkTGr9J4gmvF1oY09lHMdg/5c67Ya+L2pFzIZFp8+qWdSnNt8Ruh P01lrPZFd1VqdCWSNejWw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:date:date:feedback-id:feedback-id:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1668078442; x= 1668085642; bh=AHTOXHkx0kRKXWWOsfXBu5Gg9FX4EGj4nIy8jaMRRKw=; b=A VnJsir2CJlHluUFAX2IXnqtHhrU1aarPN9kXNvDhH6scLiTGaMT2A/4Da1nUy2do uStXTNgdXMjGh2ED8a/+qwrGIc2mug2NmE8ikQ/SU0+fjhDmzQbkrXuSJLXsYGTO fDLrfDMzsOOGFR7DOODLVnEGRekC8Yw+vcEekFatnD0sklbMVmrtUEo4Zn/iGTJJ rDMi64nHydI1FqvqigfyeFYFueOzFTL43d2EwBz3h0nWfmkMUk0PLgJ0trpP/dTj BW/Gba+8B/wn6T4EFq+ynhyFIBKs5R3tXGwf74ycZxr0mlujmtow8l9KM4dDCN/W /T8J36/hJTqkgZAikW8Wg== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvgedrfeeggddvhecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpefhfffuggfgtgfkfhgjvfevofesthekredtredtjeenucfhrhhomhepofgrgihi mhgvucftihhprghrugcuoehmrgigihhmvgestggvrhhnohdrthgvtghhqeenucggtffrrg htthgvrhhnpedvgfevjefhtdetveevhfelieeuueetgfdvgeevkeegudejffegfffgtedt leelhfenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpe hmrgigihhmvgestggvrhhnohdrthgvtghh X-ME-Proxy: Feedback-ID: i8771445c:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu, 10 Nov 2022 06:07:21 -0500 (EST) From: Maxime Ripard Date: Thu, 10 Nov 2022 12:07:13 +0100 Subject: [PATCH v8 01/24] drm/tests: Add Kunit Helpers MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="utf-8" Message-Id: <20220728-rpi-analog-tv-properties-v8-1-09ce1466967c@cerno.tech> References: <20220728-rpi-analog-tv-properties-v8-0-09ce1466967c@cerno.tech> In-Reply-To: <20220728-rpi-analog-tv-properties-v8-0-09ce1466967c@cerno.tech> To: Maarten Lankhorst , Chen-Yu Tsai , Maxime Ripard , Jernej Skrabec , Karol Herbst , Jani Nikula , Daniel Vetter , Lyude Paul , Samuel Holland , Joonas Lahtinen , Thomas Zimmermann , Emma Anholt , Rodrigo Vivi , Tvrtko Ursulin , David Airlie , Ben Skeggs X-Mailer: b4 0.11.0-dev-99e3a X-Developer-Signature: v=1; a=openpgp-sha256; l=3409; i=maxime@cerno.tech; h=from:subject:message-id; bh=8Ci/7PaTzMs8s+hjpIC/3665ddy1Hcazm7HWxVFfewQ=; b=owGbwMvMwCX2+D1vfrpE4FHG02pJDMk5t1P23q474Vvcme/iJ6+5akfZrQPBlue0PO9nOaS/mT4h 3yimo5SFQYyLQVZMkSVG2HxJ3KlZrzvZ+ObBzGFlAhnCwMUpABNpd2BkuDtz3uPnD7lr+V+sMxG4zM Bw9dV/u97+mzyfLLpmFfIZejP8j26U/Xayh/NlUiXrVeeiqkfBLms+f5zMo7wm/v2+IJ1FPAA= X-Developer-Key: i=maxime@cerno.tech; a=openpgp; fpr=BE5675C37E818C8B5764241C254BCFC56BF6CE8D X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Dom Cobley , Dave Stevenson , nouveau@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Phil Elwell , Hans de Goede , Noralf Trønnes , Geert Uytterhoeven , Maxime Ripard , Mateusz Kwiatkowski , linux-sunxi@lists.linux.dev, linux-arm-kernel@lists.infradead.org Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" As the number of kunit tests in KMS grows further, we start to have multiple test suites that, for example, need to register a mock DRM driver to interact with the KMS function they are supposed to test. Let's add a file meant to provide those kind of helpers to avoid duplication. Reviewed-by: Noralf Trønnes Tested-by: Mateusz Kwiatkowski Signed-off-by: Maxime Ripard --- Changes in v8: - Changed the API a bit to pass the features as argument Changes in v4: - Simplified the DRM device cleanup patch using devm_drm_dev_alloc() --- drivers/gpu/drm/tests/Makefile | 1 + drivers/gpu/drm/tests/drm_kunit_helpers.c | 64 +++++++++++++++++++++++++++++++ drivers/gpu/drm/tests/drm_kunit_helpers.h | 9 +++++ 3 files changed, 74 insertions(+) diff --git a/drivers/gpu/drm/tests/Makefile b/drivers/gpu/drm/tests/Makefile index 2d9f49b62ecb..b29ef1085cad 100644 --- a/drivers/gpu/drm/tests/Makefile +++ b/drivers/gpu/drm/tests/Makefile @@ -8,6 +8,7 @@ obj-$(CONFIG_DRM_KUNIT_TEST) += \ drm_format_helper_test.o \ drm_format_test.o \ drm_framebuffer_test.o \ + drm_kunit_helpers.o \ drm_mm_test.o \ drm_plane_helper_test.o \ drm_rect_test.o diff --git a/drivers/gpu/drm/tests/drm_kunit_helpers.c b/drivers/gpu/drm/tests/drm_kunit_helpers.c new file mode 100644 index 000000000000..d3f0d681b685 --- /dev/null +++ b/drivers/gpu/drm/tests/drm_kunit_helpers.c @@ -0,0 +1,64 @@ +#include +#include + +#include + +#include + +struct kunit_dev { + struct drm_device base; +}; + +static const struct drm_mode_config_funcs drm_mode_config_funcs = { +}; + +static int dev_init(struct kunit_resource *res, void *ptr) +{ + char *name = ptr; + struct device *dev; + + dev = root_device_register(name); + if (IS_ERR(dev)) + return PTR_ERR(dev); + + res->data = dev; + return 0; +} + +static void dev_free(struct kunit_resource *res) +{ + struct device *dev = res->data; + + root_device_unregister(dev); +} + +struct drm_device *drm_kunit_device_init(struct kunit *test, u32 features, char *name) +{ + struct kunit_dev *kdev; + struct drm_device *drm; + struct drm_driver *driver; + struct device *dev; + int ret; + + dev = kunit_alloc_resource(test, dev_init, dev_free, GFP_KERNEL, name); + if (!dev) + return ERR_PTR(-ENOMEM); + + driver = kunit_kzalloc(test, sizeof(*driver), GFP_KERNEL); + if (!driver) + return ERR_PTR(-ENOMEM); + + driver->driver_features = features; + kdev = devm_drm_dev_alloc(dev, driver, struct kunit_dev, base); + if (IS_ERR(kdev)) + return ERR_CAST(kdev); + + drm = &kdev->base; + drm->mode_config.funcs = &drm_mode_config_funcs; + + ret = drmm_mode_config_init(drm); + if (ret) + return ERR_PTR(ret); + + return drm; +} diff --git a/drivers/gpu/drm/tests/drm_kunit_helpers.h b/drivers/gpu/drm/tests/drm_kunit_helpers.h new file mode 100644 index 000000000000..f13a18dd1c6d --- /dev/null +++ b/drivers/gpu/drm/tests/drm_kunit_helpers.h @@ -0,0 +1,9 @@ +#ifndef DRM_KUNIT_HELPERS_H_ +#define DRM_KUNIT_HELPERS_H_ + +struct drm_device; +struct kunit; + +struct drm_device *drm_kunit_device_init(struct kunit *test, u32 features, char *name); + +#endif // DRM_KUNIT_HELPERS_H_ -- b4 0.11.0-dev-99e3a From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 8C1D5C433FE for ; Thu, 10 Nov 2022 11:08:15 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 111E210E6D3; Thu, 10 Nov 2022 11:07:30 +0000 (UTC) Received: from new4-smtp.messagingengine.com (new4-smtp.messagingengine.com [66.111.4.230]) by gabe.freedesktop.org (Postfix) with ESMTPS id AE89310E138; Thu, 10 Nov 2022 11:07:22 +0000 (UTC) Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailnew.nyi.internal (Postfix) with ESMTP id 1906658026A; Thu, 10 Nov 2022 06:07:22 -0500 (EST) Received: from mailfrontend2 ([10.202.2.163]) by compute4.internal (MEProxy); Thu, 10 Nov 2022 06:07:22 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cerno.tech; h=cc :cc:content-transfer-encoding:content-type:date:date:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to; s=fm2; t=1668078442; x= 1668085642; bh=AHTOXHkx0kRKXWWOsfXBu5Gg9FX4EGj4nIy8jaMRRKw=; b=X HtiDOoUDUmKijRgHafRXXRNKfRLcp7FF3XngKkYkAO+H4yx9u8Duvf+8HMYFxT/P VUsJ5Kw0FB2601wbTG/b0dEvsGVflSquhRH8N2l74wvLaaSwjWjpk2fCtGOyNsq0 3IyR793l3T7a/bcoAdMlMoRqj7N1rt8TqB2ljA3uqQZWIunQUF4rqDYEvUuR9chv Vmy+bO9iTthRJaYLZBOrBw8dv3AxmBpQec2X5bn4UrQbVsvXR/g6vfkzv9MqRcTM M2/PWJyz6mgSCkTGr9J4gmvF1oY09lHMdg/5c67Ya+L2pFzIZFp8+qWdSnNt8Ruh P01lrPZFd1VqdCWSNejWw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:date:date:feedback-id:feedback-id:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1668078442; x= 1668085642; bh=AHTOXHkx0kRKXWWOsfXBu5Gg9FX4EGj4nIy8jaMRRKw=; b=A VnJsir2CJlHluUFAX2IXnqtHhrU1aarPN9kXNvDhH6scLiTGaMT2A/4Da1nUy2do uStXTNgdXMjGh2ED8a/+qwrGIc2mug2NmE8ikQ/SU0+fjhDmzQbkrXuSJLXsYGTO fDLrfDMzsOOGFR7DOODLVnEGRekC8Yw+vcEekFatnD0sklbMVmrtUEo4Zn/iGTJJ rDMi64nHydI1FqvqigfyeFYFueOzFTL43d2EwBz3h0nWfmkMUk0PLgJ0trpP/dTj BW/Gba+8B/wn6T4EFq+ynhyFIBKs5R3tXGwf74ycZxr0mlujmtow8l9KM4dDCN/W /T8J36/hJTqkgZAikW8Wg== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvgedrfeeggddvhecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpefhfffuggfgtgfkfhgjvfevofesthekredtredtjeenucfhrhhomhepofgrgihi mhgvucftihhprghrugcuoehmrgigihhmvgestggvrhhnohdrthgvtghhqeenucggtffrrg htthgvrhhnpedvgfevjefhtdetveevhfelieeuueetgfdvgeevkeegudejffegfffgtedt leelhfenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpe hmrgigihhmvgestggvrhhnohdrthgvtghh X-ME-Proxy: Feedback-ID: i8771445c:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu, 10 Nov 2022 06:07:21 -0500 (EST) From: Maxime Ripard Date: Thu, 10 Nov 2022 12:07:13 +0100 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="utf-8" Message-Id: <20220728-rpi-analog-tv-properties-v8-1-09ce1466967c@cerno.tech> References: <20220728-rpi-analog-tv-properties-v8-0-09ce1466967c@cerno.tech> In-Reply-To: <20220728-rpi-analog-tv-properties-v8-0-09ce1466967c@cerno.tech> To: Maarten Lankhorst , Chen-Yu Tsai , Maxime Ripard , Jernej Skrabec , Karol Herbst , Jani Nikula , Daniel Vetter , Lyude Paul , Samuel Holland , Joonas Lahtinen , Thomas Zimmermann , Emma Anholt , Rodrigo Vivi , Tvrtko Ursulin , David Airlie , Ben Skeggs X-Mailer: b4 0.11.0-dev-99e3a X-Developer-Signature: v=1; a=openpgp-sha256; l=3409; i=maxime@cerno.tech; h=from:subject:message-id; bh=8Ci/7PaTzMs8s+hjpIC/3665ddy1Hcazm7HWxVFfewQ=; b=owGbwMvMwCX2+D1vfrpE4FHG02pJDMk5t1P23q474Vvcme/iJ6+5akfZrQPBlue0PO9nOaS/mT4h 3yimo5SFQYyLQVZMkSVG2HxJ3KlZrzvZ+ObBzGFlAhnCwMUpABNpd2BkuDtz3uPnD7lr+V+sMxG4zM Bw9dV/u97+mzyfLLpmFfIZejP8j26U/Xayh/NlUiXrVeeiqkfBLms+f5zMo7wm/v2+IJ1FPAA= X-Developer-Key: i=maxime@cerno.tech; a=openpgp; fpr=BE5675C37E818C8B5764241C254BCFC56BF6CE8D Subject: [Intel-gfx] [PATCH v8 01/24] drm/tests: Add Kunit Helpers X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Dom Cobley , Dave Stevenson , nouveau@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Phil Elwell , Hans de Goede , Noralf Trønnes , Geert Uytterhoeven , Maxime Ripard , Mateusz Kwiatkowski , linux-sunxi@lists.linux.dev, linux-arm-kernel@lists.infradead.org Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" As the number of kunit tests in KMS grows further, we start to have multiple test suites that, for example, need to register a mock DRM driver to interact with the KMS function they are supposed to test. Let's add a file meant to provide those kind of helpers to avoid duplication. Reviewed-by: Noralf Trønnes Tested-by: Mateusz Kwiatkowski Signed-off-by: Maxime Ripard --- Changes in v8: - Changed the API a bit to pass the features as argument Changes in v4: - Simplified the DRM device cleanup patch using devm_drm_dev_alloc() --- drivers/gpu/drm/tests/Makefile | 1 + drivers/gpu/drm/tests/drm_kunit_helpers.c | 64 +++++++++++++++++++++++++++++++ drivers/gpu/drm/tests/drm_kunit_helpers.h | 9 +++++ 3 files changed, 74 insertions(+) diff --git a/drivers/gpu/drm/tests/Makefile b/drivers/gpu/drm/tests/Makefile index 2d9f49b62ecb..b29ef1085cad 100644 --- a/drivers/gpu/drm/tests/Makefile +++ b/drivers/gpu/drm/tests/Makefile @@ -8,6 +8,7 @@ obj-$(CONFIG_DRM_KUNIT_TEST) += \ drm_format_helper_test.o \ drm_format_test.o \ drm_framebuffer_test.o \ + drm_kunit_helpers.o \ drm_mm_test.o \ drm_plane_helper_test.o \ drm_rect_test.o diff --git a/drivers/gpu/drm/tests/drm_kunit_helpers.c b/drivers/gpu/drm/tests/drm_kunit_helpers.c new file mode 100644 index 000000000000..d3f0d681b685 --- /dev/null +++ b/drivers/gpu/drm/tests/drm_kunit_helpers.c @@ -0,0 +1,64 @@ +#include +#include + +#include + +#include + +struct kunit_dev { + struct drm_device base; +}; + +static const struct drm_mode_config_funcs drm_mode_config_funcs = { +}; + +static int dev_init(struct kunit_resource *res, void *ptr) +{ + char *name = ptr; + struct device *dev; + + dev = root_device_register(name); + if (IS_ERR(dev)) + return PTR_ERR(dev); + + res->data = dev; + return 0; +} + +static void dev_free(struct kunit_resource *res) +{ + struct device *dev = res->data; + + root_device_unregister(dev); +} + +struct drm_device *drm_kunit_device_init(struct kunit *test, u32 features, char *name) +{ + struct kunit_dev *kdev; + struct drm_device *drm; + struct drm_driver *driver; + struct device *dev; + int ret; + + dev = kunit_alloc_resource(test, dev_init, dev_free, GFP_KERNEL, name); + if (!dev) + return ERR_PTR(-ENOMEM); + + driver = kunit_kzalloc(test, sizeof(*driver), GFP_KERNEL); + if (!driver) + return ERR_PTR(-ENOMEM); + + driver->driver_features = features; + kdev = devm_drm_dev_alloc(dev, driver, struct kunit_dev, base); + if (IS_ERR(kdev)) + return ERR_CAST(kdev); + + drm = &kdev->base; + drm->mode_config.funcs = &drm_mode_config_funcs; + + ret = drmm_mode_config_init(drm); + if (ret) + return ERR_PTR(ret); + + return drm; +} diff --git a/drivers/gpu/drm/tests/drm_kunit_helpers.h b/drivers/gpu/drm/tests/drm_kunit_helpers.h new file mode 100644 index 000000000000..f13a18dd1c6d --- /dev/null +++ b/drivers/gpu/drm/tests/drm_kunit_helpers.h @@ -0,0 +1,9 @@ +#ifndef DRM_KUNIT_HELPERS_H_ +#define DRM_KUNIT_HELPERS_H_ + +struct drm_device; +struct kunit; + +struct drm_device *drm_kunit_device_init(struct kunit *test, u32 features, char *name); + +#endif // DRM_KUNIT_HELPERS_H_ -- b4 0.11.0-dev-99e3a From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 7EFACC4332F for ; Thu, 10 Nov 2022 11:08:49 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References:Message-Id :MIME-Version:Subject:Date:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=AmrPfQlqKkFAoYLG7QN8WCbD1+y2rp+G+kbpWj4/Za4=; b=ygFe60kt/TVtzz 0pWZjpUzKIj9/0gOZn8hJ4udwA9MJMN7o7jTFkEXI7A8MWP8LPLTOUR5RcN3dxGTqrB1xnjtjIYbq LgffB04O6aYE91l/l4c44fmS4lsQ2OgLYCRIA95IYE1PteN8sXGoi+KnXgwETg9FmdmSv9JvGEFrB enzIV8oVt3kJo6fN31boXNh8j4Qhhp8htEBBqKSEGgB2IWLi7dr1wo5G6L4B6rle/Tkdl6RWSiPx3 nysiErfImNTiCk9bkWbNN3U6g3MafKsttNFj+8tplrHNHpxrHHQ4Yp652KFCMcjsLrcyDhiqB8HT8 KdEAGJwijiZy33Abmh7Q==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1ot5PH-005DlW-0c; Thu, 10 Nov 2022 11:07:39 +0000 Received: from new4-smtp.messagingengine.com ([66.111.4.230]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1ot5P0-005Des-Mo for linux-arm-kernel@lists.infradead.org; Thu, 10 Nov 2022 11:07:24 +0000 Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailnew.nyi.internal (Postfix) with ESMTP id 1906658026A; Thu, 10 Nov 2022 06:07:22 -0500 (EST) Received: from mailfrontend2 ([10.202.2.163]) by compute4.internal (MEProxy); Thu, 10 Nov 2022 06:07:22 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cerno.tech; h=cc :cc:content-transfer-encoding:content-type:date:date:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to; s=fm2; t=1668078442; x= 1668085642; bh=AHTOXHkx0kRKXWWOsfXBu5Gg9FX4EGj4nIy8jaMRRKw=; b=X HtiDOoUDUmKijRgHafRXXRNKfRLcp7FF3XngKkYkAO+H4yx9u8Duvf+8HMYFxT/P VUsJ5Kw0FB2601wbTG/b0dEvsGVflSquhRH8N2l74wvLaaSwjWjpk2fCtGOyNsq0 3IyR793l3T7a/bcoAdMlMoRqj7N1rt8TqB2ljA3uqQZWIunQUF4rqDYEvUuR9chv Vmy+bO9iTthRJaYLZBOrBw8dv3AxmBpQec2X5bn4UrQbVsvXR/g6vfkzv9MqRcTM M2/PWJyz6mgSCkTGr9J4gmvF1oY09lHMdg/5c67Ya+L2pFzIZFp8+qWdSnNt8Ruh P01lrPZFd1VqdCWSNejWw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:date:date:feedback-id:feedback-id:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1668078442; x= 1668085642; bh=AHTOXHkx0kRKXWWOsfXBu5Gg9FX4EGj4nIy8jaMRRKw=; b=A VnJsir2CJlHluUFAX2IXnqtHhrU1aarPN9kXNvDhH6scLiTGaMT2A/4Da1nUy2do uStXTNgdXMjGh2ED8a/+qwrGIc2mug2NmE8ikQ/SU0+fjhDmzQbkrXuSJLXsYGTO fDLrfDMzsOOGFR7DOODLVnEGRekC8Yw+vcEekFatnD0sklbMVmrtUEo4Zn/iGTJJ rDMi64nHydI1FqvqigfyeFYFueOzFTL43d2EwBz3h0nWfmkMUk0PLgJ0trpP/dTj BW/Gba+8B/wn6T4EFq+ynhyFIBKs5R3tXGwf74ycZxr0mlujmtow8l9KM4dDCN/W /T8J36/hJTqkgZAikW8Wg== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvgedrfeeggddvhecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpefhfffuggfgtgfkfhgjvfevofesthekredtredtjeenucfhrhhomhepofgrgihi mhgvucftihhprghrugcuoehmrgigihhmvgestggvrhhnohdrthgvtghhqeenucggtffrrg htthgvrhhnpedvgfevjefhtdetveevhfelieeuueetgfdvgeevkeegudejffegfffgtedt leelhfenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpe hmrgigihhmvgestggvrhhnohdrthgvtghh X-ME-Proxy: Feedback-ID: i8771445c:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu, 10 Nov 2022 06:07:21 -0500 (EST) From: Maxime Ripard Date: Thu, 10 Nov 2022 12:07:13 +0100 Subject: [PATCH v8 01/24] drm/tests: Add Kunit Helpers MIME-Version: 1.0 Message-Id: <20220728-rpi-analog-tv-properties-v8-1-09ce1466967c@cerno.tech> References: <20220728-rpi-analog-tv-properties-v8-0-09ce1466967c@cerno.tech> In-Reply-To: <20220728-rpi-analog-tv-properties-v8-0-09ce1466967c@cerno.tech> To: Maarten Lankhorst , Chen-Yu Tsai , Maxime Ripard , Jernej Skrabec , Karol Herbst , Jani Nikula , Daniel Vetter , Lyude Paul , Samuel Holland , Joonas Lahtinen , Thomas Zimmermann , Emma Anholt , Rodrigo Vivi , Tvrtko Ursulin , David Airlie , Ben Skeggs Cc: nouveau@lists.freedesktop.org, Noralf Trønnes , Dom Cobley , intel-gfx@lists.freedesktop.org, Phil Elwell , linux-sunxi@lists.linux.dev, Mateusz Kwiatkowski , Hans de Goede , linux-kernel@vger.kernel.org, Maxime Ripard , Dave Stevenson , dri-devel@lists.freedesktop.org, linux-arm-kernel@lists.infradead.org, Geert Uytterhoeven X-Mailer: b4 0.11.0-dev-99e3a X-Developer-Signature: v=1; a=openpgp-sha256; l=3409; i=maxime@cerno.tech; h=from:subject:message-id; bh=8Ci/7PaTzMs8s+hjpIC/3665ddy1Hcazm7HWxVFfewQ=; b=owGbwMvMwCX2+D1vfrpE4FHG02pJDMk5t1P23q474Vvcme/iJ6+5akfZrQPBlue0PO9nOaS/mT4h 3yimo5SFQYyLQVZMkSVG2HxJ3KlZrzvZ+ObBzGFlAhnCwMUpABNpd2BkuDtz3uPnD7lr+V+sMxG4zM Bw9dV/u97+mzyfLLpmFfIZejP8j26U/Xayh/NlUiXrVeeiqkfBLms+f5zMo7wm/v2+IJ1FPAA= X-Developer-Key: i=maxime@cerno.tech; a=openpgp; fpr=BE5675C37E818C8B5764241C254BCFC56BF6CE8D X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20221110_030722_903829_C20B892E X-CRM114-Status: GOOD ( 15.94 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org QXMgdGhlIG51bWJlciBvZiBrdW5pdCB0ZXN0cyBpbiBLTVMgZ3Jvd3MgZnVydGhlciwgd2Ugc3Rh cnQgdG8gaGF2ZQptdWx0aXBsZSB0ZXN0IHN1aXRlcyB0aGF0LCBmb3IgZXhhbXBsZSwgbmVlZCB0 byByZWdpc3RlciBhIG1vY2sgRFJNCmRyaXZlciB0byBpbnRlcmFjdCB3aXRoIHRoZSBLTVMgZnVu Y3Rpb24gdGhleSBhcmUgc3VwcG9zZWQgdG8gdGVzdC4KCkxldCdzIGFkZCBhIGZpbGUgbWVhbnQg dG8gcHJvdmlkZSB0aG9zZSBraW5kIG9mIGhlbHBlcnMgdG8gYXZvaWQKZHVwbGljYXRpb24uCgpS ZXZpZXdlZC1ieTogTm9yYWxmIFRyw7hubmVzIDxub3JhbGZAdHJvbm5lcy5vcmc+ClRlc3RlZC1i eTogTWF0ZXVzeiBLd2lhdGtvd3NraSA8a2Z5YXRlaytwdWJsaWNnaXRAZ21haWwuY29tPgpTaWdu ZWQtb2ZmLWJ5OiBNYXhpbWUgUmlwYXJkIDxtYXhpbWVAY2Vybm8udGVjaD4KCi0tLQpDaGFuZ2Vz IGluIHY4OgotIENoYW5nZWQgdGhlIEFQSSBhIGJpdCB0byBwYXNzIHRoZSBmZWF0dXJlcyBhcyBh cmd1bWVudAoKQ2hhbmdlcyBpbiB2NDoKLSBTaW1wbGlmaWVkIHRoZSBEUk0gZGV2aWNlIGNsZWFu dXAgcGF0Y2ggdXNpbmcgZGV2bV9kcm1fZGV2X2FsbG9jKCkKLS0tCiBkcml2ZXJzL2dwdS9kcm0v dGVzdHMvTWFrZWZpbGUgICAgICAgICAgICB8ICAxICsKIGRyaXZlcnMvZ3B1L2RybS90ZXN0cy9k cm1fa3VuaXRfaGVscGVycy5jIHwgNjQgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwog ZHJpdmVycy9ncHUvZHJtL3Rlc3RzL2RybV9rdW5pdF9oZWxwZXJzLmggfCAgOSArKysrKwogMyBm aWxlcyBjaGFuZ2VkLCA3NCBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL3Rlc3RzL01ha2VmaWxlIGIvZHJpdmVycy9ncHUvZHJtL3Rlc3RzL01ha2VmaWxlCmluZGV4 IDJkOWY0OWI2MmVjYi4uYjI5ZWYxMDg1Y2FkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v dGVzdHMvTWFrZWZpbGUKKysrIGIvZHJpdmVycy9ncHUvZHJtL3Rlc3RzL01ha2VmaWxlCkBAIC04 LDYgKzgsNyBAQCBvYmotJChDT05GSUdfRFJNX0tVTklUX1RFU1QpICs9IFwKIAlkcm1fZm9ybWF0 X2hlbHBlcl90ZXN0Lm8gXAogCWRybV9mb3JtYXRfdGVzdC5vIFwKIAlkcm1fZnJhbWVidWZmZXJf dGVzdC5vIFwKKwlkcm1fa3VuaXRfaGVscGVycy5vIFwKIAlkcm1fbW1fdGVzdC5vIFwKIAlkcm1f cGxhbmVfaGVscGVyX3Rlc3QubyBcCiAJZHJtX3JlY3RfdGVzdC5vCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vdGVzdHMvZHJtX2t1bml0X2hlbHBlcnMuYyBiL2RyaXZlcnMvZ3B1L2RybS90 ZXN0cy9kcm1fa3VuaXRfaGVscGVycy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAwMDAwMC4uZDNmMGQ2ODFiNjg1Ci0tLSAvZGV2L251bGwKKysrIGIvZHJpdmVycy9ncHUvZHJt L3Rlc3RzL2RybV9rdW5pdF9oZWxwZXJzLmMKQEAgLTAsMCArMSw2NCBAQAorI2luY2x1ZGUgPGRy bS9kcm1fZHJ2Lmg+CisjaW5jbHVkZSA8ZHJtL2RybV9tYW5hZ2VkLmg+CisKKyNpbmNsdWRlIDxr dW5pdC9yZXNvdXJjZS5oPgorCisjaW5jbHVkZSA8bGludXgvZGV2aWNlLmg+CisKK3N0cnVjdCBr dW5pdF9kZXYgeworCXN0cnVjdCBkcm1fZGV2aWNlIGJhc2U7Cit9OworCitzdGF0aWMgY29uc3Qg c3RydWN0IGRybV9tb2RlX2NvbmZpZ19mdW5jcyBkcm1fbW9kZV9jb25maWdfZnVuY3MgPSB7Cit9 OworCitzdGF0aWMgaW50IGRldl9pbml0KHN0cnVjdCBrdW5pdF9yZXNvdXJjZSAqcmVzLCB2b2lk ICpwdHIpCit7CisJY2hhciAqbmFtZSA9IHB0cjsKKwlzdHJ1Y3QgZGV2aWNlICpkZXY7CisKKwlk ZXYgPSByb290X2RldmljZV9yZWdpc3RlcihuYW1lKTsKKwlpZiAoSVNfRVJSKGRldikpCisJCXJl dHVybiBQVFJfRVJSKGRldik7CisKKwlyZXMtPmRhdGEgPSBkZXY7CisJcmV0dXJuIDA7Cit9CisK K3N0YXRpYyB2b2lkIGRldl9mcmVlKHN0cnVjdCBrdW5pdF9yZXNvdXJjZSAqcmVzKQoreworCXN0 cnVjdCBkZXZpY2UgKmRldiA9IHJlcy0+ZGF0YTsKKworCXJvb3RfZGV2aWNlX3VucmVnaXN0ZXIo ZGV2KTsKK30KKworc3RydWN0IGRybV9kZXZpY2UgKmRybV9rdW5pdF9kZXZpY2VfaW5pdChzdHJ1 Y3Qga3VuaXQgKnRlc3QsIHUzMiBmZWF0dXJlcywgY2hhciAqbmFtZSkKK3sKKwlzdHJ1Y3Qga3Vu aXRfZGV2ICprZGV2OworCXN0cnVjdCBkcm1fZGV2aWNlICpkcm07CisJc3RydWN0IGRybV9kcml2 ZXIgKmRyaXZlcjsKKwlzdHJ1Y3QgZGV2aWNlICpkZXY7CisJaW50IHJldDsKKworCWRldiA9IGt1 bml0X2FsbG9jX3Jlc291cmNlKHRlc3QsIGRldl9pbml0LCBkZXZfZnJlZSwgR0ZQX0tFUk5FTCwg bmFtZSk7CisJaWYgKCFkZXYpCisJCXJldHVybiBFUlJfUFRSKC1FTk9NRU0pOworCisJZHJpdmVy ID0ga3VuaXRfa3phbGxvYyh0ZXN0LCBzaXplb2YoKmRyaXZlciksIEdGUF9LRVJORUwpOworCWlm ICghZHJpdmVyKQorCQlyZXR1cm4gRVJSX1BUUigtRU5PTUVNKTsKKworCWRyaXZlci0+ZHJpdmVy X2ZlYXR1cmVzID0gZmVhdHVyZXM7CisJa2RldiA9IGRldm1fZHJtX2Rldl9hbGxvYyhkZXYsIGRy aXZlciwgc3RydWN0IGt1bml0X2RldiwgYmFzZSk7CisJaWYgKElTX0VSUihrZGV2KSkKKwkJcmV0 dXJuIEVSUl9DQVNUKGtkZXYpOworCisJZHJtID0gJmtkZXYtPmJhc2U7CisJZHJtLT5tb2RlX2Nv bmZpZy5mdW5jcyA9ICZkcm1fbW9kZV9jb25maWdfZnVuY3M7CisKKwlyZXQgPSBkcm1tX21vZGVf Y29uZmlnX2luaXQoZHJtKTsKKwlpZiAocmV0KQorCQlyZXR1cm4gRVJSX1BUUihyZXQpOworCisJ cmV0dXJuIGRybTsKK30KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS90ZXN0cy9kcm1fa3Vu aXRfaGVscGVycy5oIGIvZHJpdmVycy9ncHUvZHJtL3Rlc3RzL2RybV9rdW5pdF9oZWxwZXJzLmgK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5mMTNhMThkZDFjNmQKLS0t IC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL2dwdS9kcm0vdGVzdHMvZHJtX2t1bml0X2hlbHBlcnMu aApAQCAtMCwwICsxLDkgQEAKKyNpZm5kZWYgRFJNX0tVTklUX0hFTFBFUlNfSF8KKyNkZWZpbmUg RFJNX0tVTklUX0hFTFBFUlNfSF8KKworc3RydWN0IGRybV9kZXZpY2U7CitzdHJ1Y3Qga3VuaXQ7 CisKK3N0cnVjdCBkcm1fZGV2aWNlICpkcm1fa3VuaXRfZGV2aWNlX2luaXQoc3RydWN0IGt1bml0 ICp0ZXN0LCB1MzIgZmVhdHVyZXMsIGNoYXIgKm5hbWUpOworCisjZW5kaWYgLy8gRFJNX0tVTklU X0hFTFBFUlNfSF8KCi0tIApiNCAwLjExLjAtZGV2LTk5ZTNhCgpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlz dApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJh ZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==