From 2aca9b292e3146948893b17d852201e477bf668e Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Tue, 3 Oct 2017 12:36:54 +1000 Subject: [PATCH 2447/4131] amdgpu/dc: inline dal grph object id functions. This is worth 400 bytes. Signed-off-by: Dave Airlie --- .../gpu/drm/amd/display/dc/basics/grph_object_id.c | 61 +----------------- .../gpu/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 9c80847..1478225 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 e4aa4dd..5eb2b4d 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.7.4