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 ---