From: Anatolij Gustschin <agust@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH] Add suport for the graphic controller included in the JADE SOC
Date: Wed, 01 Jul 2009 15:40:24 +0200 [thread overview]
Message-ID: <4A4B6748.5050802@denx.de> (raw)
In-Reply-To: <1246368064-4957-2-git-send-email-matthias.weisser@graf-syteco.de>
Dear Matthias,
Thanks for this patch! Please see some comments/issues below which we
should resolve before committing the driver.
Matthias Weisser wrote:
> Signed-off-by: Matthias Weisser <matthias.weisser@graf-syteco.de>
> ---
> drivers/video/jadegdc.c | 205 +++++++++++++++++++++++++++++++++++++++++++++++
> 1 files changed, 205 insertions(+), 0 deletions(-)
> create mode 100755 drivers/video/jadegdc.c
>
> diff --git a/drivers/video/jadegdc.c b/drivers/video/jadegdc.c
> new file mode 100755
> index 0000000..88b71b7
> --- /dev/null
> +++ b/drivers/video/jadegdc.c
> @@ -0,0 +1,205 @@
> +/*
> + * (C) Copyright 2007
> + * DENX Software Engineering, Anatolij Gustschin, agust at denx.de
Please use your copyright here, as this driver for JADE GDC is mostly
your work.
> + *
> + * See file CREDITS for list of people who contributed to this
> + * project.
> + *
> + * This program is free software; you can redistribute it and/or
> + * modify it under the terms of the GNU General Public License as
> + * published by the Free Software Foundation; either version 2 of
> + * the License, or (at your option) any later version.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-----------------------------------------------------------^^^^^
please replace tab by space here.
> + * GNU General Public License for more details.
> + *
> + * You should have received a copy of the GNU General Public License
> + * along with this program; if not, write to the Free Software
> + * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
> + * MA 02111-1307 USA
> + */
> +
> +/*
> + * jade.c - Graphic interface for Fujitsu Jade integrated graphic
------------------------------------------------------------------^^^^^
and remove trailing white space here.
> + * controller. Derived from mb862xx.c
same here, trailing white space in the line above, please remove.
> + */
> +
> +#include <common.h>
> +
> +#if defined(CONFIG_VIDEO_JADEGDC)
drop this ifdef and add "COBJS-$(CONFIG_VIDEO_JADEGDC) += jadegdc.o"
line to drivers/video/Makefile instead.
> +
> +#include <malloc.h>
> +#include <asm/io.h>
> +#include <video_fb.h>
> +#include "videomodes.h"
> +
> +#if defined(CONFIG_POST)
> +#include <post.h>
> +#endif
I think, this CONFIG_POST ifdef is not needed here, please
remove it. Or am I missing something?
> +
> +/*
> + * 4MB (at the end of system RAM)
> + */
> +#define VIDEO_MEM_SIZE 0x400000
> +
> +#define GDC_HOST_BASE 0xF1FC0000
> +#define GDC_DSP0_BASE 0xF1FD0000
> +#define GDC_DSP1_BASE 0xF1FD2000
> +
> +/*
> + * Graphic Device
> + */
> +GraphicDevice jadegdc;
> +
> +void *video_hw_init (void)
> +{
> + GraphicDevice *pGD = (GraphicDevice *)&jadegdc;
> + struct ctfb_res_modes var_mode[2];
> + unsigned long * vid;
> + unsigned long div;
> + unsigned long dspBase[2];
> + char *penv;
> + int bpp;
> + int i, j;
> +
----^^^
please remove tab in the line above.
> + memset (pGD, 0, sizeof (GraphicDevice));
> +
same here, remove tab.
> + dspBase[0] = GDC_DSP0_BASE;
> + dspBase[1] = GDC_DSP1_BASE;
> +
----^^^
same here.
> + /* Preliminary init of the onboard graphic controller,
> + retrieve base address */
> + if ((pGD->frameAdrs = GDC_HOST_BASE) == 0) {
> + printf ("Controller not found!\n");
> + return (NULL);
> + }
please replace above 4 lines by
pGD->frameAdrs = GDC_HOST_BASE;
and for multi line comments we now use following style
/*
* Multi line
* comment
*/
please use it here too.
> +
> + pGD->gdfIndex = GDF_15BIT_555RGB;
> + pGD->gdfBytesPP = 2;
> +
> + pGD->memSize = VIDEO_MEM_SIZE;
> + pGD->frameAdrs = PHYS_SDRAM + PHYS_SDRAM_SIZE - VIDEO_MEM_SIZE;
> + vid = (unsigned long *)pGD->frameAdrs;
> +
remove tabs in empty lines above, please.
> + for(i = 0; i < 2; i++)
> + {
please use the following coding style:
for (i = 0; i < 2; i++) {
> + char varName[32];
> + u32 dcm1, dcm2, dcm3;
> + u16 htp, hdp, hdb, hsp, vtr, vsp, vdp;
> + u8 hsw, vsw;
> + u32 l2m, l2em, l2oa0, l2da0, l2oa1, l2da1;
> + u16 l2dx, l2dy, l2wx, l2wy, l2ww, l2wh;
> +
-----^^^^^^^^^^^^
tabs again, please drop.
> + sprintf(varName, "gs_dsp_%d_param", i);
please add a space between function name and open parenthesis as you seem to
use this style in other places too. Use either
function (...);
or
function(...);
style throughout the file an do not intermix.
> +
> + if(NULL == (penv = getenv (varName)))
> + if(NULL == (penv = getenv ("videomode")))
> + continue;
please add a space between if and open parenthesis and remove tabs
in the line above if statement.
> +
> + bpp = 0;
> + bpp = video_get_params (&var_mode[i], penv);
> +
------^^^
please remove.
> + if(0 == bpp){
if (bpp == 0) {
> + var_mode[i].xres = 640;
> + var_mode[i].yres = 480;
> + var_mode[i].pixclock = 39721; /* 25MHz */
> + var_mode[i].left_margin = 48;
> + var_mode[i].right_margin = 16;
> + var_mode[i].upper_margin = 33;
> + var_mode[i].lower_margin = 10;
> + var_mode[i].hsync_len = 96;
> + var_mode[i].vsync_len = 2;
> + var_mode[i].sync = 0;
> + var_mode[i].vmode = 0;
> + }
> +
------^^^^^
please remove.
> + for(j = 0; j < var_mode[i].xres * var_mode[i].yres / 2; j++)
> + {
> + *vid++ = 0xFFFFFFFF;
> + }
fix the coding style here, please:
for (...)
one line statement;
for (...) {
statement1;
statement2;
...
}
> +
tabs here, too, please check for tabs in empty lines throughout
the file and remove them.
> + pGD->winSizeX = var_mode[i].xres;
> + pGD->winSizeY = var_mode[i].yres;
> +
> + /* LCD base clock is ~ 660MHZ. We do calculations in kHz */
> + div = 660000 / (1000000000L / var_mode[i].pixclock);
> + if(div > 64)
> + div = 64;
please add space between if and open parenthesis.
> +
> + dcm1 = div << 8;
> + dcm2 = 0x00000000;
> + dcm3 = 0x00000000;
> +
> + htp = var_mode[i].left_margin + var_mode[i].xres + var_mode[i].hsync_len + var_mode[i].right_margin;
line to long, max. 80 chars allowed.
> + hdp = var_mode[i].xres;
> + hdb = var_mode[i].xres;
> + hsp = var_mode[i].xres + var_mode[i].right_margin;
> + hsw = var_mode[i].hsync_len;
> +
> + vsw = var_mode[i].vsync_len;
> + vtr = var_mode[i].upper_margin + var_mode[i].yres + var_mode[i].vsync_len + var_mode[i].lower_margin;
here too.
> + vsp = var_mode[i].yres + var_mode[i].lower_margin;
> + vdp = var_mode[i].yres;
remove trailing white space in the line above.
> +
> + l2m = ( (var_mode[i].yres-1) << ( 0)) |
> + (((var_mode[i].xres * 2)/64) << (16)) |
> + ( (1) << (31));
> +
> + l2em = (1<<0) | (1 <<1);
please add spaces around "<<", "-", "/" in the lines above. Also
use this coding style elsewhere in the file.
> +
> + l2oa0 = pGD->frameAdrs;
> + l2da0 = pGD->frameAdrs;
> + l2oa1 = pGD->frameAdrs;
> + l2da1 = pGD->frameAdrs;
> + l2dx = 0;
> + l2dy = 0;
> + l2wx = 0;
> + l2wy = 0;
trailing white space in 4 lines above, please remove.
> + l2ww = var_mode[i].xres;
> + l2wh = var_mode[i].yres - 1;
> +
> + writel(dcm1, dspBase[i] + 0x100);
> + writel(dcm2, dspBase[i] + 0x104);
> + writel(dcm3, dspBase[i] + 0x108);
> +
> + writew(htp, dspBase[i] + 0x006);
trailing white space in the line above.
> + writew(hdp, dspBase[i] + 0x008);
> + writew(hdb, dspBase[i] + 0x00A);
> + writew(hsp, dspBase[i] + 0x00C);
> + writeb(hsw, dspBase[i] + 0x00E);
> +
> + writeb(vsw, dspBase[i] + 0x00F);
> + writew(vtr, dspBase[i] + 0x012);
> + writew(vsp, dspBase[i] + 0x014);
> + writew(vdp, dspBase[i] + 0x016);
> +
> + writel( l2m, dspBase[i] + 0x040);
> + writel( l2em, dspBase[i] + 0x130);
> + writel(l2oa0, dspBase[i] + 0x044);
> + writel(l2da0, dspBase[i] + 0x048);
> + writel(l2oa1, dspBase[i] + 0x04C);
> + writel(l2da1, dspBase[i] + 0x050);
> + writew( l2dx, dspBase[i] + 0x054);
> + writew( l2dy, dspBase[i] + 0x056);
> + writew( l2wx, dspBase[i] + 0x134);
> + writew( l2wy, dspBase[i] + 0x136);
> + writew( l2ww, dspBase[i] + 0x138);
> + writew( l2wh, dspBase[i] + 0x13A);
> +
> + writel(dcm1 | (1<<18) | (1<<31), dspBase[i] + 0x100);
> + }
> +
> + return pGD;
> +}
> +
> +/*
> + * Set a RGB color in the LUT
> + */
> +void video_set_lut (unsigned int index, unsigned char r, unsigned char g, unsigned char b)
line too long, please fix.
> +{
> +
> +}
> +
> +#endif /* CONFIG_VIDEO_JADEGDC */
We also should use macros for register offsets, I think. Can we
coordinate efforts for fixing this in mb862xx driver also?
I know that mb862xx driver has similar style issues and I'm willing
to fix them soon. For new patches the policy is to resolve issues
before inclusion.
Thanks,
Anatolij
next prev parent reply other threads:[~2009-07-01 13:40 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-06-30 13:21 [U-Boot] [PATCH] This patch adds support for Fujitsu MB86R01 'JADE' SOC Matthias Weisser
2009-06-30 13:21 ` [U-Boot] [PATCH] Add suport for the graphic controller included in the JADE SOC Matthias Weisser
2009-06-30 13:21 ` [U-Boot] [PATCH] Added support for splash screen positioning adding by adding Matthias Weisser
2009-06-30 13:21 ` [U-Boot] [PATCH] Added support for jadecpu board using the MB86R01 'Jade' SOC from Fujitsu Matthias Weisser
2009-07-01 9:18 ` [U-Boot] [PATCH] Added support for splash screen positioning adding by adding Anatolij Gustschin
2009-07-01 13:40 ` Anatolij Gustschin [this message]
2009-07-02 6:02 ` [U-Boot] Antw: Re: [PATCH] Add suport for the graphic controller included in the JADE SOC Matthias Weisser
2009-07-02 9:27 ` [U-Boot] " Anatolij Gustschin
2009-07-04 23:30 ` Wolfgang Denk
2009-07-07 12:29 ` Anatolij Gustschin
2009-07-19 20:12 ` [U-Boot] [PATCH] This patch adds support for Fujitsu MB86R01 'JADE' SOC Wolfgang Denk
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4A4B6748.5050802@denx.de \
--to=agust@denx.de \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox