brintos

brintos / linux-shallow public Read only

0
0
Text · 1.2 KiB · 17d6aa8 Raw
61 lines · c
1/*2 * SPDX-License-Identifier: MIT3 *4 * Copyright © 2017-2018 Intel Corporation5 */6 7#ifndef _INTEL_WOPCM_H_8#define _INTEL_WOPCM_H_9 10#include <linux/types.h>11 12/**13 * struct intel_wopcm - Overall WOPCM info and WOPCM regions.14 * @size: Size of overall WOPCM.15 * @guc: GuC WOPCM Region info.16 * @guc.base: GuC WOPCM base which is offset from WOPCM base.17 * @guc.size: Size of the GuC WOPCM region.18 */19struct intel_wopcm {20	u32 size;21	struct {22		u32 base;23		u32 size;24	} guc;25};26 27/**28 * intel_wopcm_guc_base()29 * @wopcm:	intel_wopcm structure30 *31 * Returns the base of the WOPCM shadowed region.32 *33 * Returns:34 * 0 if GuC is not present or not in use.35 * Otherwise, the GuC WOPCM base.36 */37static inline u32 intel_wopcm_guc_base(struct intel_wopcm *wopcm)38{39	return wopcm->guc.base;40}41 42/**43 * intel_wopcm_guc_size()44 * @wopcm:	intel_wopcm structure45 *46 * Returns size of the WOPCM shadowed region.47 *48 * Returns:49 * 0 if GuC is not present or not in use.50 * Otherwise, the GuC WOPCM size.51 */52static inline u32 intel_wopcm_guc_size(struct intel_wopcm *wopcm)53{54	return wopcm->guc.size;55}56 57void intel_wopcm_init_early(struct intel_wopcm *wopcm);58void intel_wopcm_init(struct intel_wopcm *wopcm);59 60#endif61