/*! This function is called for both, the primary accelerant and all of its clones. */ void radeon_uninit_accelerant(void) { TRACE("%s enter\n", __func__); gInfo->mode_list = NULL; radeon_shared_info &info = *gInfo->shared_info; uninit_lock(&info.accelerant_lock); uninit_lock(&info.engine_lock); uninit_common(); TRACE("%s done\n", __func__); }
/*! This function is called for both, the primary accelerant and all of its clones. */ void intel_uninit_accelerant(void) { CALLED(); // delete accelerant instance data delete_area(gInfo->mode_list_area); gInfo->mode_list = NULL; intel_shared_info &info = *gInfo->shared_info; uninit_lock(&info.accelerant_lock); uninit_lock(&info.engine_lock); uninit_ring_buffer(info.primary_ring_buffer); uninit_common(); }
void uninit_ring_buffer(ring_buffer &ringBuffer) { uninit_lock(&ringBuffer.lock); write32(ringBuffer.register_base + RING_BUFFER_CONTROL, 0); }