[RFC V2] fbdev/riva:change to use generice function to implement reverse_order()

2015-08-21 Thread yalin wang
This change to use swab32(bitrev32()) to implement reverse_order()
function, have better performance on some platforms.

Signed-off-by: yalin wang 
---
 drivers/video/fbdev/riva/fbdev.c | 7 ++-
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/drivers/video/fbdev/riva/fbdev.c b/drivers/video/fbdev/riva/fbdev.c
index f1ad274..ccf0f82 100644
--- a/drivers/video/fbdev/riva/fbdev.c
+++ b/drivers/video/fbdev/riva/fbdev.c
@@ -40,6 +40,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 #ifdef CONFIG_PMAC_BACKLIGHT
 #include 
@@ -453,11 +454,7 @@ static inline unsigned char MISCin(struct riva_par *par)
 
 static inline void reverse_order(u32 *l)
 {
-   u8 *a = (u8 *)l;
-   a[0] = bitrev8(a[0]);
-   a[1] = bitrev8(a[1]);
-   a[2] = bitrev8(a[2]);
-   a[3] = bitrev8(a[3]);
+   *l = swab32(bitrev32(*l));
 }
 
 /* - *
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[RFC V2] fbdev/riva:change to use generice function to implement reverse_order()

2015-08-21 Thread yalin wang
This change to use swab32(bitrev32()) to implement reverse_order()
function, have better performance on some platforms.

Signed-off-by: yalin wang yalin.wang2...@gmail.com
---
 drivers/video/fbdev/riva/fbdev.c | 7 ++-
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/drivers/video/fbdev/riva/fbdev.c b/drivers/video/fbdev/riva/fbdev.c
index f1ad274..ccf0f82 100644
--- a/drivers/video/fbdev/riva/fbdev.c
+++ b/drivers/video/fbdev/riva/fbdev.c
@@ -40,6 +40,7 @@
 #include linux/init.h
 #include linux/pci.h
 #include linux/backlight.h
+#include linux/swab.h
 #include linux/bitrev.h
 #ifdef CONFIG_PMAC_BACKLIGHT
 #include asm/machdep.h
@@ -453,11 +454,7 @@ static inline unsigned char MISCin(struct riva_par *par)
 
 static inline void reverse_order(u32 *l)
 {
-   u8 *a = (u8 *)l;
-   a[0] = bitrev8(a[0]);
-   a[1] = bitrev8(a[1]);
-   a[2] = bitrev8(a[2]);
-   a[3] = bitrev8(a[3]);
+   *l = swab32(bitrev32(*l));
 }
 
 /* - *
-- 
1.9.1

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/