• Zhipeng Gong's avatar
    drm/i915: Specify bsd rings through exec flag · 8d360dff
    Zhipeng Gong authored
    On Skylake GT3 we have 2 Video Command Streamers (VCS), which is asymmetrical.
    For example, HEVC GPU commands can be only dispatched to VCS1 ring.
    But userspace has no control when using VCS1 or VCS2. This patch introduces
    a mechanism to avoid the default ping-pong mode and use one specific ring
    through execution flag. This mechanism is usable for all the platforms
    with 2 VCS rings.
    
    The open source usage is from these two commits in vaapi/intel:
    	commit 702050f04131a44ef8ac16651708ce8a8d98e4b8
    	Author: Zhao, Yakui <yakui.zhao@intel.com>
    	Date:   Mon Nov 17 12:44:19 2014 +0800
    
    	    Allow the batchbuffer to be submitted with override flag
    
    	commit a56efcdf27d11ad9b21664b4a2cda72d7f90f5a8
    	Author: Zhao Yakui <yakui.zhao@intel.com>
    	Date:   Mon Nov 17 12:44:22 2014 +0800
    
    	    Add the override flag to assure that HEVC video command
    		always uses BSD ring0 for SKL GT3 machine
    
    v2: fix whitespace (Rodrigo)
    v3: remove incorrect chunk that came on -collector rebase. (Rodrigo)
    v4: change the comment (Zhipeng)
    v5: address Daniel's comment (Zhipeng)
    Signed-off-by: default avatarZhipeng Gong <zhipeng.gong@intel.com>
    Reviewed-by: default avatarRodrigo Vivi <rodrigo.vivi@intel.com>
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    8d360dff
i915_gem_execbuffer.c 44.9 KB