diff options
author | Guillaume Tucker <guillaume.tucker@arm.com> | 2015-08-03 10:18:15 +0100 |
---|---|---|
committer | Jon Medhurst <tixy@linaro.org> | 2015-09-02 16:38:15 +0100 |
commit | c72936f406fe79ca529be1ae9748c68b77b90dac (patch) | |
tree | 9fb0a9ce121efe885f73d19b1c92d0d88e5e1e8e /drivers/gpu/arm/midgard/backend/gpu/mali_kbase_instr_defs.h | |
parent | 9dbcbf30a5a0b499a277f7f0a4c318f71ceb8672 (diff) |
mali: add TX011-BU-00001-r6p0-02rel0
Import all the files from TX011-BU-00001-r6p0-02rel0.
Signed-off-by: Guillaume Tucker <guillaume.tucker@arm.com>
Diffstat (limited to 'drivers/gpu/arm/midgard/backend/gpu/mali_kbase_instr_defs.h')
-rw-r--r-- | drivers/gpu/arm/midgard/backend/gpu/mali_kbase_instr_defs.h | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_instr_defs.h b/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_instr_defs.h new file mode 100644 index 00000000000..23bd80a5a15 --- /dev/null +++ b/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_instr_defs.h @@ -0,0 +1,62 @@ +/* + * + * (C) COPYRIGHT 2014 ARM Limited. All rights reserved. + * + * This program is free software and is provided to you under the terms of the + * GNU General Public License version 2 as published by the Free Software + * Foundation, and any use by you of this program is subject to the terms + * of such GNU licence. + * + * A copy of the licence is included with the program, and can also be obtained + * from Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. + * + */ + + + +/* + * Backend-specific instrumentation definitions + */ + +#ifndef _KBASE_INSTR_DEFS_H_ +#define _KBASE_INSTR_DEFS_H_ + +/* + * Instrumentation State Machine States + */ +enum kbase_instr_state { + /* State where instrumentation is not active */ + KBASE_INSTR_STATE_DISABLED = 0, + /* State machine is active and ready for a command. */ + KBASE_INSTR_STATE_IDLE, + /* Hardware is currently dumping a frame. */ + KBASE_INSTR_STATE_DUMPING, + /* We've requested a clean to occur on a workqueue */ + KBASE_INSTR_STATE_REQUEST_CLEAN, + /* Hardware is currently cleaning and invalidating caches. */ + KBASE_INSTR_STATE_CLEANING, + /* Cache clean completed, and either a) a dump is complete, or + * b) instrumentation can now be setup. */ + KBASE_INSTR_STATE_CLEANED, + /* kbasep_reset_timeout_worker() has started (but not compelted) a + * reset. This generally indicates the current action should be aborted, + * and kbasep_reset_timeout_worker() will handle the cleanup */ + KBASE_INSTR_STATE_RESETTING, + /* An error has occured during DUMPING (page fault). */ + KBASE_INSTR_STATE_FAULT +}; + +/* Structure used for instrumentation and HW counters dumping */ +struct kbase_instr_backend { + wait_queue_head_t wait; + int triggered; + + enum kbase_instr_state state; + wait_queue_head_t cache_clean_wait; + struct workqueue_struct *cache_clean_wq; + struct work_struct cache_clean_work; +}; + +#endif /* _KBASE_INSTR_DEFS_H_ */ + |