Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 48aa3ddf authored by Dave Airlie's avatar Dave Airlie Committed by Alex Deucher
Browse files

amdgpu/dc: inline dal grph object id functions.



This is worth 400 bytes.

Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
Reviewed-by: default avatarHarry Wentland <harry.wentland@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent d8c893b4
Loading
Loading
Loading
Loading
+1 −60
Original line number Diff line number Diff line
@@ -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;
}
+55 −17
Original line number Diff line number Diff line
@@ -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