[PATCH] drm/amd/display: introduce quirks for i2c adaptor

Harry Wentland harry.wentland at amd.com
Fri Apr 20 18:24:19 UTC 2018


On 2018-04-17 02:57 AM, Shirish S wrote:
> The dp aux channel cannot read messages of size greater
> than 16 bytes, this patch adds quirks feild accordingly
> at the initialization of the adaptor.

Is this in response to a bug?

I don't see any other DRM driver using quirks like this, even though they also wouldn't be able to transfer more than 16 bytes when using i2c-over-aux. This makes me wonder why we need it.

Harry

> 
> Signed-off-by: Shirish S <shirish.s at amd.com>
> ---
>  drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c
> index 782491e..f7d6d9a 100644
> --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c
> +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c
> @@ -464,10 +464,15 @@ static const struct drm_dp_mst_topology_cbs dm_mst_cbs = {
>  	.register_connector = dm_dp_mst_register_connector
>  };
>  
> +/* I2C adapter quirks, max read len is 16 bytes. */
> +static const struct i2c_adapter_quirks dm_dp_aux_quirks = {
> +	.max_read_len = 128,
> +};
>  void amdgpu_dm_initialize_dp_connector(struct amdgpu_display_manager *dm,
>  				       struct amdgpu_dm_connector *aconnector)
>  {
>  	aconnector->dm_dp_aux.aux.name = "dmdc";
> +	aconnector->dm_dp_aux.aux.ddc.quirks = &dm_dp_aux_quirks;
>  	aconnector->dm_dp_aux.aux.dev = dm->adev->dev;
>  	aconnector->dm_dp_aux.aux.transfer = dm_dp_aux_transfer;
>  	aconnector->dm_dp_aux.ddc_service = aconnector->dc_link->ddc;
> 


More information about the amd-gfx mailing list