diff options
author | Rafaël Carré <rafael.carre@gmail.com> | 2009-10-03 13:05:08 +0000 |
---|---|---|
committer | Rafaël Carré <rafael.carre@gmail.com> | 2009-10-03 13:05:08 +0000 |
commit | fcc6a68c6e71426ecb955a1f328d5e14f8a2ee84 (patch) | |
tree | 0e4b59039801bb21eccd7cd7deb0e50055e1a82e /firmware | |
parent | 22933cc19cdbaf61a037caae4d69699a5b0dc4c2 (diff) | |
download | rockbox-fcc6a68c6e71426ecb955a1f328d5e14f8a2ee84.tar.gz rockbox-fcc6a68c6e71426ecb955a1f328d5e14f8a2ee84.zip |
Samsung YH920 LCD
Remove unused lcd_mono_data
Replace a loop in partial update function by asm lcd_write_data()
Remove a variable only used in this loop (x) and rename x0 to x
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22888 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware')
-rw-r--r-- | firmware/target/arm/samsung/yh920/lcd-as-yh920.S | 35 | ||||
-rw-r--r-- | firmware/target/arm/samsung/yh920/lcd-yh920.c | 10 |
2 files changed, 4 insertions, 41 deletions
diff --git a/firmware/target/arm/samsung/yh920/lcd-as-yh920.S b/firmware/target/arm/samsung/yh920/lcd-as-yh920.S index 382c468097..9444954041 100644 --- a/firmware/target/arm/samsung/yh920/lcd-as-yh920.S +++ b/firmware/target/arm/samsung/yh920/lcd-as-yh920.S | |||
@@ -56,41 +56,6 @@ lcd_write_data: | |||
56 | .size lcd_write_data,.-lcd_write_data | 56 | .size lcd_write_data,.-lcd_write_data |
57 | 57 | ||
58 | 58 | ||
59 | .global lcd_mono_data | ||
60 | .type lcd_mono_data,%function | ||
61 | |||
62 | lcd_mono_data: | ||
63 | stmfd sp!, {r4, lr} | ||
64 | ldr lr, =LCD1_BASE | ||
65 | ldr r12, =lcd_dibits | ||
66 | |||
67 | .mloop: | ||
68 | ldrb r2, [r0], #1 | ||
69 | mov r3, r2, lsr #4 | ||
70 | ldrb r4, [r12, r3] | ||
71 | |||
72 | 1: | ||
73 | ldr r3, [lr] | ||
74 | tst r3, #LCD1_BUSY_MASK | ||
75 | bne 1b | ||
76 | str r4, [lr, #0x10] | ||
77 | |||
78 | and r3, r2, #0x0f | ||
79 | ldrb r4, [r12, r3] | ||
80 | 1: | ||
81 | ldr r3, [lr] | ||
82 | tst r3, #LCD1_BUSY_MASK | ||
83 | bne 1b | ||
84 | str r4, [lr, #0x10] | ||
85 | |||
86 | subs r1, r1, #1 | ||
87 | bne .mloop | ||
88 | |||
89 | ldmfd sp!, {r4, pc} | ||
90 | |||
91 | .size lcd_mono_data,.-lcd_mono_data | ||
92 | |||
93 | |||
94 | .global lcd_grey_data | 59 | .global lcd_grey_data |
95 | .type lcd_grey_data,%function | 60 | .type lcd_grey_data,%function |
96 | 61 | ||
diff --git a/firmware/target/arm/samsung/yh920/lcd-yh920.c b/firmware/target/arm/samsung/yh920/lcd-yh920.c index 73b9ae502b..d24396050a 100644 --- a/firmware/target/arm/samsung/yh920/lcd-yh920.c +++ b/firmware/target/arm/samsung/yh920/lcd-yh920.c | |||
@@ -237,11 +237,10 @@ void lcd_blit_grey_phase(unsigned char *values, unsigned char *phases, | |||
237 | 237 | ||
238 | /* Update a fraction of the display. */ | 238 | /* Update a fraction of the display. */ |
239 | /* void lcd_update_rect(int, int, int, int) ICODE_ATTR; */ | 239 | /* void lcd_update_rect(int, int, int, int) ICODE_ATTR; */ |
240 | void lcd_update_rect(int x0, int y, int width, int height) | 240 | void lcd_update_rect(int x, int y, int width, int height) |
241 | { | 241 | { |
242 | const fb_data *addr; | 242 | const fb_data *addr; |
243 | int ymax; | 243 | int ymax; |
244 | int x = x0; | ||
245 | 244 | ||
246 | /* The Y coordinates have to work on even 8 pixel rows */ | 245 | /* The Y coordinates have to work on even 8 pixel rows */ |
247 | ymax = (y + height-1) >> 2; | 246 | ymax = (y + height-1) >> 2; |
@@ -258,13 +257,12 @@ void lcd_update_rect(int x0, int y, int width, int height) | |||
258 | for (; y <= ymax; y++) | 257 | for (; y <= ymax; y++) |
259 | { | 258 | { |
260 | lcd_write_reg(LCD_CNTL_PAGE, y); | 259 | lcd_write_reg(LCD_CNTL_PAGE, y); |
261 | lcd_write_reg(LCD_CNTL_COLUMN, x0); | 260 | lcd_write_reg(LCD_CNTL_COLUMN, x); |
262 | 261 | ||
263 | addr = &lcd_framebuffer[y][x0]; | 262 | addr = &lcd_framebuffer[y][x]; |
264 | 263 | ||
265 | lcd_send_cmd(LCD_CNTL_DATA_WRITE); | 264 | lcd_send_cmd(LCD_CNTL_DATA_WRITE); |
266 | for (x = 0; x < width; x++) | 265 | lcd_write_data(addr, width); |
267 | lcd_send_data(*addr++); | ||
268 | } | 266 | } |
269 | } | 267 | } |
270 | 268 | ||