diff options
author | Dave Airlie <airlied@redhat.com> | 2017-10-03 12:36:54 +1000 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2017-10-06 12:58:50 -0400 |
commit | 48aa3ddfd535a8e80b1b46da8a13920d9de8e5c5 (patch) | |
tree | 1ae35183738cf5a26ede2dc398f29eb005737cc5 /drivers/gpu/drm/amd/display/include/grph_object_id.h | |
parent | d8c893b44b2199f5935fe8667708253c38353782 (diff) | |
download | linux-48aa3ddfd535a8e80b1b46da8a13920d9de8e5c5.tar.gz linux-48aa3ddfd535a8e80b1b46da8a13920d9de8e5c5.tar.bz2 linux-48aa3ddfd535a8e80b1b46da8a13920d9de8e5c5.zip |
amdgpu/dc: inline dal grph object id functions.
This is worth 400 bytes.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Harry Wentland <harry.wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/display/include/grph_object_id.h')
-rw-r--r-- | drivers/gpu/drm/amd/display/include/grph_object_id.h | 72 |
1 files changed, 55 insertions, 17 deletions
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 |