[Intel-gfx] [PATCH 02/13] drm/i915: Implement command buffer parsing logic

Jani Nikula jani.nikula at linux.intel.com
Thu Mar 20 13:40:36 CET 2014


On Tue, 18 Feb 2014, bradley.d.volkin at intel.com wrote:
> +static u32 gen7_render_get_cmd_length_mask(u32 cmd_header)
> +{
> +	u32 client = (cmd_header & INSTR_CLIENT_MASK) >> INSTR_CLIENT_SHIFT;
> +	u32 subclient =
> +		(cmd_header & INSTR_SUBCLIENT_MASK) >> INSTR_SUBCLIENT_SHIFT;
> +
> +	if (client == INSTR_MI_CLIENT)
> +		return 0x3F;
> +	else if (client == INSTR_RC_CLIENT) {
> +		if (subclient == INSTR_MEDIA_SUBCLIENT)
> +			return 0xFFFF;
> +		else
> +			return 0xFF;
> +	}
> +
> +	DRM_DEBUG_DRIVER("CMD: Abnormal rcs cmd length! 0x%08X\n", cmd_header);
> +	return 0;
> +}
> +
> +static u32 gen7_bsd_get_cmd_length_mask(u32 cmd_header)
> +{
> +	u32 client = (cmd_header & INSTR_CLIENT_MASK) >> INSTR_CLIENT_SHIFT;
> +	u32 subclient =
> +		(cmd_header & INSTR_SUBCLIENT_MASK) >> INSTR_SUBCLIENT_SHIFT;
> +
> +	if (client == INSTR_MI_CLIENT)
> +		return 0x3F;
> +	else if (client == INSTR_RC_CLIENT) {
> +		if (subclient == INSTR_MEDIA_SUBCLIENT)
> +			return 0xFFF;

Should this be 0xffff like in gen7_render_get_cmd_length_mask()?

Jani.

> +		else
> +			return 0xFF;
> +	}
> +
> +	DRM_DEBUG_DRIVER("CMD: Abnormal bsd cmd length! 0x%08X\n", cmd_header);
> +	return 0;
> +}

-- 
Jani Nikula, Intel Open Source Technology Center



More information about the Intel-gfx mailing list