hdlcd.cc (10840:48039363f67a) | hdlcd.cc (10905:a6ca6831e775) |
---|---|
1/* 2 * Copyright (c) 2010-2013, 2015 ARM Limited 3 * All rights reserved 4 * 5 * The license below extends only to copyright in the software and shall 6 * not be construed as granting a license to any other intellectual 7 * property including but not limited to intellectual property relating 8 * to a hardware implementation of the functionality of the software --- 566 unchanged lines hidden (view full) --- 575 if ((dmaCurAddr < dmaMaxAddr) && 576 (bytesFreeInPixelBuffer() + targetTransSize < PIXEL_BUFFER_CAPACITY) && 577 !fillPixelBufferEvent.scheduled()) { 578 schedule(fillPixelBufferEvent, clockEdge()); 579 } 580} 581 582void | 1/* 2 * Copyright (c) 2010-2013, 2015 ARM Limited 3 * All rights reserved 4 * 5 * The license below extends only to copyright in the software and shall 6 * not be construed as granting a license to any other intellectual 7 * property including but not limited to intellectual property relating 8 * to a hardware implementation of the functionality of the software --- 566 unchanged lines hidden (view full) --- 575 if ((dmaCurAddr < dmaMaxAddr) && 576 (bytesFreeInPixelBuffer() + targetTransSize < PIXEL_BUFFER_CAPACITY) && 577 !fillPixelBufferEvent.scheduled()) { 578 schedule(fillPixelBufferEvent, clockEdge()); 579 } 580} 581 582void |
583HDLcd::serialize(std::ostream &os) | 583HDLcd::serialize(CheckpointOut &cp) const |
584{ 585 DPRINTF(HDLcd, "Serializing ARM HDLCD\n"); 586 587 const uint32_t version_serial = version; 588 SERIALIZE_SCALAR(version_serial); 589 const uint32_t int_rawstat_serial = int_rawstat; 590 SERIALIZE_SCALAR(int_rawstat_serial); 591 const uint32_t int_clear_serial = int_clear; --- 44 unchanged lines hidden (view full) --- 636 637 SERIALIZE_SCALAR(frameReadStartTime); 638 SERIALIZE_SCALAR(dmaStartAddr); 639 SERIALIZE_SCALAR(dmaCurAddr); 640 SERIALIZE_SCALAR(dmaMaxAddr); 641 SERIALIZE_SCALAR(dmaPendingNum); 642 SERIALIZE_SCALAR(frameUnderrun); 643 | 584{ 585 DPRINTF(HDLcd, "Serializing ARM HDLCD\n"); 586 587 const uint32_t version_serial = version; 588 SERIALIZE_SCALAR(version_serial); 589 const uint32_t int_rawstat_serial = int_rawstat; 590 SERIALIZE_SCALAR(int_rawstat_serial); 591 const uint32_t int_clear_serial = int_clear; --- 44 unchanged lines hidden (view full) --- 636 637 SERIALIZE_SCALAR(frameReadStartTime); 638 SERIALIZE_SCALAR(dmaStartAddr); 639 SERIALIZE_SCALAR(dmaCurAddr); 640 SERIALIZE_SCALAR(dmaMaxAddr); 641 SERIALIZE_SCALAR(dmaPendingNum); 642 SERIALIZE_SCALAR(frameUnderrun); 643 |
644 arrayParamOut(os, "virtualDisplayBuffer", virtualDisplayBuffer); | 644 arrayParamOut(cp, "virtualDisplayBuffer", virtualDisplayBuffer); |
645 646 SERIALIZE_SCALAR(pixelBufferSize); 647 SERIALIZE_SCALAR(pixelIndex); 648 SERIALIZE_SCALAR(doUpdateParams); 649 SERIALIZE_SCALAR(frameUnderway); 650 SERIALIZE_SCALAR(dmaBytesInFlight); 651 652 Tick start_event_time = 0; --- 20 unchanged lines hidden (view full) --- 673 vector<Tick> dma_done_event_tick(MAX_OUTSTANDING_DMA_REQ_CAPACITY); 674 vector<size_t> dma_done_event_burst_len(MAX_OUTSTANDING_DMA_REQ_CAPACITY); 675 for (int x = 0; x < MAX_OUTSTANDING_DMA_REQ_CAPACITY; ++x) { 676 dma_done_event_tick[x] = dmaDoneEventAll[x].scheduled() ? 677 dmaDoneEventAll[x].when() : 0; 678 dma_done_event_burst_len[x] = dmaDoneEventAll[x].scheduled() ? 679 dmaDoneEventAll[x].getTransactionSize() : 0; 680 } | 645 646 SERIALIZE_SCALAR(pixelBufferSize); 647 SERIALIZE_SCALAR(pixelIndex); 648 SERIALIZE_SCALAR(doUpdateParams); 649 SERIALIZE_SCALAR(frameUnderway); 650 SERIALIZE_SCALAR(dmaBytesInFlight); 651 652 Tick start_event_time = 0; --- 20 unchanged lines hidden (view full) --- 673 vector<Tick> dma_done_event_tick(MAX_OUTSTANDING_DMA_REQ_CAPACITY); 674 vector<size_t> dma_done_event_burst_len(MAX_OUTSTANDING_DMA_REQ_CAPACITY); 675 for (int x = 0; x < MAX_OUTSTANDING_DMA_REQ_CAPACITY; ++x) { 676 dma_done_event_tick[x] = dmaDoneEventAll[x].scheduled() ? 677 dmaDoneEventAll[x].when() : 0; 678 dma_done_event_burst_len[x] = dmaDoneEventAll[x].scheduled() ? 679 dmaDoneEventAll[x].getTransactionSize() : 0; 680 } |
681 arrayParamOut(os, "dma_done_event_tick", dma_done_event_tick); 682 arrayParamOut(os, "dma_done_event_burst_length", dma_done_event_burst_len); | 681 arrayParamOut(cp, "dma_done_event_tick", dma_done_event_tick); 682 arrayParamOut(cp, "dma_done_event_burst_length", dma_done_event_burst_len); |
683} 684 685void | 683} 684 685void |
686HDLcd::unserialize(Checkpoint *cp, const std::string §ion) | 686HDLcd::unserialize(CheckpointIn &cp) |
687{ 688 uint32_t version_serial, int_rawstat_serial, int_clear_serial, 689 int_mask_serial, int_status_serial, fb_line_count_serial, 690 bus_options_serial, v_sync_serial, v_back_porch_serial, 691 v_data_serial, v_front_porch_serial, h_sync_serial, 692 h_back_porch_serial, h_data_serial, h_front_porch_serial, 693 polarities_serial, command_serial, pixel_format_serial, 694 red_select_serial, green_select_serial, blue_select_serial; --- 53 unchanged lines hidden (view full) --- 748 UNSERIALIZE_SCALAR(frameReadStartTime); 749 UNSERIALIZE_SCALAR(dmaStartAddr); 750 UNSERIALIZE_SCALAR(dmaCurAddr); 751 UNSERIALIZE_SCALAR(dmaMaxAddr); 752 UNSERIALIZE_SCALAR(dmaPendingNum); 753 UNSERIALIZE_SCALAR(frameUnderrun); 754 UNSERIALIZE_SCALAR(dmaBytesInFlight); 755 | 687{ 688 uint32_t version_serial, int_rawstat_serial, int_clear_serial, 689 int_mask_serial, int_status_serial, fb_line_count_serial, 690 bus_options_serial, v_sync_serial, v_back_porch_serial, 691 v_data_serial, v_front_porch_serial, h_sync_serial, 692 h_back_porch_serial, h_data_serial, h_front_porch_serial, 693 polarities_serial, command_serial, pixel_format_serial, 694 red_select_serial, green_select_serial, blue_select_serial; --- 53 unchanged lines hidden (view full) --- 748 UNSERIALIZE_SCALAR(frameReadStartTime); 749 UNSERIALIZE_SCALAR(dmaStartAddr); 750 UNSERIALIZE_SCALAR(dmaCurAddr); 751 UNSERIALIZE_SCALAR(dmaMaxAddr); 752 UNSERIALIZE_SCALAR(dmaPendingNum); 753 UNSERIALIZE_SCALAR(frameUnderrun); 754 UNSERIALIZE_SCALAR(dmaBytesInFlight); 755 |
756 arrayParamIn(cp, section, "virtualDisplayBuffer", virtualDisplayBuffer); | 756 arrayParamIn(cp, "virtualDisplayBuffer", virtualDisplayBuffer); |
757 758 UNSERIALIZE_SCALAR(pixelBufferSize); 759 UNSERIALIZE_SCALAR(pixelIndex); 760 UNSERIALIZE_SCALAR(doUpdateParams); 761 UNSERIALIZE_SCALAR(frameUnderway); 762 763 Tick start_event_time = 0; 764 Tick end_event_time = 0; --- 13 unchanged lines hidden (view full) --- 778 schedule(renderPixelEvent, render_pixel_event_time); 779 if (fill_pixel_buffer_event_time) 780 schedule(fillPixelBufferEvent, fill_pixel_buffer_event_time); 781 if (int_event_time) 782 schedule(intEvent, int_event_time); 783 784 vector<Tick> dma_done_event_tick(MAX_OUTSTANDING_DMA_REQ_CAPACITY); 785 vector<Tick> dma_done_event_burst_len(MAX_OUTSTANDING_DMA_REQ_CAPACITY); | 757 758 UNSERIALIZE_SCALAR(pixelBufferSize); 759 UNSERIALIZE_SCALAR(pixelIndex); 760 UNSERIALIZE_SCALAR(doUpdateParams); 761 UNSERIALIZE_SCALAR(frameUnderway); 762 763 Tick start_event_time = 0; 764 Tick end_event_time = 0; --- 13 unchanged lines hidden (view full) --- 778 schedule(renderPixelEvent, render_pixel_event_time); 779 if (fill_pixel_buffer_event_time) 780 schedule(fillPixelBufferEvent, fill_pixel_buffer_event_time); 781 if (int_event_time) 782 schedule(intEvent, int_event_time); 783 784 vector<Tick> dma_done_event_tick(MAX_OUTSTANDING_DMA_REQ_CAPACITY); 785 vector<Tick> dma_done_event_burst_len(MAX_OUTSTANDING_DMA_REQ_CAPACITY); |
786 arrayParamIn(cp, section, "dma_done_event_tick", dma_done_event_tick); 787 arrayParamIn(cp, section, "dma_done_event_burst_length", dma_done_event_burst_len); | 786 arrayParamIn(cp, "dma_done_event_tick", dma_done_event_tick); 787 arrayParamIn(cp, "dma_done_event_burst_length", dma_done_event_burst_len); |
788 dmaDoneEventFree.clear(); 789 for (int x = 0; x < MAX_OUTSTANDING_DMA_REQ_CAPACITY; ++x) { 790 if (dma_done_event_tick[x]) { 791 dmaDoneEventAll[x].setTransactionSize(dma_done_event_burst_len[x]); 792 schedule(dmaDoneEventAll[x], dma_done_event_tick[x]); 793 } else 794 dmaDoneEventFree.push_back(&dmaDoneEventAll[x]); 795 } --- 38 unchanged lines hidden --- | 788 dmaDoneEventFree.clear(); 789 for (int x = 0; x < MAX_OUTSTANDING_DMA_REQ_CAPACITY; ++x) { 790 if (dma_done_event_tick[x]) { 791 dmaDoneEventAll[x].setTransactionSize(dma_done_event_burst_len[x]); 792 schedule(dmaDoneEventAll[x], dma_done_event_tick[x]); 793 } else 794 dmaDoneEventFree.push_back(&dmaDoneEventAll[x]); 795 } --- 38 unchanged lines hidden --- |