Lines Matching +full:0 +full:x40000000

34 		return 0;  in a6xx_hfi_queue_read()
52 for (i = 0; i < HFI_HEADER_SIZE(hdr); i++) { in a6xx_hfi_queue_read()
82 for (i = 0; i < dwords; i++) { in a6xx_hfi_queue_write()
90 queue->data[index] = 0xfafafafa; in a6xx_hfi_queue_write()
96 gmu_write(gmu, REG_A6XX_GMU_HOST2GMU_INTR_SET, 0x01); in a6xx_hfi_queue_write()
97 return 0; in a6xx_hfi_queue_write()
165 return 0; in a6xx_hfi_wait_for_ack()
176 seqnum = atomic_inc_return(&queue->seqnum) % 0xfff; in a6xx_hfi_send_msg()
194 struct a6xx_hfi_msg_gmu_init_cmd msg = { 0 }; in a6xx_hfi_send_gmu_init()
201 NULL, 0); in a6xx_hfi_send_gmu_init()
206 struct a6xx_hfi_msg_fw_version msg = { 0 }; in a6xx_hfi_get_fw_version()
217 struct a6xx_hfi_msg_perf_table_v1 msg = { 0 }; in a6xx_hfi_send_perf_table_v1()
223 for (i = 0; i < gmu->nr_gpu_freqs; i++) { in a6xx_hfi_send_perf_table_v1()
228 for (i = 0; i < gmu->nr_gmu_freqs; i++) { in a6xx_hfi_send_perf_table_v1()
234 NULL, 0); in a6xx_hfi_send_perf_table_v1()
239 struct a6xx_hfi_msg_perf_table msg = { 0 }; in a6xx_hfi_send_perf_table()
245 for (i = 0; i < gmu->nr_gpu_freqs; i++) { in a6xx_hfi_send_perf_table()
247 msg.gx_votes[i].acd = 0xffffffff; in a6xx_hfi_send_perf_table()
251 for (i = 0; i < gmu->nr_gmu_freqs; i++) { in a6xx_hfi_send_perf_table()
257 NULL, 0); in a6xx_hfi_send_perf_table()
266 msg->ddr_wait_bitmask = 0x01; in a618_build_bw_table()
268 msg->ddr_cmds_addrs[0] = 0x50000; in a618_build_bw_table()
269 msg->ddr_cmds_addrs[1] = 0x5003c; in a618_build_bw_table()
270 msg->ddr_cmds_addrs[2] = 0x5000c; in a618_build_bw_table()
272 msg->ddr_cmds_data[0][0] = 0x40000000; in a618_build_bw_table()
273 msg->ddr_cmds_data[0][1] = 0x40000000; in a618_build_bw_table()
274 msg->ddr_cmds_data[0][2] = 0x40000000; in a618_build_bw_table()
281 msg->cnoc_wait_bitmask = 0x01; in a618_build_bw_table()
283 msg->cnoc_cmds_addrs[0] = 0x5007c; in a618_build_bw_table()
284 msg->cnoc_cmds_data[0][0] = 0x40000000; in a618_build_bw_table()
285 msg->cnoc_cmds_data[1][0] = 0x60000001; in a618_build_bw_table()
293 msg->ddr_wait_bitmask = 0x0; in a619_build_bw_table()
295 msg->ddr_cmds_addrs[0] = 0x50000; in a619_build_bw_table()
296 msg->ddr_cmds_addrs[1] = 0x50004; in a619_build_bw_table()
297 msg->ddr_cmds_addrs[2] = 0x50080; in a619_build_bw_table()
299 msg->ddr_cmds_data[0][0] = 0x40000000; in a619_build_bw_table()
300 msg->ddr_cmds_data[0][1] = 0x40000000; in a619_build_bw_table()
301 msg->ddr_cmds_data[0][2] = 0x40000000; in a619_build_bw_table()
302 msg->ddr_cmds_data[1][0] = 0x6000030c; in a619_build_bw_table()
303 msg->ddr_cmds_data[1][1] = 0x600000db; in a619_build_bw_table()
304 msg->ddr_cmds_data[1][2] = 0x60000008; in a619_build_bw_table()
305 msg->ddr_cmds_data[2][0] = 0x60000618; in a619_build_bw_table()
306 msg->ddr_cmds_data[2][1] = 0x600001b6; in a619_build_bw_table()
307 msg->ddr_cmds_data[2][2] = 0x60000008; in a619_build_bw_table()
308 msg->ddr_cmds_data[3][0] = 0x60000925; in a619_build_bw_table()
309 msg->ddr_cmds_data[3][1] = 0x60000291; in a619_build_bw_table()
310 msg->ddr_cmds_data[3][2] = 0x60000008; in a619_build_bw_table()
311 msg->ddr_cmds_data[4][0] = 0x60000dc1; in a619_build_bw_table()
312 msg->ddr_cmds_data[4][1] = 0x600003dc; in a619_build_bw_table()
313 msg->ddr_cmds_data[4][2] = 0x60000008; in a619_build_bw_table()
314 msg->ddr_cmds_data[5][0] = 0x600010ad; in a619_build_bw_table()
315 msg->ddr_cmds_data[5][1] = 0x600004ae; in a619_build_bw_table()
316 msg->ddr_cmds_data[5][2] = 0x60000008; in a619_build_bw_table()
317 msg->ddr_cmds_data[6][0] = 0x600014c3; in a619_build_bw_table()
318 msg->ddr_cmds_data[6][1] = 0x600005d4; in a619_build_bw_table()
319 msg->ddr_cmds_data[6][2] = 0x60000008; in a619_build_bw_table()
320 msg->ddr_cmds_data[7][0] = 0x6000176a; in a619_build_bw_table()
321 msg->ddr_cmds_data[7][1] = 0x60000693; in a619_build_bw_table()
322 msg->ddr_cmds_data[7][2] = 0x60000008; in a619_build_bw_table()
323 msg->ddr_cmds_data[8][0] = 0x60001f01; in a619_build_bw_table()
324 msg->ddr_cmds_data[8][1] = 0x600008b5; in a619_build_bw_table()
325 msg->ddr_cmds_data[8][2] = 0x60000008; in a619_build_bw_table()
326 msg->ddr_cmds_data[9][0] = 0x60002940; in a619_build_bw_table()
327 msg->ddr_cmds_data[9][1] = 0x60000b95; in a619_build_bw_table()
328 msg->ddr_cmds_data[9][2] = 0x60000008; in a619_build_bw_table()
329 msg->ddr_cmds_data[10][0] = 0x60002f68; in a619_build_bw_table()
330 msg->ddr_cmds_data[10][1] = 0x60000d50; in a619_build_bw_table()
331 msg->ddr_cmds_data[10][2] = 0x60000008; in a619_build_bw_table()
332 msg->ddr_cmds_data[11][0] = 0x60003700; in a619_build_bw_table()
333 msg->ddr_cmds_data[11][1] = 0x60000f71; in a619_build_bw_table()
334 msg->ddr_cmds_data[11][2] = 0x60000008; in a619_build_bw_table()
335 msg->ddr_cmds_data[12][0] = 0x60003fce; in a619_build_bw_table()
336 msg->ddr_cmds_data[12][1] = 0x600011ea; in a619_build_bw_table()
337 msg->ddr_cmds_data[12][2] = 0x60000008; in a619_build_bw_table()
340 msg->cnoc_wait_bitmask = 0x0; in a619_build_bw_table()
342 msg->cnoc_cmds_addrs[0] = 0x50054; in a619_build_bw_table()
344 msg->cnoc_cmds_data[0][0] = 0x40000000; in a619_build_bw_table()
356 msg->ddr_wait_bitmask = 0x01; in a640_build_bw_table()
358 msg->ddr_cmds_addrs[0] = 0x50000; in a640_build_bw_table()
359 msg->ddr_cmds_addrs[1] = 0x5003c; in a640_build_bw_table()
360 msg->ddr_cmds_addrs[2] = 0x5000c; in a640_build_bw_table()
362 msg->ddr_cmds_data[0][0] = 0x40000000; in a640_build_bw_table()
363 msg->ddr_cmds_data[0][1] = 0x40000000; in a640_build_bw_table()
364 msg->ddr_cmds_data[0][2] = 0x40000000; in a640_build_bw_table()
371 msg->cnoc_wait_bitmask = 0x01; in a640_build_bw_table()
373 msg->cnoc_cmds_addrs[0] = 0x50034; in a640_build_bw_table()
374 msg->cnoc_cmds_addrs[1] = 0x5007c; in a640_build_bw_table()
375 msg->cnoc_cmds_addrs[2] = 0x5004c; in a640_build_bw_table()
377 msg->cnoc_cmds_data[0][0] = 0x40000000; in a640_build_bw_table()
378 msg->cnoc_cmds_data[0][1] = 0x00000000; in a640_build_bw_table()
379 msg->cnoc_cmds_data[0][2] = 0x40000000; in a640_build_bw_table()
381 msg->cnoc_cmds_data[1][0] = 0x60000001; in a640_build_bw_table()
382 msg->cnoc_cmds_data[1][1] = 0x20000001; in a640_build_bw_table()
383 msg->cnoc_cmds_data[1][2] = 0x60000001; in a640_build_bw_table()
395 msg->ddr_wait_bitmask = 0x01; in a650_build_bw_table()
397 msg->ddr_cmds_addrs[0] = 0x50000; in a650_build_bw_table()
398 msg->ddr_cmds_addrs[1] = 0x50004; in a650_build_bw_table()
399 msg->ddr_cmds_addrs[2] = 0x5007c; in a650_build_bw_table()
401 msg->ddr_cmds_data[0][0] = 0x40000000; in a650_build_bw_table()
402 msg->ddr_cmds_data[0][1] = 0x40000000; in a650_build_bw_table()
403 msg->ddr_cmds_data[0][2] = 0x40000000; in a650_build_bw_table()
410 msg->cnoc_wait_bitmask = 0x01; in a650_build_bw_table()
412 msg->cnoc_cmds_addrs[0] = 0x500a4; in a650_build_bw_table()
413 msg->cnoc_cmds_data[0][0] = 0x40000000; in a650_build_bw_table()
414 msg->cnoc_cmds_data[1][0] = 0x60000001; in a650_build_bw_table()
426 msg->ddr_wait_bitmask = 0x01; in a690_build_bw_table()
428 msg->ddr_cmds_addrs[0] = 0x50004; in a690_build_bw_table()
429 msg->ddr_cmds_addrs[1] = 0x50000; in a690_build_bw_table()
430 msg->ddr_cmds_addrs[2] = 0x500ac; in a690_build_bw_table()
432 msg->ddr_cmds_data[0][0] = 0x40000000; in a690_build_bw_table()
433 msg->ddr_cmds_data[0][1] = 0x40000000; in a690_build_bw_table()
434 msg->ddr_cmds_data[0][2] = 0x40000000; in a690_build_bw_table()
441 msg->cnoc_wait_bitmask = 0x01; in a690_build_bw_table()
443 msg->cnoc_cmds_addrs[0] = 0x5003c; in a690_build_bw_table()
444 msg->cnoc_cmds_data[0][0] = 0x40000000; in a690_build_bw_table()
445 msg->cnoc_cmds_data[1][0] = 0x60000001; in a690_build_bw_table()
457 msg->ddr_wait_bitmask = 0x01; in a660_build_bw_table()
459 msg->ddr_cmds_addrs[0] = 0x50004; in a660_build_bw_table()
460 msg->ddr_cmds_addrs[1] = 0x500a0; in a660_build_bw_table()
461 msg->ddr_cmds_addrs[2] = 0x50000; in a660_build_bw_table()
463 msg->ddr_cmds_data[0][0] = 0x40000000; in a660_build_bw_table()
464 msg->ddr_cmds_data[0][1] = 0x40000000; in a660_build_bw_table()
465 msg->ddr_cmds_data[0][2] = 0x40000000; in a660_build_bw_table()
472 msg->cnoc_wait_bitmask = 0x01; in a660_build_bw_table()
474 msg->cnoc_cmds_addrs[0] = 0x50070; in a660_build_bw_table()
475 msg->cnoc_cmds_data[0][0] = 0x40000000; in a660_build_bw_table()
476 msg->cnoc_cmds_data[1][0] = 0x60000001; in a660_build_bw_table()
488 msg->ddr_wait_bitmask = 0x07; in adreno_7c3_build_bw_table()
490 msg->ddr_cmds_addrs[0] = 0x50004; in adreno_7c3_build_bw_table()
491 msg->ddr_cmds_addrs[1] = 0x50000; in adreno_7c3_build_bw_table()
492 msg->ddr_cmds_addrs[2] = 0x50088; in adreno_7c3_build_bw_table()
494 msg->ddr_cmds_data[0][0] = 0x40000000; in adreno_7c3_build_bw_table()
495 msg->ddr_cmds_data[0][1] = 0x40000000; in adreno_7c3_build_bw_table()
496 msg->ddr_cmds_data[0][2] = 0x40000000; in adreno_7c3_build_bw_table()
503 msg->cnoc_wait_bitmask = 0x01; in adreno_7c3_build_bw_table()
505 msg->cnoc_cmds_addrs[0] = 0x5006c; in adreno_7c3_build_bw_table()
506 msg->cnoc_cmds_data[0][0] = 0x40000000; in adreno_7c3_build_bw_table()
507 msg->cnoc_cmds_data[1][0] = 0x60000001; in adreno_7c3_build_bw_table()
515 msg->ddr_wait_bitmask = 0x07; in a6xx_build_bw_table()
517 msg->ddr_cmds_addrs[0] = 0x50000; in a6xx_build_bw_table()
518 msg->ddr_cmds_addrs[1] = 0x5005c; in a6xx_build_bw_table()
519 msg->ddr_cmds_addrs[2] = 0x5000c; in a6xx_build_bw_table()
521 msg->ddr_cmds_data[0][0] = 0x40000000; in a6xx_build_bw_table()
522 msg->ddr_cmds_data[0][1] = 0x40000000; in a6xx_build_bw_table()
523 msg->ddr_cmds_data[0][2] = 0x40000000; in a6xx_build_bw_table()
531 msg->cnoc_wait_bitmask = 0x05; in a6xx_build_bw_table()
533 msg->cnoc_cmds_addrs[0] = 0x50034; in a6xx_build_bw_table()
534 msg->cnoc_cmds_addrs[1] = 0x5007c; in a6xx_build_bw_table()
535 msg->cnoc_cmds_addrs[2] = 0x5004c; in a6xx_build_bw_table()
537 msg->cnoc_cmds_data[0][0] = 0x40000000; in a6xx_build_bw_table()
538 msg->cnoc_cmds_data[0][1] = 0x00000000; in a6xx_build_bw_table()
539 msg->cnoc_cmds_data[0][2] = 0x40000000; in a6xx_build_bw_table()
541 msg->cnoc_cmds_data[1][0] = 0x60000001; in a6xx_build_bw_table()
542 msg->cnoc_cmds_data[1][1] = 0x20000001; in a6xx_build_bw_table()
543 msg->cnoc_cmds_data[1][2] = 0x60000001; in a6xx_build_bw_table()
549 struct a6xx_hfi_msg_bw_table msg = { 0 }; in a6xx_hfi_send_bw_table()
571 NULL, 0); in a6xx_hfi_send_bw_table()
576 struct a6xx_hfi_msg_test msg = { 0 }; in a6xx_hfi_send_test()
579 NULL, 0); in a6xx_hfi_send_test()
584 struct a6xx_hfi_msg_start msg = { 0 }; in a6xx_hfi_send_start()
587 NULL, 0); in a6xx_hfi_send_start()
592 struct a6xx_hfi_msg_core_fw_start msg = { 0 }; in a6xx_hfi_send_core_fw_start()
595 sizeof(msg), NULL, 0); in a6xx_hfi_send_core_fw_start()
600 struct a6xx_hfi_gx_bw_perf_vote_cmd msg = { 0 }; in a6xx_hfi_set_freq()
604 msg.bw = 0; /* TODO: bus scaling */ in a6xx_hfi_set_freq()
607 sizeof(msg), NULL, 0); in a6xx_hfi_set_freq()
612 struct a6xx_hfi_prep_slumber_cmd msg = { 0 }; in a6xx_hfi_send_prep_slumber()
617 sizeof(msg), NULL, 0); in a6xx_hfi_send_prep_slumber()
652 return 0; in a6xx_hfi_start_v1()
683 return 0; in a6xx_hfi_start()
690 for (i = 0; i < ARRAY_SIZE(gmu->queues); i++) { in a6xx_hfi_stop()
699 queue->header->read_index = 0; in a6xx_hfi_stop()
700 queue->header->write_index = 0; in a6xx_hfi_stop()
702 memset(&queue->history, 0xff, sizeof(queue->history)); in a6xx_hfi_stop()
703 queue->history_idx = 0; in a6xx_hfi_stop()
714 atomic_set(&queue->seqnum, 0); in a6xx_hfi_queue_init()
716 memset(&queue->history, 0xff, sizeof(queue->history)); in a6xx_hfi_queue_init()
717 queue->history_idx = 0; in a6xx_hfi_queue_init()
724 header->msg_size = 0; in a6xx_hfi_queue_init()
725 header->dropped = 0; in a6xx_hfi_queue_init()
729 header->tx_request = 0; in a6xx_hfi_queue_init()
730 header->read_index = 0; in a6xx_hfi_queue_init()
731 header->write_index = 0; in a6xx_hfi_queue_init()
750 table->version = 0; in a6xx_hfi_init()
760 a6xx_hfi_queue_init(&gmu->queues[0], &headers[0], hfi->virt + offset, in a6xx_hfi_init()
761 hfi->iova + offset, 0); in a6xx_hfi_init()