| 1 | /* SPDX-License-Identifier: MIT */ | 
|---|
| 2 | /* | 
|---|
| 3 | * Copyright © 2013-2021 Intel Corporation | 
|---|
| 4 | */ | 
|---|
| 5 |  | 
|---|
| 6 | #ifndef _VLV_IOSF_SB_H_ | 
|---|
| 7 | #define _VLV_IOSF_SB_H_ | 
|---|
| 8 |  | 
|---|
| 9 | #include <linux/types.h> | 
|---|
| 10 |  | 
|---|
| 11 | #include "vlv_iosf_sb_reg.h" | 
|---|
| 12 |  | 
|---|
| 13 | struct drm_device; | 
|---|
| 14 | struct drm_i915_private; | 
|---|
| 15 |  | 
|---|
| 16 | enum vlv_iosf_sb_unit { | 
|---|
| 17 | VLV_IOSF_SB_BUNIT, | 
|---|
| 18 | VLV_IOSF_SB_CCK, | 
|---|
| 19 | VLV_IOSF_SB_CCU, | 
|---|
| 20 | VLV_IOSF_SB_DPIO, | 
|---|
| 21 | VLV_IOSF_SB_DPIO_2, | 
|---|
| 22 | VLV_IOSF_SB_FLISDSI, | 
|---|
| 23 | VLV_IOSF_SB_GPIO, | 
|---|
| 24 | VLV_IOSF_SB_NC, | 
|---|
| 25 | VLV_IOSF_SB_PUNIT, | 
|---|
| 26 | }; | 
|---|
| 27 |  | 
|---|
| 28 | void vlv_iosf_sb_init(struct drm_i915_private *i915); | 
|---|
| 29 | void vlv_iosf_sb_fini(struct drm_i915_private *i915); | 
|---|
| 30 |  | 
|---|
| 31 | void vlv_iosf_sb_get(struct drm_device *drm, unsigned long unit_mask); | 
|---|
| 32 | void vlv_iosf_sb_put(struct drm_device *drm, unsigned long unit_mask); | 
|---|
| 33 |  | 
|---|
| 34 | u32 vlv_iosf_sb_read(struct drm_device *drm, enum vlv_iosf_sb_unit unit, u32 addr); | 
|---|
| 35 | int vlv_iosf_sb_write(struct drm_device *drm, enum vlv_iosf_sb_unit unit, u32 addr, u32 val); | 
|---|
| 36 |  | 
|---|
| 37 | #endif /* _VLV_IOSF_SB_H_ */ | 
|---|
| 38 |  | 
|---|