From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 32081C001B0 for ; Wed, 16 Aug 2023 03:43:59 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 953D810E050; Wed, 16 Aug 2023 03:43:59 +0000 (UTC) Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.100]) by gabe.freedesktop.org (Postfix) with ESMTPS id 757E510E050 for ; Wed, 16 Aug 2023 03:43:57 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1692157437; x=1723693437; h=date:message-id:from:to:cc:subject:in-reply-to: references:mime-version; bh=PF6nIQVOI7jXtI0EJe7HOo0yy/XA6D0DdCbkCH4Qtcc=; b=lKYHukMOTdtDRoDp8ekpmRXwMfVZQHAE711Ec1aaBNZ24uy8u5YcdCcq ptdPbce7O9Ew5wEI0fMqJM/GD1lWe/q7IeJipDf7g4FGFN+zbLZeoYBUY BSGJstPRFOJVcLJ66E6u5hJCC6gyrr8z7mGdi2iL691DrjOFyvHmyTwr0 QY+2QntnM+RqtKTaEmNkohlnR42r2ukTDoupleJMPFEaUmV0nsH0FsewQ 3/fN3/eGKCnFlcu9C5M4PrdxULKuOJzKUg2tiY3U00lt1eApOte9EBK0+ +CEupWUKmbXzie9vi/Zm+36r+BCzhwXT1jmxaX/XFWNp/P3hzIS7Ic3b7 Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10803"; a="438776885" X-IronPort-AV: E=Sophos;i="6.01,175,1684825200"; d="scan'208";a="438776885" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Aug 2023 20:43:56 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10803"; a="734055667" X-IronPort-AV: E=Sophos;i="6.01,175,1684825200"; d="scan'208";a="734055667" Received: from adixit-mobl.amr.corp.intel.com (HELO adixit-arch.intel.com) ([10.209.138.252]) by orsmga002-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Aug 2023 20:43:56 -0700 Date: Tue, 15 Aug 2023 20:43:55 -0700 Message-ID: <87wmxvslc4.wl-ashutosh.dixit@intel.com> From: "Dixit, Ashutosh" To: Umesh Nerlige Ramappa In-Reply-To: References: <20230808013159.38811-1-ashutosh.dixit@intel.com> <20230808013159.38811-2-ashutosh.dixit@intel.com> <871qg4t132.wl-ashutosh.dixit@intel.com> <87y1ibsriz.wl-ashutosh.dixit@intel.com> User-Agent: Wanderlust/2.15.9 (Almost Unreal) SEMI-EPG/1.14.7 (Harue) FLIM-LB/1.14.9 (=?ISO-8859-4?Q?Goj=F2?=) APEL-LB/10.8 EasyPG/1.0.0 Emacs/29.1 (x86_64-pc-linux-gnu) MULE/6.0 (HANACHIRUSATO) MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Content-Type: text/plain; charset=US-ASCII Subject: Re: [Intel-xe] [PATCH 01/10] drm/xe/oa: Introduce OA uapi X-BeenThere: intel-xe@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel Xe graphics driver List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: intel-xe@lists.freedesktop.org Errors-To: intel-xe-bounces@lists.freedesktop.org Sender: "Intel-xe" On Tue, 15 Aug 2023 19:21:23 -0700, Umesh Nerlige Ramappa wrote: > > On Tue, Aug 15, 2023 at 06:30:12PM -0700, Dixit, Ashutosh wrote: > > On Tue, 15 Aug 2023 18:11:55 -0700, Umesh Nerlige Ramappa wrote: > >> > >> >> + /** > >> >> + * Multiple engines may be mapped to the same OA unit. The OA unit is > >> >> + * identified by class:instance of any engine mapped to it. > >> >> + * > >> >> + * This parameter specifies the engine class and must be passed along > >> >> + * with DRM_XE_OA_PROP_OA_ENGINE_INSTANCE. > >> >> + */ > >> >> + DRM_XE_OA_PROP_OA_ENGINE_CLASS, > >> >> + > >> >> + /** > >> >> + * This parameter specifies the engine instance and must be passed along > >> >> + * with DRM_XE_OA_PROP_OA_ENGINE_CLASS. > >> >> + */ > >> >> + DRM_XE_OA_PROP_OA_ENGINE_INSTANCE, > >> > > >> > Because oa_unit_id has been introduced above in > >> > drm_xe_engine_class_instance, should we remove these engine class/instance > >> > properties? Since it seems OA streams can be opened directly against the oa > >> > unit identified by oa_unit_id. And the driver can itself figure out the > >> > engine class/instance from the oa_unit_id? > >> > >> Agree for the OA buffer use case. > >> > >> For query, we have used the class:instance to enable query support for > >> specific engine instance. If we can work around that somehow, then we can > >> do away with these 2 params. More like enable query for all engines that > >> belong to the OAG unit. For render, it is straight forward since we have > >> one render per OAG unit. For compute, multiple compute instances can map to > >> one OAG unit and only one instance can support the query. So user may want > >> to choose which instance that is. Although, I would just simplify it and > >> support only instance 0 of compute. If UMD is okay with it, then we should > >> be good. > > > > Can we enable the query (I guess "query" is MI_RPC) on all attached compute > > engines and have the UMD execute the query on any of the attached engines? > > Or is this mode of operation never been tried out before so risky? > > We cannot, since that is gated by a global configuration in HW that selects > a specific instance to enable the query for compute (ccs_select to be > specific). I think the limitation is that HW has only one OAC unit and only > one ccs can use it. OK. But iiuc there is also a context (or, in Xe, an exec_queue). So we should be able to turn on the query on the context/exec_queue hw_engine, no? Assuming more than one hw_engine in the context/exec_queue is an error? Ashutosh > >> > >> Media engines do not support query, so we should be good for OAM. > >> > >> > > >> > Separately, there is also the question of whether we want to share the Xe > >> > OA IGT code with i915 as was done for this series. Since duplicating the > >> > IGT code as well as all the perf tools seems a bit much. > >> > > >> > Thanks. > >> > -- > >> > Ashutosh