Files
linux/drivers/dpll/zl3073x/devlink.h
Ivan Vecera 3639bd0876 dpll: zl3073x: Add low-level flash functions
To implement the devlink device flash functionality, the driver needs
to access both the device memory and the internal flash memory. The flash
memory is accessed using a device-specific program (called the flash
utility). This flash utility must be downloaded by the driver into
the device memory and then executed by the device CPU. Once running,
the flash utility provides a flash API to access the flash memory itself.

During this operation, the normal functionality provided by the standard
firmware is not available. Therefore, the driver must ensure that DPLL
callbacks and monitoring functions are not executed during the flash
operation.

Add all necessary functions for downloading the utility to device memory,
entering and exiting flash mode, and performing flash operations.

Reviewed-by: Przemek Kitszel <przemyslaw.kitszel@intel.com>
Signed-off-by: Ivan Vecera <ivecera@redhat.com>
Link: https://patch.msgid.link/20250909091532.11790-3-ivecera@redhat.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2025-09-15 08:08:39 -07:00

16 lines
402 B
C

/* SPDX-License-Identifier: GPL-2.0-only */
#ifndef _ZL3073X_DEVLINK_H
#define _ZL3073X_DEVLINK_H
struct zl3073x_dev;
struct zl3073x_dev *zl3073x_devm_alloc(struct device *dev);
int zl3073x_devlink_register(struct zl3073x_dev *zldev);
void zl3073x_devlink_flash_notify(struct zl3073x_dev *zldev, const char *msg,
const char *component, u32 done, u32 total);
#endif /* _ZL3073X_DEVLINK_H */