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 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 |
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 |
260 DrainState drain() override; 261 void drainResume() override; |
262 |
263 void serialize(CheckpointOut &cp) const override; 264 void unserialize(CheckpointIn &cp) override; |
265 |
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 --- |