summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/display/include
diff options
context:
space:
mode:
authorDave Airlie2017-10-03 04:36:54 +0200
committerAlex Deucher2017-10-06 18:58:50 +0200
commit48aa3ddfd535a8e80b1b46da8a13920d9de8e5c5 (patch)
tree1ae35183738cf5a26ede2dc398f29eb005737cc5 /drivers/gpu/drm/amd/display/include
parentamdgpu/dc: inline dml_round_to_multiple (diff)
downloadkernel-qcow2-linux-48aa3ddfd535a8e80b1b46da8a13920d9de8e5c5.tar.gz
kernel-qcow2-linux-48aa3ddfd535a8e80b1b46da8a13920d9de8e5c5.tar.xz
kernel-qcow2-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')
-rw-r--r--drivers/gpu/drm/amd/display/include/grph_object_id.h72
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