您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ to_radeon_connector函数代码示例

51自学网 2021-06-03 08:54:26
  C++
这篇教程C++ to_radeon_connector函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中to_radeon_connector函数的典型用法代码示例。如果您正苦于以下问题:C++ to_radeon_connector函数的具体用法?C++ to_radeon_connector怎么用?C++ to_radeon_connector使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了to_radeon_connector函数的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: radeon_dp_get_panel_mode

int radeon_dp_get_panel_mode(struct drm_encoder *encoder,			     struct drm_connector *connector){	struct drm_device *dev = encoder->dev;	struct radeon_device *rdev = dev->dev_private;	struct radeon_connector *radeon_connector = to_radeon_connector(connector);	int panel_mode = DP_PANEL_MODE_EXTERNAL_DP_MODE;	u16 dp_bridge = radeon_connector_encoder_get_dp_bridge_encoder_id(connector);	u8 tmp;	if (!ASIC_IS_DCE4(rdev))		return panel_mode;	if (dp_bridge != ENCODER_OBJECT_ID_NONE) {		/* DP bridge chips */		tmp = radeon_read_dpcd_reg(radeon_connector, DP_EDP_CONFIGURATION_CAP);		if (tmp & 1)			panel_mode = DP_PANEL_MODE_INTERNAL_DP2_MODE;		else if ((dp_bridge == ENCODER_OBJECT_ID_NUTMEG) ||			 (dp_bridge == ENCODER_OBJECT_ID_TRAVIS))			panel_mode = DP_PANEL_MODE_INTERNAL_DP1_MODE;		else			panel_mode = DP_PANEL_MODE_EXTERNAL_DP_MODE;	} else if (connector->connector_type == DRM_MODE_CONNECTOR_eDP) {		/* eDP */		tmp = radeon_read_dpcd_reg(radeon_connector, DP_EDP_CONFIGURATION_CAP);		if (tmp & 1)			panel_mode = DP_PANEL_MODE_INTERNAL_DP2_MODE;	}	return panel_mode;}
开发者ID:JabirTech,项目名称:Source,代码行数:32,


示例2: radeon_dp_set_panel_mode

static void radeon_dp_set_panel_mode(struct drm_encoder *encoder,				     struct drm_connector *connector){	struct drm_device *dev = encoder->dev;	struct radeon_device *rdev = dev->dev_private;	struct radeon_connector *radeon_connector = to_radeon_connector(connector);	int panel_mode = DP_PANEL_MODE_EXTERNAL_DP_MODE;	if (!ASIC_IS_DCE4(rdev))		return;	if (radeon_connector_encoder_get_dp_bridge_encoder_id(connector) ==	    ENCODER_OBJECT_ID_NUTMEG)		panel_mode = DP_PANEL_MODE_INTERNAL_DP1_MODE;	else if (radeon_connector_encoder_get_dp_bridge_encoder_id(connector) ==		 ENCODER_OBJECT_ID_TRAVIS)		panel_mode = DP_PANEL_MODE_INTERNAL_DP2_MODE;	else if (connector->connector_type == DRM_MODE_CONNECTOR_eDP) {		u8 tmp = radeon_read_dpcd_reg(radeon_connector, DP_EDP_CONFIGURATION_CAP);		if (tmp & 1)			panel_mode = DP_PANEL_MODE_INTERNAL_DP2_MODE;	}	atombios_dig_encoder_setup(encoder,				   ATOM_ENCODER_CMD_SETUP_PANEL_MODE,				   panel_mode);	if ((connector->connector_type == DRM_MODE_CONNECTOR_eDP) &&	    (panel_mode == DP_PANEL_MODE_INTERNAL_DP2_MODE)) {		radeon_write_dpcd_reg(radeon_connector, DP_EDP_CONFIGURATION_SET, 1);	}}
开发者ID:125radheyshyam,项目名称:linux,代码行数:32,


示例3: evergreen_enable_dp_audio_packets

