linux/drivers/gpu/drm/amd/display/dc
Yogesh Mohan Marimuthu 50f9ca048c drm/amd/display: fix sporadic multiple aux transaction failure
[why]
When there are multiple aux transaction in parallel, it is sometime
sporadically the aux transaction starts to continuously fail. The
aux transaction was failing because the busy bit for the given gpio
pin was always set. The busy bit was alway set because the
programming sequence to read, modify and write busy bit was not
atomic. Due to which when multiple threads are trying to modify the
busy bits for their gpio pins in the same integer variable sometimes
the busy bits integer variable is written with old data causing
failure.

[how]
Instead of using individual bits to track gpio pins and grouping
them to integers, one byte will be allcoated for each gpio pin.
Now whenever a gpio pin needs to be set to mark being used, only
writing a value of one to that byte is sufficient, other bytes
are not impacted. Also no need to have atomicity with bytes unlike
with bits.

Signed-off-by: Yogesh Mohan Marimuthu <yogesh.mohanmarimuthu@amd.com>
Reviewed-by: Harry Wentland <Harry.Wentland@amd.com>
Acked-by: Leo Li <sunpeng.li@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2018-11-30 12:01:42 -05:00
..
basics drm/amd/display: Convert remaining loggers off dc_logger 2018-07-13 14:48:42 -05:00
bios drm/amd/display: Add condition to sync eDP SW status and HW status 2018-11-05 14:21:45 -05:00
calcs drm/amd/display: Retiring set_display_requirements in dm_pp_smu.h - part4 2018-11-05 14:21:41 -05:00
core drm/amd: Add abm level drm property 2018-11-26 15:54:27 -05:00
dce drm/amd/display: Fix 6x4K displays light-up on Vega20 2018-11-29 14:42:28 -05:00
dce80 drm/amd/display: Remove duplicate header 2018-11-26 15:54:40 -05:00
dce100 drm/amd/display: rename dccg to clk_mgr 2018-11-05 14:20:48 -05:00
dce110 drm/amd/display: Remove dc_stream_state->status 2018-11-19 15:27:35 -05:00
dce112 drm/amd/display: rename dccg to clk_mgr 2018-11-05 14:20:48 -05:00
dce120 drm/amd/display: rename dccg to clk_mgr 2018-11-05 14:20:48 -05:00
dcn10 drm/amd/display: Clean up DCN1 clock requests 2018-11-19 15:27:43 -05:00
dml drm/amd/display: fix dml max voltage state 2018-11-05 14:21:33 -05:00
gpio drm/amd/display: fix sporadic multiple aux transaction failure 2018-11-30 12:01:42 -05:00
i2caux drm/amd/display: Use proper enums in process_channel_reply 2018-10-09 17:04:22 -05:00
inc drm/amd/display: Load DMCU IRAM 2018-11-26 15:47:53 -05:00
irq Revert "drm/amdgpu/display: Replace CONFIG_DRM_AMD_DC_DCN1_0 with CONFIG_X86" 2018-08-21 14:32:28 -05:00
virtual drm/amd/display: Pass signal directly to enable_tmds_output 2018-03-07 16:27:20 -05:00
dc.h drm/amd: Add abm level drm property 2018-11-26 15:54:27 -05:00
dc_bios_types.h drm/amd/display: Add condition to sync eDP SW status and HW status 2018-11-05 14:21:45 -05:00
dc_ddc_types.h drm/amd/display: Move i2c and aux structs into dc_ddc_types.h 2018-06-15 12:23:38 -05:00
dc_dp_types.h drm/amd/display: Write TEST_EDID_CHECKSUM_WRITE for EDID tests 2018-06-15 12:22:09 -05:00
dc_helper.c drm/amd/display: eliminate long wait between register polls on Maximus 2018-08-27 15:20:24 -05:00
dc_hw_types.h drm/amd/display: Calculate swizzle mode using bpp during validation 2018-10-09 17:01:55 -05:00
dc_link.h drm/amd/display: Expand dc to use 16.16 bit backlight 2018-11-05 14:21:39 -05:00
dc_stream.h drm/amd/display: Remove dc_stream_state->status 2018-11-19 15:27:35 -05:00
dc_types.h drm/amd/display: Add function to fetch clock requirements 2018-10-09 17:02:02 -05:00
dm_event_log.h drm/amd/display: add aux i2c event log. 2018-09-14 15:47:30 -05:00
dm_helpers.h drm/amd/display: Add hook for MST root branch info 2018-07-16 16:11:49 -05:00
dm_pp_smu.h drm/amd/display: Retiring set_display_requirements in dm_pp_smu.h - part4 2018-11-05 14:21:41 -05:00
dm_services.h drm/amd/display: Support reading hw state from debugfs file 2018-08-27 15:20:49 -05:00
dm_services_types.h drm/amd/display: Fix some backlight variable styling 2018-11-05 14:21:39 -05:00
irq_types.h drm/amd/display: get rid of 32.32 unsigned fixed point 2018-05-18 16:08:21 -05:00
Makefile Revert "drm/amdgpu/display: Replace CONFIG_DRM_AMD_DC_DCN1_0 with CONFIG_X86" 2018-08-21 14:32:28 -05:00
os_types.h amd-gpu: Don't undefine READ and WRITE 2018-10-24 00:36:12 +01:00