Lines Matching refs:ctx

42 static int getConnectedDisplay(hwc_context_t* ctx, const char* strUdata)
47 if (ctx->mHDMIDisplay->isHDMIPrimaryDisplay()) {
56 static bool getPanelResetStatus(hwc_context_t* ctx, const char* strUdata, int len)
65 ctx->mPanelResetStatus = true;
88 static void handle_uevent(hwc_context_t* ctx, const char* udata, int len)
90 bool bpanelReset = getPanelResetStatus(ctx, udata, len);
92 ctx->proc->invalidate(ctx->proc);
96 int dpy = getConnectedDisplay(ctx, udata);
111 if(!ctx->dpyAttr[dpy].connected){
117 ctx->mDrawLock.lock();
118 handle_offline(ctx, dpy);
119 ctx->mDrawLock.unlock();
126 ctx->proc->hotplug(ctx->proc, dpy, EXTERNAL_OFFLINE);
133 if(ctx->dpyAttr[dpy].connected) {
139 if (ctx->mHDMIDisplay->isHDMIPrimaryDisplay()) {
140 ctx->mDrawLock.lock();
141 handle_online(ctx, dpy);
142 ctx->mDrawLock.unlock();
144 ctx->proc->invalidate(ctx->proc);
147 ctx->mDrawLock.lock();
156 ctx->dpyAttr[dpy].isConfiguring = true;
157 ctx->mDrawLock.unlock();
159 ctx->proc->invalidate(ctx->proc);
162 usleep(ctx->dpyAttr[HWC_DISPLAY_PRIMARY].vsync_period
165 if(isVDConnected(ctx)) {
174 ctx->mWfdSyncLock.lock();
178 ctx->mWfdSyncLock.wait();
182 ctx->mWfdSyncLock.unlock();
184 ctx->mHDMIDisplay->configure();
185 ctx->mHDMIDisplay->activateDisplay();
187 ctx->mDrawLock.lock();
188 updateDisplayInfo(ctx, dpy);
189 initCompositionResources(ctx, dpy);
190 ctx->dpyAttr[dpy].isPause = false;
191 ctx->dpyAttr[dpy].connected = true;
192 ctx->dpyAttr[dpy].isConfiguring = true;
193 ctx->mDrawLock.unlock();
198 ctx->proc->hotplug(ctx->proc, dpy, EXTERNAL_ONLINE);
213 hwc_context_t * ctx = reinterpret_cast<hwc_context_t *>(param);
224 handle_uevent(ctx, udata, len);
230 void init_uevent_thread(hwc_context_t* ctx)
236 ret = pthread_create(&uevent_thread, NULL, uevent_loop, (void*) ctx);