[PATCH v7 0/9] Introducing firmware late binding

Badal Nilawar posted 9 patches 3 months ago
There is a newer version of this series
drivers/gpu/drm/xe/Makefile                 |   1 +
drivers/gpu/drm/xe/xe_debugfs.c             |  41 ++
drivers/gpu/drm/xe/xe_device.c              |   5 +
drivers/gpu/drm/xe/xe_device_types.h        |   6 +
drivers/gpu/drm/xe/xe_late_bind_fw.c        | 462 ++++++++++++++++++++
drivers/gpu/drm/xe/xe_late_bind_fw.h        |  17 +
drivers/gpu/drm/xe/xe_late_bind_fw_types.h  |  75 ++++
drivers/gpu/drm/xe/xe_pci.c                 |   2 +
drivers/gpu/drm/xe/xe_pci_types.h           |   1 +
drivers/gpu/drm/xe/xe_pm.c                  |   8 +
drivers/gpu/drm/xe/xe_uc_fw_abi.h           |  66 +++
drivers/misc/mei/Kconfig                    |  11 +
drivers/misc/mei/Makefile                   |   1 +
drivers/misc/mei/bus.c                      |  13 +
drivers/misc/mei/mei_late_bind.c            | 271 ++++++++++++
include/drm/intel/i915_component.h          |   1 +
include/drm/intel/late_bind_mei_interface.h |  62 +++
include/linux/mei_cl_bus.h                  |   1 +
18 files changed, 1044 insertions(+)
create mode 100644 drivers/gpu/drm/xe/xe_late_bind_fw.c
create mode 100644 drivers/gpu/drm/xe/xe_late_bind_fw.h
create mode 100644 drivers/gpu/drm/xe/xe_late_bind_fw_types.h
create mode 100644 drivers/misc/mei/mei_late_bind.c
create mode 100644 include/drm/intel/late_bind_mei_interface.h
[PATCH v7 0/9] Introducing firmware late binding
Posted by Badal Nilawar 3 months ago
Introducing firmware late binding feature to enable firmware loading
for the devices, such as the fan controller and voltage regulator,
during the driver probe.
Typically, firmware for these devices are part of IFWI flash image but
can be replaced at probe after OEM tuning.

v2:
 - Dropped voltage regulator specific code as binaries for it will not
   be available for upstreaming as of now.
 - Address review comments
v3:
 - Dropped fwctl patch for now
 - Added new patch to extract binary version
 - Address v2 review comments
v4:
 - Address v3 review comments
v5:
 xe_kmd:
 - Dropped mutex is worker flush in unbind blocking component
   removal while fw download is in progress
 - Handled the fw load in all 3 scenarios (probe, system resume, rpm resume)
   by holding rpm wake ref in outer bounds of worker.
 mei:
 - Most of the review comments
v6:
 - rebased
 - Disabled fw load upon error
v7:
 xe_kmd:
 - resolved kernel doc warnings
 mei:
 - Address v6 review comments (greg kh)

 - Dropped patch 10

Alexander Usyskin (2):
  mei: bus: add mei_cldev_mtu interface
  mei: late_bind: add late binding component driver

