[RFC 2/9] mei: late_bind: add late binding component driver
Daniele Ceraolo Spurio
daniele.ceraolospurio at intel.com
Wed May 7 22:42:21 UTC 2025
<snip>
> diff --git a/include/drm/intel/xe_late_bind_mei_interface.h b/include/drm/intel/xe_late_bind_mei_interface.h
> new file mode 100644
> index 000000000000..4005c4c6184f
> --- /dev/null
> +++ b/include/drm/intel/xe_late_bind_mei_interface.h
> @@ -0,0 +1,49 @@
> +/* SPDX-License-Identifier: MIT */
> +/*
> + * Copyright (c) 2025 Intel Corporation
> + */
> +
> +#ifndef _XE_LATE_BIND_MEI_INTERFACE_H_
> +#define _XE_LATE_BIND_MEI_INTERFACE_H_
> +
> +#include <linux/types.h>
> +
> +struct device;
> +struct module;
> +
> +/**
> + * struct xe_late_bind_component_ops - ops for Late Binding services.
> + * @owner: Module providing the ops
> + * @push_config: Sends a config to FW.
> + */
> +struct xe_late_bind_component_ops {
> + struct module *owner;
> +
> + /**
> + * @push_config: Sends a config to FW.
> + * @dev: device struct corresponding to the mei device
> + * @type: payload type
> + * @flags: payload flags
> + * @payload: payload buffer
> + * @payload_size: payload buffer size
> + *
> + * Return: 0 success, negative errno value on transport failure,
> + * positive status returned by FW
> + */
> + int (*push_config)(struct device *dev, u32 type, u32 flags,
> + const void *payload, size_t payload_size);
> +};
> +
> +/**
> + * struct xe_late_bind_component - Late Binding services component
> + * @mei_dev: device that provide Late Binding service.
> + * @ops: Ops implemented by Late Binding driver, used by Xe driver.
> + *
> + * Communication between Xe and MEI drivers for Late Binding services
> + */
> +struct xe_late_bind_component {
> + struct device *mei_dev;
> + const struct xe_late_bind_component_ops *ops;
> +};
Does this structure actually need to be defined here? Differently from
other components, for this component we're only passing the
xe_late_bind_component_ops via the component_bind_all call, so in the Xe
driver we should be free to use wherever type we want to store this info.
Daniele
> +
> +#endif /* _XE_LATE_BIND_MEI_INTERFACE_H_ */
More information about the dri-devel
mailing list