From be129aa71882421ad0b50cd3762915d10ace27ad Mon Sep 17 00:00:00 2001 From: Matthias Weisser Date: Tue, 12 Jan 2010 12:06:31 +0100 Subject: video: Fix console display when splashscreen is used If a splashscreen is used the console scrolling used the scroll size as needed when a logo was displayed. This patch sets the scroll size to the whole screen if a splashscreen is shown. Signed-off-by: Matthias Weisser --- drivers/video/cfb_console.c | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) (limited to 'drivers') diff --git a/drivers/video/cfb_console.c b/drivers/video/cfb_console.c index c07a26e3c06..49f0a2e0405 100644 --- a/drivers/video/cfb_console.c +++ b/drivers/video/cfb_console.c @@ -260,7 +260,7 @@ void console_cursor (int state); #define CURSOR_ON #define CURSOR_OFF #define CURSOR_SET video_set_hw_cursor(console_col * VIDEO_FONT_WIDTH, \ - (console_row * VIDEO_FONT_HEIGHT) + VIDEO_LOGO_HEIGHT); + (console_row * VIDEO_FONT_HEIGHT) + video_logo_height); #endif /* CONFIG_VIDEO_HW_CURSOR */ #ifdef CONFIG_VIDEO_LOGO @@ -298,7 +298,7 @@ void console_cursor (int state); #define VIDEO_BURST_LEN (VIDEO_COLS/8) #ifdef CONFIG_VIDEO_LOGO -#define CONSOLE_ROWS ((VIDEO_ROWS - VIDEO_LOGO_HEIGHT) / VIDEO_FONT_HEIGHT) +#define CONSOLE_ROWS ((VIDEO_ROWS - video_logo_height) / VIDEO_FONT_HEIGHT) #else #define CONSOLE_ROWS (VIDEO_ROWS / VIDEO_FONT_HEIGHT) #endif @@ -349,6 +349,8 @@ static GraphicDevice *pGD; /* Pointer to Graphic array */ static void *video_fb_address; /* frame buffer address */ static void *video_console_address; /* console buffer start address */ +static int video_logo_height = VIDEO_LOGO_HEIGHT; + static int console_col = 0; /* cursor col */ static int console_row = 0; /* cursor row */ @@ -527,7 +529,7 @@ static inline void video_drawstring (int xx, int yy, unsigned char *s) static void video_putchar (int xx, int yy, unsigned char c) { - video_drawchars (xx, yy + VIDEO_LOGO_HEIGHT, &c, 1); + video_drawchars (xx, yy + video_logo_height, &c, 1); } /*****************************************************************************/ @@ -620,11 +622,11 @@ static void console_scrollup (void) #ifdef VIDEO_HW_BITBLT video_hw_bitblt (VIDEO_PIXEL_SIZE, /* bytes per pixel */ 0, /* source pos x */ - VIDEO_LOGO_HEIGHT + VIDEO_FONT_HEIGHT, /* source pos y */ + video_logo_height + VIDEO_FONT_HEIGHT, /* source pos y */ 0, /* dest pos x */ - VIDEO_LOGO_HEIGHT, /* dest pos y */ + video_logo_height, /* dest pos y */ VIDEO_VISIBLE_COLS, /* frame width */ - VIDEO_VISIBLE_ROWS - VIDEO_LOGO_HEIGHT - VIDEO_FONT_HEIGHT /* frame height */ + VIDEO_VISIBLE_ROWS - video_logo_height - VIDEO_FONT_HEIGHT /* frame height */ ); #else memcpyl (CONSOLE_ROW_FIRST, CONSOLE_ROW_SECOND, @@ -1101,7 +1103,7 @@ void logo_plot (void *screen, int width, int x, int y) int xcount, i; int skip = (width - VIDEO_LOGO_WIDTH) * VIDEO_PIXEL_SIZE; - int ycount = VIDEO_LOGO_HEIGHT; + int ycount = video_logo_height; unsigned char r, g, b, *logo_red, *logo_blue, *logo_green; unsigned char *source; unsigned char *dest = (unsigned char *)screen + @@ -1225,6 +1227,7 @@ static void *video_logo (void) #endif /* CONFIG_SPLASH_SCREEN_ALIGN */ if (video_display_bitmap (addr, x, y) == 0) { + video_logo_height = 0; return ((void *) (video_fb_address)); } } @@ -1249,7 +1252,7 @@ static void *video_logo (void) #ifdef CONFIG_CONSOLE_EXTRA_INFO { - int i, n = ((VIDEO_LOGO_HEIGHT - VIDEO_FONT_HEIGHT) / VIDEO_FONT_HEIGHT); + int i, n = ((video_logo_height - VIDEO_FONT_HEIGHT) / VIDEO_FONT_HEIGHT); for (i = 1; i < n; i++) { video_get_info_str (i, info); @@ -1278,7 +1281,7 @@ static void *video_logo (void) } #endif - return (video_fb_address + VIDEO_LOGO_HEIGHT * VIDEO_LINE_LEN); + return (video_fb_address + video_logo_height * VIDEO_LINE_LEN); } #endif -- cgit v1.2.3 From 252b404d954f91499a4477a3e1064eb237ce5a1c Mon Sep 17 00:00:00 2001 From: Wolfgang Denk Date: Tue, 9 Mar 2010 14:27:25 +0100 Subject: Fix PCI_BASE_ADDRESS_5 handling in pci_hose_config_device() Signed-off-by: FUJITA Kazutoshi Signed-off-by: Acked-by: Stefan Roese --- drivers/pci/pci.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'drivers') diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c index d6d2d6e4ad6..cd64a87fc6d 100644 --- a/drivers/pci/pci.c +++ b/drivers/pci/pci.c @@ -388,7 +388,7 @@ int pci_hose_config_device(struct pci_controller *hose, pci_hose_write_config_dword (hose, dev, PCI_COMMAND, 0); - for (bar = PCI_BASE_ADDRESS_0; bar < PCI_BASE_ADDRESS_5; bar += 4) { + for (bar = PCI_BASE_ADDRESS_0; bar <= PCI_BASE_ADDRESS_5; bar += 4) { pci_hose_write_config_dword (hose, dev, bar, 0xffffffff); pci_hose_read_config_dword (hose, dev, bar, &bar_response); -- cgit v1.2.3 From 99c006a320ceb9ea19135ac1512e4a81e8bebb72 Mon Sep 17 00:00:00 2001 From: Stefano Babic Date: Sat, 13 Mar 2010 21:09:00 +0100 Subject: mxcmmc: fix warnings due to access 32 bit registers with 16 bit accessors Some registers of the mxcmmc driver were accessed using 16 bit accessor functions, because only the LSB is significant. This is not needed and generates warnings. Signed-off-by: Stefano Babic --- drivers/mmc/mxcmmc.c | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) (limited to 'drivers') diff --git a/drivers/mmc/mxcmmc.c b/drivers/mmc/mxcmmc.c index d30717661f9..59639539f30 100644 --- a/drivers/mmc/mxcmmc.c +++ b/drivers/mmc/mxcmmc.c @@ -136,14 +136,14 @@ static void mxcmci_softreset(struct mxcmci_host *host) int i; /* reset sequence */ - writew(STR_STP_CLK_RESET, &host->base->str_stp_clk); - writew(STR_STP_CLK_RESET | STR_STP_CLK_START_CLK, + writel(STR_STP_CLK_RESET, &host->base->str_stp_clk); + writel(STR_STP_CLK_RESET | STR_STP_CLK_START_CLK, &host->base->str_stp_clk); for (i = 0; i < 8; i++) - writew(STR_STP_CLK_START_CLK, &host->base->str_stp_clk); + writel(STR_STP_CLK_START_CLK, &host->base->str_stp_clk); - writew(0xff, &host->base->res_to); + writel(0xff, &host->base->res_to); } static void mxcmci_setup_data(struct mxcmci_host *host, struct mmc_data *data) @@ -154,8 +154,8 @@ static void mxcmci_setup_data(struct mxcmci_host *host, struct mmc_data *data) host->data = data; - writew(nob, &host->base->nob); - writew(blksz, &host->base->blk_len); + writel(nob, &host->base->nob); + writel(blksz, &host->base->blk_len); host->datasize = datasize; } @@ -185,9 +185,9 @@ static int mxcmci_start_cmd(struct mxcmci_host *host, struct mmc_cmd *cmd, return -EINVAL; } - writew(cmd->cmdidx, &host->base->cmd); + writel(cmd->cmdidx, &host->base->cmd); writel(cmd->cmdarg, &host->base->arg); - writew(cmdat, &host->base->cmd_dat_cont); + writel(cmdat, &host->base->cmd_dat_cont); return 0; } @@ -247,14 +247,14 @@ static int mxcmci_read_response(struct mxcmci_host *host, unsigned int stat) if (cmd->resp_type & MMC_RSP_PRESENT) { if (cmd->resp_type & MMC_RSP_136) { for (i = 0; i < 4; i++) { - a = readw(&host->base->res_fifo); - b = readw(&host->base->res_fifo); + a = readl(&host->base->res_fifo) & 0xFFFF; + b = readl(&host->base->res_fifo) & 0xFFFF; resp[i] = a << 16 | b; } } else { - a = readw(&host->base->res_fifo); - b = readw(&host->base->res_fifo); - c = readw(&host->base->res_fifo); + a = readl(&host->base->res_fifo) & 0xFFFF; + b = readl(&host->base->res_fifo) & 0xFFFF; + c = readl(&host->base->res_fifo) & 0xFFFF; resp[0] = a << 24 | b << 8 | c >> 8; } } @@ -445,7 +445,7 @@ static void mxcmci_set_clk_rate(struct mxcmci_host *host, unsigned int clk_ios) prescaler <<= 1; } - writew((prescaler << 4) | divider, &host->base->clk_rate); + writel((prescaler << 4) | divider, &host->base->clk_rate); } static void mxcmci_set_ios(struct mmc *mmc) @@ -458,9 +458,9 @@ static void mxcmci_set_ios(struct mmc *mmc) if (mmc->clock) { mxcmci_set_clk_rate(host, mmc->clock); - writew(STR_STP_CLK_START_CLK, &host->base->str_stp_clk); + writel(STR_STP_CLK_START_CLK, &host->base->str_stp_clk); } else { - writew(STR_STP_CLK_STOP_CLK, &host->base->str_stp_clk); + writel(STR_STP_CLK_STOP_CLK, &host->base->str_stp_clk); } host->clock = mmc->clock; @@ -472,7 +472,7 @@ static int mxcmci_init(struct mmc *mmc) mxcmci_softreset(host); - host->rev_no = readw(&host->base->rev_no); + host->rev_no = readl(&host->base->rev_no); if (host->rev_no != 0x400) { printf("wrong rev.no. 0x%08x. aborting.\n", host->rev_no); @@ -480,7 +480,7 @@ static int mxcmci_init(struct mmc *mmc) } /* recommended in data sheet */ - writew(0x2db4, &host->base->read_to); + writel(0x2db4, &host->base->read_to); writel(0, &host->base->int_cntr); -- cgit v1.2.3 From 5647f78d04174b0b99857d2a7cbf25141bd14a45 Mon Sep 17 00:00:00 2001 From: Thomas Weber Date: Sat, 13 Mar 2010 23:14:45 +0100 Subject: mod change 755 => 644 for multiple files I executed 'find . -name "*.[chS]" -perm 755 -exec chmod 644 {} \;' Signed-off-by: Thomas Weber Add some more: neither Makefile nor config.mk need execute permissions. Signed-off-by: Wolfgang Denk --- drivers/i2c/Makefile | 0 drivers/i2c/spr_i2c.c | 0 drivers/mtd/Makefile | 0 drivers/mtd/nand/spr_nand.c | 0 drivers/mtd/spr_smi.c | 0 drivers/serial/usbtty.h | 0 drivers/usb/gadget/Makefile | 0 drivers/usb/gadget/spr_udc.c | 0 8 files changed, 0 insertions(+), 0 deletions(-) mode change 100755 => 100644 drivers/i2c/Makefile mode change 100755 => 100644 drivers/i2c/spr_i2c.c mode change 100755 => 100644 drivers/mtd/Makefile mode change 100755 => 100644 drivers/mtd/nand/spr_nand.c mode change 100755 => 100644 drivers/mtd/spr_smi.c mode change 100755 => 100644 drivers/serial/usbtty.h mode change 100755 => 100644 drivers/usb/gadget/Makefile mode change 100755 => 100644 drivers/usb/gadget/spr_udc.c (limited to 'drivers') diff --git a/drivers/i2c/Makefile b/drivers/i2c/Makefile old mode 100755 new mode 100644 diff --git a/drivers/i2c/spr_i2c.c b/drivers/i2c/spr_i2c.c old mode 100755 new mode 100644 diff --git a/drivers/mtd/Makefile b/drivers/mtd/Makefile old mode 100755 new mode 100644 diff --git a/drivers/mtd/nand/spr_nand.c b/drivers/mtd/nand/spr_nand.c old mode 100755 new mode 100644 diff --git a/drivers/mtd/spr_smi.c b/drivers/mtd/spr_smi.c old mode 100755 new mode 100644 diff --git a/drivers/serial/usbtty.h b/drivers/serial/usbtty.h old mode 100755 new mode 100644 diff --git a/drivers/usb/gadget/Makefile b/drivers/usb/gadget/Makefile old mode 100755 new mode 100644 diff --git a/drivers/usb/gadget/spr_udc.c b/drivers/usb/gadget/spr_udc.c old mode 100755 new mode 100644 -- cgit v1.2.3