WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Xen

xen-devel

[Top] [All Lists]

[Xen-devel] [PATCH 1/3] xen-fbfront: Read width/height from backend

To: xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-devel] [PATCH 1/3] xen-fbfront: Read width/height from backend
From: Daniel De Graaf <dgdegra@xxxxxxxxxxxxx>
Date: Mon, 7 Mar 2011 15:11:10 -0500
Cc: Ian.Campbell@xxxxxxxxxxxxx, Daniel De Graaf <dgdegra@xxxxxxxxxxxxx>, konrad.wilk@xxxxxxxxxx, Stefano.Stabellini@xxxxxxxxxxxxx
Delivery-date: 2011年3月07日 12:13:41 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <1299528672-5299-1-git-send-email-dgdegra@xxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <1299528672-5299-1-git-send-email-dgdegra@xxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
This allows the backend driver to specify the size of the framebuffer
instead of requiring it to be on the kernel command line.
Signed-off-by: Daniel De Graaf <dgdegra@xxxxxxxxxxxxx>
---
 drivers/video/xen-fbfront.c | 30 ++++++++++++++++++++++++------
 1 files changed, 24 insertions(+), 6 deletions(-)
diff --git a/drivers/video/xen-fbfront.c b/drivers/video/xen-fbfront.c
index a20218c..56d6061 100644
--- a/drivers/video/xen-fbfront.c
+++ b/drivers/video/xen-fbfront.c
@@ -58,7 +58,7 @@ struct xenfb_info {
 #define XENFB_DEFAULT_FB_LEN (XENFB_WIDTH * XENFB_HEIGHT * XENFB_DEPTH / 8)
 
 enum { KPARAM_MEM, KPARAM_WIDTH, KPARAM_HEIGHT, KPARAM_CNT };
-static int video[KPARAM_CNT] = { 2, XENFB_WIDTH, XENFB_HEIGHT };
+static int video[KPARAM_CNT] = { 0, 0, 0 };
 module_param_array(video, int, NULL, 0);
 MODULE_PARM_DESC(video,
 "Video memory size in MB, width, height in pixels (default 2,800,600)");
@@ -363,7 +363,7 @@ static int __devinit xenfb_probe(struct xenbus_device *dev,
 {
 struct xenfb_info *info;
 struct fb_info *fb_info;
- int fb_size;
+ int fb_size, fb_need;
 int val;
 int ret;
 
@@ -375,14 +375,32 @@ static int __devinit xenfb_probe(struct xenbus_device 
*dev,
 
 /* Limit kernel param videoram amount to what is in xenstore */
 if (xenbus_scanf(XBT_NIL, dev->otherend, "videoram", "%d", &val) == 1) {
- if (val < video[KPARAM_MEM])
+ if (!video[KPARAM_MEM] || val < video[KPARAM_MEM])
 video[KPARAM_MEM] = val;
 }
 
+ /* Take width/height from xenstore if not set on command line */
+ if (!video[KPARAM_WIDTH]) {
+ if (xenbus_scanf(XBT_NIL, dev->otherend, "width", "%d", &val) 
== 1)
+ video[KPARAM_WIDTH] = val;
+ else
+ video[KPARAM_WIDTH] = XENFB_WIDTH;
+ }
+ if (!video[KPARAM_HEIGHT]) {
+ if (xenbus_scanf(XBT_NIL, dev->otherend, "height", "%d", &val) 
== 1)
+ video[KPARAM_HEIGHT] = val;
+ else
+ video[KPARAM_HEIGHT] = XENFB_HEIGHT;
+ }
+
+ fb_need = video[KPARAM_WIDTH] * video[KPARAM_HEIGHT] * XENFB_DEPTH / 8;
+ if (video[KPARAM_MEM])
+ fb_size = video[KPARAM_MEM] * 1024 * 1024;
+ else
+ fb_size = video[KPARAM_MEM] = fb_need;
+
 /* If requested res does not fit in available memory, use default */
- fb_size = video[KPARAM_MEM] * 1024 * 1024;
- if (video[KPARAM_WIDTH] * video[KPARAM_HEIGHT] * XENFB_DEPTH / 8
- > fb_size) {
+ if (fb_need > fb_size) {
 video[KPARAM_WIDTH] = XENFB_WIDTH;
 video[KPARAM_HEIGHT] = XENFB_HEIGHT;
 fb_size = XENFB_DEFAULT_FB_LEN;
-- 
1.7.3.4
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
<Prev in Thread] Current Thread [Next in Thread>
Previous by Date: [Xen-devel] [PATCH 2/3] xen-fbfront: Use grant references when requested , Daniel De Graaf
Next by Date: [Xen-devel] [PATCH 3/3] xen-kbdfront: Add grant reference for shared page , Daniel De Graaf
Previous by Thread: [Xen-devel] [PATCH 2/3 v2] xen-fbfront: Use grant references when requested , Daniel De Graaf
Next by Thread: [Xen-devel] [PATCH 3/3] xen-kbdfront: Add grant reference for shared page , Daniel De Graaf
Indexes: [Date] [Thread] [Top] [All Lists]

Copyright ©, Citrix Systems Inc. All rights reserved. Legal and Privacy
Citrix This site is hosted by Citrix

AltStyle によって変換されたページ (->オリジナル) /