pl111.cc (9530:9adfceab236e) | pl111.cc (9648:f10eb34e3e38) |
---|---|
1/* 2 * Copyright (c) 2010-2012 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 --- 427 unchanged lines hidden (view full) --- 436 // initialization for dma read from frame buffer to dma buffer 437 uint32_t length = height * width; 438 if (startAddr != lcdUpbase) 439 startAddr = lcdUpbase; 440 441 // Updating base address, interrupt if we're supposed to 442 lcdRis.baseaddr = 1; 443 if (!intEvent.scheduled()) | 1/* 2 * Copyright (c) 2010-2012 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 --- 427 unchanged lines hidden (view full) --- 436 // initialization for dma read from frame buffer to dma buffer 437 uint32_t length = height * width; 438 if (startAddr != lcdUpbase) 439 startAddr = lcdUpbase; 440 441 // Updating base address, interrupt if we're supposed to 442 lcdRis.baseaddr = 1; 443 if (!intEvent.scheduled()) |
444 schedule(intEvent, nextCycle()); | 444 schedule(intEvent, clockEdge()); |
445 446 curAddr = 0; 447 startTime = curTick(); 448 449 maxAddr = static_cast<Addr>(length * bytesPerPixel); 450 451 DPRINTF(PL111, " lcd frame buffer size of %d bytes \n", maxAddr); 452 --- 34 unchanged lines hidden (view full) --- 487 --dmaPendingNum; 488 489 if (maxAddr == curAddr && !dmaPendingNum) { 490 if ((curTick() - startTime) > maxFrameTime) { 491 warn("CLCD controller buffer underrun, took %d ticks when should" 492 " have taken %d\n", curTick() - startTime, maxFrameTime); 493 lcdRis.underflow = 1; 494 if (!intEvent.scheduled()) | 445 446 curAddr = 0; 447 startTime = curTick(); 448 449 maxAddr = static_cast<Addr>(length * bytesPerPixel); 450 451 DPRINTF(PL111, " lcd frame buffer size of %d bytes \n", maxAddr); 452 --- 34 unchanged lines hidden (view full) --- 487 --dmaPendingNum; 488 489 if (maxAddr == curAddr && !dmaPendingNum) { 490 if ((curTick() - startTime) > maxFrameTime) { 491 warn("CLCD controller buffer underrun, took %d ticks when should" 492 " have taken %d\n", curTick() - startTime, maxFrameTime); 493 lcdRis.underflow = 1; 494 if (!intEvent.scheduled()) |
495 schedule(intEvent, nextCycle()); | 495 schedule(intEvent, clockEdge()); |
496 } 497 498 assert(!readEvent.scheduled()); 499 if (vnc) 500 vnc->setDirty(); 501 502 DPRINTF(PL111, "-- write out frame buffer into bmp\n"); 503 --- 13 unchanged lines hidden (view full) --- 517 curTick() + 518 maxFrameTime))); 519 } 520 521 if (dmaPendingNum > (maxOutstandingDma - waterMark)) 522 return; 523 524 if (!fillFifoEvent.scheduled()) | 496 } 497 498 assert(!readEvent.scheduled()); 499 if (vnc) 500 vnc->setDirty(); 501 502 DPRINTF(PL111, "-- write out frame buffer into bmp\n"); 503 --- 13 unchanged lines hidden (view full) --- 517 curTick() + 518 maxFrameTime))); 519 } 520 521 if (dmaPendingNum > (maxOutstandingDma - waterMark)) 522 return; 523 524 if (!fillFifoEvent.scheduled()) |
525 schedule(fillFifoEvent, nextCycle()); | 525 schedule(fillFifoEvent, clockEdge()); |
526} 527 528void 529Pl111::serialize(std::ostream &os) 530{ 531 DPRINTF(PL111, "Serializing ARM PL111\n"); 532 533 uint32_t lcdTiming0_serial = lcdTiming0; --- 224 unchanged lines hidden --- | 526} 527 528void 529Pl111::serialize(std::ostream &os) 530{ 531 DPRINTF(PL111, "Serializing ARM PL111\n"); 532 533 uint32_t lcdTiming0_serial = lcdTiming0; --- 224 unchanged lines hidden --- |