*/
#define DPU_KMS_INFO_MAX_SIZE 4096
-/**
- * struct dpu_kms_info - connector information structure container
- * @data: Array of information character data
- * @len: Current length of information data
- * @staged_len: Temporary data buffer length, commit to
- * len using dpu_kms_info_stop
- * @start: Whether or not a partial data entry was just started
- */
-struct dpu_kms_info {
- char data[DPU_KMS_INFO_MAX_SIZE];
- uint32_t len;
- uint32_t staged_len;
- bool start;
-};
-
-/**
- * DPU_KMS_INFO_DATA - Macro for accessing dpu_kms_info data bytes
- * @S: Pointer to dpu_kms_info structure
- * Returns: Pointer to byte data
- */
-#define DPU_KMS_INFO_DATA(S) ((S) ? ((struct dpu_kms_info *)(S))->data : 0)
-
-/**
- * DPU_KMS_INFO_DATALEN - Macro for accessing dpu_kms_info data length
- * it adds an extra character length to count null.
- * @S: Pointer to dpu_kms_info structure
- * Returns: Size of available byte data
- */
-#define DPU_KMS_INFO_DATALEN(S) ((S) ? ((struct dpu_kms_info *)(S))->len + 1 \
- : 0)
-
-/**
- * dpu_kms_info_reset - reset dpu_kms_info structure
- * @info: Pointer to dpu_kms_info structure
- */
-void dpu_kms_info_reset(struct dpu_kms_info *info);
-
-/**
- * dpu_kms_info_add_keyint - add integer value to 'dpu_kms_info'
- * @info: Pointer to dpu_kms_info structure
- * @key: Pointer to key string
- * @value: Signed 64-bit integer value
- */
-void dpu_kms_info_add_keyint(struct dpu_kms_info *info,
- const char *key,
- int64_t value);
-
-/**
- * dpu_kms_info_add_keystr - add string value to 'dpu_kms_info'
- * @info: Pointer to dpu_kms_info structure
- * @key: Pointer to key string
- * @value: Pointer to string value
- */
-void dpu_kms_info_add_keystr(struct dpu_kms_info *info,
- const char *key,
- const char *value);
-
-/**
- * dpu_kms_info_start - begin adding key to 'dpu_kms_info'
- * Usage:
- * dpu_kms_info_start(key)
- * dpu_kms_info_append(val_1)
- * ...
- * dpu_kms_info_append(val_n)
- * dpu_kms_info_stop
- * @info: Pointer to dpu_kms_info structure
- * @key: Pointer to key string
- */
-void dpu_kms_info_start(struct dpu_kms_info *info,
- const char *key);
-
-/**
- * dpu_kms_info_append - append value string to 'dpu_kms_info'
- * Usage:
- * dpu_kms_info_start(key)
- * dpu_kms_info_append(val_1)
- * ...
- * dpu_kms_info_append(val_n)
- * dpu_kms_info_stop
- * @info: Pointer to dpu_kms_info structure
- * @str: Pointer to partial value string
- */
-void dpu_kms_info_append(struct dpu_kms_info *info,
- const char *str);
-
-/**
- * dpu_kms_info_append_format - append format code string to 'dpu_kms_info'
- * Usage:
- * dpu_kms_info_start(key)
- * dpu_kms_info_append_format(fourcc, modifier)
- * ...
- * dpu_kms_info_stop
- * @info: Pointer to dpu_kms_info structure
- * @pixel_format: FOURCC format code
- * @modifier: 64-bit drm format modifier
- */
-void dpu_kms_info_append_format(struct dpu_kms_info *info,
- uint32_t pixel_format,
- uint64_t modifier);
-
-/**
- * dpu_kms_info_stop - finish adding key to 'dpu_kms_info'
- * Usage:
- * dpu_kms_info_start(key)
- * dpu_kms_info_append(val_1)
- * ...
- * dpu_kms_info_append(val_n)
- * dpu_kms_info_stop
- * @info: Pointer to dpu_kms_info structure
- */
-void dpu_kms_info_stop(struct dpu_kms_info *info);
-
/**
* Vblank enable/disable functions
*/
+++ /dev/null
-/* Copyright (c) 2015-2018, The Linux Foundation. All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 and
- * only version 2 as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- */
-
-#define pr_fmt(fmt) "dpu-kms_utils:[%s] " fmt, __func__
-
-#include "dpu_kms.h"
-
-void dpu_kms_info_reset(struct dpu_kms_info *info)
-{
- if (info) {
- info->len = 0;
- info->staged_len = 0;
- }
-}
-
-void dpu_kms_info_add_keyint(struct dpu_kms_info *info,
- const char *key,
- int64_t value)
-{
- uint32_t len;
-
- if (info && key) {
- len = snprintf(info->data + info->len,
- DPU_KMS_INFO_MAX_SIZE - info->len,
- "%s=%lld\n",
- key,
- value);
-
- /* check if snprintf truncated the string */
- if ((info->len + len) < DPU_KMS_INFO_MAX_SIZE)
- info->len += len;
- }
-}
-
-void dpu_kms_info_add_keystr(struct dpu_kms_info *info,
- const char *key,
- const char *value)
-{
- uint32_t len;
-
- if (info && key && value) {
- len = snprintf(info->data + info->len,
- DPU_KMS_INFO_MAX_SIZE - info->len,
- "%s=%s\n",
- key,
- value);
-
- /* check if snprintf truncated the string */
- if ((info->len + len) < DPU_KMS_INFO_MAX_SIZE)
- info->len += len;
- }
-}
-
-void dpu_kms_info_start(struct dpu_kms_info *info,
- const char *key)
-{
- uint32_t len;
-
- if (info && key) {
- len = snprintf(info->data + info->len,
- DPU_KMS_INFO_MAX_SIZE - info->len,
- "%s=",
- key);
-
- info->start = true;
-
- /* check if snprintf truncated the string */
- if ((info->len + len) < DPU_KMS_INFO_MAX_SIZE)
- info->staged_len = info->len + len;
- }
-}
-
-void dpu_kms_info_append(struct dpu_kms_info *info,
- const char *str)
-{
- uint32_t len;
-
- if (info) {
- len = snprintf(info->data + info->staged_len,
- DPU_KMS_INFO_MAX_SIZE - info->staged_len,
- "%s",
- str);
-
- /* check if snprintf truncated the string */
- if ((info->staged_len + len) < DPU_KMS_INFO_MAX_SIZE) {
- info->staged_len += len;
- info->start = false;
- }
- }
-}
-
-void dpu_kms_info_append_format(struct dpu_kms_info *info,
- uint32_t pixel_format,
- uint64_t modifier)
-{
- uint32_t len;
-
- if (!info)
- return;
-
- if (modifier) {
- len = snprintf(info->data + info->staged_len,
- DPU_KMS_INFO_MAX_SIZE - info->staged_len,
- info->start ?
- "%c%c%c%c/%llX/%llX" : " %c%c%c%c/%llX/%llX",
- (pixel_format >> 0) & 0xFF,
- (pixel_format >> 8) & 0xFF,
- (pixel_format >> 16) & 0xFF,
- (pixel_format >> 24) & 0xFF,
- (modifier >> 56) & 0xFF,
- modifier & ((1ULL << 56) - 1));
- } else {
- len = snprintf(info->data + info->staged_len,
- DPU_KMS_INFO_MAX_SIZE - info->staged_len,
- info->start ?
- "%c%c%c%c" : " %c%c%c%c",
- (pixel_format >> 0) & 0xFF,
- (pixel_format >> 8) & 0xFF,
- (pixel_format >> 16) & 0xFF,
- (pixel_format >> 24) & 0xFF);
- }
-
- /* check if snprintf truncated the string */
- if ((info->staged_len + len) < DPU_KMS_INFO_MAX_SIZE) {
- info->staged_len += len;
- info->start = false;
- }
-}
-
-void dpu_kms_info_stop(struct dpu_kms_info *info)
-{
- uint32_t len;
-
- if (info) {
- /* insert final delimiter */
- len = snprintf(info->data + info->staged_len,
- DPU_KMS_INFO_MAX_SIZE - info->staged_len,
- "\n");
-
- /* check if snprintf truncated the string */
- if ((info->staged_len + len) < DPU_KMS_INFO_MAX_SIZE)
- info->len = info->staged_len + len;
- }
-}