From f8bd54d5759c78d0777f25cad287a6dbeb0b45ea Mon Sep 17 00:00:00 2001 From: Solomon Peachy Date: Tue, 13 Oct 2020 14:18:35 -0400 Subject: iaudiox5: Fix red, due to slightly bogus asm Change-Id: I6ebcda3452d4244b5e2d1a9bbeb9fff9a9456388 --- firmware/target/coldfire/iaudio/x5/button-x5.c | 8 +++++++- firmware/target/coldfire/iaudio/x5/lcd-as-x5.S | 12 ++++++------ 2 files changed, 13 insertions(+), 7 deletions(-) (limited to 'firmware/target/coldfire/iaudio') diff --git a/firmware/target/coldfire/iaudio/x5/button-x5.c b/firmware/target/coldfire/iaudio/x5/button-x5.c index e1f68de36b..b94a0de678 100644 --- a/firmware/target/coldfire/iaudio/x5/button-x5.c +++ b/firmware/target/coldfire/iaudio/x5/button-x5.c @@ -60,14 +60,18 @@ bool remote_button_hold(void) int button_read_device(void) { int btn = BUTTON_NONE; +#ifndef BOOTLOADER bool hold_button_old; bool remote_hold_button_old; +#endif static int prev_data = 0xff; static int last_valid = 0xff; int data; /* normal buttons */ +#ifndef BOOTLOADER hold_button_old = hold_button; +#endif hold_button = button_hold(); #ifndef BOOTLOADER @@ -86,7 +90,7 @@ int button_read_device(void) last_valid = data; prev_data = data; data = last_valid; - + if (data < 0xf0) { if(data < 0x7c) @@ -114,7 +118,9 @@ int button_read_device(void) /* remote buttons */ data = remote_detect() ? adc_scan(ADC_REMOTE) : 0xff; +#ifndef BOOTLOADER remote_hold_button_old = remote_hold_button; +#endif remote_hold_button = data < 0x17; #ifndef BOOTLOADER diff --git a/firmware/target/coldfire/iaudio/x5/lcd-as-x5.S b/firmware/target/coldfire/iaudio/x5/lcd-as-x5.S index c49d33ce84..e6621e1dea 100644 --- a/firmware/target/coldfire/iaudio/x5/lcd-as-x5.S +++ b/firmware/target/coldfire/iaudio/x5/lcd-as-x5.S @@ -134,7 +134,7 @@ lcd_write_yuv420_lines: mac.l %a5, %d0, %acc0 mac.l %a5, %d0, %acc1 mac.l %a5, %d0, %acc2 - + move.w %d4, (%a0) /* 2nd LCD write is delayed one pixel to use it for filling the EMAC latency */ @@ -147,7 +147,7 @@ lcd_write_yuv420_lines: lsr.l %d0, %d4 lsr.l %d0, %d3 lsr.l %d0, %d2 - + lsl.l #6, %d2 or.l %d3, %d2 /* |00000000|00000000|0000Rrrr|rrGggggg| */ lsl.l #7, %d2 @@ -190,7 +190,7 @@ lcd_write_yuv420_lines: swap %d4 move.w %d4, (%a0) swap %d4 - + /* luma for third pixel (top right) as delta from the second */ clr.l %d1 move.b (%a1, %a3*2), %d1 @@ -199,7 +199,7 @@ lcd_write_yuv420_lines: mac.l %a5, %d0, %acc0 mac.l %a5, %d0, %acc1 mac.l %a5, %d0, %acc2 - + move.w %d4, (%a0) /* 2nd LCD write is delayed one pixel to use it for filling the EMAC latency */ @@ -211,7 +211,7 @@ lcd_write_yuv420_lines: lsr.l %d0, %d4 lsr.l %d0, %d3 lsr.l %d0, %d2 - + lsl.l #6, %d2 or.l %d3, %d2 /* |00000000|00000000|0000Rrrr|rrGggggg| */ lsl.l #7, %d2 @@ -264,7 +264,7 @@ lcd_write_yuv420_lines: lea.l (44, %sp), %sp /* restore registers */ rts .yuv_end: - .size lcd_write_yuv420_lines, yuv_end - lcd_write_yuv420_lines + .size lcd_write_yuv420_lines, .yuv_end - lcd_write_yuv420_lines /* begin lcd_write_data */ -- cgit v1.2.3