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

Commit 5baf1404 authored by Isaac J. Manjarres's avatar Isaac J. Manjarres
Browse files

ion: msm: Define heap IDs as constants in their own file



The ION heap IDs are also needed by the device-tree to
provide the kernel with the heap ID for the heap that
a device-tree entry describes. Currently, these IDs are
hard-coded, which can be error-prone when updating the
heap IDs.

Thus, create a header that can also be accessed by the
device-tree and userspace, and move the heap IDs to that
header. This makes it so that the device-tree can now use
the constants defined in the header, instead of hard-coded
IDs, making updates significantly easier.

Change-Id: I58b1aae9924504f2b20e159b9be8da7a2ee8d248
Signed-off-by: default avatarIsaac J. Manjarres <isaacm@codeaurora.org>
parent 5d454375
Loading
Loading
Loading
Loading
+1 −30
Original line number Original line Diff line number Diff line
@@ -6,6 +6,7 @@
#define _UAPI_LINUX_MSM_ION_H
#define _UAPI_LINUX_MSM_ION_H


#include <linux/types.h>
#include <linux/types.h>
#include <linux/msm_ion_ids.h>


#define ION_BIT(nr) (1U << (nr))
#define ION_BIT(nr) (1U << (nr))


@@ -24,36 +25,6 @@ enum msm_ion_heap_types {
	ION_HEAP_TYPE_SECURE_CARVEOUT,
	ION_HEAP_TYPE_SECURE_CARVEOUT,
};
};


/**
 * These are the only ids that should be used for Ion heap ids.
 * The ids listed are the order in which allocation will be attempted
 * if specified. Don't swap the order of heap ids unless you know what
 * you are doing!
 * Id's are spaced by purpose to allow new Id's to be inserted in-between (for
 * possible fallbacks)
 */

enum ion_heap_ids {
	INVALID_HEAP_ID = -1,
	ION_CP_MM_HEAP_ID = 8,
	ION_SECURE_HEAP_ID = 9,
	ION_SECURE_DISPLAY_HEAP_ID = 10,
	ION_SPSS_HEAP_ID = 13, /* Secure Processor ION heap */
	ION_ADSP_HEAP_ID = 22,
	ION_SYSTEM_HEAP_ID = 25,
	ION_QSECOM_HEAP_ID = 27,
	ION_HEAP_ID_RESERVED = 31 /** Bit reserved for ION_FLAG_SECURE flag */
};

/**
 * Newly added heap ids have to be #define(d) since all API changes must
 * include a new #define.
 */
#define ION_SECURE_CARVEOUT_HEAP_ID	14
#define ION_QSECOM_TA_HEAP_ID		19
#define ION_AUDIO_HEAP_ID		28
#define ION_CAMERA_HEAP_ID		20
#define ION_USER_CONTIG_HEAP_ID		26
/**
/**
 * Flags to be used when allocating from the secure heap for
 * Flags to be used when allocating from the secure heap for
 * content protection
 * content protection
+31 −0
Original line number Original line Diff line number Diff line
/* SPDX-License-Identifier: GPL-2.0-only WITH Linux-syscall-note */
/*
 * Copyright (c) 2019, The Linux Foundation. All rights reserved.
 */
#ifndef _MSM_ION_IDS_H
#define _MSM_ION_IDS_H

/**
 * These are the only ids that should be used for Ion heap ids.
 * The ids listed are the order in which allocation will be attempted
 * if specified. Don't swap the order of heap ids unless you know what
 * you are doing!
 * Id's are spaced by purpose to allow new Id's to be inserted in-between (for
 * possible fallbacks)
 */

#define ION_CP_MM_HEAP_ID		8
#define ION_SECURE_HEAP_ID		9
#define ION_SECURE_DISPLAY_HEAP_ID	10
#define ION_SPSS_HEAP_ID		13
#define ION_SECURE_CARVEOUT_HEAP_ID	14
#define ION_QSECOM_TA_HEAP_ID		19
#define ION_CAMERA_HEAP_ID		20
#define ION_ADSP_HEAP_ID		22
#define ION_SYSTEM_HEAP_ID		25
#define ION_USER_CONTIG_HEAP_ID		26
#define ION_QSECOM_HEAP_ID		27
#define ION_AUDIO_HEAP_ID		28
#define ION_HEAP_ID_RESERVED		31

#endif /* _MSM_ION_IDS_H */