From: Ben Collins Date: Sat, 3 Mar 2012 20:57:37 +0000 (-0800) Subject: udlfb: Add module_param to allow forcing pixel_limit X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=664c5f18490f2552900c3f1794602204a43acc86;p=mv-sheeva.git udlfb: Add module_param to allow forcing pixel_limit Some user scenarios need to prioritize performance over maxiumum resolution. Also, some devices may have bad vendor descriptors, and this allows the user to set a pixel limit that matches their specific device to avoid blank screens on higher resolution monitors. 700000 minimum for DL-115, 2360000 maximum for DL-195 Signed-off-by: Ben Collins Signed-off-by: Bernie Thompson --- diff --git a/drivers/video/udlfb.c b/drivers/video/udlfb.c index 4330cf4b17a..86c8b256e30 100644 --- a/drivers/video/udlfb.c +++ b/drivers/video/udlfb.c @@ -72,6 +72,7 @@ MODULE_DEVICE_TABLE(usb, id_table); static bool console = 1; /* Allow fbcon to open framebuffer */ static bool fb_defio = 1; /* Detect mmap writes using page faults */ static bool shadow = 1; /* Optionally disable shadow framebuffer */ +static int pixel_limit; /* Optionally force a pixel resolution limit */ /* dlfb keeps a list of urbs for efficient bulk transfers */ static void dlfb_urb_completion(struct urb *urb); @@ -1616,6 +1617,14 @@ static int dlfb_usb_probe(struct usb_interface *interface, goto error; } + if (pixel_limit) { + pr_warn("DL chip limit of %d overriden" + " by module param to %d\n", + dev->sku_pixel_limit, pixel_limit); + dev->sku_pixel_limit = pixel_limit; + } + + if (!dlfb_alloc_urb_list(dev, WRITES_IN_FLIGHT, MAX_TRANSFER)) { retval = -ENOMEM; pr_err("dlfb_alloc_urb_list failed\n"); @@ -1963,6 +1972,9 @@ MODULE_PARM_DESC(fb_defio, "Page fault detection of mmap writes"); module_param(shadow, bool, S_IWUSR | S_IRUSR | S_IWGRP | S_IRGRP); MODULE_PARM_DESC(shadow, "Shadow vid mem. Disable to save mem but lose perf"); +module_param(pixel_limit, int, S_IWUSR | S_IRUSR | S_IWGRP | S_IRGRP); +MODULE_PARM_DESC(pixel_limit, "Force limit on max mode (in x*y pixels)"); + MODULE_AUTHOR("Roberto De Ioris , " "Jaya Kumar , " "Bernie Thompson ");