void evergreen_enable_dp_audio_packets(struct drm_encoder *encoder, bool enable){	struct drm_device *dev = encoder->dev;	struct radeon_device *rdev = dev->dev_private;	struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder);	struct radeon_encoder_atom_dig *dig = radeon_encoder->enc_priv;	uint32_t offset;	if (!dig || !dig->afmt)		return;	offset = dig->afmt->offset;	if (enable) {		struct drm_connector *connector = radeon_get_connector_for_encoder(encoder);		struct radeon_connector *radeon_connector = to_radeon_connector(connector);		struct radeon_connector_atom_dig *dig_connector;		uint32_t val;		if (dig->afmt->enabled)			return;		WREG32(EVERGREEN_DP_SEC_TIMESTAMP + offset, EVERGREEN_DP_SEC_TIMESTAMP_MODE(1));		if (radeon_connector->con_priv) {			dig_connector = radeon_connector->con_priv;			val = RREG32(EVERGREEN_DP_SEC_AUD_N + offset);			val &= ~EVERGREEN_DP_SEC_N_BASE_MULTIPLE(0xf);			if (dig_connector->dp_clock == 162000)				val |= EVERGREEN_DP_SEC_N_BASE_MULTIPLE(3);			else				val |= EVERGREEN_DP_SEC_N_BASE_MULTIPLE(5);			WREG32(EVERGREEN_DP_SEC_AUD_N + offset, val);		}		WREG32(EVERGREEN_DP_SEC_CNTL + offset,			EVERGREEN_DP_SEC_ASP_ENABLE |		/* Audio packet transmission */			EVERGREEN_DP_SEC_ATP_ENABLE |		/* Audio timestamp packet transmission */			EVERGREEN_DP_SEC_AIP_ENABLE |		/* Audio infoframe packet transmission */			EVERGREEN_DP_SEC_STREAM_ENABLE);	/* Master enable for secondary stream engine */		radeon_audio_enable(rdev, dig->afmt->pin, 0xf);	} else {		if (!dig->afmt->enabled)			return;		WREG32(EVERGREEN_DP_SEC_CNTL + offset, 0);		radeon_audio_enable(rdev, dig->afmt->pin, 0);	}	dig->afmt->enabled = enable;}
开发者ID:caizehong,项目名称:linux-rockchip,代码行数:53,


示例4: evergreen_dp_enable

void evergreen_dp_enable(struct drm_encoder *encoder, bool enable){	struct drm_device *dev = encoder->dev;	struct radeon_device *rdev = dev->dev_private;	struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder);	struct radeon_encoder_atom_dig *dig = radeon_encoder->enc_priv;	struct drm_connector *connector = radeon_get_connector_for_encoder(encoder);	if (!dig || !dig->afmt)		return;	if (enable && drm_detect_monitor_audio(radeon_connector_edid(connector))) {		struct drm_connector *connector = radeon_get_connector_for_encoder(encoder);		struct radeon_connector *radeon_connector = to_radeon_connector(connector);		struct radeon_connector_atom_dig *dig_connector;		uint32_t val;		WREG32_OR(AFMT_AUDIO_PACKET_CONTROL + dig->afmt->offset,			  AFMT_AUDIO_SAMPLE_SEND);		WREG32(EVERGREEN_DP_SEC_TIMESTAMP + dig->afmt->offset,		       EVERGREEN_DP_SEC_TIMESTAMP_MODE(1));		if (!ASIC_IS_DCE6(rdev) && radeon_connector->con_priv) {			dig_connector = radeon_connector->con_priv;			val = RREG32(EVERGREEN_DP_SEC_AUD_N + dig->afmt->offset);			val &= ~EVERGREEN_DP_SEC_N_BASE_MULTIPLE(0xf);			if (dig_connector->dp_clock == 162000)				val |= EVERGREEN_DP_SEC_N_BASE_MULTIPLE(3);			else				val |= EVERGREEN_DP_SEC_N_BASE_MULTIPLE(5);			WREG32(EVERGREEN_DP_SEC_AUD_N + dig->afmt->offset, val);		}		WREG32(EVERGREEN_DP_SEC_CNTL + dig->afmt->offset,			EVERGREEN_DP_SEC_ASP_ENABLE |		/* Audio packet transmission */			EVERGREEN_DP_SEC_ATP_ENABLE |		/* Audio timestamp packet transmission */			EVERGREEN_DP_SEC_AIP_ENABLE |		/* Audio infoframe packet transmission */			EVERGREEN_DP_SEC_STREAM_ENABLE);	/* Master enable for secondary stream engine */	} else {		WREG32(EVERGREEN_DP_SEC_CNTL + dig->afmt->offset, 0);		WREG32_AND(AFMT_AUDIO_PACKET_CONTROL + dig->afmt->offset,			   ~AFMT_AUDIO_SAMPLE_SEND);	}	dig->afmt->enabled = enable;}
开发者ID:19Dan01,项目名称:linux,代码行数:49,


