Deleted Added
sdiff udiff text old ( 11675:60d18201148d ) new ( 11676:8a882e297eb2 )
full compact
1/*
2 * Copyright (c) 2012-2016 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

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

377 /**
378 * Check if the current rank is available for scheduling.
379 *
380 * @param Return true if the rank is idle from a refresh point of view
381 */
382 bool isAvailable() const { return refreshState == REF_IDLE; }
383
384 /**
385 * Check if the current rank has all banks closed and is not
386 * in a low power state
387 *
388 * @param Return true if the rank is idle from a bank
389 * and power point of view
390 */
391 bool inPwrIdleState() const { return pwrState == PWR_IDLE; }
392
393 /**
394 * Let the rank check if it was waiting for requests to drain
395 * to allow it to transition states.
396 */
397 void checkDrainDone();
398
399 /**
400 * Push command out of cmdList queue that are scheduled at
401 * or before curTick() to DRAMPower library

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

917
918 virtual BaseSlavePort& getSlavePort(const std::string& if_name,
919 PortID idx = InvalidPortID) override;
920
921 virtual void init() override;
922 virtual void startup() override;
923 virtual void drainResume() override;
924
925 /**
926 * Return true once refresh is complete for all ranks and there are no
927 * additional commands enqueued. (only evaluated when draining)
928 * This will ensure that all banks are closed, power state is IDLE, and
929 * power stats have been updated
930 *
931 * @return true if all ranks have refreshed, with no commands enqueued
932 *
933 */
934 bool allRanksDrained() const;
935
936 protected:
937
938 Tick recvAtomic(PacketPtr pkt);
939 void recvFunctional(PacketPtr pkt);
940 bool recvTimingReq(PacketPtr pkt);
941
942};
943
944#endif //__MEM_DRAM_CTRL_HH__