diff options
author | Damien Zammit <damien@zamaudio.com> | 2015-09-20 15:44:40 +1000 |
---|---|---|
committer | Damien Zammit <damien@zamaudio.com> | 2015-09-20 15:44:40 +1000 |
commit | fc0b5a838af37a9700364104e8d5cb4b43cafef7 (patch) | |
tree | 89fd68b559b6476b091b7fbd58ba185908b41252 | |
parent | fdb3a4c974370e9deb22032b70ebdc15b2c0dbfd (diff) |
Fixed some pointers
Signed-off-by: Damien Zammit <damien@zamaudio.com>
-rw-r--r-- | firmware/servicereq.c | 40 |
1 files changed, 19 insertions, 21 deletions
diff --git a/firmware/servicereq.c b/firmware/servicereq.c index ca7cf4f..2aa52e5 100644 --- a/firmware/servicereq.c +++ b/firmware/servicereq.c @@ -929,9 +929,9 @@ end: return; } -static void x17bdc(u32 r1, u32 r2) +static void x17bdc(ddi_t *ddi, u32 r2) { - u32 r3, r4, r5, r6, r7, r8, r9, r10; + u32 r1, r3, r4, r5, r6, r7, r8, r9, r10; u32 r11, r12, r13; r5 = r2 >> 16; @@ -939,7 +939,7 @@ static void x17bdc(u32 r1, u32 r2) r9 = r2; r12 = 0x1f6c8; r2 = -r11; - r13 = r1; + r13 = (u32)ddi; r5 &= 0xff; r2 = r2 + 7; r7 = 8; @@ -1014,13 +1014,13 @@ x17cd0: return; } -static void x1916c(u32 r1, u32 r2) +static void x1916c(ddi_t *ddi, u32 r2) { - u32 r3, r4, r5, r6, r7, r8, r9, r10; + u32 r1, r3, r4, r5, r6, r7, r8, r9, r10; u32 r11, r12, r13, r14, r15, r16, r17, r18, r19, r20; u32 r21, r22, r23, r24, r25, fp; - - r18 = r1; + r6 = 0;// compiler + r18 = (u32)ddi; r22 = 0x1f6c8; r1 = 0; r23 = 0x1f3c4; @@ -1878,7 +1878,11 @@ x19124: static void x18490(u32 rr1, u32 rr2) { - + /*r3 = 0; + r4 = 0x10000; + r13 = rr1; +*/ + } static void x180f0(u32 rr1, u32 rr2) @@ -2222,10 +2226,8 @@ x1a640: r1 &= 8; if (r1 != 0) goto x1a70c; - r11 = (u32)ddi; //sp+28; - r1 = r11; r2 = r12; - x17bdc(r1, r2); + x17bdc(ddi, r2); r5 = 1; x1a674: @@ -2274,9 +2276,8 @@ x1a6ec: if (r2 == 0) goto x1a70c; x1a700: - r1 = r11; r2 = r12; - x1916c(r1, r2); + x1916c(ddi, r2); x1a70c: r1 = read8(r14); @@ -2636,7 +2637,7 @@ end: return; } -static void set_phyln(int onoff) +static void set_phyln(int onoff, ddi_t *ddi) { u32 r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16; u32 r11a, r12a, r13a; @@ -2651,13 +2652,10 @@ static void set_phyln(int onoff) goto x1a9a0; if (r3 != 0) goto x1a9a0; - r11 = 0; - r1 = r11; - x17bdc(r1, r2); + x17bdc(ddi, r2); r2 = read32(0x1f39c); - r1 = r11; - x1916c(r1, r2); + x1916c(ddi, r2); x1a9a0: r1 = read32(0x1f39c); r1 = r1 >> 2; @@ -4907,10 +4905,10 @@ void smu_service_request(void) halt(); break; case SMC_MSG_PHY_LN_OFF: - set_phyln(OFF); + set_phyln(OFF, &ddi); break; case SMC_MSG_PHY_LN_ON: - set_phyln(ON); + set_phyln(ON, &ddi); break; case SMC_MSG_DDI_PHY_OFF: set_ddiphy(OFF, &ddi); |