From: Karolina Stolarek <karolina.stolarek@intel.com>
To: "Ch, Sai Gowtham" <sai.gowtham.ch@intel.com>,
"Kempczynski, Zbigniew" <zbigniew.kempczynski@intel.com>
Cc: "igt-dev@lists.freedesktop.org" <igt-dev@lists.freedesktop.org>
Subject: Re: [igt-dev] [PATCH i-g-t 2/4] lib/intel_blt: check if blt commands are supported by the platforms
Date: Mon, 11 Sep 2023 13:24:54 +0200 [thread overview]
Message-ID: <3233d106-a8b9-2225-138e-e19473f95a8e@intel.com> (raw)
In-Reply-To: <BYAPR11MB3413A74B3E8C02EE4C8A0330D0EEA@BYAPR11MB3413.namprd11.prod.outlook.com>
On 7.09.2023 15:36, Ch, Sai Gowtham wrote:
>
>
>> -----Original Message-----
>> From: Kempczynski, Zbigniew <zbigniew.kempczynski@intel.com>
>> Sent: Thursday, September 7, 2023 3:06 PM
>> To: Ch, Sai Gowtham <sai.gowtham.ch@intel.com>
>> Cc: igt-dev@lists.freedesktop.org; Stolarek, Karolina
>> <karolina.stolarek@intel.com>
>> Subject: Re: [igt-dev] [PATCH i-g-t 2/4] lib/intel_blt: check if blt commands are
>> supported by the platforms
>>
>> On Tue, Sep 05, 2023 at 06:11:54AM +0200, Ch, Sai Gowtham wrote:
>>>
>>>
>>>> -----Original Message-----
>>>> From: Kempczynski, Zbigniew <zbigniew.kempczynski@intel.com>
>>>> Sent: Monday, September 4, 2023 6:10 PM
>>>> To: Ch, Sai Gowtham <sai.gowtham.ch@intel.com>
>>>> Cc: igt-dev@lists.freedesktop.org; Stolarek, Karolina
>>>> <karolina.stolarek@intel.com>
>>>> Subject: Re: [igt-dev] [PATCH i-g-t 2/4] lib/intel_blt: check if blt
>>>> commands are supported by the platforms
>>>>
>>>> On Mon, Sep 04, 2023 at 04:34:56PM +0530, sai.gowtham.ch@intel.com
>> wrote:
>>>>> From: Sai Gowtham Ch <sai.gowtham.ch@intel.com>
>>>>>
>>>>> Check if mem-copy/mem-set commands are supported by fd device.
>>>>>
>>>>> Signed-off-by: Sai Gowtham Ch <sai.gowtham.ch@intel.com>
>>>>> ---
>>>>> lib/intel_blt.c | 32 ++++++++++++++++++++++++++++++++
>>>>> lib/intel_blt.h | 2 ++
>>>>> 2 files changed, 34 insertions(+)
>>>>>
>>>>> diff --git a/lib/intel_blt.c b/lib/intel_blt.c index
>>>>> 429511920..b55fa9b52 100644
>>>>> --- a/lib/intel_blt.c
>>>>> +++ b/lib/intel_blt.c
>>>>> @@ -289,6 +289,38 @@ bool blt_has_block_copy(int fd)
>>>>> return blt_supports_command(cmds_info, XY_BLOCK_COPY); }
>>>>>
>>>>> +/**
>>>>> + * blt_has_mem_copy
>>>>> + * @fd: drm fd
>>>>> + *
>>>>> + * Check if mem copy is supported by @fd device
>>>>> + *
>>>>> + * Returns:
>>>>> + * true if it does, false otherwise.
>>>>> + */
>>>>> +bool blt_has_mem_copy(int fd)
>>>>> +{
>>>>> + const struct intel_cmds_info *cmds_info = GET_CMDS_INFO(fd);
>>>>> +
>>>>> + return blt_supports_command(cmds_info, MEM_COPY); }
>>>>> +
>>>>> +/**
>>>>> + * blt_has_mem_set
>>>>> + * @fd: drm fd
>>>>> + *
>>>>> + * Check if mem set is supported by @fd device
>>>>> + *
>>>>> + * Returns:
>>>>> + * true if it does, false otherwise.
>>>>> + */
>>>>> +bool blt_has_mem_set(int fd)
>>>>> +{
>>>>> + const struct intel_cmds_info *cmds_info = GET_CMDS_INFO(fd);
>>>>> +
>>>>> + return blt_supports_command(cmds_info, MEM_SET); }
>>>>> +
>>>>
>>>> It is not true if you'll use those functions in i915 igts.
>>> Do you mean path for i915 needs to be enabled ?
>>
>> Yes, if I'm not wrong PVC will be supported on i915 as either.
>> So if blt_has_mem_set() will return true for it it should have the implementation
>> in the blitter library. Generally you got almost everything you need
>> (mem_set/copy code is already written so what you need is to extract this and
>> support two ways of entering it (for i915 and for xe).
>
> Sure will make this work for both i915 and xe.
>>
>>>> mem-set and mem-copy commands you've introduced in 1/4 patch should
>>>> be part of intel_blt.[ch] library.
>>> Do you mean MEM_SET and MEM_COPY in 3/4 patch ? Can you elaborate ?
>>
>> Related to above comment. You need to have batch commands + prepare
>> execution. Batch commands + execution for Xe you already have in the test. I
>> would migrate this to intel_blt.c and add i915 execution path.
>>
> do you mean something similar to "emit_blt_fast_copy" for fast_copy, mem_copy/set has to be migrated to
> Intel_blt.c ?
I'll jump on this.
That would be something similar, yes, but the interface would be
different. You can't reuse blt_copy_data struct, and you'll need to
define extra structs to describe source, destination and the command
itself. Also, I'm not sure if we'd get much value from pipelined
mem_copy/set (i.e. many copies issued in one BB), we could have just a
single copy/set instead of emitting it.
That could stir a debate, but, in my opinion, it should be fine to first
finish writing the test as it is, and then extract the implemented
functions to intel_blt. Writing an additional path for i915 will take
time. Sai, could you check if this is also a priority? If yes, then I'm
all for implementing it as a part of the series. If not, well, I would
reconsider doing it.
All the best,
Karolina
>
> ----
> Ch Sai Gowtham
>> Then in the test just call the mem_set or mem_copy depending what you want
>> to test to.
>>
>> --
>> Zbigniew
>>
>>>>
>>>> BTW first patch 1/4 won't compile in step-by-step mode because it
>>>> uses code from following patches.
>>> I'll correct that in my next patch series.
>>> ----
>>> Ch Sai Gowtham
>>>>
>>>> --
>>>> Zbigniew
>>>>
>>>>
>>>>> /**
>>>>> * blt_has_fast_copy
>>>>> * @fd: drm fd
>>>>> diff --git a/lib/intel_blt.h b/lib/intel_blt.h index
>>>>> b8b3d724d..d9c8883c7 100644
>>>>> --- a/lib/intel_blt.h
>>>>> +++ b/lib/intel_blt.h
>>>>> @@ -175,6 +175,8 @@ bool blt_cmd_has_property(const struct
>>>> intel_cmds_info *cmds_info,
>>>>> uint32_t prop);
>>>>>
>>>>> bool blt_has_block_copy(int fd);
>>>>> +bool blt_has_mem_copy(int fd);
>>>>> +bool blt_has_mem_set(int fd);
>>>>> bool blt_has_fast_copy(int fd);
>>>>> bool blt_has_xy_src_copy(int fd);
>>>>> bool blt_has_xy_color(int fd);
>>>>> --
>>>>> 2.39.1
>>>>>
next prev parent reply other threads:[~2023-09-11 11:25 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-09-04 11:04 [igt-dev] [PATCH i-g-t 0/4] Add copy basic test to exercise blt commands sai.gowtham.ch
2023-09-04 11:04 ` [igt-dev] [PATCH i-g-t 1/4] intel/xe_copy_basic: " sai.gowtham.ch
2023-09-11 13:14 ` Karolina Stolarek
2023-09-12 11:05 ` Ch, Sai Gowtham
2023-09-04 11:04 ` [igt-dev] [PATCH i-g-t 2/4] lib/intel_blt: check if blt commands are supported by the platforms sai.gowtham.ch
2023-09-04 12:39 ` Zbigniew Kempczyński
2023-09-05 4:11 ` Ch, Sai Gowtham
2023-09-07 9:36 ` Zbigniew Kempczyński
2023-09-07 13:36 ` Ch, Sai Gowtham
2023-09-11 11:24 ` Karolina Stolarek [this message]
2023-09-11 12:20 ` Zbigniew Kempczyński
2023-09-11 11:09 ` Karolina Stolarek
2023-09-13 7:39 ` Zbigniew Kempczyński
2023-09-18 8:12 ` Karolina Stolarek
2023-09-04 11:04 ` [igt-dev] [PATCH i-g-t 3/4] lib/intel_cmds_info: Add copy commands to blt_cmd_type sai.gowtham.ch
2023-09-04 11:04 ` [igt-dev] [PATCH i-g-t 4/4] lib/intel_reg: Add copy commands in the lib sai.gowtham.ch
2023-09-04 12:46 ` [igt-dev] ✗ GitLab.Pipeline: warning for Add copy basic test to exercise blt commands (rev2) Patchwork
2023-09-04 13:27 ` [igt-dev] ✗ Fi.CI.BAT: failure " Patchwork
2023-09-04 13:51 ` [igt-dev] ✓ CI.xeBAT: success " Patchwork
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3233d106-a8b9-2225-138e-e19473f95a8e@intel.com \
--to=karolina.stolarek@intel.com \
--cc=igt-dev@lists.freedesktop.org \
--cc=sai.gowtham.ch@intel.com \
--cc=zbigniew.kempczynski@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox