[igt-dev] [PATCH i-g-t] lib/drmtest: Don't log a warning when drm driver is not loaded
Zbigniew Kempczyński
zbigniew.kempczynski at intel.com
Tue Aug 2 09:27:56 UTC 2022
Some drivers left machine with drm driver unloaded. When IGT_DEVICE is
set first call to __get_card_for_nth_filter() won't find the drm device
and outputs a warning. Lets avoid logging a warning when we're not sure
drm driver is loaded.
Fixes: https://gitlab.freedesktop.org/drm/intel/-/issues/6498
Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski at intel.com>
Cc: Petri Latvala <petri.latvala at intel.com>
---
lib/drmtest.c | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)
diff --git a/lib/drmtest.c b/lib/drmtest.c
index 4f9d8a11cb..58d2f7f998 100644
--- a/lib/drmtest.c
+++ b/lib/drmtest.c
@@ -348,12 +348,15 @@ static int __open_driver_exact(const char *name, unsigned int chipset)
*
* @card: pointer to the igt_device_card structure to be filled
* when a card is found.
+ * @do_warn: write out a warning when filter cannot match the device. Used for
+ * case when drm module is not loaded but filter (IGT_DEVICE) is set.
*
* Returns:
* True if card according to the added filter was found,
* false othwerwise.
*/
-static bool __get_card_for_nth_filter(int idx, struct igt_device_card *card)
+static bool __get_card_for_nth_filter(int idx, struct igt_device_card *card,
+ bool do_warn)
{
const char *filter;
@@ -366,7 +369,8 @@ static bool __get_card_for_nth_filter(int idx, struct igt_device_card *card)
return true;
}
- igt_warn("No card matches the filter!\n");
+ if (do_warn)
+ igt_warn("No card matches the filter!\n");
}
return false;
@@ -434,11 +438,11 @@ int __drm_open_driver_another(int idx, int chipset)
struct igt_device_card card;
bool found;
- found = __get_card_for_nth_filter(idx, &card);
+ found = __get_card_for_nth_filter(idx, &card, false);
if (!found) {
drm_load_module(chipset);
- found = __get_card_for_nth_filter(idx, &card);
+ found = __get_card_for_nth_filter(idx, &card, true);
}
if (!found || !strlen(card.card))
@@ -483,7 +487,7 @@ int __drm_open_driver_render(int chipset)
struct igt_device_card card;
bool found;
- found = __get_card_for_nth_filter(0, &card);
+ found = __get_card_for_nth_filter(0, &card, true);
if (!found || !strlen(card.render))
return -1;
--
2.34.1
More information about the igt-dev
mailing list