dma_device.hh (11625:2344c9dcc0d6) dma_device.hh (11896:5e718044e443)
1/*
1/*
2 * Copyright (c) 2012-2013, 2015 ARM Limited
2 * Copyright (c) 2012-2013, 2015, 2017 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
9 * licensed hereunder. You may use the software subject to the license
10 * terms below provided that you ensure that this notice is replicated

--- 478 unchanged lines hidden (view full) ---

489 * DMA request done, handle incoming data and issue new
490 * request.
491 */
492 void dmaDone();
493
494 /** Handle pending requests that have been flagged as done. */
495 void handlePending();
496
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
9 * licensed hereunder. You may use the software subject to the license
10 * terms below provided that you ensure that this notice is replicated

--- 478 unchanged lines hidden (view full) ---

489 * DMA request done, handle incoming data and issue new
490 * request.
491 */
492 void dmaDone();
493
494 /** Handle pending requests that have been flagged as done. */
495 void handlePending();
496
497 /** Try to issue new DMA requests */
497 /** Try to issue new DMA requests or bypass DMA requests*/
498 void resumeFill();
499
498 void resumeFill();
499
500 /** Try to issue new DMA requests during normal execution*/
501 void resumeFillTiming();
502
503 /** Try to bypass DMA requests in KVM execution mode */
504 void resumeFillFunctional();
505
500 private: // Internal state
501 Fifo<uint8_t> buffer;
502
503 Addr nextAddr;
504 Addr endAddr;
505
506 std::deque<DmaDoneEventUPtr> pendingRequests;
507 std::deque<DmaDoneEventUPtr> freeRequests;
508};
509
510#endif // __DEV_DMA_DEVICE_HH__
506 private: // Internal state
507 Fifo<uint8_t> buffer;
508
509 Addr nextAddr;
510 Addr endAddr;
511
512 std::deque<DmaDoneEventUPtr> pendingRequests;
513 std::deque<DmaDoneEventUPtr> freeRequests;
514};
515
516#endif // __DEV_DMA_DEVICE_HH__