[Armadeus-commitlog] SF.net SVN: armadeus: [752] trunk/buildroot/target/device/armadeus/linux/ kern
Brought to you by:
sszy
|
From: <th...@us...> - 2008-01-17 09:43:15
|
Revision: 752
http://armadeus.svn.sourceforge.net/armadeus/?rev=752&view=rev
Author: thom25
Date: 2008-01-17 01:43:19 -0800 (Thu, 17 Jan 2008)
Log Message:
-----------
[LINUX] merge imxfb patches
Removed Paths:
-------------
trunk/buildroot/target/device/armadeus/linux/kernel-patches/2.6.23.1/070-linux-2.6.23.1-framebuffer-16bits-color-part1.diff
trunk/buildroot/target/device/armadeus/linux/kernel-patches/2.6.23.1/070-linux-2.6.23.1-framebuffer-16bits-color-part2.diff
trunk/buildroot/target/device/armadeus/linux/kernel-patches/2.6.23.1/071-linux-2.6.23.1-framebuffer-8bpp-switch.diff
Deleted: trunk/buildroot/target/device/armadeus/linux/kernel-patches/2.6.23.1/070-linux-2.6.23.1-framebuffer-16bits-color-part1.diff
===================================================================
--- trunk/buildroot/target/device/armadeus/linux/kernel-patches/2.6.23.1/070-linux-2.6.23.1-framebuffer-16bits-color-part1.diff 2008-01-17 09:37:02 UTC (rev 751)
+++ trunk/buildroot/target/device/armadeus/linux/kernel-patches/2.6.23.1/070-linux-2.6.23.1-framebuffer-16bits-color-part1.diff 2008-01-17 09:43:19 UTC (rev 752)
@@ -1,198 +0,0 @@
-X-Account-Key: account2
-X-UIDL: 1169648826.15570.mrelay3-1
-X-Mozilla-Status: 0001
-X-Mozilla-Status2: 00000000
-Return-Path: <sh...@pe...>
-Delivered-To: onl...@fr...
-Received: (qmail 15163 invoked from network); 24 Jan 2007 14:27:04 -0000
-Received: from 83.236.181.26 (HELO metis.extern.pengutronix.de) (83.236.181.26)
- by mrelay3-1.free.fr with SMTP; 24 Jan 2007 14:27:04 -0000
-Received: from leda.ptxnet.pengutronix.de ([10.1.0.71])
- by metis.extern.pengutronix.de with esmtp (Exim 3.36 #1 (Debian))
- id 1H9iZZ-0002mz-00; Wed, 24 Jan 2007 14:53:57 +0100
-Received: from sha by leda.ptxnet.pengutronix.de with local (Exim 4.63)
- (envelope-from <sh...@lo...>)
- id 1H9iZZ-0001hB-ED; Wed, 24 Jan 2007 14:53:57 +0100
-Date: Wed, 24 Jan 2007 14:53:57 +0100
-From: Sascha Hauer <s....@pe...>
-To: jul...@fr...
-Cc: lin...@li...
-Subject: [PATCH] move imxfb.h into c file
-Message-ID: <200...@lo...>
-Mail-Followup-To: jul...@fr...,
- lin...@li...
-References: <116...@im...>
-MIME-Version: 1.0
-Content-Type: text/plain; charset=us-ascii
-Content-Disposition: inline
-In-Reply-To: <116...@im...>
-User-Agent: Mutt/1.5.13 (2006-08-11)
-
-This patch moves the content of drivers/video/imxfb.h into
-drivers/video/imxfb.c since it is only used in this one file
-
-Signed-Off-by: Sascha Hauer <s....@pe...>
-
----
- drivers/video/imxfb.c | 59 +++++++++++++++++++++++++++++++++++++++-
- drivers/video/imxfb.h | 73 --------------------------------------------------
- 2 files changed, 58 insertions(+), 74 deletions(-)
-
-Index: drivers/video/imxfb.c
-===================================================================
---- a/drivers/video/imxfb.c.orig
-+++ b/drivers/video/imxfb.c
-@@ -43,7 +43,64 @@
- */
- #define DEBUG_VAR 1
-
--#include "imxfb.h"
-+/*
-+ * These are the bitfields for each
-+ * display depth that we support.
-+ */
-+struct imxfb_rgb {
-+ struct fb_bitfield red;
-+ struct fb_bitfield green;
-+ struct fb_bitfield blue;
-+ struct fb_bitfield transp;
-+};
-+
-+#define RGB_16 (0)
-+#define RGB_8 (1)
-+#define NR_RGB 2
-+
-+struct imxfb_info {
-+ struct device *dev;
-+ struct imxfb_rgb *rgb[NR_RGB];
-+
-+ u_int max_bpp;
-+ u_int max_xres;
-+ u_int max_yres;
-+
-+ /*
-+ * These are the addresses we mapped
-+ * the framebuffer memory region to.
-+ */
-+ dma_addr_t map_dma;
-+ u_char * map_cpu;
-+ u_int map_size;
-+
-+ u_char * screen_cpu;
-+ dma_addr_t screen_dma;
-+ u_int palette_size;
-+
-+ dma_addr_t dbar1;
-+ dma_addr_t dbar2;
-+
-+ u_int pcr;
-+ u_int pwmr;
-+ u_int lscr1;
-+ u_int dmacr;
-+ u_int cmap_inverse:1,
-+ cmap_static:1,
-+ unused:30;
-+
-+ void (*lcd_power)(int);
-+ void (*backlight_power)(int);
-+};
-+
-+#define IMX_NAME "IMX"
-+
-+/*
-+ * Minimum X and Y resolutions
-+ */
-+#define MIN_XRES 64
-+#define MIN_YRES 64
-+
-
- static struct imxfb_rgb def_rgb_16 = {
- .red = { .offset = 8, .length = 4, },
-Index: drivers/video/imxfb.h
-===================================================================
---- a/drivers/video/imxfb.h
-+++ b//dev/null
-@@ -1,73 +0,0 @@
--/*
-- * linux/drivers/video/imxfb.h
-- *
-- * Freescale i.MX Frame Buffer device driver
-- *
-- * Copyright (C) 2004 S.Hauer, Pengutronix
-- *
-- * Copyright (C) 1999 Eric A. Thomas
-- * Based on acornfb.c Copyright (C) Russell King.
-- *
-- * This file is subject to the terms and conditions of the GNU General Public
-- * License. See the file COPYING in the main directory of this archive
-- * for more details.
-- */
--
--/*
-- * These are the bitfields for each
-- * display depth that we support.
-- */
--struct imxfb_rgb {
-- struct fb_bitfield red;
-- struct fb_bitfield green;
-- struct fb_bitfield blue;
-- struct fb_bitfield transp;
--};
--
--#define RGB_16 (0)
--#define RGB_8 (1)
--#define NR_RGB 2
--
--struct imxfb_info {
-- struct device *dev;
-- struct imxfb_rgb *rgb[NR_RGB];
--
-- u_int max_bpp;
-- u_int max_xres;
-- u_int max_yres;
--
-- /*
-- * These are the addresses we mapped
-- * the framebuffer memory region to.
-- */
-- dma_addr_t map_dma;
-- u_char * map_cpu;
-- u_int map_size;
--
-- u_char * screen_cpu;
-- dma_addr_t screen_dma;
-- u_int palette_size;
--
-- dma_addr_t dbar1;
-- dma_addr_t dbar2;
--
-- u_int pcr;
-- u_int pwmr;
-- u_int lscr1;
-- u_int dmacr;
-- u_int cmap_inverse:1,
-- cmap_static:1,
-- unused:30;
--
-- void (*lcd_power)(int);
-- void (*backlight_power)(int);
--};
--
--#define IMX_NAME "IMX"
--
--/*
-- * Minimum X and Y resolutions
-- */
--#define MIN_XRES 64
--#define MIN_YRES 64
--
-
-
---
- Dipl.-Ing. Sascha Hauer | http://www.pengutronix.de
- Pengutronix - Linux Solutions for Science and Industry
- Handelsregister: Amtsgericht Hildesheim, HRA 2686
- Hannoversche Str. 2, 31134 Hildesheim, Germany
- Phone: +49-5121-206917-0 | Fax: +49-5121-206917-9
-
-
Deleted: trunk/buildroot/target/device/armadeus/linux/kernel-patches/2.6.23.1/070-linux-2.6.23.1-framebuffer-16bits-color-part2.diff
===================================================================
--- trunk/buildroot/target/device/armadeus/linux/kernel-patches/2.6.23.1/070-linux-2.6.23.1-framebuffer-16bits-color-part2.diff 2008-01-17 09:37:02 UTC (rev 751)
+++ trunk/buildroot/target/device/armadeus/linux/kernel-patches/2.6.23.1/070-linux-2.6.23.1-framebuffer-16bits-color-part2.diff 2008-01-17 09:43:19 UTC (rev 752)
@@ -1,173 +0,0 @@
-X-Account-Key: account2
-X-UIDL: 1169648825.15418.mrelay3-1
-X-Mozilla-Status: 0011
-X-Mozilla-Status2: 00000000
-Return-Path: <sh...@pe...>
-Delivered-To: onl...@fr...
-Received: (qmail 14991 invoked from network); 24 Jan 2007 14:27:04 -0000
-Received: from 83.236.181.26 (HELO metis.extern.pengutronix.de) (83.236.181.26)
- by mrelay3-1.free.fr with SMTP; 24 Jan 2007 14:27:04 -0000
-Received: from leda.ptxnet.pengutronix.de ([10.1.0.71])
- by metis.extern.pengutronix.de with esmtp (Exim 3.36 #1 (Debian))
- id 1H9idU-0002wL-00; Wed, 24 Jan 2007 14:58:00 +0100
-Received: from sha by leda.ptxnet.pengutronix.de with local (Exim 4.63)
- (envelope-from <sh...@lo...>)
- id 1H9idT-0001hd-RX; Wed, 24 Jan 2007 14:57:59 +0100
-Date: Wed, 24 Jan 2007 14:57:59 +0100
-From: Sascha Hauer <s....@pe...>
-To: jul...@fr...
-Cc: lin...@li...
-Subject: Re: i.MX FrameBuffer: strange color mapping in 16bit mode
-Message-ID: <200...@lo...>
-Mail-Followup-To: jul...@fr...,
- lin...@li...
-References: <116...@im...>
-MIME-Version: 1.0
-Content-Type: text/plain; charset=us-ascii
-Content-Disposition: inline
-In-Reply-To: <116...@im...>
-User-Agent: Mutt/1.5.13 (2006-08-11)
-
-The i.MX LCD controller uses 12bpp for STN and 16bpp for TFT displays,
-so we have to differentiate between the two different resulting
-bitfields.
-
-Signed-Off-by: Sascha Hauer <s....@pe...>
-
----
- drivers/video/imxfb.c | 75 +++++++++++++++++---------------------------------
- 1 file changed, 26 insertions(+), 49 deletions(-)
-
-Index: drivers/video/imxfb.c
-===================================================================
---- a/drivers/video/imxfb.c.orig
-+++ b/drivers/video/imxfb.c
-@@ -43,24 +43,8 @@
- */
- #define DEBUG_VAR 1
-
--/*
-- * These are the bitfields for each
-- * display depth that we support.
-- */
--struct imxfb_rgb {
-- struct fb_bitfield red;
-- struct fb_bitfield green;
-- struct fb_bitfield blue;
-- struct fb_bitfield transp;
--};
--
--#define RGB_16 (0)
--#define RGB_8 (1)
--#define NR_RGB 2
--
- struct imxfb_info {
- struct device *dev;
-- struct imxfb_rgb *rgb[NR_RGB];
-
- u_int max_bpp;
- u_int max_xres;
-@@ -101,21 +85,6 @@ struct imxfb_info {
- #define MIN_XRES 64
- #define MIN_YRES 64
-
--
--static struct imxfb_rgb def_rgb_16 = {
-- .red = { .offset = 8, .length = 4, },
-- .green = { .offset = 4, .length = 4, },
-- .blue = { .offset = 0, .length = 4, },
-- .transp = { .offset = 0, .length = 0, },
--};
--
--static struct imxfb_rgb def_rgb_8 = {
-- .red = { .offset = 0, .length = 8, },
-- .green = { .offset = 0, .length = 8, },
-- .blue = { .offset = 0, .length = 8, },
-- .transp = { .offset = 0, .length = 0, },
--};
--
- static int imxfb_activate_var(struct fb_var_screeninfo *var, struct fb_info *info);
-
- static inline u_int chan_to_field(u_int chan, struct fb_bitfield *bf)
-@@ -210,7 +179,6 @@ static int
- imxfb_check_var(struct fb_var_screeninfo *var, struct fb_info *info)
- {
- struct imxfb_info *fbi = info->par;
-- int rgbidx;
-
- if (var->xres < MIN_XRES)
- var->xres = MIN_XRES;
-@@ -223,27 +191,39 @@ imxfb_check_var(struct fb_var_screeninfo
- var->xres_virtual = max(var->xres_virtual, var->xres);
- var->yres_virtual = max(var->yres_virtual, var->yres);
-
-+ memset(&var->transp, 0, sizeof(var->transp));
-+
- pr_debug("var->bits_per_pixel=%d\n", var->bits_per_pixel);
- switch (var->bits_per_pixel) {
-- case 16:
-- rgbidx = RGB_16;
-- break;
- case 8:
-- rgbidx = RGB_8;
-+ var->red.length = var->bits_per_pixel;
-+ var->red.offset = 0;
-+ var->green.length = var->bits_per_pixel;
-+ var->green.offset = 0;
-+ var->blue.length = var->bits_per_pixel;
-+ var->blue.offset = 0;
-+ break;
-+ case 16:
-+ if (fbi->pcr & PCR_TFT) {
-+ var->red.length = 5;
-+ var->red.offset = 11;
-+ var->green.length = 6;
-+ var->green.offset = 5;
-+ var->blue.length = 5;
-+ var->blue.offset = 0;
-+ } else {
-+ var->red.length = 4;
-+ var->red.offset = 8;
-+ var->green.length = 4;
-+ var->green.offset = 4;
-+ var->blue.length = 4;
-+ var->blue.offset = 0;
-+ }
- break;
- default:
-- rgbidx = RGB_16;
-+ return -EINVAL;
- }
-
-- /*
-- * Copy the RGB parameters for this display
-- * from the machine specific parameters.
-- */
-- var->red = fbi->rgb[rgbidx]->red;
-- var->green = fbi->rgb[rgbidx]->green;
-- var->blue = fbi->rgb[rgbidx]->blue;
-- var->transp = fbi->rgb[rgbidx]->transp;
--
- pr_debug("RGBT length = %d:%d:%d:%d\n",
- var->red.length, var->green.length, var->blue.length,
- var->transp.length);
-@@ -536,9 +516,6 @@ static int __init imxfb_init_fbinfo(stru
- info->flags = FBINFO_FLAG_DEFAULT;
- info->pseudo_palette = (fbi + 1);
-
-- fbi->rgb[RGB_16] = &def_rgb_16;
-- fbi->rgb[RGB_8] = &def_rgb_8;
--
- fbi->max_xres = inf->xres;
- info->var.xres = inf->xres;
- info->var.xres_virtual = inf->xres;
-
-
---
- Dipl.-Ing. Sascha Hauer | http://www.pengutronix.de
- Pengutronix - Linux Solutions for Science and Industry
- Handelsregister: Amtsgericht Hildesheim, HRA 2686
- Hannoversche Str. 2, 31134 Hildesheim, Germany
- Phone: +49-5121-206917-0 | Fax: +49-5121-206917-9
-
-
Deleted: trunk/buildroot/target/device/armadeus/linux/kernel-patches/2.6.23.1/071-linux-2.6.23.1-framebuffer-8bpp-switch.diff
===================================================================
--- trunk/buildroot/target/device/armadeus/linux/kernel-patches/2.6.23.1/071-linux-2.6.23.1-framebuffer-8bpp-switch.diff 2008-01-17 09:37:02 UTC (rev 751)
+++ trunk/buildroot/target/device/armadeus/linux/kernel-patches/2.6.23.1/071-linux-2.6.23.1-framebuffer-8bpp-switch.diff 2008-01-17 09:43:19 UTC (rev 752)
@@ -1,41 +0,0 @@
-This patch activates 8/16 bpp switching in framebuffer on 16 Bits TFT
-
---- linux-2.6.18.1/drivers/video/imxfb.c 2007-04-05 22:31:12.000000000 +0200
-+++ linux-2.6.18.1.fb8bits/drivers/video/imxfb.c 2007-05-08 12:40:31.000000000 +0200
-@@ -350,6 +350,7 @@
- pr_debug("var: yres=%d vslen=%d um=%d bm=%d\n",
- var->yres, var->vsync_len,
- var->upper_margin, var->lower_margin);
-+ pr_debug("var: bpp=%d\n", var->bits_per_pixel);
-
- #if DEBUG_VAR
- if (var->xres < 16 || var->xres > 1024)
-@@ -387,7 +388,17 @@
- VCR_V_WAIT_2(var->lower_margin);
-
- LCDC_SIZE = SIZE_XMAX(var->xres) | SIZE_YMAX(var->yres);
-- LCDC_PCR = fbi->pcr;
-+ // On TFT LCD i.MXL can support 16, 12, 8, 4bpp with the same hardware interface (12 to 16 bits)
-+ // So if userspace app wants a 8bpp screen switch to 8bpp (can save ressources, with SDL for ex)
-+ if( (var->bits_per_pixel == 8) && (fbi->pcr & PCR_TFT) )
-+ {
-+ pr_debug("Switching imxfb to 8bpp\n");
-+ LCDC_PCR = (fbi->pcr & (~PCR_BPIX_MASK)) | PCR_BPIX_8 | PCR_END_BYTE_SWAP;
-+ }
-+ else
-+ LCDC_PCR = fbi->pcr;
-+
-+ LCDC_VPW = VPW_VPW(var->xres * var->bits_per_pixel / 8 / 4);
- LCDC_PWMR = fbi->pwmr;
- LCDC_LSCR1 = fbi->lscr1;
- LCDC_DMACR = fbi->dmacr;
---- linux-2.6.18.1/include/asm-arm/arch-imx/imx-regs.h 2007-04-05 22:31:12.000000000 +0200
-+++ linux-2.6.18.1.fb8bits/include/asm-arm/arch-imx/imx-regs.h 2007-05-08 12:38:19.000000000 +0200
-@@ -411,6 +411,7 @@
- #define PCR_BPIX_8 (3<<25)
- #define PCR_BPIX_12 (4<<25)
- #define PCR_BPIX_16 (4<<25)
-+#define PCR_BPIX_MASK (7<<25)
- #define PCR_PIXPOL (1<<24)
- #define PCR_FLMPOL (1<<23)
- #define PCR_LPPOL (1<<22)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|