1 /* SPDX-License-Identifier: GPL-2.0-only OR MIT */ 2 /* Copyright (c) 2023 Imagination Technologies Ltd. */ 3 4 #ifndef PVR_ROGUE_FWIF_RESETFRAMEWORK_H 5 #define PVR_ROGUE_FWIF_RESETFRAMEWORK_H 6 7 #include <linux/bits.h> 8 #include <linux/types.h> 9 10 #include "pvr_rogue_fwif_shared.h" 11 12 struct rogue_fwif_rf_registers { 13 union { 14 u64 cdmreg_cdm_cb_base; 15 u64 cdmreg_cdm_ctrl_stream_base; 16 }; 17 u64 cdmreg_cdm_cb_queue; 18 u64 cdmreg_cdm_cb; 19 }; 20 21 struct rogue_fwif_rf_cmd { 22 /* THIS MUST BE THE LAST MEMBER OF THE CONTAINING STRUCTURE */ 23 struct rogue_fwif_rf_registers fw_registers __aligned(8); 24 }; 25 26 #define ROGUE_FWIF_RF_CMD_SIZE sizeof(struct rogue_fwif_rf_cmd) 27 28 #endif /* PVR_ROGUE_FWIF_RESETFRAMEWORK_H */ 29