> -----Original Message----- > From: Cheng, Yao > Sent: Saturday, November 22, 2014 3:07 > To: intel-gfx@xxxxxxxxxxxxxxxxxxxxx; dri-devel@xxxxxxxxxxxxxxxxxxxxx; > daniel.vetter@xxxxxxxx; Kelley, Sean V; Chehab, John > Cc: Jiang, Fei; dh.herrmann@xxxxxxxxx; jani.nikula@xxxxxxxxxxxxxxx; > emil.l.velikov@xxxxxxxxx; ville.syrjala@xxxxxxxxxxxxxxx; > jbarnes@xxxxxxxxxxxxxxxx; daniel@xxxxxxxxxxxxx; Cheng, Yao > Subject: [RFC PATCH v3 2/4] drm/ipvr: drm driver for VED > +typedef struct drm_ipvr_private { > + struct drm_device *dev; > + struct pci_dev *pci_root; > + > + /* IMG video context */ > + struct list_head ipvr_ctx_list; The current design leads to ctx leak. There's no ctx_list for each file struct, so each create_context_ioctl causes one ctx leak. Need to move the ctx_list from dev_private to file_private. > + spinlock_t ipvr_ctx_lock; > + struct idr ipvr_ctx_idr; > + struct ipvr_context default_ctx; > + > + /* PM related */ > + atomic_t pending_events; > + > + /* exec related */ > + struct ipvr_validate_context validate_ctx; > + > + /* IMG MMU specific */ > + struct ipvr_mmu_driver *mmu; > + /*struct ipvr_mmu_pd *pf_pd;*/ > + atomic_t ipvr_mmu_invaldc; > + > + /* GEM mm related */ > + struct ipvr_gem_stat ipvr_stat; > + struct kmem_cache *ipvr_bo_slab; > + struct ipvr_address_space addr_space; > + > + /* fence related */ > + u32 last_seq; > + wait_queue_head_t fence_queue; > + struct ipvr_fence_driver fence_drv; > + > + /* MMIO window shared from parent device */ > + u8 __iomem* reg_base; > + > + /* > + * VED specific > + */ > + struct ved_private *ved_private; > +}drm_ipvr_private_t; _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx