Subversion Repositories Kolibri OS

Rev

Rev 6105 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 6105 Rev 6321
Line 20... Line 20...
20
 * OTHER DEALINGS IN THE SOFTWARE.
20
 * OTHER DEALINGS IN THE SOFTWARE.
21
 *
21
 *
22
 * Authors: Slava Grigorev 
22
 * Authors: Slava Grigorev 
23
 */
23
 */
Line 24... Line 24...
24
 
24
 
25
//#include 
25
#include 
26
#include 
26
#include 
27
#include 
27
#include 
28
#include "radeon.h"
28
#include "radeon.h"
29
#include "atom.h"
29
#include "atom.h"
Line 737... Line 737...
737
	struct drm_device *dev = encoder->dev;
737
	struct drm_device *dev = encoder->dev;
738
	struct radeon_device *rdev = dev->dev_private;
738
	struct radeon_device *rdev = dev->dev_private;
739
	struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder);
739
	struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder);
740
	struct radeon_encoder_atom_dig *dig = radeon_encoder->enc_priv;
740
	struct radeon_encoder_atom_dig *dig = radeon_encoder->enc_priv;
741
	struct drm_connector *connector = radeon_get_connector_for_encoder(encoder);
741
	struct drm_connector *connector = radeon_get_connector_for_encoder(encoder);
742
	struct radeon_connector *radeon_connector = to_radeon_connector(connector);
-
 
743
	struct radeon_connector_atom_dig *dig_connector =
-
 
744
		radeon_connector->con_priv;
-
 
Line 745... Line 742...
745
 
742
 
746
	if (!dig || !dig->afmt)
743
	if (!dig || !dig->afmt)
Line 747... Line 744...
747
		return;
744
		return;
Line 751... Line 748...
751
 
748
 
752
	if (drm_detect_monitor_audio(radeon_connector_edid(connector))) {
749
	if (drm_detect_monitor_audio(radeon_connector_edid(connector))) {
753
		radeon_audio_write_speaker_allocation(encoder);
750
		radeon_audio_write_speaker_allocation(encoder);
754
		radeon_audio_write_sad_regs(encoder);
751
		radeon_audio_write_sad_regs(encoder);
755
		radeon_audio_write_latency_fields(encoder, mode);
-
 
756
		if (rdev->clock.dp_extclk || ASIC_IS_DCE5(rdev))
752
		radeon_audio_write_latency_fields(encoder, mode);
757
			radeon_audio_set_dto(encoder, rdev->clock.default_dispclk * 10);
-
 
758
		else
-
 
759
			radeon_audio_set_dto(encoder, dig_connector->dp_clock);
753
		radeon_audio_set_dto(encoder, rdev->clock.vco_freq * 10);
760
		radeon_audio_set_audio_packet(encoder);
754
		radeon_audio_set_audio_packet(encoder);
Line 761... Line 755...
761
		radeon_audio_select_pin(encoder);
755
		radeon_audio_select_pin(encoder);
762
 
756
 
Line 779... Line 773...
779
	struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder);
773
	struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder);
Line 780... Line 774...
780
 
774
 
781
	if (radeon_encoder->audio && radeon_encoder->audio->dpms)
775
	if (radeon_encoder->audio && radeon_encoder->audio->dpms)
782
		radeon_encoder->audio->dpms(encoder, mode == DRM_MODE_DPMS_ON);
776
		radeon_encoder->audio->dpms(encoder, mode == DRM_MODE_DPMS_ON);
-
 
777
}
-
 
778
 
-
 
779
unsigned int radeon_audio_decode_dfs_div(unsigned int div)
-
 
780
{
-
 
781
	if (div >= 8 && div < 64)
-
 
782
		return (div - 8) * 25 + 200;
-
 
783
	else if (div >= 64 && div < 96)
-
 
784
		return (div - 64) * 50 + 1600;
-
 
785
	else if (div >= 96 && div < 128)
-
 
786
		return (div - 96) * 100 + 3200;
-
 
787
	else
-
 
788
		return 0;