Badal Nilawar (7):
  drm/xe/xe_late_bind_fw: Introducing xe_late_bind_fw
  drm/xe/xe_late_bind_fw: Initialize late binding firmware
  drm/xe/xe_late_bind_fw: Load late binding firmware
  drm/xe/xe_late_bind_fw: Reload late binding fw in rpm resume
  drm/xe/xe_late_bind_fw: Reload late binding fw during system resume
  drm/xe/xe_late_bind_fw: Introduce debug fs node to disable late
    binding
  drm/xe/xe_late_bind_fw: Extract and print version info

 drivers/gpu/drm/xe/Makefile                 |   1 +
 drivers/gpu/drm/xe/xe_debugfs.c             |  41 ++
 drivers/gpu/drm/xe/xe_device.c              |   5 +
 drivers/gpu/drm/xe/xe_device_types.h        |   6 +
 drivers/gpu/drm/xe/xe_late_bind_fw.c        | 462 ++++++++++++++++++++
 drivers/gpu/drm/xe/xe_late_bind_fw.h        |  17 +
 drivers/gpu/drm/xe/xe_late_bind_fw_types.h  |  75 ++++
 drivers/gpu/drm/xe/xe_pci.c                 |   2 +
 drivers/gpu/drm/xe/xe_pci_types.h           |   1 +
 drivers/gpu/drm/xe/xe_pm.c                  |   8 +
 drivers/gpu/drm/xe/xe_uc_fw_abi.h           |  66 +++
 drivers/misc/mei/Kconfig                    |  11 +
 drivers/misc/mei/Makefile                   |   1 +
 drivers/misc/mei/bus.c                      |  13 +
 drivers/misc/mei/mei_late_bind.c            | 271 ++++++++++++
 include/drm/intel/i915_component.h          |   1 +
 include/drm/intel/late_bind_mei_interface.h |  62 +++
 include/linux/mei_cl_bus.h                  |   1 +
 18 files changed, 1044 insertions(+)
 create mode 100644 drivers/gpu/drm/xe/xe_late_bind_fw.c
 create mode 100644 drivers/gpu/drm/xe/xe_late_bind_fw.h
 create mode 100644 drivers/gpu/drm/xe/xe_late_bind_fw_types.h
 create mode 100644 drivers/misc/mei/mei_late_bind.c
 create mode 100644 include/drm/intel/late_bind_mei_interface.h

-- 
2.34.1
Re: [PATCH v7 0/9] Introducing firmware late binding
Posted by Greg KH 3 months ago
On Tue, Jul 08, 2025 at 12:42:28AM +0530, Badal Nilawar wrote:
> v7:
>  xe_kmd:
>  - resolved kernel doc warnings
>  mei:
>  - Address v6 review comments (greg kh)

I don't know what comments you addressed, please be specific, as in the
past other ones have not been addressed (i.e. the .owner stuff) and I
had to find that review again...

thanks,

greg k-h
RE: [PATCH v7 0/9] Introducing firmware late binding
Posted by Gupta, Anshuman 3 months ago

> -----Original Message-----
> From: Greg KH <gregkh@linuxfoundation.org>
> Sent: Tuesday, July 8, 2025 12:19 PM
> To: Nilawar, Badal <badal.nilawar@intel.com>
> Cc: intel-xe@lists.freedesktop.org; dri-devel@lists.freedesktop.org; linux-
> kernel@vger.kernel.org; Gupta, Anshuman <anshuman.gupta@intel.com>;
> Vivi, Rodrigo <rodrigo.vivi@intel.com>; Usyskin, Alexander
> <alexander.usyskin@intel.com>; Ceraolo Spurio, Daniele
> <daniele.ceraolospurio@intel.com>
> Subject: Re: [PATCH v7 0/9] Introducing firmware late binding
> 
> On Tue, Jul 08, 2025 at 12:42:28AM +0530, Badal Nilawar wrote:
> > v7:
> >  xe_kmd:
> >  - resolved kernel doc warnings
> >  mei:
> >  - Address v6 review comments (greg kh)
> 
> I don't know what comments you addressed, please be specific, as in the past
> other ones have not been addressed (i.e. the .owner stuff) and I had to find
> that review again...
V7 series patch changelog has the details of addressed review comment.
https://patchwork.freedesktop.org/patch/662505/?series=151202&rev=3
---
v2:
 - Use generic naming (Jani)
 - Drop xe_late_bind_component struct to move to xe code (Daniele/Sasha)
v3:
 - Updated kconfig description
 - Move CSC late binding specific flags/defines to late_bind_mei_interface.h (Daniele)
 - Add match for PCI_CLASS_DISPLAY_OTHER to support headless cards (Anshuman)
v4:
 - Add fixes in push_config (Sasha)
 - Use INTEL_ prefix for component, refine doc,
   add status enum to headerlate_bind_mei_interface.h (Anshuman)
v5:
 - Addressed review comments
v7(greh kh):
 - dropped sub directory
 - dropped .owner from late_bind_component_ops
 - In csc_heci_late_bind_req/rsp headers
   - used __le32
   - updated doc for reserved fields
 - used conversion macros le32_to_cpu, cpu_to_le32
 - fixed duplicate print in dev_dbg
---

It seems Latest series[*] after dropping patch 10 does not have details of addressed review comment.
* https://patchwork.freedesktop.org/series/151290/ 

Thanks,
Anshuman
> 
> thanks,
> 
> greg k-h