linux/drivers/gpu/drm/amd/display/dc
Wesley Chalmers 30adeee52d drm/amd/display: Enforce DPCD Address ranges
[WHY]
Some DPCD addresses, notably LTTPR Capability registers, are expected to
be read all together in a single DPCD transaction. Rather than force callers to
read registers they don't need, we want to quietly extend the addresses
read, and only return back the values the caller asked for.
This does not affect DPCD writes.

[HOW]
Create an additional layer above AUX to perform 'checked' DPCD
transactions.
Iterate through an array of DPCD address ranges that are marked as being
contiguous. If a requested read falls within one of those ranges, extend
the read to include the entire range.
After DPCD has been queried, copy the requested bytes into the caller's
data buffer, and deallocate all resources used.

Signed-off-by: Wesley Chalmers <Wesley.Chalmers@amd.com>
Reviewed-by: Jun Lei <Jun.Lei@amd.com>
Acked-by: Anson Jacob <Anson.Jacob@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2021-06-15 17:25:41 -04:00
..
basics Revert "drm/amd/display: Unblank hubp based on plane visibility" 2021-02-18 16:43:10 -05:00
bios drm/amd/display: Add DCN3.1 BIOS parser support 2021-06-04 16:39:18 -04:00
calcs drm/amd/display: Add support for SURFACE_PIXEL_FORMAT_GRPH_ABGR16161616. 2021-05-27 15:00:47 -04:00
clk_mgr drm/amd/display: Revert "Fix clock table filling logic" 2021-06-08 12:19:24 -04:00
core drm/amd/display: Enforce DPCD Address ranges 2021-06-15 17:25:41 -04:00
dce drm/amd/display: Enable PSR Residency for multiple panels 2021-06-08 12:20:20 -04:00
dce60 drm/amd/display/dc/dce60/dce60_resource: Include our own header containing prototypes 2021-01-14 13:20:21 -05:00
dce80 drm/amd/display: Return last used DRR VTOTAL from DC 2021-06-08 12:20:12 -04:00
dce100 drm/amd/display/dc/dce100/dce100_resource: Include our own header containing prototypes 2021-01-14 13:20:20 -05:00
dce110 drm: display: Remove duplicate include in dce110 2021-06-10 11:44:26 -04:00
dce112 drm/amd/display/dc/dce112/dce112_resource: Include our own header file containing prototypes 2021-01-14 13:20:20 -05:00
dce120 drm/amd/display: Return last used DRR VTOTAL from DC 2021-06-08 12:20:12 -04:00
dcn10 drm/amd/display: Enforce DPCD Address ranges 2021-06-15 17:25:41 -04:00
dcn20 drm/amd/display: Add swizzle visual confirm mode 2021-06-08 12:24:04 -04:00
dcn21 drm/amd/display: Add interface for ADD & DROP PIXEL Registers 2021-06-08 12:22:42 -04:00
dcn30 drm/amd/display: Enforce DPCD Address ranges 2021-06-15 17:25:41 -04:00
dcn31 drm/amd/display: Enforce DPCD Address ranges 2021-06-15 17:25:41 -04:00
dcn301 drm/amd/display: Add interface for ADD & DROP PIXEL Registers 2021-06-08 12:22:42 -04:00
dcn302 drm/amd/display: Change default policy for MPO with multidisplay 2021-06-08 12:20:33 -04:00
dcn303 drm/amd/display: add dummy PG callback for beige goby 2021-06-11 16:04:04 -04:00
dml drm/amd/display: Remove unnecessary blank lines 2021-06-15 17:25:40 -04:00
dsc drm/amd/display: add dsc stream overhead for dp only 2021-05-10 18:06:44 -04:00
gpio drm/amd/display: Add DCN3.1 GPIO support 2021-06-04 16:39:18 -04:00
hdcp drm/amd/display: Enforce DPCD Address ranges 2021-06-15 17:25:41 -04:00
inc drm/amd/display: Enforce DPCD Address ranges 2021-06-15 17:25:41 -04:00
irq drm/amd/display: Add DCN3.1 IRQ manager 2021-06-04 16:39:18 -04:00
virtual
dc_bios_types.h drm/amd/display: Interface for LTTPR interop 2021-04-09 16:48:25 -04:00
dc_ddc_types.h drm/amd/display: Support for DMUB AUX 2021-03-02 14:05:41 -05:00
dc_dmub_srv.c drm/amd/display: add DMUB registers to crash dump diagnostic data. 2021-06-15 17:25:40 -04:00
dc_dmub_srv.h drm/amd/display: add DMUB registers to crash dump diagnostic data. 2021-06-15 17:25:40 -04:00
dc_dp_types.h drm/amd/display: determine dp link encoding format from link settings 2021-05-19 22:39:04 -04:00
dc_dsc.h drm/amd/display: add dsc stream overhead for dp only 2021-05-10 18:06:44 -04:00
dc_edid_parser.c drm/amd/display: Add Freesync HDMI support to DMCU 2021-02-02 12:11:41 -05:00
dc_edid_parser.h drm/amd/display: Add Freesync HDMI support to DMCU 2021-02-02 12:11:41 -05:00
dc_helper.c drm/amd/display/dc/dc_helper: Include our own header, containing prototypes 2021-01-14 13:20:20 -05:00
dc_hw_types.h drm/amd/display: Add support for SURFACE_PIXEL_FORMAT_GRPH_ABGR16161616. 2021-05-27 15:00:47 -04:00
dc_link.h drm/amd/display: add exit training mode and update channel coding in LT 2021-05-27 12:25:43 -04:00
dc_stat.h drm/amd/display: Support for DMUB AUX 2021-03-02 14:05:41 -05:00
dc_stream.h drm/amd/display: Return last used DRR VTOTAL from DC 2021-06-08 12:20:12 -04:00
dc_trace.h drm/amd/display: Add tracepoint for capturing clocks state 2020-10-26 13:34:26 -04:00
dc_types.h drm/amd/display: fix odm scaling 2021-05-27 12:26:17 -04:00
dc.h drm/amd/display: 3.2.140 2021-06-15 17:25:40 -04:00
dm_cp_psp.h drm/amd/display: Add DCN3.1 HDCP support 2021-06-04 16:39:18 -04:00
dm_event_log.h
dm_helpers.h drm/amd/display: Add DCN3.1 clock manager support 2021-06-04 16:03:26 -04:00
dm_pp_smu.h drm/amdgpu/pm: display vcn pp dpm (v4) 2021-05-21 10:31:55 -04:00
dm_services_types.h
dm_services.h drm/amd/display: Decouple amdgpu_dm_trace from service 2020-10-26 13:33:59 -04:00
irq_types.h drm/amd/display: Support for DMUB AUX 2021-05-10 18:06:44 -04:00
Makefile drm/amd/display: Enforce DPCD Address ranges 2021-06-15 17:25:41 -04:00
os_types.h drm/amdgpu/display: drop DCN support for aarch64 2021-01-05 11:35:53 -05:00