Commit d5837df1 authored by Martin Peres's avatar Martin Peres Committed by Ben Skeggs
Browse files

drm/nouveau/pwr: add helpers for delay-to-ticks and ticks-to-delay

parent 2befd17d
Loading
Loading
Loading
Loading
+74 −0
Original line number Diff line number Diff line
@@ -242,6 +242,80 @@ intr:
	bclr $flags $p0
	iret

// calculate the number of ticks in the specified nanoseconds delay
//
// $r15 - current
// $r14 - ns
// $r14 - ticks (return)
// $r0  - zero
ticks_from_ns:
	push $r12
	push $r11

	/* try not losing precision (multiply then divide) */
	imm32($r13, HW_TICKS_PER_US)
	call #mulu32_32_64

	/* use an immeditate, it's ok because HW_TICKS_PER_US < 16 bits */
	div $r12 $r12 1000

	/* check if there wasn't any overflow */
	cmpu b32 $r11 0
	bra e #ticks_from_ns_quit

	/* let's divide then multiply, too bad for the precision! */
	div $r14 $r14 1000
	imm32($r13, HW_TICKS_PER_US)
	call #mulu32_32_64

	/* this cannot overflow as long as HW_TICKS_PER_US < 1000 */

ticks_from_ns_quit:
	mov b32 $r14 $r12
	pop $r11
	pop $r12
	ret

// calculate the number of ticks in the specified microsecond delay
//
// $r15 - current
// $r14 - us
// $r14 - ticks (return)
// $r0  - zero
ticks_from_us:
	push $r12
	push $r11

	/* simply multiply $us by HW_TICKS_PER_US */
	imm32($r13, HW_TICKS_PER_US)
	call #mulu32_32_64
	mov b32 $r14 $r12

	/* check if there wasn't any overflow */
	cmpu b32 $r11 0
	bra e #ticks_from_us_quit

	/* Overflow! */
	clear b32 $r14

ticks_from_us_quit:
	pop $r11
	pop $r12
	ret

// calculate the number of ticks in the specified microsecond delay
//
// $r15 - current
// $r14 - ticks
// $r14 - us (return)
// $r0  - zero
ticks_to_us:
	/* simply divide $ticks by HW_TICKS_PER_US */
	imm32($r13, HW_TICKS_PER_US)
	div $r14 $r14 $r13

	ret

// request the current process be sent a message after a timeout expires
//
// $r15 - current
+1 −0
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@
 */

#define NVKM_PPWR_CHIPSET GK208
#define HW_TICKS_PER_US 324

