Intel-XE Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: "Nilawar, Badal" <badal.nilawar@intel.com>
To: Greg KH <gregkh@linuxfoundation.org>
Cc: <intel-xe@lists.freedesktop.org>,
	<dri-devel@lists.freedesktop.org>, <linux-kernel@vger.kernel.org>,
	<anshuman.gupta@intel.com>, <rodrigo.vivi@intel.com>,
	<alexander.usyskin@intel.com>, <daniele.ceraolospurio@intel.com>
Subject: Re: [PATCH v6 02/10] mei: late_bind: add late binding component driver
Date: Fri, 4 Jul 2025 17:18:46 +0530	[thread overview]
Message-ID: <fe774af5-76fb-4056-9eae-e2ccb0e0f078@intel.com> (raw)
In-Reply-To: <2025070452-rendering-passover-9f8c@gregkh>


On 04-07-2025 16:04, Greg KH wrote:
> On Fri, Jul 04, 2025 at 03:59:40PM +0530, Nilawar, Badal wrote:
>> On 04-07-2025 10:44, Greg KH wrote:
>>> On Fri, Jul 04, 2025 at 01:00:58AM +0530, Badal Nilawar wrote:
>>>> From: Alexander Usyskin <alexander.usyskin@intel.com>
>>>>
>>>> Add late binding component driver.
>>>> It allows pushing the late binding configuration from, for example,
>>>> the Xe graphics driver to the Intel discrete graphics card's CSE device.
>>>>
>>>> Signed-off-by: Alexander Usyskin <alexander.usyskin@intel.com>
>>>> Signed-off-by: Badal Nilawar <badal.nilawar@intel.com>
>>>> Reviewed-by: Anshuman Gupta <anshuman.gupta@intel.com>
>>>> ---
>>>>    drivers/misc/mei/Kconfig                    |   1 +
>>>>    drivers/misc/mei/Makefile                   |   1 +
>>>>    drivers/misc/mei/late_bind/Kconfig          |  13 +
>>>>    drivers/misc/mei/late_bind/Makefile         |   9 +
>>>>    drivers/misc/mei/late_bind/mei_late_bind.c  | 272 ++++++++++++++++++++
>>> Why do you have a whole subdir for a single .c file?  What's wrong with
>>> just keepign it in drivers/misc/mei/ ?
>> There is separate subdir for each component used by i915/xe, so one was
>> created for late_bind as well. Should we still drop late_bind subdir?
>>
>> cd drivers/misc/mei/
>>        gsc_proxy/ hdcp/      late_bind/ pxp/
> For "modules" that are just a single file, yeah, that's silly, don't do
> that.
Another reason to maintain the sub_dir is to accommodate additional 
files for future platforms. If you still insist, I'll remove the sub_dir.
>
>>>> +/**
>>>> + * struct csc_heci_late_bind_req - late binding request
>>>> + * @header: @ref mkhi_msg_hdr
>>>> + * @type: type of the late binding payload
>>>> + * @flags: flags to be passed to the firmware
>>>> + * @reserved: reserved field
>>> Reserved for what?  Set to what?
>> Reserved by firmware for future use, default value set to 0, I will update
>> above doc.
>>
>>>> + * @payload_size: size of the payload data in bytes
>>>> + * @payload: data to be sent to the firmware
>>>> + */
>>>> +struct csc_heci_late_bind_req {
>>>> +	struct mkhi_msg_hdr header;
>>>> +	u32 type;
>>>> +	u32 flags;
>>>> +	u32 reserved[2];
>>>> +	u32 payload_size;
>>> As these cross the kernel boundry, they should be the correct type
>>> (__u32), but really, please define the endiness of them (__le32) and use
>>> the proper macros for that.
>> If we go with __le32 then while populating elements of structure
>> csc_heci_late_bind_req  I will be using cpu_to_le32().
>>
>> When mapping the response buffer from the firmware with struct
>> csc_heci_late_bind_rsp, there's no need to use le32_to_cpu() since the
>> response will already be in little-endian format.
> How do you know?  Where is that defined?  Where did the conversion
> happen?

Sorry, I got confused. Conversion is needed when assigning the response 
structure elements.

e.g ret = (int)(le32_to_cpu)rsp.status;

>
>> Are you fine with this?
> Please be explicit.
>
>>>> +	ret = (int)rsp.status;
>>>> +end:
>>>> +	mei_cldev_disable(cldev);
>>>> +	kfree(req);
>>>> +	return ret;
>>>> +}
>>>> +
>>>> +static const struct late_bind_component_ops mei_late_bind_ops = {
>>>> +	.owner = THIS_MODULE,
>>> I thought you were going to drop the .owner stuff?
>>>
>>> Or if not, please implement it properly (i.e. by NOT forcing people to
>>> manually set it here.)
>> Somehow I missed this. I will drop it.
> And from the structure definition please.

Sure.

Thanks,
Badal

>
> thanks,
>
> greg k-h

  reply	other threads:[~2025-07-04 11:48 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-07-03 19:30 [PATCH v6 00/10] Introducing firmware late binding Badal Nilawar
2025-07-03 19:30 ` [PATCH v6 01/10] mei: bus: add mei_cldev_mtu interface Badal Nilawar
2025-07-03 19:30 ` [PATCH v6 02/10] mei: late_bind: add late binding component driver Badal Nilawar
2025-07-04  5:14   ` Greg KH
2025-07-04 10:29     ` Nilawar, Badal
2025-07-04 10:34       ` Greg KH
2025-07-04 11:48         ` Nilawar, Badal [this message]
2025-07-04 12:00           ` Greg KH
2025-07-04 12:21             ` Gupta, Anshuman
2025-07-04 12:29               ` Greg KH
2025-07-04 13:03                 ` Nilawar, Badal
2025-07-03 19:30 ` [PATCH v6 03/10] drm/xe/xe_late_bind_fw: Introducing xe_late_bind_fw Badal Nilawar
2025-07-03 19:31 ` [PATCH v6 04/10] drm/xe/xe_late_bind_fw: Initialize late binding firmware Badal Nilawar
2025-07-03 19:31 ` [PATCH v6 05/10] drm/xe/xe_late_bind_fw: Load " Badal Nilawar
2025-07-03 21:38   ` Daniele Ceraolo Spurio
2025-07-03 19:31 ` [PATCH v6 06/10] drm/xe/xe_late_bind_fw: Reload late binding fw in rpm resume Badal Nilawar
2025-07-03 19:31 ` [PATCH v6 07/10] drm/xe/xe_late_bind_fw: Reload late binding fw during system resume Badal Nilawar
2025-07-03 19:31 ` [PATCH v6 08/10] drm/xe/xe_late_bind_fw: Introduce debug fs node to disable late binding Badal Nilawar
2025-07-03 19:31 ` [PATCH v6 09/10] drm/xe/xe_late_bind_fw: Extract and print version info Badal Nilawar
2025-07-03 19:31 ` [PATCH v6 10/10] drm/xe/xe_late_bind_fw: Select INTEL_MEI_LATE_BIND for CI Badal Nilawar
2025-07-03 20:01 ` ✗ CI.checkpatch: warning for Introducing firmware late binding Patchwork
2025-07-03 20:02 ` ✓ CI.KUnit: success " Patchwork
2025-07-03 20:20 ` ✗ CI.checksparse: warning " Patchwork
2025-07-03 20:56 ` ✓ Xe.CI.BAT: success " Patchwork
2025-07-05 12:50 ` ✗ Xe.CI.Full: failure " 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=fe774af5-76fb-4056-9eae-e2ccb0e0f078@intel.com \
    --to=badal.nilawar@intel.com \
    --cc=alexander.usyskin@intel.com \
    --cc=anshuman.gupta@intel.com \
    --cc=daniele.ceraolospurio@intel.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=intel-xe@lists.freedesktop.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rodrigo.vivi@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