diff options
author | 2017-02-16 16:15:30 -0500 | |
---|---|---|
committer | 2017-09-26 17:15:22 -0400 | |
commit | 2b230ea3e76f6238b31fd270cab76d55394f3293 (patch) | |
tree | dc087031626d150c63c5e6a14ebf7b3fdbf4cc1a | |
parent | drm/amd/display: Add bypass case for PQ transfer function (diff) | |
download | linux-dev-2b230ea3e76f6238b31fd270cab76d55394f3293.tar.xz linux-dev-2b230ea3e76f6238b31fd270cab76d55394f3293.zip |
drm/amd/display: Add query_ddc_data function
Signed-off-by: Zeyu Fan <Zeyu.Fan@amd.com>
Reviewed-by: Charlene Liu <Charlene.Liu@amd.com>
Acked-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-rw-r--r-- | drivers/gpu/drm/amd/display/dc/core/dc.c | 25 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/display/dc/dc.h | 11 |
2 files changed, 35 insertions, 1 deletions
diff --git a/drivers/gpu/drm/amd/display/dc/core/dc.c b/drivers/gpu/drm/amd/display/dc/core/dc.c index 84412e752017..6516c275e0c7 100644 --- a/drivers/gpu/drm/amd/display/dc/core/dc.c +++ b/drivers/gpu/drm/amd/display/dc/core/dc.c @@ -1725,6 +1725,31 @@ bool dc_read_dpcd( return r == DDC_RESULT_SUCESSFULL; } +bool dc_query_ddc_data( + struct dc *dc, + uint32_t link_index, + uint32_t address, + uint8_t *write_buf, + uint32_t write_size, + uint8_t *read_buf, + uint32_t read_size) { + + struct core_dc *core_dc = DC_TO_CORE(dc); + + struct core_link *link = core_dc->links[link_index]; + + bool result = dal_ddc_service_query_ddc_data( + link->ddc, + address, + write_buf, + write_size, + read_buf, + read_size); + + return result; +} + + bool dc_write_dpcd( struct dc *dc, uint32_t link_index, diff --git a/drivers/gpu/drm/amd/display/dc/dc.h b/drivers/gpu/drm/amd/display/dc/dc.h index 71d7dde79ae0..2d84b18f48b0 100644 --- a/drivers/gpu/drm/amd/display/dc/dc.h +++ b/drivers/gpu/drm/amd/display/dc/dc.h @@ -720,7 +720,16 @@ bool dc_write_dpcd( uint32_t link_index, uint32_t address, const uint8_t *data, - uint32_t size); + uint32_t size); + +bool dc_query_ddc_data( + struct dc *dc, + uint32_t link_index, + uint32_t address, + uint8_t *write_buf, + uint32_t write_size, + uint8_t *read_buf, + uint32_t read_size); bool dc_submit_i2c( struct dc *dc, |