diff options
Diffstat (limited to 'drivers/gpu/drm/display/drm_scdc_helper.c')
| -rw-r--r-- | drivers/gpu/drm/display/drm_scdc_helper.c | 46 | 
1 files changed, 30 insertions, 16 deletions
diff --git a/drivers/gpu/drm/display/drm_scdc_helper.c b/drivers/gpu/drm/display/drm_scdc_helper.c index c3ad4ab2b456..6d2f244e5830 100644 --- a/drivers/gpu/drm/display/drm_scdc_helper.c +++ b/drivers/gpu/drm/display/drm_scdc_helper.c @@ -26,6 +26,8 @@  #include <linux/delay.h>  #include <drm/display/drm_scdc_helper.h> +#include <drm/drm_connector.h> +#include <drm/drm_device.h>  #include <drm/drm_print.h>  /** @@ -140,7 +142,7 @@ EXPORT_SYMBOL(drm_scdc_write);  /**   * drm_scdc_get_scrambling_status - what is status of scrambling? - * @adapter: I2C adapter for DDC channel + * @connector: connector   *   * Reads the scrambler status over SCDC, and checks the   * scrambling status. @@ -148,14 +150,16 @@ EXPORT_SYMBOL(drm_scdc_write);   * Returns:   * True if the scrambling is enabled, false otherwise.   */ -bool drm_scdc_get_scrambling_status(struct i2c_adapter *adapter) +bool drm_scdc_get_scrambling_status(struct drm_connector *connector)  {  	u8 status;  	int ret; -	ret = drm_scdc_readb(adapter, SCDC_SCRAMBLER_STATUS, &status); +	ret = drm_scdc_readb(connector->ddc, SCDC_SCRAMBLER_STATUS, &status);  	if (ret < 0) { -		DRM_DEBUG_KMS("Failed to read scrambling status: %d\n", ret); +		drm_dbg_kms(connector->dev, +			    "[CONNECTOR:%d:%s] Failed to read scrambling status: %d\n", +			    connector->base.id, connector->name, ret);  		return false;  	} @@ -165,7 +169,7 @@ EXPORT_SYMBOL(drm_scdc_get_scrambling_status);  /**   * drm_scdc_set_scrambling - enable scrambling - * @adapter: I2C adapter for DDC channel + * @connector: connector   * @enable: bool to indicate if scrambling is to be enabled/disabled   *   * Writes the TMDS config register over SCDC channel, and: @@ -175,14 +179,17 @@ EXPORT_SYMBOL(drm_scdc_get_scrambling_status);   * Returns:   * True if scrambling is set/reset successfully, false otherwise.   */ -bool drm_scdc_set_scrambling(struct i2c_adapter *adapter, bool enable) +bool drm_scdc_set_scrambling(struct drm_connector *connector, +			     bool enable)  {  	u8 config;  	int ret; -	ret = drm_scdc_readb(adapter, SCDC_TMDS_CONFIG, &config); +	ret = drm_scdc_readb(connector->ddc, SCDC_TMDS_CONFIG, &config);  	if (ret < 0) { -		DRM_DEBUG_KMS("Failed to read TMDS config: %d\n", ret); +		drm_dbg_kms(connector->dev, +			    "[CONNECTOR:%d:%s] Failed to read TMDS config: %d\n", +			    connector->base.id, connector->name, ret);  		return false;  	} @@ -191,9 +198,11 @@ bool drm_scdc_set_scrambling(struct i2c_adapter *adapter, bool enable)  	else  		config &= ~SCDC_SCRAMBLING_ENABLE; -	ret = drm_scdc_writeb(adapter, SCDC_TMDS_CONFIG, config); +	ret = drm_scdc_writeb(connector->ddc, SCDC_TMDS_CONFIG, config);  	if (ret < 0) { -		DRM_DEBUG_KMS("Failed to enable scrambling: %d\n", ret); +		drm_dbg_kms(connector->dev, +			    "[CONNECTOR:%d:%s] Failed to enable scrambling: %d\n", +			    connector->base.id, connector->name, ret);  		return false;  	} @@ -203,7 +212,7 @@ EXPORT_SYMBOL(drm_scdc_set_scrambling);  /**   * drm_scdc_set_high_tmds_clock_ratio - set TMDS clock ratio - * @adapter: I2C adapter for DDC channel + * @connector: connector   * @set: ret or reset the high clock ratio   *   * @@ -230,14 +239,17 @@ EXPORT_SYMBOL(drm_scdc_set_scrambling);   * Returns:   * True if write is successful, false otherwise.   */ -bool drm_scdc_set_high_tmds_clock_ratio(struct i2c_adapter *adapter, bool set) +bool drm_scdc_set_high_tmds_clock_ratio(struct drm_connector *connector, +					bool set)  {  	u8 config;  	int ret; -	ret = drm_scdc_readb(adapter, SCDC_TMDS_CONFIG, &config); +	ret = drm_scdc_readb(connector->ddc, SCDC_TMDS_CONFIG, &config);  	if (ret < 0) { -		DRM_DEBUG_KMS("Failed to read TMDS config: %d\n", ret); +		drm_dbg_kms(connector->dev, +			    "[CONNECTOR:%d:%s] Failed to read TMDS config: %d\n", +			    connector->base.id, connector->name, ret);  		return false;  	} @@ -246,9 +258,11 @@ bool drm_scdc_set_high_tmds_clock_ratio(struct i2c_adapter *adapter, bool set)  	else  		config &= ~SCDC_TMDS_BIT_CLOCK_RATIO_BY_40; -	ret = drm_scdc_writeb(adapter, SCDC_TMDS_CONFIG, config); +	ret = drm_scdc_writeb(connector->ddc, SCDC_TMDS_CONFIG, config);  	if (ret < 0) { -		DRM_DEBUG_KMS("Failed to set TMDS clock ratio: %d\n", ret); +		drm_dbg_kms(connector->dev, +			    "[CONNECTOR:%d:%s] Failed to set TMDS clock ratio: %d\n", +			    connector->base.id, connector->name, ret);  		return false;  	}  |