#define NVKM_FALCON_PC24
#define NVKM_FALCON_UNSHIFTED_IO
+555 −550
Original line number Diff line number Diff line
@@ -24,8 +24,8 @@ uint32_t nv108_pwr_data[] = {
	0x00000000,
/* 0x0058: proc_list_head */
	0x54534f48,
	0x000003e0,
	0x00000391,
	0x0000043b,
	0x000003ec,
	0x00000000,
	0x00000000,
	0x00000000,
@@ -46,8 +46,8 @@ uint32_t nv108_pwr_data[] = {
	0x00000000,
	0x00000000,
	0x584d454d,
	0x000004cb,
	0x000004bd,
	0x00000526,
	0x00000518,
	0x00000000,
	0x00000000,
	0x00000000,
@@ -68,8 +68,8 @@ uint32_t nv108_pwr_data[] = {
	0x00000000,
	0x00000000,
	0x46524550,
	0x000004cf,
	0x000004cd,
	0x0000052a,
	0x00000528,
	0x00000000,
	0x00000000,
	0x00000000,
@@ -90,8 +90,8 @@ uint32_t nv108_pwr_data[] = {
	0x00000000,
	0x00000000,
	0x5f433249,
	0x000008d3,
	0x0000077a,
	0x0000092e,
	0x000007d5,
	0x00000000,
	0x00000000,
	0x00000000,
@@ -112,8 +112,8 @@ uint32_t nv108_pwr_data[] = {
	0x00000000,
	0x00000000,
	0x54534554,
	0x000008f4,
	0x000008d5,
	0x0000094f,
	0x00000930,
	0x00000000,
	0x00000000,
	0x00000000,
@@ -134,8 +134,8 @@ uint32_t nv108_pwr_data[] = {
	0x00000000,
	0x00000000,
	0x454c4449,
	0x000008ff,
	0x000008fd,
	0x0000095a,
	0x00000958,
	0x00000000,
	0x00000000,
	0x00000000,
@@ -229,20 +229,20 @@ uint32_t nv108_pwr_data[] = {
/* 0x0370: memx_func_head */
	0x00010000,
	0x00000000,
	0x00000410,
	0x0000046b,
/* 0x037c: memx_func_next */
	0x00000001,
	0x00000000,
	0x0000042e,
	0x00000489,
	0x00000002,
	0x00000002,
	0x00000446,
	0x000004a1,
	0x00040003,
	0x00000000,
	0x00000463,
	0x000004be,
	0x00010004,
	0x00000000,
	0x0000047d,
	0x000004d8,
/* 0x03ac: memx_func_tail */
/* 0x03ac: memx_data_head */
	0x00000000,
@@ -784,7 +784,7 @@ uint32_t nv108_pwr_data[] = {
};

uint32_t nv108_pwr_code[] = {
	0x02a90ef5,
	0x03040ef5,
/* 0x0004: rd32 */
	0xf607a040,
	0x04bd000e,
@@ -836,7 +836,7 @@ uint32_t nv108_pwr_code[] = {
	0x0a98280b,
	0x029abb9a,
	0x0d0e1cf4,
	0x01f67e01,
	0x02517e01,
	0xf494bd00,
/* 0x00b2: intr_watchdog_next_time */
	0x0a98140e,
@@ -881,7 +881,7 @@ uint32_t nv108_pwr_code[] = {
	0xc0f900cc,
	0xf14f484e,
	0x0d5453e3,
	0x02577e00,
	0x02b27e00,
	0x40c0fc00,
	0x0cf604c0,
/* 0x0157: intr_subintr_skip_fifo */
@@ -904,598 +904,603 @@ uint32_t nv108_pwr_code[] = {
	0xfca0fcb0,
	0xfc80fc90,
	0x0032f400,
/* 0x0196: timer */
	0x90f901f8,
	0x32f480f9,
	0x03f89810,
	0xf40086b0,
	0x84bd4a1c,
	0x08f63800,
	0x0804bd00,
	0x0088cf34,
	0xbb9a0998,
	0xe9bb0298,
	0x03feb500,
	0x88cf0808,
	0x0284f000,
	0x081c1bf4,
	0x0088cf34,
	0x0bf4e0a6,
	0xf4e8a608,
/* 0x01da: timer_reset */
	0x34000d1c,
	0xbd000ef6,
	0x9a0eb504,
/* 0x01e4: timer_enable */
	0x38000108,
	0xbd0008f6,
/* 0x01ed: timer_done */
	0x1031f404,
	0x90fc80fc,
/* 0x01f6: send_proc */
	0x80f900f8,
	0xe89890f9,
	0x04e99805,
	0xa60486f0,
	0x2a0bf489,
	0x940398c4,
	0x80b60488,
	0x008ebb18,
	0xb500fa98,
	0x8db5008a,
	0x028cb501,
	0xb6038bb5,
	0x94f00190,
	0x04e9b507,
/* 0x022f: send_done */
	0xfc0231f4,
	0xf880fc90,
/* 0x0235: find */
	0x0880f900,
	0x0131f458,
/* 0x023c: find_loop */
	0xa6008a98,
	0x100bf4ae,
	0xb15880b6,
	0xf4026886,
	0x32f4f11b,
/* 0x0251: find_done */
	0xfc8eb201,
/* 0x0257: send */
	0x7e00f880,
	0xf4000235,
	0x00f89b01,
/* 0x0260: recv */
	0x9805e898,
	0x32f404e9,
	0xf489a601,
	0x89c43c0b,
	0x0180b603,
	0xb50784f0,
	0xea9805e8,
	0xfef0f902,
	0xf0f9018f,
	0x9994efb2,
	0x00e9bb04,
	0x9818e0b6,
	0xec9803eb,
	0x01ed9802,
	0xf900ee98,
	0xfef0fca5,
	0x31f400f8,
/* 0x02a7: recv_done */
	0xf8f0fc01,
/* 0x02a9: init */
	0x01084100,
	0xe70011cf,
	0xb6010911,
	0x14fe0814,
	0x00e04100,
	0x000013f0,
	0x0001f61c,
	0xff0104bd,
	0x01f61400,
	0x0104bd00,
	0x0015f102,
	0xf6100008,
	0x04bd0001,
	0xf000d241,
	0x10fe0013,
	0x1031f400,
	0x38000101,
/* 0x0196: ticks_from_ns */
	0xc0f901f8,
	0xd7f1b0f9,
	0xd3f00144,
	0x5f21f500,
	0xe8ccec03,
	0x00b4b003,
	0xec120bf4,
	0xf103e8ee,
	0xf00144d7,
	0x21f500d3,
/* 0x01be: ticks_from_ns_quit */
	0xceb2035f,
	0xc0fcb0fc,
/* 0x01c6: ticks_from_us */
	0xc0f900f8,
	0xd7f1b0f9,
	0xd3f00144,
	0x5f21f500,
	0xb0ceb203,
	0x0bf400b4,
/* 0x01df: ticks_from_us_quit */
	0xfce4bd05,
	0xf8c0fcb0,
/* 0x01e5: ticks_to_us */
	0x44d7f100,
	0x00d3f001,
	0xf8ecedff,
/* 0x01f1: timer */
	0xf990f900,
	0x1032f480,
	0xb003f898,
	0x1cf40086,
	0x0084bd4a,
	0x0008f638,
	0x340804bd,
	0x980088cf,
	0x98bb9a09,
	0x00e9bb02,
	0x0803feb5,
	0x0088cf08,
	0xf40284f0,
	0x34081c1b,
	0xa60088cf,
	0x080bf4e0,
	0x1cf4e8a6,
/* 0x0235: timer_reset */
	0xf634000d,
	0x04bd000e,
/* 0x023f: timer_enable */
	0x089a0eb5,
	0xf6380001,
	0x04bd0008,
/* 0x0248: timer_done */
	0xfc1031f4,
	0xf890fc80,
/* 0x0251: send_proc */
	0xf980f900,
	0x05e89890,
	0xf004e998,
	0x89a60486,
	0xc42a0bf4,
	0x88940398,
	0x1880b604,
	0x98008ebb,
	0x8ab500fa,
	0x018db500,
	0xb5028cb5,
	0x90b6038b,
	0x0794f001,
	0xf404e9b5,
/* 0x028a: send_done */
	0x90fc0231,
	0x00f880fc,
/* 0x0290: find */
	0x580880f9,
/* 0x0297: find_loop */
	0x980131f4,
	0xaea6008a,
	0xb6100bf4,
	0x86b15880,
	0x1bf40268,
	0x0132f4f1,
/* 0x02ac: find_done */
	0x80fc8eb2,
/* 0x02b2: send */
	0x907e00f8,
	0x01f40002,
/* 0x02bb: recv */
	0x9800f89b,
	0xe99805e8,
	0x0132f404,
	0x0bf489a6,
	0x0389c43c,
	0xf00180b6,
	0xe8b50784,
	0x02ea9805,
	0x8ffef0f9,
	0xb2f0f901,
	0x049994ef,
	0xb600e9bb,
	0xeb9818e0,
	0x02ec9803,
	0x9801ed98,
	0xa5f900ee,
	0xf8fef0fc,
	0x0131f400,
/* 0x0302: recv_done */
	0x00f8f0fc,
/* 0x0304: init */
	0xcf010841,
	0x11e70011,
	0x14b60109,
	0x0014fe08,
	0xf000e041,
	0x1c000013,
	0xbd0001f6,
/* 0x02f3: init_proc */
	0x98580f04,
	0x16b001f1,
	0xfa0bf400,
	0xf0b615f9,
	0xf20ef458,
/* 0x0304: mulu32_32_64 */
	0x20f910f9,
	0x40f930f9,
	0x9510e195,
	0xc4bd10d2,
	0xedffb4bd,
	0x301dffc0,
	0x00ff0104,
	0x0001f614,
	0x020104bd,
	0x080015f1,
	0x01f61000,
	0x4104bd00,
	0x13f000d2,
	0x0010fe00,
	0x011031f4,
	0xf6380001,
	0x04bd0001,
/* 0x034e: init_proc */
	0xf198580f,
	0x0016b001,
	0xf9fa0bf4,
	0x58f0b615,
/* 0x035f: mulu32_32_64 */
	0xf9f20ef4,
	0xf920f910,
	0x9540f930,
	0xd29510e1,
	0xbdc4bd10,
	0xc0edffb4,
	0xb2301dff,
	0xff34f134,
	0x1034b6ff,
	0xbb1045b6,
	0xb4bb00c3,
	0x30e2ff01,
	0x34f134b2,
	0x34b6ffff,
	0x1045b610,
	0xbb00c3bb,
	0xe2ff01b4,
	0xf134b230,
	0xb6ffff34,
	0x45b61034,
	0x00c3bb10,
	0xff01b4bb,
	0xb3bb3012,
	0xfc40fc00,
	0xfc20fc30,
/* 0x0353: host_send */
	0x4100f810,
	0x11cf04b0,
	0x04a04200,
	0xa60022cf,
	0x2e0bf412,
	0x94071ec4,
	0xe0b704ee,
	0xeb980270,
	0x02ec9803,
	0x9801ed98,
	0x577e00ee,
	0x10b60002,
	0x0f1ec401,
	0xf604b040,
	0x04bd000e,
/* 0x038f: host_send_done */
	0xf8c70ef4,
/* 0x0391: host_recv */
	0x4e494100,
	0x525413f1,
	0x0bf4e1a6,
/* 0x039d: host_recv_wait */
	0x04cc41b9,
	0x420011cf,
	0x22cf04c8,
	0x0816f000,
	0x0bf412a6,
	0x0723c4ef,
	0xb70434b6,
	0xb502f030,
	0x3cb5033b,
	0x013db502,
	0xb6003eb5,
	0x24f00120,
	0x04c8400f,
	0x12ff01b4,
	0x00b3bb30,
	0x30fc40fc,
	0x10fc20fc,
/* 0x03ae: host_send */
	0xb04100f8,
	0x0011cf04,
	0xcf04a042,
	0x12a60022,
	0xc42e0bf4,
	0xee94071e,
	0x70e0b704,
	0x03eb9802,
	0x9802ec98,
	0xee9801ed,
	0x02b27e00,
	0x0110b600,
	0x400f1ec4,
	0x0ef604b0,
	0xf404bd00,
/* 0x03ea: host_send_done */
	0x00f8c70e,
/* 0x03ec: host_recv */
	0xf14e4941,
	0xa6525413,
	0xb90bf4e1,
/* 0x03f8: host_recv_wait */
	0xcf04cc41,
	0xc8420011,
	0x0022cf04,
	0xa60816f0,
	0xef0bf412,
	0xb60723c4,
	0x30b70434,
	0x3bb502f0,
	0x023cb503,
	0xb5013db5,
	0x20b6003e,
	0x0f24f001,
	0xf604c840,
	0x04bd0002,
	0x00004002,
	0xbd0002f6,
	0x00400204,
	0x0002f600,
/* 0x043b: host_init */
	0x4100f804,
	0x14b60080,
	0x7015f110,
	0x04d04002,
	0xbd0001f6,
	0x00804104,
	0xf11014b6,
	0x4002f015,
	0x01f604dc,
	0x0104bd00,
	0x04c44001,
	0xbd0001f6,
/* 0x046b: memx_func_enter */
	0x0600f804,
	0x07e04004,
	0xbd0006f6,
/* 0x0475: memx_func_enter_wait */
	0x07c04604,
	0xf00066cf,
	0x0bf40464,
	0x001698f7,
	0xf80410b6,
/* 0x0489: memx_func_leave */
	0x40040600,
	0x06f607e4,
/* 0x0493: memx_func_leave_wait */
	0x4604bd00,
	0x66cf07c0,
	0x0464f000,
	0xf8f71bf4,
/* 0x04a1: memx_func_wr32 */
	0x00169800,
	0xb6011598,
	0x60f90810,
	0xd0fc50f9,
	0x2e7ee0fc,
	0x42b60000,
	0xe81bf402,
/* 0x04be: memx_func_wait */
	0x2c0800f8,
	0x980088cf,
	0x1d98001e,
	0x021c9801,
	0xb6031b98,
	0x717e1010,
	0x00f80000,
/* 0x04d8: memx_func_delay */
	0xb6001e98,
	0x5d7e0410,
	0x00f80000,
/* 0x04e4: memx_exec */
	0xd0f9e0f9,
	0xb2b2c1b2,
/* 0x04ec: memx_exec_next */
	0xb6001398,
	0x34950410,
	0x0c30f010,
	0xf9de3598,
	0xf412a655,
	0xd0fced1e,
	0xb27ee0fc,
	0x00f80002,
/* 0x050c: memx_info */
	0x4b03ac4c,
	0xb27e0800,
	0x00f80002,
/* 0x0518: memx_recv */
	0xf401d6b0,
	0xd6b0c90b,
	0xeb0bf400,
/* 0x0526: memx_init */
	0x00f800f8,
/* 0x0528: perf_recv */
/* 0x052a: perf_init */
	0x00f800f8,
/* 0x052c: i2c_drive_scl */
	0xf40036b0,
	0xe0400d0b,
	0x0001f607,
	0x00f804bd,
/* 0x03e0: host_init */
	0xb6008041,
	0x15f11014,
	0xd0400270,
	0x0001f604,
	0x804104bd,
	0x1014b600,
	0x02f015f1,
	0xf604dc40,
/* 0x053c: i2c_drive_scl_lo */
	0xf607e440,
	0x04bd0001,
	0xc4400101,
	0x0001f604,
/* 0x0546: i2c_drive_sda */
	0x36b000f8,
	0x0d0bf400,
	0xf607e040,
	0x04bd0002,
/* 0x0556: i2c_drive_sda_lo */
	0xe44000f8,
	0x0002f607,
	0x00f804bd,
/* 0x0410: memx_func_enter */
	0xe0400406,
	0x0006f607,
/* 0x041a: memx_func_enter_wait */
	0xc04604bd,
	0x0066cf07,
	0xf40464f0,
	0x1698f70b,
	0x0410b600,
/* 0x042e: memx_func_leave */
	0x040600f8,
	0xf607e440,
	0x04bd0006,
/* 0x0438: memx_func_leave_wait */
	0xcf07c046,
	0x64f00066,
	0xf71bf404,
/* 0x0446: memx_func_wr32 */
	0x169800f8,
	0x01159800,
	0xf90810b6,
	0xfc50f960,
	0x7ee0fcd0,
	0xb600002e,
	0x1bf40242,
/* 0x0463: memx_func_wait */
	0x0800f8e8,
	0x0088cf2c,
	0x98001e98,
	0x1c98011d,
	0x031b9802,
	0x7e1010b6,
	0xf8000071,
/* 0x047d: memx_func_delay */
	0x001e9800,
	0x7e0410b6,
	0xf800005d,
/* 0x0489: memx_exec */
	0xf9e0f900,
	0xb2c1b2d0,
/* 0x0491: memx_exec_next */
	0x001398b2,
	0x950410b6,
	0x30f01034,
	0xde35980c,
	0x12a655f9,
	0xfced1ef4,
	0x7ee0fcd0,
	0xf8000257,
/* 0x04b1: memx_info */
	0x03ac4c00,
	0x7e08004b,
	0xf8000257,
/* 0x04bd: memx_recv */
	0x01d6b000,
	0xb0c90bf4,
	0x0bf400d6,
/* 0x04cb: memx_init */
	0xf800f8eb,
/* 0x04cd: perf_recv */
/* 0x04cf: perf_init */
	0xf800f800,
/* 0x04d1: i2c_drive_scl */
	0x0036b000,
	0x400d0bf4,
	0x01f607e0,
	0xf804bd00,
/* 0x04e1: i2c_drive_scl_lo */
	0x07e44000,
	0xbd0001f6,
/* 0x04eb: i2c_drive_sda */
	0xb000f804,
	0x0bf40036,
	0x07e0400d,
	0xbd0002f6,
/* 0x04fb: i2c_drive_sda_lo */
	0x4000f804,
	0x02f607e4,
	0xf804bd00,
/* 0x0505: i2c_sense_scl */
	0x0132f400,
	0xcf07c443,
	0x31fd0033,
	0x060bf404,
/* 0x0517: i2c_sense_scl_done */
	0xf80131f4,
/* 0x0519: i2c_sense_sda */
	0x0132f400,
	0xcf07c443,
	0x32fd0033,
	0x060bf404,
/* 0x052b: i2c_sense_sda_done */
	0xf80131f4,
/* 0x052d: i2c_raise_scl */
	0x4440f900,
	0x01030898,
	0x0004d17e,
/* 0x0538: i2c_raise_scl_wait */
	0x7e03e84e,
	0x7e00005d,
	0xf4000505,
	0x42b60901,
	0xef1bf401,
/* 0x054c: i2c_raise_scl_done */
	0x00f840fc,
/* 0x0550: i2c_start */
	0x0005057e,
	0x7e0d11f4,
	0xf4000519,
	0x0ef40611,
/* 0x0561: i2c_start_rep */
	0x7e00032e,
	0x030004d1,
	0x04eb7e01,
/* 0x0560: i2c_sense_scl */
	0x430132f4,
	0x33cf07c4,
	0x0431fd00,
	0xf4060bf4,
/* 0x0572: i2c_sense_scl_done */
	0x00f80131,
/* 0x0574: i2c_sense_sda */
	0x430132f4,
	0x33cf07c4,
	0x0432fd00,
	0xf4060bf4,
/* 0x0586: i2c_sense_sda_done */
	0x00f80131,
/* 0x0588: i2c_raise_scl */
	0x984440f9,
	0x7e010308,
/* 0x0593: i2c_raise_scl_wait */
	0x4e00052c,
	0x5d7e03e8,
	0x607e0000,
	0x01f40005,
	0x0142b609,
/* 0x05a7: i2c_raise_scl_done */
	0xfcef1bf4,
/* 0x05ab: i2c_start */
	0x7e00f840,
	0xf4000560,
	0x747e0d11,
	0x11f40005,
	0x2e0ef406,
/* 0x05bc: i2c_start_rep */
	0x2c7e0003,
	0x01030005,
	0x0005467e,
	0xb60076bb,
	0x50f90465,
	0xbb046594,
	0x50bd0256,
	0xfc0475fd,
	0x05887e50,
	0x0464b600,
/* 0x05e7: i2c_start_send */
	0x031d11f4,
	0x05467e00,
	0x13884e00,
	0x00005d7e,
	0x2c7e0003,
	0x884e0005,
	0x005d7e13,
/* 0x0601: i2c_start_out */
/* 0x0603: i2c_stop */
	0x0300f800,
	0x052c7e00,
	0x7e000300,
	0x4e000546,
	0x5d7e03e8,
	0x01030000,
	0x00052c7e,
	0x7e13884e,
	0x0300005d,
	0x05467e01,
	0x13884e00,
	0x00005d7e,
/* 0x0632: i2c_bitw */
	0x467e00f8,
	0xe84e0005,
	0x005d7e03,
	0x0076bb00,
	0xf90465b6,
	0x04659450,
	0xbd0256bb,
	0x0475fd50,
	0x2d7e50fc,
	0x887e50fc,
	0x64b60005,
	0x1d11f404,
/* 0x058c: i2c_start_send */
	0xeb7e0003,
	0x884e0004,
	0x005d7e13,
	0x7e000300,
	0x4e0004d1,
	0x5d7e1388,
/* 0x05a6: i2c_start_out */
	0x00f80000,
/* 0x05a8: i2c_stop */
	0xd17e0003,
	0x00030004,
	0x0004eb7e,
	0x7e03e84e,
	0x1711f404,
	0x7e13884e,
	0x0300005d,
	0x04d17e01,
	0x052c7e00,
	0x13884e00,
	0x00005d7e,
	0xeb7e0103,
	0x884e0004,
	0x005d7e13,
/* 0x05d7: i2c_bitw */
	0x7e00f800,
	0x4e0004eb,
	0x5d7e03e8,
	0x76bb0000,
/* 0x0670: i2c_bitw_out */
/* 0x0672: i2c_bitr */
	0x010300f8,
	0x0005467e,
	0x7e03e84e,
	0xbb00005d,
	0x65b60076,
	0x9450f904,
	0x56bb0465,
	0xfd50bd02,
	0x50fc0475,
	0x0005887e,
	0xf40464b6,
	0x747e1a11,
	0x00030005,
	0x00052c7e,
	0x7e13884e,
	0xf000005d,
	0x31f4013c,
/* 0x06b5: i2c_bitr_done */
/* 0x06b7: i2c_get_byte */
	0x0500f801,
/* 0x06bb: i2c_get_byte_next */
	0xb6080400,
	0x76bb0154,
	0x0465b600,
	0x659450f9,
	0x0256bb04,
	0x75fd50bd,
	0x7e50fc04,
	0xb600052d,
	0xb6000672,
	0x11f40464,
	0x13884e17,
	0x00005d7e,
	0xd17e0003,
	0x884e0004,
	0x005d7e13,
/* 0x0615: i2c_bitw_out */
/* 0x0617: i2c_bitr */
	0x0300f800,
	0x04eb7e01,
	0x03e84e00,
	0x00005d7e,
	0x0553fd2a,
	0xf40142b6,
	0x0103d81b,
	0xb60076bb,
	0x50f90465,
	0xbb046594,
	0x50bd0256,
	0xfc0475fd,
	0x052d7e50,
	0x06327e50,
	0x0464b600,
	0x7e1a11f4,
	0x03000519,
	0x04d17e00,
	0x13884e00,
	0x00005d7e,
	0xf4013cf0,
/* 0x065a: i2c_bitr_done */
	0x00f80131,
/* 0x065c: i2c_get_byte */
	0x08040005,
/* 0x0660: i2c_get_byte_next */
	0xbb0154b6,
	0x65b60076,
	0x9450f904,
	0x56bb0465,
	0xfd50bd02,
	0x50fc0475,
	0x0006177e,
	0xf40464b6,
	0x53fd2a11,
	0x0142b605,
	0x03d81bf4,
	0x0076bb01,
	0xf90465b6,
	0x04659450,
	0xbd0256bb,
	0x0475fd50,
	0xd77e50fc,
	0x64b60005,
/* 0x06a9: i2c_get_byte_done */
/* 0x06ab: i2c_put_byte */
	0x0400f804,
/* 0x06ad: i2c_put_byte_next */
	0x0142b608,
	0xbb3854ff,
/* 0x0704: i2c_get_byte_done */
/* 0x0706: i2c_put_byte */
	0x080400f8,
/* 0x0708: i2c_put_byte_next */
	0xff0142b6,
	0x76bb3854,
	0x0465b600,
	0x659450f9,
	0x0256bb04,
	0x75fd50bd,
	0x7e50fc04,
	0xb6000632,
	0x11f40464,
	0x0046b034,
	0xbbd81bf4,
	0x65b60076,
	0x9450f904,
	0x56bb0465,
	0xfd50bd02,
	0x50fc0475,
	0x0005d77e,
	0x0006727e,
	0xf40464b6,
	0x46b03411,
	0xd81bf400,
	0x76bb0f11,
	0x0136b000,
	0xf4061bf4,
/* 0x075e: i2c_put_byte_done */
	0x00f80132,
/* 0x0760: i2c_addr */
	0xb60076bb,
	0x50f90465,
	0xbb046594,
	0x50bd0256,
	0xfc0475fd,
	0x06177e50,
	0x05ab7e50,
	0x0464b600,
	0xbb0f11f4,
	0x36b00076,
	0x061bf401,
/* 0x0703: i2c_put_byte_done */
	0xf80132f4,
/* 0x0705: i2c_addr */
	0x0076bb00,
	0xe72911f4,
	0xb6012ec3,
	0x53fd0134,
	0x0076bb05,
	0xf90465b6,
	0x04659450,
	0xbd0256bb,
	0x0475fd50,
	0x507e50fc,
	0x64b60005,
	0x2911f404,
	0x012ec3e7,
	0xfd0134b6,
	0x76bb0553,
	0x0465b600,
	0x659450f9,
	0x0256bb04,
	0x75fd50bd,
	0x7e50fc04,
	0xb60006ab,
/* 0x074a: i2c_addr_done */
	0x00f80464,
/* 0x074c: i2c_acquire_addr */
	0xb6f8cec7,
	0xe0b705e4,
	0x00f8d014,
/* 0x0758: i2c_acquire */
	0x00074c7e,
	0x067e50fc,
	0x64b60007,
/* 0x07a5: i2c_addr_done */
/* 0x07a7: i2c_acquire_addr */
	0xc700f804,
	0xe4b6f8ce,
	0x14e0b705,
/* 0x07b3: i2c_acquire */
	0x7e00f8d0,
	0x7e0007a7,
	0xf0000004,
	0x2e7e03d9,
	0x00f80000,
/* 0x07c4: i2c_release */
	0x0007a77e,
	0x0000047e,
	0x7e03d9f0,
	0x7e03daf0,
	0xf800002e,
/* 0x0769: i2c_release */
	0x074c7e00,
	0x00047e00,
	0x03daf000,
	0x00002e7e,
/* 0x077a: i2c_recv */
	0x32f400f8,
	0xf8c1c701,
	0xb00214b6,
	0x1ff52816,
	0x13b80137,
	0x98000bd4,
	0x13b80032,
	0x98000bac,
	0x31f40031,
	0xf9d0f902,
	0xf1d0f9e0,
	0xf1000067,
	0x92100063,
	0x76bb0167,
	0x0465b600,
	0x659450f9,
	0x0256bb04,
	0x75fd50bd,
	0x7e50fc04,
	0xb6000758,
	0xd0fc0464,
	0xf500d6b0,
	0x0500b01b,
	0x0076bb00,
/* 0x07d5: i2c_recv */
	0x0132f400,
	0xb6f8c1c7,
	0x16b00214,
	0x371ff528,
	0xd413b801,
	0x3298000b,
	0xac13b800,
	0x3198000b,
	0x0231f400,
	0xe0f9d0f9,
	0x67f1d0f9,
	0x63f10000,
	0x67921000,
	0x0076bb01,
	0xf90465b6,
	0x04659450,
	0xbd0256bb,
	0x0475fd50,
	0x057e50fc,
	0xb37e50fc,
	0x64b60007,
	0xcc11f504,
	0xe0c5c700,
	0xb60076bb,
	0x50f90465,
	0xbb046594,
	0x50bd0256,
	0xfc0475fd,
	0x06ab7e50,
	0x0464b600,
	0x00a911f5,
	0x76bb0105,
	0x0465b600,
	0x659450f9,
	0x0256bb04,
	0x75fd50bd,
	0x7e50fc04,
	0xb6000705,
	0x11f50464,
	0x76bb0087,
	0x0465b600,
	0x659450f9,
	0x0256bb04,
	0x75fd50bd,
	0x7e50fc04,
	0xb600065c,
	0x11f40464,
	0xe05bcb67,
	0xb0d0fc04,
	0x1bf500d6,
	0x000500b0,
	0xb60076bb,
	0x50f90465,
	0xbb046594,
	0x50bd0256,
	0xfc0475fd,
	0x05a87e50,
	0x07607e50,
	0x0464b600,
	0x74bd5bb2,
/* 0x087f: i2c_recv_not_rd08 */
	0xb0410ef4,
	0x1bf401d6,
	0x7e00053b,
	0xf4000705,
	0xc5c73211,
	0x06ab7ee0,
	0x2811f400,
	0x057e0005,
	0x00cc11f5,
	0xbbe0c5c7,
	0x65b60076,
	0x9450f904,
	0x56bb0465,
	0xfd50bd02,
	0x50fc0475,
	0x0007067e,
	0xf50464b6,
	0x0500a911,
	0x0076bb01,
	0xf90465b6,
	0x04659450,
	0xbd0256bb,
	0x0475fd50,
	0x607e50fc,
	0x64b60007,
	0x8711f504,
	0x0076bb00,
	0xf90465b6,
	0x04659450,
	0xbd0256bb,
	0x0475fd50,
	0xb77e50fc,
	0x64b60006,
	0x6711f404,
	0xbbe05bcb,
	0x65b60076,
	0x9450f904,
	0x56bb0465,
	0xfd50bd02,
	0x50fc0475,
	0x0006037e,
	0xb20464b6,
	0xf474bd5b,
/* 0x08da: i2c_recv_not_rd08 */
	0xd6b0410e,
	0x3b1bf401,
	0x607e0005,
	0x11f40007,
	0xe0b5c71f,
	0x0006ab7e,
	0x7e1511f4,
	0xbd0005a8,
	0x08c5c774,
	0xf4091bf4,
	0x0ef40232,
/* 0x08bd: i2c_recv_not_wr08 */
/* 0x08bd: i2c_recv_done */
	0xf8cec703,
	0x0007697e,
	0xd0fce0fc,
	0xb20912f4,
	0x02577e7c,
/* 0x08d1: i2c_recv_exit */
/* 0x08d3: i2c_init */
	0xf800f800,
/* 0x08d5: test_recv */
	0x04584100,
	0xe0c5c732,
	0x0007067e,
	0x052811f4,
	0x07607e00,
	0x1f11f400,
	0x7ee0b5c7,
	0xf4000706,
	0x037e1511,
	0x74bd0006,
	0xf408c5c7,
	0x32f4091b,
	0x030ef402,
/* 0x0918: i2c_recv_not_wr08 */
/* 0x0918: i2c_recv_done */
	0x7ef8cec7,
	0xfc0007c4,
	0xf4d0fce0,
	0x7cb20912,
	0x0002b27e,
/* 0x092c: i2c_recv_exit */
/* 0x092e: i2c_init */
	0x00f800f8,
/* 0x0930: test_recv */
	0xcf045841,
	0x10b60011,
	0x04584001,
	0xbd0001f6,
	0x00e7f104,
	0x4fe3f1d9,
	0x01f17e13,
/* 0x094f: test_init */
	0x4e00f800,
	0xf17e0800,
	0x00f80001,
/* 0x0958: idle_recv */
/* 0x095a: idle */
	0x31f400f8,
	0x04544100,
	0xb60011cf,
	0x58400110,
	0x54400110,
	0x0001f604,
	0xe7f104bd,
	0xe3f1d900,
	0x967e134f,
	0x00f80001,
/* 0x08f4: test_init */
	0x7e08004e,
	0xf8000196,
/* 0x08fd: idle_recv */
/* 0x08ff: idle */
	0xf400f800,
	0x54410031,
	0x0011cf04,
	0x400110b6,
	0x01f60454,
/* 0x0913: idle_loop */
	0x0104bd00,
	0x0232f458,
/* 0x0918: idle_proc */
/* 0x0918: idle_proc_exec */
	0x1eb210f9,
	0x0002607e,
	0x11f410fc,
	0x0231f409,
/* 0x092b: idle_proc_next */
	0xb6f00ef4,
	0x1fa65810,
	0xf4e81bf4,
	0x28f4e002,
	0xc60ef400,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
	0x00000000,
/* 0x096e: idle_loop */
	0x580104bd,
/* 0x0973: idle_proc */
/* 0x0973: idle_proc_exec */
	0xf90232f4,
	0x7e1eb210,
	0xfc0002bb,
	0x0911f410,
	0xf40231f4,
/* 0x0986: idle_proc_next */
	0x10b6f00e,
	0xf41fa658,
	0x02f4e81b,
	0x0028f4e0,
	0x00c60ef4,
	0x00000000,
	0x00000000,
	0x00000000,
+1 −0
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@
 */

#define NVKM_PPWR_CHIPSET GT215
#define HW_TICKS_PER_US 203 // should be 202.5

//#define NVKM_FALCON_PC24
//#define NVKM_FALCON_UNSHIFTED_IO
+598 −593

File changed.

Preview size limit exceeded, changes collapsed.

Loading