diff options
Diffstat (limited to 'drivers/gpu/drm/i915/dvo_sil164.c')
-rw-r--r-- | drivers/gpu/drm/i915/dvo_sil164.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/dvo_sil164.c b/drivers/gpu/drm/i915/dvo_sil164.c index cc24c1cabecd..4debd32e3e4c 100644 --- a/drivers/gpu/drm/i915/dvo_sil164.c +++ b/drivers/gpu/drm/i915/dvo_sil164.c | |||
@@ -226,6 +226,21 @@ static void sil164_dpms(struct intel_dvo_device *dvo, bool enable) | |||
226 | return; | 226 | return; |
227 | } | 227 | } |
228 | 228 | ||
229 | static bool sil164_get_hw_state(struct intel_dvo_device *dvo) | ||
230 | { | ||
231 | int ret; | ||
232 | unsigned char ch; | ||
233 | |||
234 | ret = sil164_readb(dvo, SIL164_REG8, &ch); | ||
235 | if (ret == false) | ||
236 | return false; | ||
237 | |||
238 | if (ch & SIL164_8_PD) | ||
239 | return true; | ||
240 | else | ||
241 | return false; | ||
242 | } | ||
243 | |||
229 | static void sil164_dump_regs(struct intel_dvo_device *dvo) | 244 | static void sil164_dump_regs(struct intel_dvo_device *dvo) |
230 | { | 245 | { |
231 | uint8_t val; | 246 | uint8_t val; |
@@ -258,6 +273,7 @@ struct intel_dvo_dev_ops sil164_ops = { | |||
258 | .mode_valid = sil164_mode_valid, | 273 | .mode_valid = sil164_mode_valid, |
259 | .mode_set = sil164_mode_set, | 274 | .mode_set = sil164_mode_set, |
260 | .dpms = sil164_dpms, | 275 | .dpms = sil164_dpms, |
276 | .get_hw_state = sil164_get_hw_state, | ||
261 | .dump_regs = sil164_dump_regs, | 277 | .dump_regs = sil164_dump_regs, |
262 | .destroy = sil164_destroy, | 278 | .destroy = sil164_destroy, |
263 | }; | 279 | }; |