hc
2023-12-08 01573e231f18eb2d99162747186f59511f56b64d
kernel/include/drm/drm_mipi_dsi.h
....@@ -1,12 +1,9 @@
1
+/* SPDX-License-Identifier: GPL-2.0-only */
12 /*
23 * MIPI DSI Bus
34 *
45 * Copyright (C) 2012-2013, Samsung Electronics, Co., Ltd.
56 * Andrzej Hajda <a.hajda@samsung.com>
6
- *
7
- * This program is free software; you can redistribute it and/or modify
8
- * it under the terms of the GNU General Public License version 2 as
9
- * published by the Free Software Foundation.
107 */
118
129 #ifndef __DRM_MIPI_DSI_H__
....@@ -16,6 +13,7 @@
1613
1714 struct mipi_dsi_host;
1815 struct mipi_dsi_device;
16
+struct drm_dsc_picture_parameter_set;
1917
2018 /* request ACK from peripheral */
2119 #define MIPI_DSI_MSG_REQ_ACK BIT(0)
....@@ -180,6 +178,12 @@
180178 * @format: pixel format for video mode
181179 * @lanes: number of active data lanes
182180 * @mode_flags: DSI operation mode related flags
181
+ * @hs_rate: maximum lane frequency for high speed mode in hertz, this should
182
+ * be set to the real limits of the hardware, zero is only accepted for
183
+ * legacy drivers
184
+ * @lp_rate: maximum lane frequency for low power mode in hertz, this should
185
+ * be set to the real limits of the hardware, zero is only accepted for
186
+ * legacy drivers
183187 */
184188 struct mipi_dsi_device {
185189 struct mipi_dsi_host *host;
....@@ -190,6 +194,8 @@
190194 unsigned int lanes;
191195 enum mipi_dsi_pixel_format format;
192196 unsigned long mode_flags;
197
+ unsigned long hs_rate;
198
+ unsigned long lp_rate;
193199 };
194200
195201 #define MIPI_DSI_MODULE_PREFIX "mipi-dsi:"
....@@ -235,6 +241,9 @@
235241 int mipi_dsi_turn_on_peripheral(struct mipi_dsi_device *dsi);
236242 int mipi_dsi_set_maximum_return_packet_size(struct mipi_dsi_device *dsi,
237243 u16 value);
244
+ssize_t mipi_dsi_compression_mode(struct mipi_dsi_device *dsi, bool enable);
245
+ssize_t mipi_dsi_picture_parameter_set(struct mipi_dsi_device *dsi,
246
+ const struct drm_dsc_picture_parameter_set *pps);
238247
239248 ssize_t mipi_dsi_generic_write(struct mipi_dsi_device *dsi, const void *payload,
240249 size_t size);