示例5: radeon_dp_set_link_config

void radeon_dp_set_link_config(struct drm_connector *connector,			       const struct drm_display_mode *mode){	struct radeon_connector *radeon_connector = to_radeon_connector(connector);	struct radeon_connector_atom_dig *dig_connector;	if (!radeon_connector->con_priv)		return;	dig_connector = radeon_connector->con_priv;	if ((dig_connector->dp_sink_type == CONNECTOR_OBJECT_ID_DISPLAYPORT) ||	    (dig_connector->dp_sink_type == CONNECTOR_OBJECT_ID_eDP)) {		dig_connector->dp_clock =			radeon_dp_get_dp_link_clock(connector, dig_connector->dpcd, mode->clock);		dig_connector->dp_lane_count =			radeon_dp_get_dp_lane_number(connector, dig_connector->dpcd, mode->clock);	}}
开发者ID:JabirTech,项目名称:Source,代码行数:18,


示例6: radeon_dp_set_rx_power_state

void radeon_dp_set_rx_power_state(struct drm_connector *connector,				  u8 power_state){	struct radeon_connector *radeon_connector = to_radeon_connector(connector);	struct radeon_connector_atom_dig *dig_connector;	if (!radeon_connector->con_priv)		return;	dig_connector = radeon_connector->con_priv;	/* power up/down the sink */	if (dig_connector->dpcd[0] >= 0x11) {		drm_dp_dpcd_writeb(&radeon_connector->ddc_bus->aux,				   DP_SET_POWER, power_state);		usleep_range(1000, 2000);	}}
开发者ID:24hours,项目名称:linux,代码行数:18,


示例7: radeon_dp_mode_valid_helper

int radeon_dp_mode_valid_helper(struct drm_connector *connector,				struct drm_display_mode *mode){	struct radeon_connector *radeon_connector = to_radeon_connector(connector);	struct radeon_connector_atom_dig *dig_connector;	int dp_clock;	if (!radeon_connector->con_priv)		return MODE_CLOCK_HIGH;	dig_connector = radeon_connector->con_priv;	dp_clock =		radeon_dp_get_dp_link_clock(connector, dig_connector->dpcd, mode->clock);	if ((dp_clock == 540000) &&	    (!radeon_connector_is_dp12_capable(connector)))		return MODE_CLOCK_HIGH;	return MODE_OK;}
开发者ID:JabirTech,项目名称:Source,代码行数:20,


示例8: radeon_dp_get_panel_mode

