Changeset 818
- Timestamp:
- 01/06/08 05:57:28 (13 years ago)
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
branches/api-cleanup/src/libstreaming/amdtp/AmdtpTransmitStreamProcessor.cpp
r817 r818 448 448 for (i = 0; i < m_nb_audio_ports; i++) { 449 449 target_event = (quadlet_t *)(data + i); 450 __builtin_prefetch(target_event, 1, 0); // prefetch events for write, no temporal locality 450 451 451 452 for (j = 0;j < nevents; j += 1) … … 453 454 *target_event = htonl( 0x40000000 ); 454 455 target_event += m_dimension; 456 __builtin_prefetch(target_event, 1, 0); // prefetch events for write, no temporal locality 455 457 } 456 458 } … … 475 477 struct _MBLA_port_cache &p = m_audio_ports.at(i); 476 478 target_event = (quadlet_t *)(data + i); 479 __builtin_prefetch(target_event, 1, 0); // prefetch events for write, no temporal locality 477 480 assert(nevents + offset <= p.buffer_size ); 478 481 479 482 float *buffer = (float *)(p.buffer); 480 483 buffer += offset; 484 __builtin_prefetch(buffer, 0, 0); // prefetch events for read, no temporal locality 481 485 482 486 for (j = 0;j < nevents; j += 1) … … 487 491 *target_event = htonl ( ( tmp >> 8 ) | 0x40000000 ); 488 492 buffer++; 493 __builtin_prefetch(buffer, 0, 0); // prefetch events for read, no temporal locality 489 494 target_event += m_dimension; 495 __builtin_prefetch(target_event, 1, 0); // prefetch events for write, no temporal locality 490 496 } 491 497 } … … 510 516 struct _MBLA_port_cache &p = m_audio_ports.at(i); 511 517 target_event = (quadlet_t *)(data + i); 518 __builtin_prefetch(target_event, 1, 0); // prefetch events for write, no temporal locality 512 519 assert(nevents + offset <= p.buffer_size ); 513 520 514 521 uint32_t *buffer = (uint32_t *)(p.buffer); 515 522 buffer += offset; 523 __builtin_prefetch(buffer, 0, 0); // prefetch events for read, no temporal locality 516 524 517 525 for (j = 0; j < nevents; j += 1) … … 519 527 *target_event = htonl(((*buffer) & 0x00FFFFFF) | 0x40000000); 520 528 buffer++; 529 __builtin_prefetch(buffer, 0, 0); // prefetch events for read, no temporal locality 530 521 531 target_event += m_dimension; 532 __builtin_prefetch(target_event, 1, 0); // prefetch events for write, no temporal locality 522 533 } 523 534 } … … 543 554 for (j = p.location;j < nevents; j += 8) { 544 555 target_event = (quadlet_t *) (data + ((j * m_dimension) + p.position)); 556 __builtin_prefetch(target_event, 1, 0); // prefetch events for write, no temporal locality 545 557 *target_event = htonl(IEC61883_AM824_SET_LABEL(0, IEC61883_AM824_LABEL_MIDI_NO_DATA)); 546 558 } … … 566 578 uint32_t *buffer = (quadlet_t *)(p.buffer); 567 579 buffer += offset; 580 __builtin_prefetch(buffer, 0, 0); // prefetch events for read, no temporal locality 568 581 569 582 for (j = p.location;j < nevents; j += 8) { 570 583 target_event = (quadlet_t *) (data + ((j * m_dimension) + p.position)); 584 __builtin_prefetch(target_event, 1, 0); // prefetch events for write, no temporal locality 585 571 586 if ( *buffer & 0xFF000000 ) // we can send a byte 572 587 { branches/api-cleanup/tests/streaming/teststreaming3.cpp
r816 r818 419 419 continue; 420 420 } 421 421 422 422 ffado_streaming_transfer_capture_buffers(dev); 423 423 424 424 if (arguments.test_tone) { 425 425 // generate the test tone