From owner-svn-src-projects@FreeBSD.ORG Sat Mar 16 16:39:00 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 989867F1; Sat, 16 Mar 2013 16:39:00 +0000 (UTC) (envelope-from ray@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 8959E75D; Sat, 16 Mar 2013 16:39:00 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2GGd0pc025534; Sat, 16 Mar 2013 16:39:00 GMT (envelope-from ray@svn.freebsd.org) Received: (from ray@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2GGd0e8025533; Sat, 16 Mar 2013 16:39:00 GMT (envelope-from ray@svn.freebsd.org) Message-Id: <201303161639.r2GGd0e8025533@svn.freebsd.org> From: Aleksandr Rybalko Date: Sat, 16 Mar 2013 16:39:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r248375 - projects/efika_mx/sys/arm/freescale/imx X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Mar 2013 16:39:00 -0000 Author: ray Date: Sat Mar 16 16:39:00 2013 New Revision: 248375 URL: http://svnweb.freebsd.org/changeset/base/248375 Log: Enable 24bits color support. (Default for Smarttop) Sponsored by: The FreeBSD Foundation Modified: projects/efika_mx/sys/arm/freescale/imx/imx51_ipuv3.c Modified: projects/efika_mx/sys/arm/freescale/imx/imx51_ipuv3.c ============================================================================== --- projects/efika_mx/sys/arm/freescale/imx/imx51_ipuv3.c Sat Mar 16 15:51:09 2013 (r248374) +++ projects/efika_mx/sys/arm/freescale/imx/imx51_ipuv3.c Sat Mar 16 16:39:00 2013 (r248375) @@ -134,6 +134,26 @@ static uint16_t colors[16] = { 0xffe0, /* yellow */ 0xffff, /* white */ }; +static uint32_t colors_24[16] = { + 0x000000,/* Black */ + 0x000080,/* Blue */ + 0x008000,/* Green */ + 0x008080,/* Cyan */ + 0x800000,/* Red */ + 0x800080,/* Magenta */ + 0xcc6600,/* brown */ + 0xC0C0C0,/* Silver */ + 0x808080,/* Gray */ + 0x0000FF,/* Light Blue */ + 0x00FF00,/* Light Green */ + 0x00FFFF,/* Light Cyan */ + 0xFF0000,/* Light Red */ + 0xFF00FF,/* Light Magenta */ + 0xFFFF00,/* Yellow */ + 0xFFFFFF,/* White */ + + +}; #define IPUV3_READ(ipuv3, module, reg) \ bus_space_read_4((ipuv3)->iot, (ipuv3)->module##_ioh, (reg)) @@ -775,7 +795,7 @@ ipu3fb_putc(video_adapter_t *adp, vm_off int b, i, j, k; uint8_t *addr; u_char *p; - uint16_t fg, bg, color; + uint32_t fg, bg, color; sc = (struct video_adapter_softc *)adp; bpp = sc->bpp; @@ -789,8 +809,15 @@ ipu3fb_putc(video_adapter_t *adp, vm_off + (row + sc->ymargin) * (sc->stride) + bpp * (col + sc->xmargin); - bg = colors[(a >> 4) & 0x0f]; - fg = colors[a & 0x0f]; + if (bpp == 2) { + bg = colors[(a >> 4) & 0x0f]; + fg = colors[a & 0x0f]; + } else if (bpp == 3) { + bg = colors_24[(a >> 4) & 0x0f]; + fg = colors_24[a & 0x0f]; + } else { + return (ENXIO); + } for (i = 0; i < IPU3FB_FONT_HEIGHT; i++) { for (j = 0, k = 7; j < 8; j++, k--) {