From 48aa3ddfd535a8e80b1b46da8a13920d9de8e5c5 Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Tue, 3 Oct 2017 12:36:54 +1000 Subject: [PATCH] amdgpu/dc: inline dal grph object id functions. This is worth 400 bytes. Signed-off-by: Dave Airlie Reviewed-by: Harry Wentland Signed-off-by: Alex Deucher --- .../amd/display/dc/basics/grph_object_id.c | 61 +--------------- .../drm/amd/display/include/grph_object_id.h | 72 ++++++++++++++----- 2 files changed, 56 insertions(+), 77 deletions(-) diff --git a/drivers/gpu/drm/amd/display/dc/basics/grph_object_id.c b/drivers/gpu/drm/amd/display/dc/basics/grph_object_id.c index 9c80847d03a9..147822545252 100644 --- a/drivers/gpu/drm/amd/display/dc/basics/grph_object_id.c +++ b/drivers/gpu/drm/amd/display/dc/basics/grph_object_id.c @@ -26,7 +26,7 @@ #include "dm_services.h" #include "include/grph_object_id.h" -bool dal_graphics_object_id_is_valid(struct graphics_object_id id) +static bool dal_graphics_object_id_is_valid(struct graphics_object_id id) { bool rc = true; @@ -72,63 +72,4 @@ bool dal_graphics_object_id_is_equal( return false; } -/* Based on internal data members memory layout */ -uint32_t dal_graphics_object_id_to_uint(struct graphics_object_id id) -{ - uint32_t object_id = 0; - - object_id = id.id + (id.enum_id << 0x8) + (id.type << 0xc); - return object_id; -} - -/* - * ******* get specific ID - internal safe cast into specific type ******* - */ - -enum controller_id dal_graphics_object_id_get_controller_id( - struct graphics_object_id id) -{ - if (id.type == OBJECT_TYPE_CONTROLLER) - return id.id; - return CONTROLLER_ID_UNDEFINED; -} - -enum clock_source_id dal_graphics_object_id_get_clock_source_id( - struct graphics_object_id id) -{ - if (id.type == OBJECT_TYPE_CLOCK_SOURCE) - return id.id; - return CLOCK_SOURCE_ID_UNDEFINED; -} - -enum encoder_id dal_graphics_object_id_get_encoder_id( - struct graphics_object_id id) -{ - if (id.type == OBJECT_TYPE_ENCODER) - return id.id; - return ENCODER_ID_UNKNOWN; -} - -enum connector_id dal_graphics_object_id_get_connector_id( - struct graphics_object_id id) -{ - if (id.type == OBJECT_TYPE_CONNECTOR) - return id.id; - return CONNECTOR_ID_UNKNOWN; -} - -enum audio_id dal_graphics_object_id_get_audio_id(struct graphics_object_id id) -{ - if (id.type == OBJECT_TYPE_AUDIO) - return id.id; - return AUDIO_ID_UNKNOWN; -} - -enum engine_id dal_graphics_object_id_get_engine_id( - struct graphics_object_id id) -{ - if (id.type == OBJECT_TYPE_ENGINE) - return id.id; - return ENGINE_ID_UNKNOWN; -} diff --git a/drivers/gpu/drm/amd/display/include/grph_object_id.h b/drivers/gpu/drm/amd/display/include/grph_object_id.h index e4aa4ddf9d2a..5eb2b4dc7b9c 100644 --- a/drivers/gpu/drm/amd/display/include/grph_object_id.h +++ b/drivers/gpu/drm/amd/display/include/grph_object_id.h @@ -233,24 +233,62 @@ static inline struct graphics_object_id dal_graphics_object_id_init( return result; } -bool dal_graphics_object_id_is_valid( - struct graphics_object_id id); bool dal_graphics_object_id_is_equal( struct graphics_object_id id1, struct graphics_object_id id2); -uint32_t dal_graphics_object_id_to_uint( - struct graphics_object_id id); - -enum controller_id dal_graphics_object_id_get_controller_id( - struct graphics_object_id id); -enum clock_source_id dal_graphics_object_id_get_clock_source_id( - struct graphics_object_id id); -enum encoder_id dal_graphics_object_id_get_encoder_id( - struct graphics_object_id id); -enum connector_id dal_graphics_object_id_get_connector_id( - struct graphics_object_id id); -enum audio_id dal_graphics_object_id_get_audio_id( - struct graphics_object_id id); -enum engine_id dal_graphics_object_id_get_engine_id( - struct graphics_object_id id); + +/* Based on internal data members memory layout */ +static inline uint32_t dal_graphics_object_id_to_uint( + struct graphics_object_id id) +{ + return id.id + (id.enum_id << 0x8) + (id.type << 0xc); +} + +static inline enum controller_id dal_graphics_object_id_get_controller_id( + struct graphics_object_id id) +{ + if (id.type == OBJECT_TYPE_CONTROLLER) + return id.id; + return CONTROLLER_ID_UNDEFINED; +} + +static inline enum clock_source_id dal_graphics_object_id_get_clock_source_id( + struct graphics_object_id id) +{ + if (id.type == OBJECT_TYPE_CLOCK_SOURCE) + return id.id; + return CLOCK_SOURCE_ID_UNDEFINED; +} + +static inline enum encoder_id dal_graphics_object_id_get_encoder_id( + struct graphics_object_id id) +{ + if (id.type == OBJECT_TYPE_ENCODER) + return id.id; + return ENCODER_ID_UNKNOWN; +} + +static inline enum connector_id dal_graphics_object_id_get_connector_id( + struct graphics_object_id id) +{ + if (id.type == OBJECT_TYPE_CONNECTOR) + return id.id; + return CONNECTOR_ID_UNKNOWN; +} + +static inline enum audio_id dal_graphics_object_id_get_audio_id( + struct graphics_object_id id) +{ + if (id.type == OBJECT_TYPE_AUDIO) + return id.id; + return AUDIO_ID_UNKNOWN; +} + +static inline enum engine_id dal_graphics_object_id_get_engine_id( + struct graphics_object_id id) +{ + if (id.type == OBJECT_TYPE_ENGINE) + return id.id; + return ENGINE_ID_UNKNOWN; +} #endif -- 2.25.1