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

Commit 8b21220a authored by Shivendra Kakrania's avatar Shivendra Kakrania
Browse files

soc: mmrm: Adding domain info to identify the clients accurately



Along with client id, client domain info is also required
by mmrm driver to identify & register clients accurately.

Change-Id: I516749c363474604b4b24f967c1068f8d48d90a7
Signed-off-by: default avatarShivendra Kakrania <shiven@codeaurora.org>
parent 6e864630
Loading
Loading
Loading
Loading
+17 −4
Original line number Diff line number Diff line
@@ -11,6 +11,17 @@

#define MMRM_CLK_CLIENT_NAME_SIZE  128

/**
 * mmrm_client_domain : MMRM client domain
 * Clients need to configure this in mmrm_clk_client_desc
 */
enum mmrm_client_domain {
	MMRM_CLIENT_DOMAIN_CAMERA = 0x1,
	MMRM_CLIENT_DOMAIN_CVP = 0x2,
	MMRM_CLIENT_DOMAIN_DISPLAY = 0x3,
	MMRM_CLIENT_DOMAIN_VIDEO = 0x4,
};

/**
 * mmrm_client_type : MMRM Client type
 */
@@ -98,11 +109,13 @@ struct mmrm_client {
/**
 * mmrm_clk_client_desc : MMRM clock client descriptor used
 *                        for registering client
 * @client_id: Client provides this info as one of CLK_SRC_XXXX
 * @client_domain: Client provides MMRM_CLIENT_DOMAIN_XXXX
 * @client_id: Client provides CLK_SRC_XXXX id
 * @name     : Client name
 * @clk      : Pointer to clock struct
 */
struct mmrm_clk_client_desc {
	u32 client_domain;
	u32 client_id;
	const char name[MMRM_CLK_CLIENT_NAME_SIZE];
	struct clk *clk;
@@ -122,7 +135,7 @@ struct mmrm_clk_client_desc {
struct mmrm_client_desc {
	enum mmrm_client_type client_type;
	union {
		mmrm_clk_client_desc desc;
		struct mmrm_clk_client_desc desc;
	} client_info;
	enum mmrm_client_priority priority;
	void *pvt_data;
@@ -218,13 +231,13 @@ static inline int mmrm_client_deregister(struct mmrm_client *client)
}

static inline int mmrm_client_set_value(struct mmrm_client *client,
	struct mmrm_client_set_data *client_data, unsigned long val)
	struct mmrm_client_data *client_data, unsigned long val)
{
	return -EINVAL;
}

static inline int mmrm_client_set_value_in_range(struct mmrm_client *client,
	struct mmrm_client_set_data *client_data,
	struct mmrm_client_data *client_data,
	struct mmrm_client_res_value *val)
{
	return -EINVAL;