Thread (3 messages) 3 messages, 2 authors, 2009-06-08

Re: patch - bitblt 2D acceleration for s1d13xxxfb

From: Kristoffer Ericson <kristoffer.ericson@gmail.com>
Date: 2009-06-08 13:13:25

Hi Andrew,

Ive sent the updated patch to you and list earlier. Is it okey to merge? 
I feel confident that it doesnt break anything and it is tested
to both compile and work. 

If needed I could run it by Russell and push it that way.

Best wishes 
Kristoffer Ericson

On Fri, 5 Jun 2009 13:59:16 -0700
Andrew Morton [off-list ref] wrote:
On Fri, 5 Jun 2009 19:38:53 +0200
Kristoffer Ericson [off-list ref] wrote:
quoted
Greetings,

Just wanted some feedback since this patch is quite large. Any comments are
appreciated. It patches, compiles and runs like a fox on fire.
we like firey foxes.
quoted
This patch:
enables 2D rectfill and copyarea acceleration for 13506, need to look
at hardware sheets before I can say it works on other version but at minimal
13806.

Also some cleans up the code.


...

+/**
+ * we make sure only one bitblt operation is running
+ */
+static DEFINE_SPINLOCK(s1d13xxxfb_bitblt_lock);
+
+/**
+ * list of card production ids
  */
 static const int s1d13xxxfb_prod_ids[] = {
 	S1D13505_PROD_ID,
@@ -59,7 +71,7 @@ static const int s1d13xxxfb_prod_ids[] = {
 	S1D13806_PROD_ID,
 };
 
-/*
+/**
  * List of card strings
  */
 static const char *s1d13xxxfb_prod_names[] = {
@@ -68,8 +80,8 @@ static const char *s1d13xxxfb_prod_names[] = {
 	"S1D13806",
 };
 
-/*
- * Here we define the default struct fb_fix_screeninfo
+/**
+ * here we define the default struct fb_fix_screeninfo
  */
The /** token is reserved for introducing a kerneldoc-formatted
comment, but none of the above three comments are kerneldoc comments.
quoted
+/**
+ *	bltbit_wait_bitset - waits for change in register value
+ *	@info : framebuffer structure
+ *	@bit  : value expected in register
+ *	@timeout : ...
+ *
+ *	waits until value changes INTO bit
+ */
That one is kerneldoc.
quoted
+u8 bltbit_wait_bitset(struct fb_info *info, u8 bit, int timeout)
The patch adds lots of global functions.  Please make symbols static
where possible.
quoted
+{
+	while (!(s1d13xxxfb_readreg(info->par, S1DREG_BBLT_CTL0) & bit)) {
+		udelay(10);
+		if (!--timeout) {
+			dbg_blit("wait_bitset timeout\n");
+			break;
+		}
+	}
+
+	return timeout;
+}
+

...
It otherwise looks OK to my inexpert eye.

-- 
Kristoffer Ericson [off-list ref]

------------------------------------------------------------------------------
OpenSolaris 2009.06 is a cutting edge operating system for enterprises 
looking to deploy the next generation of Solaris that includes the latest 
innovations from Sun and the OpenSource community. Download a copy and 
enjoy capabilities such as Networking, Storage and Virtualization. 
Go to: http://p.sf.net/sfu/opensolaris-get
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help