pixelpump.hh (11012:f2ca575d27fd) pixelpump.hh (11168:f98eb2da15a4)
1/*
2 * Copyright (c) 2015 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

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

58 * @param vfp Vertical front porch in scan lines.
59 * @param v_sync Vertical sync in scan lines.
60 * @param vbp Vertical back porch in scan lines.
61 */
62 DisplayTimings(unsigned width, unsigned height,
63 unsigned hbp, unsigned h_sync, unsigned hfp,
64 unsigned vbp, unsigned v_sync, unsigned vfp);
65
1/*
2 * Copyright (c) 2015 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

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

58 * @param vfp Vertical front porch in scan lines.
59 * @param v_sync Vertical sync in scan lines.
60 * @param vbp Vertical back porch in scan lines.
61 */
62 DisplayTimings(unsigned width, unsigned height,
63 unsigned hbp, unsigned h_sync, unsigned hfp,
64 unsigned vbp, unsigned v_sync, unsigned vfp);
65
66 void serialize(CheckpointOut &cp) const M5_ATTR_OVERRIDE;
67 void unserialize(CheckpointIn &cp) M5_ATTR_OVERRIDE;
66 void serialize(CheckpointOut &cp) const override;
67 void unserialize(CheckpointIn &cp) override;
68
69 /** How many pixel clocks are required for one line? */
70 Cycles cyclesPerLine() const {
71 return Cycles(hSync + hBackPorch + width + hBackPorch);
72 }
73
74 /** How many pixel clocks are required for one frame? */
75 Cycles cyclesPerFrame() const {

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

146class BasePixelPump
147 : public EventManager, public Clocked,
148 public Serializable
149{
150 public:
151 BasePixelPump(EventManager &em, ClockDomain &pxl_clk, unsigned pixel_chunk);
152 virtual ~BasePixelPump();
153
68
69 /** How many pixel clocks are required for one line? */
70 Cycles cyclesPerLine() const {
71 return Cycles(hSync + hBackPorch + width + hBackPorch);
72 }
73
74 /** How many pixel clocks are required for one frame? */
75 Cycles cyclesPerFrame() const {

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

146class BasePixelPump
147 : public EventManager, public Clocked,
148 public Serializable
149{
150 public:
151 BasePixelPump(EventManager &em, ClockDomain &pxl_clk, unsigned pixel_chunk);
152 virtual ~BasePixelPump();
153
154 void serialize(CheckpointOut &cp) const M5_ATTR_OVERRIDE;
155 void unserialize(CheckpointIn &cp) M5_ATTR_OVERRIDE;
154 void serialize(CheckpointOut &cp) const override;
155 void unserialize(CheckpointIn &cp) override;
156
157 public: // Public API
158 /** Starting pushing pixels using the supplied display timings. */
159 void start(const DisplayTimings &timings);
160
161 /** Immediately stop pushing pixels */
162 void stop();
163

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

252 */
253 class PixelEvent : public Event, public Drainable
254 {
255 typedef void (BasePixelPump::* CallbackType)();
256
257 public:
258 PixelEvent(const char *name, BasePixelPump *parent, CallbackType func);
259
156
157 public: // Public API
158 /** Starting pushing pixels using the supplied display timings. */
159 void start(const DisplayTimings &timings);
160
161 /** Immediately stop pushing pixels */
162 void stop();
163

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

252 */
253 class PixelEvent : public Event, public Drainable
254 {
255 typedef void (BasePixelPump::* CallbackType)();
256
257 public:
258 PixelEvent(const char *name, BasePixelPump *parent, CallbackType func);
259
260 DrainState drain() M5_ATTR_OVERRIDE;
261 void drainResume() M5_ATTR_OVERRIDE;
260 DrainState drain() override;
261 void drainResume() override;
262
262
263 void serialize(CheckpointOut &cp) const M5_ATTR_OVERRIDE;
264 void unserialize(CheckpointIn &cp) M5_ATTR_OVERRIDE;
263 void serialize(CheckpointOut &cp) const override;
264 void unserialize(CheckpointIn &cp) override;
265
265
266 const std::string name() const M5_ATTR_OVERRIDE { return _name; }
267 void process() M5_ATTR_OVERRIDE {
266 const std::string name() const override { return _name; }
267 void process() override {
268 (parent.*func)();
269 }
270
271 bool active() const { return scheduled() || suspended; }
272
273 private:
274 void suspend();
275 void resume();

--- 37 unchanged lines hidden ---
268 (parent.*func)();
269 }
270
271 bool active() const { return scheduled() || suspended; }
272
273 private:
274 void suspend();
275 void resume();

--- 37 unchanged lines hidden ---