Lines Matching +full:iec +full:- +full:60958
87 dev_err(rdev->dev, "Unknown bits per sample 0x%x, using 16\n", in r600_audio_status()
102 /* iec 60958 status bits */ in r600_audio_status()
105 /* iec 60958 category code */ in r600_audio_status()
118 struct drm_device *dev = rdev->ddev; in r600_audio_update_hdmi()
123 if (rdev->audio.pin[0].channels != audio_status.channels || in r600_audio_update_hdmi()
124 rdev->audio.pin[0].rate != audio_status.rate || in r600_audio_update_hdmi()
125 rdev->audio.pin[0].bits_per_sample != audio_status.bits_per_sample || in r600_audio_update_hdmi()
126 rdev->audio.pin[0].status_bits != audio_status.status_bits || in r600_audio_update_hdmi()
127 rdev->audio.pin[0].category_code != audio_status.category_code) { in r600_audio_update_hdmi()
128 rdev->audio.pin[0] = audio_status; in r600_audio_update_hdmi()
132 list_for_each_entry(encoder, &dev->mode_config.encoder_list, head) { in r600_audio_update_hdmi()
173 /* only one pin on 6xx-NI */ in r600_audio_get_pin()
174 return &rdev->audio.pin[0]; in r600_audio_get_pin()
180 struct drm_device *dev = encoder->dev; in r600_hdmi_update_acr()
181 struct radeon_device *rdev = dev->dev_private; in r600_hdmi_update_acr()
193 HDMI0_ACR_CTS_32(acr->cts_32khz), in r600_hdmi_update_acr()
196 HDMI0_ACR_N_32(acr->n_32khz), in r600_hdmi_update_acr()
200 HDMI0_ACR_CTS_44(acr->cts_44_1khz), in r600_hdmi_update_acr()
203 HDMI0_ACR_N_44(acr->n_44_1khz), in r600_hdmi_update_acr()
207 HDMI0_ACR_CTS_48(acr->cts_48khz), in r600_hdmi_update_acr()
210 HDMI0_ACR_N_48(acr->n_48khz), in r600_hdmi_update_acr()
246 struct drm_device *dev = encoder->dev; in r600_hdmi_update_audio_infoframe()
247 struct radeon_device *rdev = dev->dev_private; in r600_hdmi_update_audio_infoframe()
249 struct radeon_encoder_atom_dig *dig = radeon_encoder->enc_priv; in r600_hdmi_update_audio_infoframe()
250 uint32_t offset = dig->afmt->offset; in r600_hdmi_update_audio_infoframe()
264 struct drm_device *dev = encoder->dev; in r600_hdmi_is_audio_buffer_filled()
265 struct radeon_device *rdev = dev->dev_private; in r600_hdmi_is_audio_buffer_filled()
267 struct radeon_encoder_atom_dig *dig = radeon_encoder->enc_priv; in r600_hdmi_is_audio_buffer_filled()
268 uint32_t offset = dig->afmt->offset; in r600_hdmi_is_audio_buffer_filled()
279 struct radeon_encoder_atom_dig *dig = radeon_encoder->enc_priv; in r600_hdmi_buffer_status_changed()
282 if (!dig->afmt || !dig->afmt->enabled) in r600_hdmi_buffer_status_changed()
286 result = dig->afmt->last_buffer_filled_status != status; in r600_hdmi_buffer_status_changed()
287 dig->afmt->last_buffer_filled_status = status; in r600_hdmi_buffer_status_changed()
297 struct drm_device *dev = encoder->dev; in r600_hdmi_audio_workaround()
298 struct radeon_device *rdev = dev->dev_private; in r600_hdmi_audio_workaround()
300 struct radeon_encoder_atom_dig *dig = radeon_encoder->enc_priv; in r600_hdmi_audio_workaround()
301 uint32_t offset = dig->afmt->offset; in r600_hdmi_audio_workaround()
323 radeon_encoder = to_radeon_encoder(crtc->encoder); in r600_hdmi_audio_set_dto()
324 dig = radeon_encoder->enc_priv; in r600_hdmi_audio_set_dto()
329 if (dig->dig_encoder == 0) { in r600_hdmi_audio_set_dto()
342 struct drm_device *dev = encoder->dev; in r600_set_vbi_packet()
343 struct radeon_device *rdev = dev->dev_private; in r600_set_vbi_packet()
353 struct drm_device *dev = encoder->dev; in r600_set_audio_packet()
354 struct radeon_device *rdev = dev->dev_private; in r600_set_audio_packet()
360 HDMI0_60958_CS_UPDATE, /* allow 60958 channel status fields to be updated */ in r600_set_audio_packet()
395 struct drm_device *dev = encoder->dev; in r600_set_mute()
396 struct radeon_device *rdev = dev->dev_private; in r600_set_mute()
405 * r600_hdmi_update_audio_settings - Update audio infoframe
413 struct drm_device *dev = encoder->dev; in r600_hdmi_update_audio_settings()
414 struct radeon_device *rdev = dev->dev_private; in r600_hdmi_update_audio_settings()
416 struct radeon_encoder_atom_dig *dig = radeon_encoder->enc_priv; in r600_hdmi_update_audio_settings()
424 if (!dig->afmt || !dig->afmt->enabled) in r600_hdmi_update_audio_settings()
426 offset = dig->afmt->offset; in r600_hdmi_update_audio_settings()
471 struct drm_device *dev = encoder->dev; in r600_hdmi_enable()
472 struct radeon_device *rdev = dev->dev_private; in r600_hdmi_enable()
474 struct radeon_encoder_atom_dig *dig = radeon_encoder->enc_priv; in r600_hdmi_enable()
477 if (!dig || !dig->afmt) in r600_hdmi_enable()
484 switch (radeon_encoder->encoder_id) { in r600_hdmi_enable()
514 dev_err(rdev->dev, "Invalid encoder for HDMI: 0x%X\n", in r600_hdmi_enable()
515 radeon_encoder->encoder_id); in r600_hdmi_enable()
518 WREG32(HDMI0_CONTROL + dig->afmt->offset, hdmi); in r600_hdmi_enable()
521 if (rdev->irq.installed) { in r600_hdmi_enable()
525 radeon_irq_kms_enable_afmt(rdev, dig->afmt->id); in r600_hdmi_enable()
527 radeon_irq_kms_disable_afmt(rdev, dig->afmt->id); in r600_hdmi_enable()
530 dig->afmt->enabled = enable; in r600_hdmi_enable()
533 enable ? "En" : "Dis", dig->afmt->offset, radeon_encoder->encoder_id); in r600_hdmi_enable()