int radeon_dp_get_panel_mode(struct drm_encoder *encoder,			     struct drm_connector *connector){	struct drm_device *dev = encoder->dev;	struct radeon_device *rdev = dev->dev_private;	struct radeon_connector *radeon_connector = to_radeon_connector(connector);	int panel_mode = DP_PANEL_MODE_EXTERNAL_DP_MODE;	if (!ASIC_IS_DCE4(rdev))		return panel_mode;	if (radeon_connector_encoder_get_dp_bridge_encoder_id(connector) ==	    ENCODER_OBJECT_ID_NUTMEG)		panel_mode = DP_PANEL_MODE_INTERNAL_DP1_MODE;	else if (radeon_connector_encoder_get_dp_bridge_encoder_id(connector) ==		 ENCODER_OBJECT_ID_TRAVIS) {		u8 id[6];		int i;		for (i = 0; i < 6; i++)			id[i] = radeon_read_dpcd_reg(radeon_connector, 0x503 + i);		if (id[0] == 0x73 &&		    id[1] == 0x69 &&		    id[2] == 0x76 &&		    id[3] == 0x61 &&		    id[4] == 0x72 &&		    id[5] == 0x54)			panel_mode = DP_PANEL_MODE_INTERNAL_DP1_MODE;		else			panel_mode = DP_PANEL_MODE_INTERNAL_DP2_MODE;	} else if (connector->connector_type == DRM_MODE_CONNECTOR_eDP) {		u8 tmp = radeon_read_dpcd_reg(radeon_connector, DP_EDP_CONFIGURATION_CAP);		if (tmp & 1)			panel_mode = DP_PANEL_MODE_INTERNAL_DP2_MODE;	}	return panel_mode;}
开发者ID:mb3dot,项目名称:community-b3-kernel,代码行数:37,


示例9: radeon_dp_link_train

void radeon_dp_link_train(struct drm_encoder *encoder,			  struct drm_connector *connector){	struct drm_device *dev = encoder->dev;	struct radeon_device *rdev = dev->dev_private;	struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder);	struct radeon_encoder_atom_dig *dig;	struct radeon_connector *radeon_connector;	struct radeon_connector_atom_dig *dig_connector;	struct radeon_dp_link_train_info dp_info;	int index;	u8 tmp, frev, crev;	if (!radeon_encoder->enc_priv)		return;	dig = radeon_encoder->enc_priv;	radeon_connector = to_radeon_connector(connector);	if (!radeon_connector->con_priv)		return;	dig_connector = radeon_connector->con_priv;	if ((dig_connector->dp_sink_type != CONNECTOR_OBJECT_ID_DISPLAYPORT) &&	    (dig_connector->dp_sink_type != CONNECTOR_OBJECT_ID_eDP))		return;	/* DPEncoderService newer than 1.1 can't program properly the	 * training pattern. When facing such version use the	 * DIGXEncoderControl (X== 1 | 2)	 */	dp_info.use_dpencoder = true;	index = GetIndexIntoMasterTable(COMMAND, DPEncoderService);	if (atom_parse_cmd_header(rdev->mode_info.atom_context, index, &frev, &crev)) {		if (crev > 1) {			dp_info.use_dpencoder = false;		}	}	dp_info.enc_id = 0;	if (dig->dig_encoder)		dp_info.enc_id |= ATOM_DP_CONFIG_DIG2_ENCODER;	else		dp_info.enc_id |= ATOM_DP_CONFIG_DIG1_ENCODER;	if (dig->linkb)		dp_info.enc_id |= ATOM_DP_CONFIG_LINK_B;	else		dp_info.enc_id |= ATOM_DP_CONFIG_LINK_A;	tmp = radeon_read_dpcd_reg(radeon_connector, DP_MAX_LANE_COUNT);	if (ASIC_IS_DCE5(rdev) && (tmp & DP_TPS3_SUPPORTED))		dp_info.tp3_supported = true;	else		dp_info.tp3_supported = false;	memcpy(dp_info.dpcd, dig_connector->dpcd, DP_RECEIVER_CAP_SIZE);	dp_info.rdev = rdev;	dp_info.encoder = encoder;	dp_info.connector = connector;	dp_info.radeon_connector = radeon_connector;	dp_info.dp_lane_count = dig_connector->dp_lane_count;	dp_info.dp_clock = dig_connector->dp_clock;	if (radeon_dp_link_train_init(&dp_info))		goto done;	if (radeon_dp_link_train_cr(&dp_info))		goto done;	if (radeon_dp_link_train_ce(&dp_info))		goto done;done:	if (radeon_dp_link_train_finish(&dp_info))		return;}
开发者ID:JabirTech,项目名称:Source,代码行数:72,



注:本文中的to_radeon_connector函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ to_radeon_encoder函数代码示例
C++ to_pll_clk函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。