Define a maximum size that a host device can use for its private
area ahead of the payload space used by Greybus in a message buffer.
Signed-off-by: Alex Elder <elder@linaro.org>
Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
*/
hd->buffer_headroom = sizeof(u32); /* For cport id */
hd->buffer_size_max = ES1_GBUF_MSG_SIZE_MAX;
+ BUILD_BUG_ON(hd->buffer_headroom > GB_BUFFER_HEADROOM_MAX);
}
#define ES1_TIMEOUT 500 /* 500 ms for the SVC to do something */
struct greybus_host_device;
struct svc_msg;
+/*
+ * When the Greybus code allocates a buffer it sets aside bytes
+ * prior to the beginning of the payload area for the host device's
+ * exclusive use. The size is specified by hd->buffer_headroom, and
+ * which can't be greater than GB_BUFFER_HEADROOM_MAX.
+ */
+#define GB_BUFFER_HEADROOM_MAX sizeof(u64)
+
/* Buffers allocated from the host driver will be aligned to this multiple */
#define GB_BUFFER_ALIGN sizeof(u32)