mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2025-01-17 14:56:20 +07:00
498b98e939
In some software releases the firmware images are not split up with each loadable segment in it's own file. Check the size of the loaded firmware to see if it still contains each segment to be loaded, before falling back to the split-out segments. Acked-by: Andy Gross <agross@kernel.org> Reviewed-by: Jeffrey Hugo <jeffrey.l.hugo@gmail.com> Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
27 lines
806 B
C
27 lines
806 B
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
#ifndef __QCOM_MDT_LOADER_H__
|
|
#define __QCOM_MDT_LOADER_H__
|
|
|
|
#include <linux/types.h>
|
|
|
|
#define QCOM_MDT_TYPE_MASK (7 << 24)
|
|
#define QCOM_MDT_TYPE_HASH (2 << 24)
|
|
#define QCOM_MDT_RELOCATABLE BIT(27)
|
|
|
|
struct device;
|
|
struct firmware;
|
|
|
|
ssize_t qcom_mdt_get_size(const struct firmware *fw);
|
|
int qcom_mdt_load(struct device *dev, const struct firmware *fw,
|
|
const char *fw_name, int pas_id, void *mem_region,
|
|
phys_addr_t mem_phys, size_t mem_size,
|
|
phys_addr_t *reloc_base);
|
|
|
|
int qcom_mdt_load_no_init(struct device *dev, const struct firmware *fw,
|
|
const char *fw_name, int pas_id, void *mem_region,
|
|
phys_addr_t mem_phys, size_t mem_size,
|
|
phys_addr_t *reloc_base);
|
|
void *qcom_mdt_read_metadata(const struct firmware *fw, size_t *data_len);
|
|
|
|
#endif
|