diff options
author | Chiawen Huang | 2019-01-18 07:07:54 +0100 |
---|---|---|
committer | Alex Deucher | 2019-02-06 03:16:23 +0100 |
commit | ac627caf6b9275a3df4730be3b8637c3bc232979 (patch) | |
tree | 6d4375f0f5c3f072a597dec186327ac4bcc5a6c2 /drivers/gpu/drm/amd/display/dc/dc_link.h | |
parent | drm/amd/display: 3.2.16 (diff) | |
download | kernel-qcow2-linux-ac627caf6b9275a3df4730be3b8637c3bc232979.tar.gz kernel-qcow2-linux-ac627caf6b9275a3df4730be3b8637c3bc232979.tar.xz kernel-qcow2-linux-ac627caf6b9275a3df4730be3b8637c3bc232979.zip |
drm/amd/display: add gpio lock/unlock
[Why]
When querying HPD via GPIO flow,
it will create a new gpio object then free in the end of query.
There is a irql issue for HPD querying at ISR level.
[How]
Therefore, creating the HPD gpio object in dc_link and set it as unlcok in default.
1. reducing unnecessary malloc/free when HPD querying.
2. reducing init GPIO flow.
3. add lock/unlock to prevent multi gpio service running.
Signed-off-by: Chiawen Huang <chiawen.huang@amd.com>
Reviewed-by: Tony Cheng <Tony.Cheng@amd.com>
Acked-by: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/display/dc/dc_link.h')
-rw-r--r-- | drivers/gpu/drm/amd/display/dc/dc_link.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/display/dc/dc_link.h b/drivers/gpu/drm/amd/display/dc/dc_link.h index f249ff9be2a7..d26bbda61ad2 100644 --- a/drivers/gpu/drm/amd/display/dc/dc_link.h +++ b/drivers/gpu/drm/amd/display/dc/dc_link.h @@ -125,6 +125,7 @@ struct dc_link { struct dc_link_status link_status; struct link_trace link_trace; + struct gpio *hpd_gpio; }; const struct dc_link_status *dc_link_get_status(const struct dc_link *dc_link); |