Lines Matching refs:rdev

32 void r600_audio_enable(struct radeon_device *rdev, struct r600_audio_pin *pin,
34 void dce4_audio_enable(struct radeon_device *rdev, struct r600_audio_pin *pin,
36 void dce6_audio_enable(struct radeon_device *rdev, struct r600_audio_pin *pin,
38 u32 dce6_endpoint_rreg(struct radeon_device *rdev, u32 offset, u32 reg);
39 void dce6_endpoint_wreg(struct radeon_device *rdev,
63 struct r600_audio_pin* r600_audio_get_pin(struct radeon_device *rdev);
64 struct r600_audio_pin* dce6_audio_get_pin(struct radeon_device *rdev);
66 void r600_hdmi_audio_set_dto(struct radeon_device *rdev,
68 void dce3_2_audio_set_dto(struct radeon_device *rdev,
70 void dce4_hdmi_audio_set_dto(struct radeon_device *rdev,
72 void dce4_dp_audio_set_dto(struct radeon_device *rdev,
74 void dce6_hdmi_audio_set_dto(struct radeon_device *rdev,
76 void dce6_dp_audio_set_dto(struct radeon_device *rdev,
78 void r600_set_avi_packet(struct radeon_device *rdev, u32 offset,
80 void evergreen_set_avi_packet(struct radeon_device *rdev, u32 offset,
117 static u32 radeon_audio_rreg(struct radeon_device *rdev, u32 offset, u32 reg) in radeon_audio_rreg() argument
122 static void radeon_audio_wreg(struct radeon_device *rdev, u32 offset, in radeon_audio_wreg() argument
245 static void radeon_audio_enable(struct radeon_device *rdev, in radeon_audio_enable() argument
256 if (rdev->mode_info.mode_config_initialized) { in radeon_audio_enable()
257 list_for_each_entry(encoder, &rdev->ddev->mode_config.encoder_list, head) { in radeon_audio_enable()
270 if (rdev->audio.funcs->enable) in radeon_audio_enable()
271 rdev->audio.funcs->enable(rdev, pin, enable_mask); in radeon_audio_enable()
274 static void radeon_audio_interface_init(struct radeon_device *rdev) in radeon_audio_interface_init() argument
276 if (ASIC_IS_DCE6(rdev)) { in radeon_audio_interface_init()
277 rdev->audio.funcs = &dce6_funcs; in radeon_audio_interface_init()
278 rdev->audio.hdmi_funcs = &dce6_hdmi_funcs; in radeon_audio_interface_init()
279 rdev->audio.dp_funcs = &dce6_dp_funcs; in radeon_audio_interface_init()
280 } else if (ASIC_IS_DCE4(rdev)) { in radeon_audio_interface_init()
281 rdev->audio.funcs = &dce4_funcs; in radeon_audio_interface_init()
282 rdev->audio.hdmi_funcs = &dce4_hdmi_funcs; in radeon_audio_interface_init()
283 rdev->audio.dp_funcs = &dce4_dp_funcs; in radeon_audio_interface_init()
284 } else if (ASIC_IS_DCE32(rdev)) { in radeon_audio_interface_init()
285 rdev->audio.funcs = &dce32_funcs; in radeon_audio_interface_init()
286 rdev->audio.hdmi_funcs = &dce32_hdmi_funcs; in radeon_audio_interface_init()
287 rdev->audio.dp_funcs = &dce32_dp_funcs; in radeon_audio_interface_init()
289 rdev->audio.funcs = &r600_funcs; in radeon_audio_interface_init()
290 rdev->audio.hdmi_funcs = &r600_hdmi_funcs; in radeon_audio_interface_init()
291 rdev->audio.dp_funcs = 0; in radeon_audio_interface_init()
295 static int radeon_audio_chipset_supported(struct radeon_device *rdev) in radeon_audio_chipset_supported() argument
297 return ASIC_IS_DCE2(rdev) && !ASIC_IS_NODCE(rdev); in radeon_audio_chipset_supported()
300 int radeon_audio_init(struct radeon_device *rdev) in radeon_audio_init() argument
304 if (!radeon_audio || !radeon_audio_chipset_supported(rdev)) in radeon_audio_init()
307 rdev->audio.enabled = true; in radeon_audio_init()
309 if (ASIC_IS_DCE83(rdev)) /* KB: 2 streams, 3 endpoints */ in radeon_audio_init()
310 rdev->audio.num_pins = 3; in radeon_audio_init()
311 else if (ASIC_IS_DCE81(rdev)) /* KV: 4 streams, 7 endpoints */ in radeon_audio_init()
312 rdev->audio.num_pins = 7; in radeon_audio_init()
313 else if (ASIC_IS_DCE8(rdev)) /* BN/HW: 6 streams, 7 endpoints */ in radeon_audio_init()
314 rdev->audio.num_pins = 7; in radeon_audio_init()
315 else if (ASIC_IS_DCE64(rdev)) /* OL: 2 streams, 2 endpoints */ in radeon_audio_init()
316 rdev->audio.num_pins = 2; in radeon_audio_init()
317 else if (ASIC_IS_DCE61(rdev)) /* TN: 4 streams, 6 endpoints */ in radeon_audio_init()
318 rdev->audio.num_pins = 6; in radeon_audio_init()
319 else if (ASIC_IS_DCE6(rdev)) /* SI: 6 streams, 6 endpoints */ in radeon_audio_init()
320 rdev->audio.num_pins = 6; in radeon_audio_init()
322 rdev->audio.num_pins = 1; in radeon_audio_init()
324 for (i = 0; i < rdev->audio.num_pins; i++) { in radeon_audio_init()
325 rdev->audio.pin[i].channels = -1; in radeon_audio_init()
326 rdev->audio.pin[i].rate = -1; in radeon_audio_init()
327 rdev->audio.pin[i].bits_per_sample = -1; in radeon_audio_init()
328 rdev->audio.pin[i].status_bits = 0; in radeon_audio_init()
329 rdev->audio.pin[i].category_code = 0; in radeon_audio_init()
330 rdev->audio.pin[i].connected = false; in radeon_audio_init()
331 rdev->audio.pin[i].offset = pin_offsets[i]; in radeon_audio_init()
332 rdev->audio.pin[i].id = i; in radeon_audio_init()
335 radeon_audio_interface_init(rdev); in radeon_audio_init()
338 for (i = 0; i < rdev->audio.num_pins; i++) in radeon_audio_init()
339 radeon_audio_enable(rdev, &rdev->audio.pin[i], 0); in radeon_audio_init()
344 u32 radeon_audio_endpoint_rreg(struct radeon_device *rdev, u32 offset, u32 reg) in radeon_audio_endpoint_rreg() argument
346 if (rdev->audio.funcs->endpoint_rreg) in radeon_audio_endpoint_rreg()
347 return rdev->audio.funcs->endpoint_rreg(rdev, offset, reg); in radeon_audio_endpoint_rreg()
352 void radeon_audio_endpoint_wreg(struct radeon_device *rdev, u32 offset, in radeon_audio_endpoint_wreg() argument
355 if (rdev->audio.funcs->endpoint_wreg) in radeon_audio_endpoint_wreg()
356 rdev->audio.funcs->endpoint_wreg(rdev, offset, reg, v); in radeon_audio_endpoint_wreg()
421 struct radeon_device *rdev = encoder->dev->dev_private; in radeon_audio_get_pin() local
425 return radeon_encoder->audio->get_pin(rdev); in radeon_audio_get_pin()
443 struct radeon_device *rdev = dev->dev_private; in radeon_audio_detect() local
447 if (!radeon_audio_chipset_supported(rdev)) in radeon_audio_detect()
461 radeon_encoder->audio = rdev->audio.dp_funcs; in radeon_audio_detect()
463 radeon_encoder->audio = rdev->audio.hdmi_funcs; in radeon_audio_detect()
465 radeon_encoder->audio = rdev->audio.hdmi_funcs; in radeon_audio_detect()
471 radeon_audio_enable(rdev, dig->pin, 0xf); in radeon_audio_detect()
473 radeon_audio_enable(rdev, dig->pin, 0); in radeon_audio_detect()
477 radeon_audio_enable(rdev, dig->pin, 0); in radeon_audio_detect()
482 void radeon_audio_fini(struct radeon_device *rdev) in radeon_audio_fini() argument
486 if (!rdev->audio.enabled) in radeon_audio_fini()
489 for (i = 0; i < rdev->audio.num_pins; i++) in radeon_audio_fini()
490 radeon_audio_enable(rdev, &rdev->audio.pin[i], 0); in radeon_audio_fini()
492 rdev->audio.enabled = false; in radeon_audio_fini()
497 struct radeon_device *rdev = encoder->dev->dev_private; in radeon_audio_set_dto() local
502 radeon_encoder->audio->set_dto(rdev, crtc, clock); in radeon_audio_set_dto()
508 struct radeon_device *rdev = encoder->dev->dev_private; in radeon_audio_set_avi_packet() local
544 radeon_encoder->audio->set_avi_packet(rdev, dig->afmt->offset, in radeon_audio_set_avi_packet()
738 struct radeon_device *rdev = dev->dev_private; in radeon_audio_dp_mode_set() local
753 radeon_audio_set_dto(encoder, rdev->clock.vco_freq * 10); in radeon_audio_dp_mode_set()