Deleted Added
sdiff udiff text old ( 8795:0909f8ed7aa0 ) new ( 8796:a2ae5c378d0a )
full compact
1/*
2 * Copyright (c) 2006 The Regents of The University of Michigan
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
7 * met: redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer;

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

110{
111 assert(pioSize != 0);
112 range_list.clear();
113 DPRINTF(BusAddrRanges, "registering range: %#x-%#x\n", pioAddr, pioSize);
114 range_list.push_back(RangeSize(pioAddr, pioSize));
115}
116
117
118DmaPort::DmaPort(MemObject *dev, System *s, Tick min_backoff, Tick max_backoff)
119 : Port(dev->name() + "-dmaport", dev), device(dev), sys(s),
120 pendingCount(0), actionInProgress(0), drainEvent(NULL),
121 backoffTime(0), minBackoffDelay(min_backoff),
122 maxBackoffDelay(max_backoff), inRetry(false), backoffEvent(this)
123{ }
124
125bool
126DmaPort::recvTiming(PacketPtr pkt)
127{
128 if (pkt->wasNacked()) {
129 DPRINTF(DMA, "Received nacked %s addr %#x\n",
130 pkt->cmdString(), pkt->getAddr());

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

136
137 reschedule(backoffEvent, curTick() + backoffTime, true);
138
139 DPRINTF(DMA, "Backoff time set to %d ticks\n", backoffTime);
140
141 pkt->reinitNacked();
142 queueDma(pkt, true);
143 } else if (pkt->senderState) {
144 DmaReqState *state;
145 backoffTime >>= 2;
146
147 DPRINTF(DMA, "Received response %s addr %#x size %#x\n",
148 pkt->cmdString(), pkt->getAddr(), pkt->req->getSize());
149 state = dynamic_cast<DmaReqState*>(pkt->senderState);
150 pendingCount--;
151

--- 228 unchanged lines hidden ---