Re: [PATCH 07/12] drm/udl: Add parameter to set number of URBs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi

Am 16.08.22 um 17:36 schrieb Takashi Iwai:
From: Thomas Zimmermann <tzimmermann@xxxxxxx>

For further debugging and optimization purpose, allow users to adjust
the number of URBs via a new module parameter, numurbs.

Signed-off-by: Thomas Zimmermann <tzimmermann@xxxxxxx>
Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>

I made this patch for debugging, but I don't think it should be added to the upstream kernel. Please don't merge.

Best regards
Thomas

---
  drivers/gpu/drm/udl/udl_main.c | 9 ++++++++-
  1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/udl/udl_main.c b/drivers/gpu/drm/udl/udl_main.c
index 2b7eafd48ec2..3c97f647883f 100644
--- a/drivers/gpu/drm/udl/udl_main.c
+++ b/drivers/gpu/drm/udl/udl_main.c
@@ -8,6 +8,8 @@
   * Copyright (C) 2009 Bernie Thompson <bernie@xxxxxxxxxxxx>
   */
+#include <linux/moduleparam.h>
+
  #include <drm/drm.h>
  #include <drm/drm_print.h>
  #include <drm/drm_probe_helper.h>
@@ -23,6 +25,9 @@
  #define WRITES_IN_FLIGHT (20)
  #define MAX_VENDOR_DESCRIPTOR_SIZE 256
+static uint udl_num_urbs = WRITES_IN_FLIGHT;
+module_param_named(numurbs, udl_num_urbs, uint, 0600);
+
  static int udl_parse_vendor_descriptor(struct udl_device *udl)
  {
  	struct usb_device *udev = udl_to_usb_device(udl);
@@ -294,6 +299,8 @@ int udl_init(struct udl_device *udl)
  	struct drm_device *dev = &udl->drm;
  	int ret = -ENOMEM;
+ drm_info(dev, "pre-allocating %d URBs\n", udl_num_urbs);
+
  	DRM_DEBUG("\n");
udl->dmadev = usb_intf_get_dma_device(to_usb_interface(dev->dev));
@@ -311,7 +318,7 @@ int udl_init(struct udl_device *udl)
  	if (udl_select_std_channel(udl))
  		DRM_ERROR("Selecting channel failed\n");
- if (!udl_alloc_urb_list(dev, WRITES_IN_FLIGHT, MAX_TRANSFER)) {
+	if (!udl_alloc_urb_list(dev, udl_num_urbs, MAX_TRANSFER)) {
  		DRM_ERROR("udl_alloc_urb_list failed\n");
  		goto err;
  	}

--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
(HRB 36809, AG Nürnberg)
Geschäftsführer: Ivo Totev

Attachment: OpenPGP_signature
Description: OpenPGP digital signature


[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux